diff --git a/.gitignore b/.gitignore
index 941f868..4253682 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,11 +1,42 @@
-src/*.swp
-flux
-build/*
-!build/vendors.js
-.idea
-react-tutorial
-./redux
-npm-debug-log
-.haste_cache/*
-coverage/*
-.alm/*
\ No newline at end of file
+# Logs
+logs
+*.log
+npm-debug.log*
+
+# Runtime data
+pids
+*.pid
+*.seed
+
+# Directory for instrumented libs generated by jscoverage/JSCover
+lib-cov
+
+# Coverage directory used by tools like istanbul
+coverage
+
+# nyc test coverage
+.nyc_output
+
+# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
+.grunt
+
+# node-waf configuration
+.lock-wscript
+
+# Compiled binary addons (http://nodejs.org/api/addons.html)
+build/Release
+
+# Dependency directories
+node_modules
+jspm_packages
+elm-stuff
+
+# Optional npm cache directory
+.npm
+
+# Optional REPL history
+.node_repl_history
+
+# Generated files
+dist
+main.js
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..6f67995
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,12 @@
+// Place your settings in this file to overwrite default and user settings.
+{
+ "files.exclude": {
+ "**/.git": true,
+ "**/.svn": true,
+ "**/.DS_Store": true,
+ "node_modules": true,
+ "dist": true,
+ "**/*.js": { "when": "$(basename).ts"},
+ "**/*.js.map": true
+ }
+}
\ No newline at end of file
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
deleted file mode 100644
index 94aa5f6..0000000
--- a/.vscode/tasks.json
+++ /dev/null
@@ -1,36 +0,0 @@
-// Available variables which can be used inside of strings.
-// ${workspaceRoot}: the root folder of the team
-// ${file}: the current opened file
-// ${fileBasename}: the current opened file's basename
-// ${fileDirname}: the current opened file's dirname
-// ${fileExtname}: the current opened file's extension
-// ${cwd}: the current working directory of the spawned process
-
-{
- "version": "0.1.0",
- "command": "webpack",
- "isShellCommand": true,
- "args": [
- "--display-modules",
- "--progress"
- ],
- "echoCommand": true,
- "tasks": [
- {
- "args": [
- "-d"
- ],
- "suppressTaskName": true,
- "taskName": "webpack dev",
- "isBuildCommand": true
- },
- {
- "args": [
- "-p"
- ],
- "suppressTaskName": true,
- "taskName": "webpack dist",
- "isBuildCommand": false
- }
- ]
-}
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 2c5b79f..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2016 Vincent Aravantinos
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/css/base.css b/css/base.css
deleted file mode 100644
index bf382be..0000000
--- a/css/base.css
+++ /dev/null
@@ -1,62 +0,0 @@
-body {
- background: #fff;
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
- font-size: 15px;
- line-height: 1.7;
- margin: 0;
- padding: 30px;
-}
-
-a {
- color: #4183c4;
- text-decoration: none;
-}
-
-a:hover {
- text-decoration: underline;
-}
-
-code {
- background-color: #f8f8f8;
- border: 1px solid #ddd;
- border-radius: 3px;
- font-family: "Bitstream Vera Sans Mono", Consolas, Courier, monospace;
- font-size: 12px;
- margin: 0 2px;
- padding: 0px 5px;
-}
-
-h1, h2, h3, h4 {
- font-weight: bold;
- margin: 0 0 15px;
- padding: 0;
-}
-
-h1 {
- border-bottom: 1px solid #ddd;
- font-size: 2.5em;
- font-weight: bold;
- margin: 0 0 15px;
- padding: 0;
-}
-
-h2 {
- border-bottom: 1px solid #eee;
- font-size: 2em;
-}
-
-h3 {
- font-size: 1.5em;
-}
-
-h4 {
- font-size: 1.2em;
-}
-
-p, ul {
- margin: 15px 0;
-}
-
-ul {
- padding-left: 30px;
-}
diff --git a/elm-package.json b/elm-package.json
new file mode 100644
index 0000000..2c37c48
--- /dev/null
+++ b/elm-package.json
@@ -0,0 +1,20 @@
+{
+ "version": "0.0.1",
+ "summary": "Architecture for model-based development of web applications",
+ "repository": "https://github.com/aravantv/mb-webapp.git",
+ "license": "MIT",
+ "source-directories": [
+ "nesting",
+ "src",
+ "src/widgets"
+ ],
+ "exposed-modules": [],
+ "dependencies": {
+ "elm-lang/core": "5.0.0 <= v < 6.0.0",
+ "elm-lang/html": "2.0.0 <= v < 3.0.0",
+ "elm-lang/svg": "2.0.0 <= v < 3.0.0",
+ "elm-lang/mouse": "1.0.0 <= v < 2.0.0",
+ "jinjor/elm-time-travel": "2.0.0 <= v < 3.0.0"
+ },
+ "elm-version": "0.18.0 <= v < 0.19.0"
+}
diff --git a/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Attributes.elmi b/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Attributes.elmi
new file mode 100644
index 0000000..beea82a
Binary files /dev/null and b/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Attributes.elmi differ
diff --git a/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Attributes.elmo b/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Attributes.elmo
new file mode 100644
index 0000000..cac2be5
--- /dev/null
+++ b/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Attributes.elmo
@@ -0,0 +1,349 @@
+var _elm_lang$html$Html_Attributes$map = _elm_lang$virtual_dom$VirtualDom$mapProperty;
+var _elm_lang$html$Html_Attributes$attribute = _elm_lang$virtual_dom$VirtualDom$attribute;
+var _elm_lang$html$Html_Attributes$contextmenu = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$attribute, 'contextmenu', value);
+};
+var _elm_lang$html$Html_Attributes$draggable = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$attribute, 'draggable', value);
+};
+var _elm_lang$html$Html_Attributes$itemprop = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$attribute, 'itemprop', value);
+};
+var _elm_lang$html$Html_Attributes$tabindex = function (n) {
+ return A2(
+ _elm_lang$html$Html_Attributes$attribute,
+ 'tabIndex',
+ _elm_lang$core$Basics$toString(n));
+};
+var _elm_lang$html$Html_Attributes$charset = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$attribute, 'charset', value);
+};
+var _elm_lang$html$Html_Attributes$height = function (value) {
+ return A2(
+ _elm_lang$html$Html_Attributes$attribute,
+ 'height',
+ _elm_lang$core$Basics$toString(value));
+};
+var _elm_lang$html$Html_Attributes$width = function (value) {
+ return A2(
+ _elm_lang$html$Html_Attributes$attribute,
+ 'width',
+ _elm_lang$core$Basics$toString(value));
+};
+var _elm_lang$html$Html_Attributes$formaction = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$attribute, 'formAction', value);
+};
+var _elm_lang$html$Html_Attributes$list = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$attribute, 'list', value);
+};
+var _elm_lang$html$Html_Attributes$minlength = function (n) {
+ return A2(
+ _elm_lang$html$Html_Attributes$attribute,
+ 'minLength',
+ _elm_lang$core$Basics$toString(n));
+};
+var _elm_lang$html$Html_Attributes$maxlength = function (n) {
+ return A2(
+ _elm_lang$html$Html_Attributes$attribute,
+ 'maxlength',
+ _elm_lang$core$Basics$toString(n));
+};
+var _elm_lang$html$Html_Attributes$size = function (n) {
+ return A2(
+ _elm_lang$html$Html_Attributes$attribute,
+ 'size',
+ _elm_lang$core$Basics$toString(n));
+};
+var _elm_lang$html$Html_Attributes$form = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$attribute, 'form', value);
+};
+var _elm_lang$html$Html_Attributes$cols = function (n) {
+ return A2(
+ _elm_lang$html$Html_Attributes$attribute,
+ 'cols',
+ _elm_lang$core$Basics$toString(n));
+};
+var _elm_lang$html$Html_Attributes$rows = function (n) {
+ return A2(
+ _elm_lang$html$Html_Attributes$attribute,
+ 'rows',
+ _elm_lang$core$Basics$toString(n));
+};
+var _elm_lang$html$Html_Attributes$challenge = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$attribute, 'challenge', value);
+};
+var _elm_lang$html$Html_Attributes$media = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$attribute, 'media', value);
+};
+var _elm_lang$html$Html_Attributes$rel = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$attribute, 'rel', value);
+};
+var _elm_lang$html$Html_Attributes$datetime = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$attribute, 'datetime', value);
+};
+var _elm_lang$html$Html_Attributes$pubdate = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$attribute, 'pubdate', value);
+};
+var _elm_lang$html$Html_Attributes$colspan = function (n) {
+ return A2(
+ _elm_lang$html$Html_Attributes$attribute,
+ 'colspan',
+ _elm_lang$core$Basics$toString(n));
+};
+var _elm_lang$html$Html_Attributes$rowspan = function (n) {
+ return A2(
+ _elm_lang$html$Html_Attributes$attribute,
+ 'rowspan',
+ _elm_lang$core$Basics$toString(n));
+};
+var _elm_lang$html$Html_Attributes$manifest = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$attribute, 'manifest', value);
+};
+var _elm_lang$html$Html_Attributes$property = _elm_lang$virtual_dom$VirtualDom$property;
+var _elm_lang$html$Html_Attributes$stringProperty = F2(
+ function (name, string) {
+ return A2(
+ _elm_lang$html$Html_Attributes$property,
+ name,
+ _elm_lang$core$Json_Encode$string(string));
+ });
+var _elm_lang$html$Html_Attributes$class = function (name) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'className', name);
+};
+var _elm_lang$html$Html_Attributes$id = function (name) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'id', name);
+};
+var _elm_lang$html$Html_Attributes$title = function (name) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'title', name);
+};
+var _elm_lang$html$Html_Attributes$accesskey = function ($char) {
+ return A2(
+ _elm_lang$html$Html_Attributes$stringProperty,
+ 'accessKey',
+ _elm_lang$core$String$fromChar($char));
+};
+var _elm_lang$html$Html_Attributes$dir = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'dir', value);
+};
+var _elm_lang$html$Html_Attributes$dropzone = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'dropzone', value);
+};
+var _elm_lang$html$Html_Attributes$lang = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'lang', value);
+};
+var _elm_lang$html$Html_Attributes$content = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'content', value);
+};
+var _elm_lang$html$Html_Attributes$httpEquiv = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'httpEquiv', value);
+};
+var _elm_lang$html$Html_Attributes$language = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'language', value);
+};
+var _elm_lang$html$Html_Attributes$src = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'src', value);
+};
+var _elm_lang$html$Html_Attributes$alt = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'alt', value);
+};
+var _elm_lang$html$Html_Attributes$preload = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'preload', value);
+};
+var _elm_lang$html$Html_Attributes$poster = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'poster', value);
+};
+var _elm_lang$html$Html_Attributes$kind = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'kind', value);
+};
+var _elm_lang$html$Html_Attributes$srclang = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'srclang', value);
+};
+var _elm_lang$html$Html_Attributes$sandbox = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'sandbox', value);
+};
+var _elm_lang$html$Html_Attributes$srcdoc = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'srcdoc', value);
+};
+var _elm_lang$html$Html_Attributes$type_ = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'type', value);
+};
+var _elm_lang$html$Html_Attributes$value = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'value', value);
+};
+var _elm_lang$html$Html_Attributes$defaultValue = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'defaultValue', value);
+};
+var _elm_lang$html$Html_Attributes$placeholder = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'placeholder', value);
+};
+var _elm_lang$html$Html_Attributes$accept = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'accept', value);
+};
+var _elm_lang$html$Html_Attributes$acceptCharset = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'acceptCharset', value);
+};
+var _elm_lang$html$Html_Attributes$action = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'action', value);
+};
+var _elm_lang$html$Html_Attributes$autocomplete = function (bool) {
+ return A2(
+ _elm_lang$html$Html_Attributes$stringProperty,
+ 'autocomplete',
+ bool ? 'on' : 'off');
+};
+var _elm_lang$html$Html_Attributes$enctype = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'enctype', value);
+};
+var _elm_lang$html$Html_Attributes$method = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'method', value);
+};
+var _elm_lang$html$Html_Attributes$name = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'name', value);
+};
+var _elm_lang$html$Html_Attributes$pattern = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'pattern', value);
+};
+var _elm_lang$html$Html_Attributes$for = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'htmlFor', value);
+};
+var _elm_lang$html$Html_Attributes$max = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'max', value);
+};
+var _elm_lang$html$Html_Attributes$min = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'min', value);
+};
+var _elm_lang$html$Html_Attributes$step = function (n) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'step', n);
+};
+var _elm_lang$html$Html_Attributes$wrap = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'wrap', value);
+};
+var _elm_lang$html$Html_Attributes$usemap = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'useMap', value);
+};
+var _elm_lang$html$Html_Attributes$shape = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'shape', value);
+};
+var _elm_lang$html$Html_Attributes$coords = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'coords', value);
+};
+var _elm_lang$html$Html_Attributes$keytype = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'keytype', value);
+};
+var _elm_lang$html$Html_Attributes$align = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'align', value);
+};
+var _elm_lang$html$Html_Attributes$cite = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'cite', value);
+};
+var _elm_lang$html$Html_Attributes$href = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'href', value);
+};
+var _elm_lang$html$Html_Attributes$target = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'target', value);
+};
+var _elm_lang$html$Html_Attributes$downloadAs = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'download', value);
+};
+var _elm_lang$html$Html_Attributes$hreflang = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'hreflang', value);
+};
+var _elm_lang$html$Html_Attributes$ping = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'ping', value);
+};
+var _elm_lang$html$Html_Attributes$start = function (n) {
+ return A2(
+ _elm_lang$html$Html_Attributes$stringProperty,
+ 'start',
+ _elm_lang$core$Basics$toString(n));
+};
+var _elm_lang$html$Html_Attributes$headers = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'headers', value);
+};
+var _elm_lang$html$Html_Attributes$scope = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$stringProperty, 'scope', value);
+};
+var _elm_lang$html$Html_Attributes$boolProperty = F2(
+ function (name, bool) {
+ return A2(
+ _elm_lang$html$Html_Attributes$property,
+ name,
+ _elm_lang$core$Json_Encode$bool(bool));
+ });
+var _elm_lang$html$Html_Attributes$hidden = function (bool) {
+ return A2(_elm_lang$html$Html_Attributes$boolProperty, 'hidden', bool);
+};
+var _elm_lang$html$Html_Attributes$contenteditable = function (bool) {
+ return A2(_elm_lang$html$Html_Attributes$boolProperty, 'contentEditable', bool);
+};
+var _elm_lang$html$Html_Attributes$spellcheck = function (bool) {
+ return A2(_elm_lang$html$Html_Attributes$boolProperty, 'spellcheck', bool);
+};
+var _elm_lang$html$Html_Attributes$async = function (bool) {
+ return A2(_elm_lang$html$Html_Attributes$boolProperty, 'async', bool);
+};
+var _elm_lang$html$Html_Attributes$defer = function (bool) {
+ return A2(_elm_lang$html$Html_Attributes$boolProperty, 'defer', bool);
+};
+var _elm_lang$html$Html_Attributes$scoped = function (bool) {
+ return A2(_elm_lang$html$Html_Attributes$boolProperty, 'scoped', bool);
+};
+var _elm_lang$html$Html_Attributes$autoplay = function (bool) {
+ return A2(_elm_lang$html$Html_Attributes$boolProperty, 'autoplay', bool);
+};
+var _elm_lang$html$Html_Attributes$controls = function (bool) {
+ return A2(_elm_lang$html$Html_Attributes$boolProperty, 'controls', bool);
+};
+var _elm_lang$html$Html_Attributes$loop = function (bool) {
+ return A2(_elm_lang$html$Html_Attributes$boolProperty, 'loop', bool);
+};
+var _elm_lang$html$Html_Attributes$default = function (bool) {
+ return A2(_elm_lang$html$Html_Attributes$boolProperty, 'default', bool);
+};
+var _elm_lang$html$Html_Attributes$seamless = function (bool) {
+ return A2(_elm_lang$html$Html_Attributes$boolProperty, 'seamless', bool);
+};
+var _elm_lang$html$Html_Attributes$checked = function (bool) {
+ return A2(_elm_lang$html$Html_Attributes$boolProperty, 'checked', bool);
+};
+var _elm_lang$html$Html_Attributes$selected = function (bool) {
+ return A2(_elm_lang$html$Html_Attributes$boolProperty, 'selected', bool);
+};
+var _elm_lang$html$Html_Attributes$autofocus = function (bool) {
+ return A2(_elm_lang$html$Html_Attributes$boolProperty, 'autofocus', bool);
+};
+var _elm_lang$html$Html_Attributes$disabled = function (bool) {
+ return A2(_elm_lang$html$Html_Attributes$boolProperty, 'disabled', bool);
+};
+var _elm_lang$html$Html_Attributes$multiple = function (bool) {
+ return A2(_elm_lang$html$Html_Attributes$boolProperty, 'multiple', bool);
+};
+var _elm_lang$html$Html_Attributes$novalidate = function (bool) {
+ return A2(_elm_lang$html$Html_Attributes$boolProperty, 'noValidate', bool);
+};
+var _elm_lang$html$Html_Attributes$readonly = function (bool) {
+ return A2(_elm_lang$html$Html_Attributes$boolProperty, 'readOnly', bool);
+};
+var _elm_lang$html$Html_Attributes$required = function (bool) {
+ return A2(_elm_lang$html$Html_Attributes$boolProperty, 'required', bool);
+};
+var _elm_lang$html$Html_Attributes$ismap = function (value) {
+ return A2(_elm_lang$html$Html_Attributes$boolProperty, 'isMap', value);
+};
+var _elm_lang$html$Html_Attributes$download = function (bool) {
+ return A2(_elm_lang$html$Html_Attributes$boolProperty, 'download', bool);
+};
+var _elm_lang$html$Html_Attributes$reversed = function (bool) {
+ return A2(_elm_lang$html$Html_Attributes$boolProperty, 'reversed', bool);
+};
+var _elm_lang$html$Html_Attributes$classList = function (list) {
+ return _elm_lang$html$Html_Attributes$class(
+ A2(
+ _elm_lang$core$String$join,
+ ' ',
+ A2(
+ _elm_lang$core$List$map,
+ _elm_lang$core$Tuple$first,
+ A2(_elm_lang$core$List$filter, _elm_lang$core$Tuple$second, list))));
+};
+var _elm_lang$html$Html_Attributes$style = _elm_lang$virtual_dom$VirtualDom$style;
diff --git a/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Events.elmi b/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Events.elmi
new file mode 100644
index 0000000..35502d8
Binary files /dev/null and b/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Events.elmi differ
diff --git a/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Events.elmo b/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Events.elmo
new file mode 100644
index 0000000..43e1b1a
--- /dev/null
+++ b/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Events.elmo
@@ -0,0 +1,114 @@
+var _elm_lang$html$Html_Events$keyCode = A2(_elm_lang$core$Json_Decode$field, 'keyCode', _elm_lang$core$Json_Decode$int);
+var _elm_lang$html$Html_Events$targetChecked = A2(
+ _elm_lang$core$Json_Decode$at,
+ {
+ ctor: '::',
+ _0: 'target',
+ _1: {
+ ctor: '::',
+ _0: 'checked',
+ _1: {ctor: '[]'}
+ }
+ },
+ _elm_lang$core$Json_Decode$bool);
+var _elm_lang$html$Html_Events$targetValue = A2(
+ _elm_lang$core$Json_Decode$at,
+ {
+ ctor: '::',
+ _0: 'target',
+ _1: {
+ ctor: '::',
+ _0: 'value',
+ _1: {ctor: '[]'}
+ }
+ },
+ _elm_lang$core$Json_Decode$string);
+var _elm_lang$html$Html_Events$defaultOptions = _elm_lang$virtual_dom$VirtualDom$defaultOptions;
+var _elm_lang$html$Html_Events$onWithOptions = _elm_lang$virtual_dom$VirtualDom$onWithOptions;
+var _elm_lang$html$Html_Events$on = _elm_lang$virtual_dom$VirtualDom$on;
+var _elm_lang$html$Html_Events$onFocus = function (msg) {
+ return A2(
+ _elm_lang$html$Html_Events$on,
+ 'focus',
+ _elm_lang$core$Json_Decode$succeed(msg));
+};
+var _elm_lang$html$Html_Events$onBlur = function (msg) {
+ return A2(
+ _elm_lang$html$Html_Events$on,
+ 'blur',
+ _elm_lang$core$Json_Decode$succeed(msg));
+};
+var _elm_lang$html$Html_Events$onSubmitOptions = _elm_lang$core$Native_Utils.update(
+ _elm_lang$html$Html_Events$defaultOptions,
+ {preventDefault: true});
+var _elm_lang$html$Html_Events$onSubmit = function (msg) {
+ return A3(
+ _elm_lang$html$Html_Events$onWithOptions,
+ 'submit',
+ _elm_lang$html$Html_Events$onSubmitOptions,
+ _elm_lang$core$Json_Decode$succeed(msg));
+};
+var _elm_lang$html$Html_Events$onCheck = function (tagger) {
+ return A2(
+ _elm_lang$html$Html_Events$on,
+ 'change',
+ A2(_elm_lang$core$Json_Decode$map, tagger, _elm_lang$html$Html_Events$targetChecked));
+};
+var _elm_lang$html$Html_Events$onInput = function (tagger) {
+ return A2(
+ _elm_lang$html$Html_Events$on,
+ 'input',
+ A2(_elm_lang$core$Json_Decode$map, tagger, _elm_lang$html$Html_Events$targetValue));
+};
+var _elm_lang$html$Html_Events$onMouseOut = function (msg) {
+ return A2(
+ _elm_lang$html$Html_Events$on,
+ 'mouseout',
+ _elm_lang$core$Json_Decode$succeed(msg));
+};
+var _elm_lang$html$Html_Events$onMouseOver = function (msg) {
+ return A2(
+ _elm_lang$html$Html_Events$on,
+ 'mouseover',
+ _elm_lang$core$Json_Decode$succeed(msg));
+};
+var _elm_lang$html$Html_Events$onMouseLeave = function (msg) {
+ return A2(
+ _elm_lang$html$Html_Events$on,
+ 'mouseleave',
+ _elm_lang$core$Json_Decode$succeed(msg));
+};
+var _elm_lang$html$Html_Events$onMouseEnter = function (msg) {
+ return A2(
+ _elm_lang$html$Html_Events$on,
+ 'mouseenter',
+ _elm_lang$core$Json_Decode$succeed(msg));
+};
+var _elm_lang$html$Html_Events$onMouseUp = function (msg) {
+ return A2(
+ _elm_lang$html$Html_Events$on,
+ 'mouseup',
+ _elm_lang$core$Json_Decode$succeed(msg));
+};
+var _elm_lang$html$Html_Events$onMouseDown = function (msg) {
+ return A2(
+ _elm_lang$html$Html_Events$on,
+ 'mousedown',
+ _elm_lang$core$Json_Decode$succeed(msg));
+};
+var _elm_lang$html$Html_Events$onDoubleClick = function (msg) {
+ return A2(
+ _elm_lang$html$Html_Events$on,
+ 'dblclick',
+ _elm_lang$core$Json_Decode$succeed(msg));
+};
+var _elm_lang$html$Html_Events$onClick = function (msg) {
+ return A2(
+ _elm_lang$html$Html_Events$on,
+ 'click',
+ _elm_lang$core$Json_Decode$succeed(msg));
+};
+var _elm_lang$html$Html_Events$Options = F2(
+ function (a, b) {
+ return {stopPropagation: a, preventDefault: b};
+ });
diff --git a/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Keyed.elmi b/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Keyed.elmi
new file mode 100644
index 0000000..e9746ba
Binary files /dev/null and b/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Keyed.elmi differ
diff --git a/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Keyed.elmo b/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Keyed.elmo
new file mode 100644
index 0000000..6d99fd5
--- /dev/null
+++ b/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Keyed.elmo
@@ -0,0 +1,3 @@
+var _elm_lang$html$Html_Keyed$node = _elm_lang$virtual_dom$VirtualDom$keyedNode;
+var _elm_lang$html$Html_Keyed$ol = _elm_lang$html$Html_Keyed$node('ol');
+var _elm_lang$html$Html_Keyed$ul = _elm_lang$html$Html_Keyed$node('ul');
diff --git a/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Lazy.elmi b/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Lazy.elmi
new file mode 100644
index 0000000..5921eed
Binary files /dev/null and b/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Lazy.elmi differ
diff --git a/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Lazy.elmo b/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Lazy.elmo
new file mode 100644
index 0000000..d8d2b70
--- /dev/null
+++ b/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Lazy.elmo
@@ -0,0 +1,3 @@
+var _elm_lang$html$Html_Lazy$lazy3 = _elm_lang$virtual_dom$VirtualDom$lazy3;
+var _elm_lang$html$Html_Lazy$lazy2 = _elm_lang$virtual_dom$VirtualDom$lazy2;
+var _elm_lang$html$Html_Lazy$lazy = _elm_lang$virtual_dom$VirtualDom$lazy;
diff --git a/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html.elmi b/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html.elmi
new file mode 100644
index 0000000..2b629f1
Binary files /dev/null and b/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html.elmi differ
diff --git a/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html.elmo b/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html.elmo
new file mode 100644
index 0000000..03f9981
--- /dev/null
+++ b/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html.elmo
@@ -0,0 +1,124 @@
+var _elm_lang$html$Html$programWithFlags = _elm_lang$virtual_dom$VirtualDom$programWithFlags;
+var _elm_lang$html$Html$program = _elm_lang$virtual_dom$VirtualDom$program;
+var _elm_lang$html$Html$beginnerProgram = function (_p0) {
+ var _p1 = _p0;
+ return _elm_lang$html$Html$program(
+ {
+ init: A2(
+ _elm_lang$core$Platform_Cmd_ops['!'],
+ _p1.model,
+ {ctor: '[]'}),
+ update: F2(
+ function (msg, model) {
+ return A2(
+ _elm_lang$core$Platform_Cmd_ops['!'],
+ A2(_p1.update, msg, model),
+ {ctor: '[]'});
+ }),
+ view: _p1.view,
+ subscriptions: function (_p2) {
+ return _elm_lang$core$Platform_Sub$none;
+ }
+ });
+};
+var _elm_lang$html$Html$map = _elm_lang$virtual_dom$VirtualDom$map;
+var _elm_lang$html$Html$text = _elm_lang$virtual_dom$VirtualDom$text;
+var _elm_lang$html$Html$node = _elm_lang$virtual_dom$VirtualDom$node;
+var _elm_lang$html$Html$body = _elm_lang$html$Html$node('body');
+var _elm_lang$html$Html$section = _elm_lang$html$Html$node('section');
+var _elm_lang$html$Html$nav = _elm_lang$html$Html$node('nav');
+var _elm_lang$html$Html$article = _elm_lang$html$Html$node('article');
+var _elm_lang$html$Html$aside = _elm_lang$html$Html$node('aside');
+var _elm_lang$html$Html$h1 = _elm_lang$html$Html$node('h1');
+var _elm_lang$html$Html$h2 = _elm_lang$html$Html$node('h2');
+var _elm_lang$html$Html$h3 = _elm_lang$html$Html$node('h3');
+var _elm_lang$html$Html$h4 = _elm_lang$html$Html$node('h4');
+var _elm_lang$html$Html$h5 = _elm_lang$html$Html$node('h5');
+var _elm_lang$html$Html$h6 = _elm_lang$html$Html$node('h6');
+var _elm_lang$html$Html$header = _elm_lang$html$Html$node('header');
+var _elm_lang$html$Html$footer = _elm_lang$html$Html$node('footer');
+var _elm_lang$html$Html$address = _elm_lang$html$Html$node('address');
+var _elm_lang$html$Html$main_ = _elm_lang$html$Html$node('main');
+var _elm_lang$html$Html$p = _elm_lang$html$Html$node('p');
+var _elm_lang$html$Html$hr = _elm_lang$html$Html$node('hr');
+var _elm_lang$html$Html$pre = _elm_lang$html$Html$node('pre');
+var _elm_lang$html$Html$blockquote = _elm_lang$html$Html$node('blockquote');
+var _elm_lang$html$Html$ol = _elm_lang$html$Html$node('ol');
+var _elm_lang$html$Html$ul = _elm_lang$html$Html$node('ul');
+var _elm_lang$html$Html$li = _elm_lang$html$Html$node('li');
+var _elm_lang$html$Html$dl = _elm_lang$html$Html$node('dl');
+var _elm_lang$html$Html$dt = _elm_lang$html$Html$node('dt');
+var _elm_lang$html$Html$dd = _elm_lang$html$Html$node('dd');
+var _elm_lang$html$Html$figure = _elm_lang$html$Html$node('figure');
+var _elm_lang$html$Html$figcaption = _elm_lang$html$Html$node('figcaption');
+var _elm_lang$html$Html$div = _elm_lang$html$Html$node('div');
+var _elm_lang$html$Html$a = _elm_lang$html$Html$node('a');
+var _elm_lang$html$Html$em = _elm_lang$html$Html$node('em');
+var _elm_lang$html$Html$strong = _elm_lang$html$Html$node('strong');
+var _elm_lang$html$Html$small = _elm_lang$html$Html$node('small');
+var _elm_lang$html$Html$s = _elm_lang$html$Html$node('s');
+var _elm_lang$html$Html$cite = _elm_lang$html$Html$node('cite');
+var _elm_lang$html$Html$q = _elm_lang$html$Html$node('q');
+var _elm_lang$html$Html$dfn = _elm_lang$html$Html$node('dfn');
+var _elm_lang$html$Html$abbr = _elm_lang$html$Html$node('abbr');
+var _elm_lang$html$Html$time = _elm_lang$html$Html$node('time');
+var _elm_lang$html$Html$code = _elm_lang$html$Html$node('code');
+var _elm_lang$html$Html$var = _elm_lang$html$Html$node('var');
+var _elm_lang$html$Html$samp = _elm_lang$html$Html$node('samp');
+var _elm_lang$html$Html$kbd = _elm_lang$html$Html$node('kbd');
+var _elm_lang$html$Html$sub = _elm_lang$html$Html$node('sub');
+var _elm_lang$html$Html$sup = _elm_lang$html$Html$node('sup');
+var _elm_lang$html$Html$i = _elm_lang$html$Html$node('i');
+var _elm_lang$html$Html$b = _elm_lang$html$Html$node('b');
+var _elm_lang$html$Html$u = _elm_lang$html$Html$node('u');
+var _elm_lang$html$Html$mark = _elm_lang$html$Html$node('mark');
+var _elm_lang$html$Html$ruby = _elm_lang$html$Html$node('ruby');
+var _elm_lang$html$Html$rt = _elm_lang$html$Html$node('rt');
+var _elm_lang$html$Html$rp = _elm_lang$html$Html$node('rp');
+var _elm_lang$html$Html$bdi = _elm_lang$html$Html$node('bdi');
+var _elm_lang$html$Html$bdo = _elm_lang$html$Html$node('bdo');
+var _elm_lang$html$Html$span = _elm_lang$html$Html$node('span');
+var _elm_lang$html$Html$br = _elm_lang$html$Html$node('br');
+var _elm_lang$html$Html$wbr = _elm_lang$html$Html$node('wbr');
+var _elm_lang$html$Html$ins = _elm_lang$html$Html$node('ins');
+var _elm_lang$html$Html$del = _elm_lang$html$Html$node('del');
+var _elm_lang$html$Html$img = _elm_lang$html$Html$node('img');
+var _elm_lang$html$Html$iframe = _elm_lang$html$Html$node('iframe');
+var _elm_lang$html$Html$embed = _elm_lang$html$Html$node('embed');
+var _elm_lang$html$Html$object = _elm_lang$html$Html$node('object');
+var _elm_lang$html$Html$param = _elm_lang$html$Html$node('param');
+var _elm_lang$html$Html$video = _elm_lang$html$Html$node('video');
+var _elm_lang$html$Html$audio = _elm_lang$html$Html$node('audio');
+var _elm_lang$html$Html$source = _elm_lang$html$Html$node('source');
+var _elm_lang$html$Html$track = _elm_lang$html$Html$node('track');
+var _elm_lang$html$Html$canvas = _elm_lang$html$Html$node('canvas');
+var _elm_lang$html$Html$math = _elm_lang$html$Html$node('math');
+var _elm_lang$html$Html$table = _elm_lang$html$Html$node('table');
+var _elm_lang$html$Html$caption = _elm_lang$html$Html$node('caption');
+var _elm_lang$html$Html$colgroup = _elm_lang$html$Html$node('colgroup');
+var _elm_lang$html$Html$col = _elm_lang$html$Html$node('col');
+var _elm_lang$html$Html$tbody = _elm_lang$html$Html$node('tbody');
+var _elm_lang$html$Html$thead = _elm_lang$html$Html$node('thead');
+var _elm_lang$html$Html$tfoot = _elm_lang$html$Html$node('tfoot');
+var _elm_lang$html$Html$tr = _elm_lang$html$Html$node('tr');
+var _elm_lang$html$Html$td = _elm_lang$html$Html$node('td');
+var _elm_lang$html$Html$th = _elm_lang$html$Html$node('th');
+var _elm_lang$html$Html$form = _elm_lang$html$Html$node('form');
+var _elm_lang$html$Html$fieldset = _elm_lang$html$Html$node('fieldset');
+var _elm_lang$html$Html$legend = _elm_lang$html$Html$node('legend');
+var _elm_lang$html$Html$label = _elm_lang$html$Html$node('label');
+var _elm_lang$html$Html$input = _elm_lang$html$Html$node('input');
+var _elm_lang$html$Html$button = _elm_lang$html$Html$node('button');
+var _elm_lang$html$Html$select = _elm_lang$html$Html$node('select');
+var _elm_lang$html$Html$datalist = _elm_lang$html$Html$node('datalist');
+var _elm_lang$html$Html$optgroup = _elm_lang$html$Html$node('optgroup');
+var _elm_lang$html$Html$option = _elm_lang$html$Html$node('option');
+var _elm_lang$html$Html$textarea = _elm_lang$html$Html$node('textarea');
+var _elm_lang$html$Html$keygen = _elm_lang$html$Html$node('keygen');
+var _elm_lang$html$Html$output = _elm_lang$html$Html$node('output');
+var _elm_lang$html$Html$progress = _elm_lang$html$Html$node('progress');
+var _elm_lang$html$Html$meter = _elm_lang$html$Html$node('meter');
+var _elm_lang$html$Html$details = _elm_lang$html$Html$node('details');
+var _elm_lang$html$Html$summary = _elm_lang$html$Html$node('summary');
+var _elm_lang$html$Html$menuitem = _elm_lang$html$Html$node('menuitem');
+var _elm_lang$html$Html$menu = _elm_lang$html$Html$node('menu');
diff --git a/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/graph.dat b/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/graph.dat
new file mode 100644
index 0000000..3936f5a
Binary files /dev/null and b/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/graph.dat differ
diff --git a/elm-stuff/packages/elm-lang/html/2.0.0/.gitignore b/elm-stuff/packages/elm-lang/html/2.0.0/.gitignore
new file mode 100644
index 0000000..e185314
--- /dev/null
+++ b/elm-stuff/packages/elm-lang/html/2.0.0/.gitignore
@@ -0,0 +1 @@
+elm-stuff
\ No newline at end of file
diff --git a/elm-stuff/packages/elm-lang/html/2.0.0/LICENSE b/elm-stuff/packages/elm-lang/html/2.0.0/LICENSE
new file mode 100644
index 0000000..e0419a4
--- /dev/null
+++ b/elm-stuff/packages/elm-lang/html/2.0.0/LICENSE
@@ -0,0 +1,30 @@
+Copyright (c) 2014-present, Evan Czaplicki
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+
+ * Neither the name of Evan Czaplicki nor the names of other
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/elm-stuff/packages/elm-lang/html/2.0.0/README.md b/elm-stuff/packages/elm-lang/html/2.0.0/README.md
new file mode 100644
index 0000000..baed9a7
--- /dev/null
+++ b/elm-stuff/packages/elm-lang/html/2.0.0/README.md
@@ -0,0 +1,5 @@
+# HTML for Elm
+
+The core HTML library for Elm. It is backed by [elm-lang/virtual-dom](http://package.elm-lang.org/packages/elm-lang/virtual-dom/latest/) which handles the dirty details of rendering things quickly.
+
+The best way to learn how to use this library is to read [guide.elm-lang.org](http://guide.elm-lang.org/), particularly the section on [The Elm Architecture](http://guide.elm-lang.org/architecture/index.html).
diff --git a/elm-stuff/packages/elm-lang/html/2.0.0/documentation.json b/elm-stuff/packages/elm-lang/html/2.0.0/documentation.json
new file mode 100644
index 0000000..d0179a7
--- /dev/null
+++ b/elm-stuff/packages/elm-lang/html/2.0.0/documentation.json
@@ -0,0 +1,1211 @@
+[
+ {
+ "name": "Html.Lazy",
+ "comment": " Since all Elm functions are pure we have a guarantee that the same input\nwill always result in the same output. This module gives us tools to be lazy\nabout building `Html` that utilize this fact.\n\nRather than immediately applying functions to their arguments, the `lazy`\nfunctions just bundle the function and arguments up for later. When diffing\nthe old and new virtual DOM, it checks to see if all the arguments are equal.\nIf so, it skips calling the function!\n\nThis is a really cheap test and often makes things a lot faster, but definitely\nbenchmark to be sure!\n\n@docs lazy, lazy2, lazy3\n",
+ "aliases": [],
+ "types": [],
+ "values": [
+ {
+ "name": "lazy",
+ "comment": " A performance optimization that delays the building of virtual DOM nodes.\n\nCalling `(view model)` will definitely build some virtual DOM, perhaps a lot of\nit. Calling `(lazy view model)` delays the call until later. During diffing, we\ncan check to see if `model` is referentially equal to the previous value used,\nand if so, we just stop. No need to build up the tree structure and diff it,\nwe know if the input to `view` is the same, the output must be the same!\n",
+ "type": "(a -> Html.Html msg) -> a -> Html.Html msg"
+ },
+ {
+ "name": "lazy2",
+ "comment": " Same as `lazy` but checks on two arguments.\n",
+ "type": "(a -> b -> Html.Html msg) -> a -> b -> Html.Html msg"
+ },
+ {
+ "name": "lazy3",
+ "comment": " Same as `lazy` but checks on three arguments.\n",
+ "type": "(a -> b -> c -> Html.Html msg) -> a -> b -> c -> Html.Html msg"
+ }
+ ],
+ "generated-with-elm-version": "0.18.0"
+ },
+ {
+ "name": "Html.Attributes",
+ "comment": " Helper functions for HTML attributes. They are organized roughly by\ncategory. Each attribute is labeled with the HTML tags it can be used with, so\njust search the page for `video` if you want video stuff.\n\nIf you cannot find what you are looking for, go to the [Custom\nAttributes](#custom-attributes) section to learn how to create new helpers.\n\n# Primitives\n@docs style, property, attribute, map\n\n# Super Common Attributes\n@docs class, classList, id, title, hidden\n\n# Inputs\n@docs type_, value, defaultValue, checked, placeholder, selected\n\n## Input Helpers\n@docs accept, acceptCharset, action, autocomplete, autofocus,\n disabled, enctype, formaction, list, maxlength, minlength, method, multiple,\n name, novalidate, pattern, readonly, required, size, for, form\n\n## Input Ranges\n@docs max, min, step\n\n## Input Text Areas\n@docs cols, rows, wrap\n\n\n# Links and Areas\n@docs href, target, download, downloadAs, hreflang, media, ping, rel\n\n## Maps\n@docs ismap, usemap, shape, coords\n\n\n# Embedded Content\n@docs src, height, width, alt\n\n## Audio and Video\n@docs autoplay, controls, loop, preload, poster, default, kind, srclang\n\n## iframes\n@docs sandbox, seamless, srcdoc\n\n# Ordered Lists\n@docs reversed, start\n\n# Tables\n@docs align, colspan, rowspan, headers, scope\n\n# Header Stuff\n@docs async, charset, content, defer, httpEquiv, language, scoped\n\n# Less Common Global Attributes\nAttributes that can be attached to any HTML tag but are less commonly used.\n@docs accesskey, contenteditable, contextmenu, dir, draggable, dropzone,\n itemprop, lang, spellcheck, tabindex\n\n# Key Generation\n@docs challenge, keytype\n\n# Miscellaneous\n@docs cite, datetime, pubdate, manifest\n\n",
+ "aliases": [],
+ "types": [],
+ "values": [
+ {
+ "name": "accept",
+ "comment": " List of types the server accepts, typically a file type.\nFor `form` and `input`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "acceptCharset",
+ "comment": " List of supported charsets in a `form`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "accesskey",
+ "comment": " Defines a keyboard shortcut to activate or add focus to the element. ",
+ "type": "Char -> Html.Attribute msg"
+ },
+ {
+ "name": "action",
+ "comment": " The URI of a program that processes the information submitted via a `form`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "align",
+ "comment": " Specifies the horizontal alignment of a `caption`, `col`, `colgroup`,\n`hr`, `iframe`, `img`, `table`, `tbody`, `td`, `tfoot`, `th`, `thead`, or\n`tr`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "alt",
+ "comment": " Alternative text in case an image can't be displayed. Works with `img`,\n`area`, and `input`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "async",
+ "comment": " Indicates that the `script` should be executed asynchronously. ",
+ "type": "Bool -> Html.Attribute msg"
+ },
+ {
+ "name": "attribute",
+ "comment": " Create *attributes*, like saying `domNode.setAttribute('class', 'greeting')`\nin JavaScript.\n\n class : String -> Attribute msg\n class name =\n attribute \"class\" name\n\nRead more about the difference between properties and attributes [here][].\n\n[here]: https://github.com/elm-lang/html/blob/master/properties-vs-attributes.md\n",
+ "type": "String -> String -> Html.Attribute msg"
+ },
+ {
+ "name": "autocomplete",
+ "comment": " Indicates whether a `form` or an `input` can have their values automatically\ncompleted by the browser.\n",
+ "type": "Bool -> Html.Attribute msg"
+ },
+ {
+ "name": "autofocus",
+ "comment": " The element should be automatically focused after the page loaded.\nFor `button`, `input`, `keygen`, `select`, and `textarea`.\n",
+ "type": "Bool -> Html.Attribute msg"
+ },
+ {
+ "name": "autoplay",
+ "comment": " The `audio` or `video` should play as soon as possible. ",
+ "type": "Bool -> Html.Attribute msg"
+ },
+ {
+ "name": "challenge",
+ "comment": " A challenge string that is submitted along with the public key in a `keygen`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "charset",
+ "comment": " Declares the character encoding of the page or script. Common values include:\n\n * UTF-8 - Character encoding for Unicode\n * ISO-8859-1 - Character encoding for the Latin alphabet\n\nFor `meta` and `script`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "checked",
+ "comment": " Indicates whether an `input` of type checkbox is checked. ",
+ "type": "Bool -> Html.Attribute msg"
+ },
+ {
+ "name": "cite",
+ "comment": " Contains a URI which points to the source of the quote or change in a\n`blockquote`, `del`, `ins`, or `q`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "class",
+ "comment": " Often used with CSS to style elements with common properties. ",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "classList",
+ "comment": " This function makes it easier to build a space-separated class attribute.\nEach class can easily be added and removed depending on the boolean value it\nis paired with. For example, maybe we want a way to view notices:\n\n viewNotice : Notice -> Html msg\n viewNotice notice =\n div\n [ classList\n [ (\"notice\", True)\n , (\"notice-important\", notice.isImportant)\n , (\"notice-seen\", notice.isSeen)\n ]\n ]\n [ text notice.content ]\n",
+ "type": "List ( String, Bool ) -> Html.Attribute msg"
+ },
+ {
+ "name": "cols",
+ "comment": " Defines the number of columns in a `textarea`. ",
+ "type": "Int -> Html.Attribute msg"
+ },
+ {
+ "name": "colspan",
+ "comment": " The colspan attribute defines the number of columns a cell should span.\nFor `td` and `th`.\n",
+ "type": "Int -> Html.Attribute msg"
+ },
+ {
+ "name": "content",
+ "comment": " A value associated with http-equiv or name depending on the context. For\n`meta`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "contenteditable",
+ "comment": " Indicates whether the element's content is editable. ",
+ "type": "Bool -> Html.Attribute msg"
+ },
+ {
+ "name": "contextmenu",
+ "comment": " Defines the ID of a `menu` element which will serve as the element's\ncontext menu.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "controls",
+ "comment": " Indicates whether the browser should show playback controls for the `audio`\nor `video`.\n",
+ "type": "Bool -> Html.Attribute msg"
+ },
+ {
+ "name": "coords",
+ "comment": " A set of values specifying the coordinates of the hot-spot region in an\n`area`. Needs to be paired with a `shape` attribute to be meaningful.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "datetime",
+ "comment": " Indicates the date and time associated with the element.\nFor `del`, `ins`, `time`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "default",
+ "comment": " Indicates that the `track` should be enabled unless the user's preferences\nindicate something different.\n",
+ "type": "Bool -> Html.Attribute msg"
+ },
+ {
+ "name": "defaultValue",
+ "comment": " Defines an initial value which will be displayed in an `input` when that\n`input` is added to the DOM. Unlike `value`, altering `defaultValue` after the\n`input` element has been added to the DOM has no effect.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "defer",
+ "comment": " Indicates that a `script` should be executed after the page has been\nparsed.\n",
+ "type": "Bool -> Html.Attribute msg"
+ },
+ {
+ "name": "dir",
+ "comment": " Defines the text direction. Allowed values are ltr (Left-To-Right) or rtl\n(Right-To-Left).\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "disabled",
+ "comment": " Indicates whether the user can interact with a `button`, `fieldset`,\n`input`, `keygen`, `optgroup`, `option`, `select` or `textarea`.\n",
+ "type": "Bool -> Html.Attribute msg"
+ },
+ {
+ "name": "download",
+ "comment": " Indicates that clicking an `a` and `area` will download the resource\ndirectly.\n",
+ "type": "Bool -> Html.Attribute msg"
+ },
+ {
+ "name": "downloadAs",
+ "comment": " Indicates that clicking an `a` and `area` will download the resource\ndirectly, and that the downloaded resource with have the given filename.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "draggable",
+ "comment": " Defines whether the element can be dragged. ",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "dropzone",
+ "comment": " Indicates that the element accept the dropping of content on it. ",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "enctype",
+ "comment": " How `form` data should be encoded when submitted with the POST method.\nOptions include: application/x-www-form-urlencoded, multipart/form-data, and\ntext/plain.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "for",
+ "comment": " The element ID described by this `label` or the element IDs that are used\nfor an `output`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "form",
+ "comment": " Indicates the element ID of the `form` that owns this particular `button`,\n`fieldset`, `input`, `keygen`, `label`, `meter`, `object`, `output`,\n`progress`, `select`, or `textarea`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "formaction",
+ "comment": " Indicates the action of an `input` or `button`. This overrides the action\ndefined in the surrounding `form`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "headers",
+ "comment": " A space separated list of element IDs indicating which `th` elements are\nheaders for this cell. For `td` and `th`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "height",
+ "comment": " Declare the height of a `canvas`, `embed`, `iframe`, `img`, `input`,\n`object`, or `video`.\n",
+ "type": "Int -> Html.Attribute msg"
+ },
+ {
+ "name": "hidden",
+ "comment": " Indicates the relevance of an element. ",
+ "type": "Bool -> Html.Attribute msg"
+ },
+ {
+ "name": "href",
+ "comment": " The URL of a linked resource, such as `a`, `area`, `base`, or `link`. ",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "hreflang",
+ "comment": " Two-letter language code of the linked resource of an `a`, `area`, or `link`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "httpEquiv",
+ "comment": " This attribute is an indicator that is paired with the `content` attribute,\nindicating what that content means. `httpEquiv` can take on three different\nvalues: content-type, default-style, or refresh. For `meta`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "id",
+ "comment": " Often used with CSS to style a specific element. The value of this\nattribute must be unique.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "ismap",
+ "comment": " When an `img` is a descendent of an `a` tag, the `ismap` attribute\nindicates that the click location should be added to the parent `a`'s href as\na query string.\n",
+ "type": "Bool -> Html.Attribute msg"
+ },
+ {
+ "name": "itemprop",
+ "comment": "",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "keytype",
+ "comment": " Specifies the type of key generated by a `keygen`. Possible values are:\nrsa, dsa, and ec.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "kind",
+ "comment": " Specifies the kind of text `track`. ",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "lang",
+ "comment": " Defines the language used in the element. ",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "language",
+ "comment": " Defines the script language used in a `script`. ",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "list",
+ "comment": " Associates an `input` with a `datalist` tag. The datalist gives some\npre-defined options to suggest to the user as they interact with an input.\nThe value of the list attribute must match the id of a `datalist` node.\nFor `input`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "loop",
+ "comment": " Indicates whether the `audio` or `video` should start playing from the\nstart when it's finished.\n",
+ "type": "Bool -> Html.Attribute msg"
+ },
+ {
+ "name": "manifest",
+ "comment": " Specifies the URL of the cache manifest for an `html` tag. ",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "map",
+ "comment": " Transform the messages produced by an `Attribute`.\n",
+ "type": "(a -> msg) -> Html.Attribute a -> Html.Attribute msg"
+ },
+ {
+ "name": "max",
+ "comment": " Indicates the maximum value allowed. When using an input of type number or\ndate, the max value must be a number or date. For `input`, `meter`, and `progress`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "maxlength",
+ "comment": " Defines the maximum number of characters allowed in an `input` or\n`textarea`.\n",
+ "type": "Int -> Html.Attribute msg"
+ },
+ {
+ "name": "media",
+ "comment": " Specifies a hint of the target media of a `a`, `area`, `link`, `source`,\nor `style`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "method",
+ "comment": " Defines which HTTP method to use when submitting a `form`. Can be GET\n(default) or POST.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "min",
+ "comment": " Indicates the minimum value allowed. When using an input of type number or\ndate, the min value must be a number or date. For `input` and `meter`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "minlength",
+ "comment": " Defines the minimum number of characters allowed in an `input` or\n`textarea`.\n",
+ "type": "Int -> Html.Attribute msg"
+ },
+ {
+ "name": "multiple",
+ "comment": " Indicates whether multiple values can be entered in an `input` of type\nemail or file. Can also indicate that you can `select` many options.\n",
+ "type": "Bool -> Html.Attribute msg"
+ },
+ {
+ "name": "name",
+ "comment": " Name of the element. For example used by the server to identify the fields\nin form submits. For `button`, `form`, `fieldset`, `iframe`, `input`, `keygen`,\n`object`, `output`, `select`, `textarea`, `map`, `meta`, and `param`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "novalidate",
+ "comment": " This attribute indicates that a `form` shouldn't be validated when\nsubmitted.\n",
+ "type": "Bool -> Html.Attribute msg"
+ },
+ {
+ "name": "pattern",
+ "comment": " Defines a regular expression which an `input`'s value will be validated\nagainst.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "ping",
+ "comment": " Specify a URL to send a short POST request to when the user clicks on an\n`a` or `area`. Useful for monitoring and tracking.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "placeholder",
+ "comment": " Provides a hint to the user of what can be entered into an `input` or\n`textarea`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "poster",
+ "comment": " A URL indicating a poster frame to show until the user plays or seeks the\n`video`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "preload",
+ "comment": " Control how much of an `audio` or `video` resource should be preloaded. ",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "property",
+ "comment": " Create *properties*, like saying `domNode.className = 'greeting'` in\nJavaScript.\n\n import Json.Encode as Encode\n\n class : String -> Attribute msg\n class name =\n property \"className\" (Encode.string name)\n\nRead more about the difference between properties and attributes [here][].\n\n[here]: https://github.com/elm-lang/html/blob/master/properties-vs-attributes.md\n",
+ "type": "String -> Json.Encode.Value -> Html.Attribute msg"
+ },
+ {
+ "name": "pubdate",
+ "comment": " Indicates whether this date and time is the date of the nearest `article`\nancestor element. For `time`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "readonly",
+ "comment": " Indicates whether an `input` or `textarea` can be edited. ",
+ "type": "Bool -> Html.Attribute msg"
+ },
+ {
+ "name": "rel",
+ "comment": " Specifies the relationship of the target object to the link object.\nFor `a`, `area`, `link`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "required",
+ "comment": " Indicates whether this element is required to fill out or not.\nFor `input`, `select`, and `textarea`.\n",
+ "type": "Bool -> Html.Attribute msg"
+ },
+ {
+ "name": "reversed",
+ "comment": " Indicates whether an ordered list `ol` should be displayed in a descending\norder instead of a ascending.\n",
+ "type": "Bool -> Html.Attribute msg"
+ },
+ {
+ "name": "rows",
+ "comment": " Defines the number of rows in a `textarea`. ",
+ "type": "Int -> Html.Attribute msg"
+ },
+ {
+ "name": "rowspan",
+ "comment": " Defines the number of rows a table cell should span over.\nFor `td` and `th`.\n",
+ "type": "Int -> Html.Attribute msg"
+ },
+ {
+ "name": "sandbox",
+ "comment": " A space separated list of security restrictions you'd like to lift for an\n`iframe`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "scope",
+ "comment": " Specifies the scope of a header cell `th`. Possible values are: col, row,\ncolgroup, rowgroup.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "scoped",
+ "comment": " Indicates that a `style` should only apply to its parent and all of the\nparents children.\n",
+ "type": "Bool -> Html.Attribute msg"
+ },
+ {
+ "name": "seamless",
+ "comment": " Make an `iframe` look like part of the containing document. ",
+ "type": "Bool -> Html.Attribute msg"
+ },
+ {
+ "name": "selected",
+ "comment": " Defines which `option` will be selected on page load. ",
+ "type": "Bool -> Html.Attribute msg"
+ },
+ {
+ "name": "shape",
+ "comment": " Declare the shape of the clickable area in an `a` or `area`. Valid values\ninclude: default, rect, circle, poly. This attribute can be paired with\n`coords` to create more particular shapes.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "size",
+ "comment": " For `input` specifies the width of an input in characters.\n\nFor `select` specifies the number of visible options in a drop-down list.\n",
+ "type": "Int -> Html.Attribute msg"
+ },
+ {
+ "name": "spellcheck",
+ "comment": " Indicates whether spell checking is allowed for the element. ",
+ "type": "Bool -> Html.Attribute msg"
+ },
+ {
+ "name": "src",
+ "comment": " The URL of the embeddable content. For `audio`, `embed`, `iframe`, `img`,\n`input`, `script`, `source`, `track`, and `video`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "srcdoc",
+ "comment": " An HTML document that will be displayed as the body of an `iframe`. It will\noverride the content of the `src` attribute if it has been specified.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "srclang",
+ "comment": " A two letter language code indicating the language of the `track` text data.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "start",
+ "comment": " Defines the first number of an ordered list if you want it to be something\nbesides 1.\n",
+ "type": "Int -> Html.Attribute msg"
+ },
+ {
+ "name": "step",
+ "comment": " Add a step size to an `input`. Use `step \"any\"` to allow any floating-point\nnumber to be used in the input.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "style",
+ "comment": " Specify a list of styles.\n\n myStyle : Attribute msg\n myStyle =\n style\n [ (\"backgroundColor\", \"red\")\n , (\"height\", \"90px\")\n , (\"width\", \"100%\")\n ]\n\n greeting : Html msg\n greeting =\n div [ myStyle ] [ text \"Hello!\" ]\n\nThere is no `Html.Styles` module because best practices for working with HTML\nsuggest that this should primarily be specified in CSS files. So the general\nrecommendation is to use this function lightly.\n",
+ "type": "List ( String, String ) -> Html.Attribute msg"
+ },
+ {
+ "name": "tabindex",
+ "comment": " Overrides the browser's default tab order and follows the one specified\ninstead.\n",
+ "type": "Int -> Html.Attribute msg"
+ },
+ {
+ "name": "target",
+ "comment": " Specify where the results of clicking an `a`, `area`, `base`, or `form`\nshould appear. Possible special values include:\n\n * _blank — a new window or tab\n * _self — the same frame (this is default)\n * _parent — the parent frame\n * _top — the full body of the window\n\nYou can also give the name of any `frame` you have created.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "title",
+ "comment": " Text to be displayed in a tooltip when hovering over the element. ",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "type_",
+ "comment": " Defines the type of a `button`, `input`, `embed`, `object`, `script`,\n`source`, `style`, or `menu`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "usemap",
+ "comment": " Specify the hash name reference of a `map` that should be used for an `img`\nor `object`. A hash name reference is a hash symbol followed by the element's name or id.\nE.g. `\"#planet-map\"`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "value",
+ "comment": " Defines a default value which will be displayed in a `button`, `option`,\n`input`, `li`, `meter`, `progress`, or `param`.\n",
+ "type": "String -> Html.Attribute msg"
+ },
+ {
+ "name": "width",
+ "comment": " Declare the width of a `canvas`, `embed`, `iframe`, `img`, `input`,\n`object`, or `video`.\n",
+ "type": "Int -> Html.Attribute msg"
+ },
+ {
+ "name": "wrap",
+ "comment": " Indicates whether the text should be wrapped in a `textarea`. Possible\nvalues are \"hard\" and \"soft\".\n",
+ "type": "String -> Html.Attribute msg"
+ }
+ ],
+ "generated-with-elm-version": "0.18.0"
+ },
+ {
+ "name": "Html.Events",
+ "comment": "\nIt is often helpful to create an [Union Type][] so you can have many different kinds\nof events as seen in the [TodoMVC][] example.\n\n[Union Type]: http://elm-lang.org/learn/Union-Types.elm\n[TodoMVC]: https://github.com/evancz/elm-todomvc/blob/master/Todo.elm\n\n# Mouse Helpers\n@docs onClick, onDoubleClick,\n onMouseDown, onMouseUp,\n onMouseEnter, onMouseLeave,\n onMouseOver, onMouseOut\n\n# Form Helpers\n@docs onInput, onCheck, onSubmit\n\n# Focus Helpers\n@docs onBlur, onFocus\n\n# Custom Event Handlers\n@docs on, onWithOptions, Options, defaultOptions\n\n# Custom Decoders\n@docs targetValue, targetChecked, keyCode\n",
+ "aliases": [
+ {
+ "name": "Options",
+ "comment": " Options for an event listener. If `stopPropagation` is true, it means the\nevent stops traveling through the DOM so it will not trigger any other event\nlisteners. If `preventDefault` is true, any built-in browser behavior related\nto the event is prevented. For example, this is used with touch events when you\nwant to treat them as gestures of your own, not as scrolls.\n",
+ "args": [],
+ "type": "{ stopPropagation : Bool, preventDefault : Bool }"
+ }
+ ],
+ "types": [],
+ "values": [
+ {
+ "name": "defaultOptions",
+ "comment": " Everything is `False` by default.\n\n defaultOptions =\n { stopPropagation = False\n , preventDefault = False\n }\n",
+ "type": "Html.Events.Options"
+ },
+ {
+ "name": "keyCode",
+ "comment": " A `Json.Decoder` for grabbing `event.keyCode`. This helps you define\nkeyboard listeners like this:\n\n import Json.Decode as Json\n\n onKeyUp : (Int -> msg) -> Attribute msg\n onKeyUp tagger =\n on \"keyup\" (Json.map tagger keyCode)\n\n**Note:** It looks like the spec is moving away from `event.keyCode` and\ntowards `event.key`. Once this is supported in more browsers, we may add\nhelpers here for `onKeyUp`, `onKeyDown`, `onKeyPress`, etc.\n",
+ "type": "Json.Decode.Decoder Int"
+ },
+ {
+ "name": "on",
+ "comment": " Create a custom event listener. Normally this will not be necessary, but\nyou have the power! Here is how `onClick` is defined for example:\n\n import Json.Decode as Json\n\n onClick : msg -> Attribute msg\n onClick message =\n on \"click\" (Json.succeed message)\n\nThe first argument is the event name in the same format as with JavaScript's\n[`addEventListener`][aEL] function.\n\nThe second argument is a JSON decoder. Read more about these [here][decoder].\nWhen an event occurs, the decoder tries to turn the event object into an Elm\nvalue. If successful, the value is routed to your `update` function. In the\ncase of `onClick` we always just succeed with the given `message`.\n\nIf this is confusing, work through the [Elm Architecture Tutorial][tutorial].\nIt really does help!\n\n[aEL]: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener\n[decoder]: http://package.elm-lang.org/packages/elm-lang/core/latest/Json-Decode\n[tutorial]: https://github.com/evancz/elm-architecture-tutorial/\n",
+ "type": "String -> Json.Decode.Decoder msg -> Html.Attribute msg"
+ },
+ {
+ "name": "onBlur",
+ "comment": "",
+ "type": "msg -> Html.Attribute msg"
+ },
+ {
+ "name": "onCheck",
+ "comment": " Capture [change](https://developer.mozilla.org/en-US/docs/Web/Events/change)\nevents on checkboxes. It will grab the boolean value from `event.target.checked`\non any input event.\n\nCheck out [targetChecked](#targetChecked) for more details on how this works.\n",
+ "type": "(Bool -> msg) -> Html.Attribute msg"
+ },
+ {
+ "name": "onClick",
+ "comment": "",
+ "type": "msg -> Html.Attribute msg"
+ },
+ {
+ "name": "onDoubleClick",
+ "comment": "",
+ "type": "msg -> Html.Attribute msg"
+ },
+ {
+ "name": "onFocus",
+ "comment": "",
+ "type": "msg -> Html.Attribute msg"
+ },
+ {
+ "name": "onInput",
+ "comment": " Capture [input](https://developer.mozilla.org/en-US/docs/Web/Events/input)\nevents for things like text fields or text areas.\n\nIt grabs the **string** value at `event.target.value`, so it will not work if\nyou need some other type of information. For example, if you want to track \ninputs on a range slider, make a custom handler with [`on`](#on).\n\nFor more details on how `onInput` works, check out [targetValue](#targetValue).\n",
+ "type": "(String -> msg) -> Html.Attribute msg"
+ },
+ {
+ "name": "onMouseDown",
+ "comment": "",
+ "type": "msg -> Html.Attribute msg"
+ },
+ {
+ "name": "onMouseEnter",
+ "comment": "",
+ "type": "msg -> Html.Attribute msg"
+ },
+ {
+ "name": "onMouseLeave",
+ "comment": "",
+ "type": "msg -> Html.Attribute msg"
+ },
+ {
+ "name": "onMouseOut",
+ "comment": "",
+ "type": "msg -> Html.Attribute msg"
+ },
+ {
+ "name": "onMouseOver",
+ "comment": "",
+ "type": "msg -> Html.Attribute msg"
+ },
+ {
+ "name": "onMouseUp",
+ "comment": "",
+ "type": "msg -> Html.Attribute msg"
+ },
+ {
+ "name": "onSubmit",
+ "comment": " Capture a [submit](https://developer.mozilla.org/en-US/docs/Web/Events/submit)\nevent with [`preventDefault`](https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\nin order to prevent the form from changing the page’s location. If you need\ndifferent behavior, use `onWithOptions` to create a customized version of\n`onSubmit`.\n",
+ "type": "msg -> Html.Attribute msg"
+ },
+ {
+ "name": "onWithOptions",
+ "comment": " Same as `on` but you can set a few options.\n",
+ "type": "String -> Html.Events.Options -> Json.Decode.Decoder msg -> Html.Attribute msg"
+ },
+ {
+ "name": "targetChecked",
+ "comment": " A `Json.Decoder` for grabbing `event.target.checked`. We use this to define\n`onCheck` as follows:\n\n import Json.Decode as Json\n\n onCheck : (Bool -> msg) -> Attribute msg\n onCheck tagger =\n on \"input\" (Json.map tagger targetChecked)\n",
+ "type": "Json.Decode.Decoder Bool"
+ },
+ {
+ "name": "targetValue",
+ "comment": " A `Json.Decoder` for grabbing `event.target.value`. We use this to define\n`onInput` as follows:\n\n import Json.Decode as Json\n\n onInput : (String -> msg) -> Attribute msg\n onInput tagger =\n on \"input\" (Json.map tagger targetValue)\n\nYou probably will never need this, but hopefully it gives some insights into\nhow to make custom event handlers.\n",
+ "type": "Json.Decode.Decoder String"
+ }
+ ],
+ "generated-with-elm-version": "0.18.0"
+ },
+ {
+ "name": "Html.Keyed",
+ "comment": " A keyed node helps optimize cases where children are getting added, moved,\nremoved, etc. Common examples include:\n\n - The user can delete items from a list.\n - The user can create new items in a list.\n - You can sort a list based on name or date or whatever.\n\nWhen you use a keyed node, every child is paired with a string identifier. This\nmakes it possible for the underlying diffing algorithm to reuse nodes more\nefficiently.\n\n# Keyed Nodes\n@docs node\n\n# Commonly Keyed Nodes\n@docs ol, ul\n",
+ "aliases": [],
+ "types": [],
+ "values": [
+ {
+ "name": "node",
+ "comment": " Works just like `Html.node`, but you add a unique identifier to each child\nnode. You want this when you have a list of nodes that is changing: adding\nnodes, removing nodes, etc. In these cases, the unique identifiers help make\nthe DOM modifications more efficient.\n",
+ "type": "String -> List (Html.Attribute msg) -> List ( String, Html.Html msg ) -> Html.Html msg"
+ },
+ {
+ "name": "ol",
+ "comment": "",
+ "type": "List (Html.Attribute msg) -> List ( String, Html.Html msg ) -> Html.Html msg"
+ },
+ {
+ "name": "ul",
+ "comment": "",
+ "type": "List (Html.Attribute msg) -> List ( String, Html.Html msg ) -> Html.Html msg"
+ }
+ ],
+ "generated-with-elm-version": "0.18.0"
+ },
+ {
+ "name": "Html",
+ "comment": " This file is organized roughly in order of popularity. The tags which you'd\nexpect to use frequently will be closer to the top.\n\n# Primitives\n@docs Html, Attribute, text, node, map\n\n# Programs\n@docs beginnerProgram, program, programWithFlags\n\n# Tags\n\n## Headers\n@docs h1, h2, h3, h4, h5, h6\n\n## Grouping Content\n@docs div, p, hr, pre, blockquote\n\n## Text\n@docs span, a, code, em, strong, i, b, u, sub, sup, br\n\n## Lists\n@docs ol, ul, li, dl, dt, dd\n\n## Emdedded Content\n@docs img, iframe, canvas, math\n\n## Inputs\n@docs form, input, textarea, button, select, option\n\n## Sections\n@docs section, nav, article, aside, header, footer, address, main_, body\n\n## Figures\n@docs figure, figcaption\n\n## Tables\n@docs table, caption, colgroup, col, tbody, thead, tfoot, tr, td, th\n\n\n## Less Common Elements\n\n### Less Common Inputs\n@docs fieldset, legend, label, datalist, optgroup, keygen, output, progress, meter\n\n### Audio and Video\n@docs audio, video, source, track\n\n### Embedded Objects\n@docs embed, object, param\n\n### Text Edits\n@docs ins, del\n\n### Semantic Text\n@docs small, cite, dfn, abbr, time, var, samp, kbd, s, q\n\n### Less Common Text Tags\n@docs mark, ruby, rt, rp, bdi, bdo, wbr\n\n## Interactive Elements\n@docs details, summary, menuitem, menu\n\n",
+ "aliases": [
+ {
+ "name": "Attribute",
+ "comment": " Set attributes on your `Html`. Learn more in the\n[`Html.Attributes`](Html-Attributes) module.\n",
+ "args": [
+ "msg"
+ ],
+ "type": "VirtualDom.Property msg"
+ },
+ {
+ "name": "Html",
+ "comment": " The core building block used to build up HTML. Here we create an `Html`\nvalue with no attributes and one child:\n\n hello : Html msg\n hello =\n div [] [ text \"Hello!\" ]\n",
+ "args": [
+ "msg"
+ ],
+ "type": "VirtualDom.Node msg"
+ }
+ ],
+ "types": [],
+ "values": [
+ {
+ "name": "a",
+ "comment": " Represents a hyperlink, linking to another resource. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "abbr",
+ "comment": " Represents an abbreviation or an acronym; the expansion of the\nabbreviation can be represented in the title attribute.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "address",
+ "comment": " Defines a section containing contact information. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "article",
+ "comment": " Defines self-contained content that could exist independently of the rest\nof the content.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "aside",
+ "comment": " Defines some content loosely related to the page content. If it is removed,\nthe remaining content still makes sense.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "audio",
+ "comment": " Represents a sound or audio stream. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "b",
+ "comment": " Represents a text which to which attention is drawn for utilitarian\npurposes. It doesn't convey extra importance and doesn't imply an alternate\nvoice.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "bdi",
+ "comment": " Represents text that must be isolated from its surrounding for\nbidirectional text formatting. It allows embedding a span of text with a\ndifferent, or unknown, directionality.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "bdo",
+ "comment": " Represents the directionality of its children, in order to explicitly\noverride the Unicode bidirectional algorithm.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "beginnerProgram",
+ "comment": " Create a [`Program`][program] that describes how your whole app works.\n\nRead about [The Elm Architecture][tea] to learn how to use this. Just do it.\nThe additional context is very worthwhile! (Honestly, it is best to just read\nthat guide from front to back instead of muddling around and reading it\npiecemeal.)\n\n[program]: http://package.elm-lang.org/packages/elm-lang/core/latest/Platform#Program\n[tea]: https://guide.elm-lang.org/architecture/\n",
+ "type": "{ model : model , view : model -> Html.Html msg , update : msg -> model -> model } -> Platform.Program Basics.Never model msg"
+ },
+ {
+ "name": "blockquote",
+ "comment": " Represents a content that is quoted from another source. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "body",
+ "comment": " Represents the content of an HTML document. There is only one `body`\nelement in a document.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "br",
+ "comment": " Represents a line break. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "button",
+ "comment": " Represents a button. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "canvas",
+ "comment": " Represents a bitmap area for graphics rendering. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "caption",
+ "comment": " Represents the title of a table. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "cite",
+ "comment": " Represents the title of a work. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "code",
+ "comment": " Represents computer code. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "col",
+ "comment": " Represents a column of a table. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "colgroup",
+ "comment": " Represents a set of one or more columns of a table. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "datalist",
+ "comment": " Represents a set of predefined options for other controls. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "dd",
+ "comment": " Represents the definition of the terms immediately listed before it. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "del",
+ "comment": " Defines a removal from the document. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "details",
+ "comment": " Represents a widget from which the user can obtain additional information\nor controls.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "dfn",
+ "comment": " Represents a term whose definition is contained in its nearest ancestor\ncontent.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "div",
+ "comment": " Represents a generic container with no special meaning. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "dl",
+ "comment": " Defines a definition list, that is, a list of terms and their associated\ndefinitions.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "dt",
+ "comment": " Represents a term defined by the next `dd`. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "em",
+ "comment": " Represents emphasized text, like a stress accent. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "embed",
+ "comment": " Represents a integration point for an external, often non-HTML,\napplication or interactive content.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "fieldset",
+ "comment": " Represents a set of controls. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "figcaption",
+ "comment": " Represents the legend of a figure. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "figure",
+ "comment": " Represents a figure illustrated as part of the document. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "footer",
+ "comment": " Defines the footer for a page or section. It often contains a copyright\nnotice, some links to legal information, or addresses to give feedback.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "form",
+ "comment": " Represents a form, consisting of controls, that can be submitted to a\nserver for processing.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "h1",
+ "comment": "",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "h2",
+ "comment": "",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "h3",
+ "comment": "",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "h4",
+ "comment": "",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "h5",
+ "comment": "",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "h6",
+ "comment": "",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "header",
+ "comment": " Defines the header of a page or section. It often contains a logo, the\ntitle of the web site, and a navigational table of content.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "hr",
+ "comment": " Represents a thematic break between paragraphs of a section or article or\nany longer content.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "i",
+ "comment": " Represents some text in an alternate voice or mood, or at least of\ndifferent quality, such as a taxonomic designation, a technical term, an\nidiomatic phrase, a thought, or a ship name.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "iframe",
+ "comment": " Embedded an HTML document. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "img",
+ "comment": " Represents an image. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "input",
+ "comment": " Represents a typed data field allowing the user to edit the data. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "ins",
+ "comment": " Defines an addition to the document. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "kbd",
+ "comment": " Represents user input, often from the keyboard, but not necessarily; it\nmay represent other input, like transcribed voice commands.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "keygen",
+ "comment": " Represents a key-pair generator control. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "label",
+ "comment": " Represents the caption of a form control. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "legend",
+ "comment": " Represents the caption for a `fieldset`. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "li",
+ "comment": " Defines a item of an enumeration list. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "main_",
+ "comment": " Defines the main or important content in the document. There is only one\n`main` element in the document.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "map",
+ "comment": " Transform the messages produced by some `Html`. In the following example,\nwe have `viewButton` that produces `()` messages, and we transform those values\ninto `Msg` values in `view`.\n\n type Msg = Left | Right\n\n view : model -> Html Msg\n view model =\n div []\n [ map (\\_ -> Left) (viewButton \"Left\")\n , map (\\_ -> Right) (viewButton \"Right\")\n ]\n\n viewButton : String -> Html ()\n viewButton name =\n button [ onClick () ] [ text name ]\n\nThis should not come in handy too often. Definitely read [this][reuse] before\ndeciding if this is what you want.\n\n[reuse]: https://guide.elm-lang.org/reuse/\n",
+ "type": "(a -> msg) -> Html.Html a -> Html.Html msg"
+ },
+ {
+ "name": "mark",
+ "comment": " Represents text highlighted for reference purposes, that is for its\nrelevance in another context.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "math",
+ "comment": " Defines a mathematical formula. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "menu",
+ "comment": " Represents a list of commands. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "menuitem",
+ "comment": " Represents a command that the user can invoke. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "meter",
+ "comment": " Represents a scalar measurement (or a fractional value), within a known\nrange.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "nav",
+ "comment": " Defines a section that contains only navigation links.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "node",
+ "comment": " General way to create HTML nodes. It is used to define all of the helper\nfunctions in this library.\n\n div : List (Attribute msg) -> List (Html msg) -> Html msg\n div attributes children =\n node \"div\" attributes children\n\nYou can use this to create custom nodes if you need to create something that\nis not covered by the helper functions in this library.\n",
+ "type": "String -> List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "object",
+ "comment": " Represents an external resource, which is treated as an image, an HTML\nsub-document, or an external resource to be processed by a plug-in.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "ol",
+ "comment": " Defines an ordered list of items. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "optgroup",
+ "comment": " Represents a set of options, logically grouped. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "option",
+ "comment": " Represents an option in a `select` element or a suggestion of a `datalist`\nelement.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "output",
+ "comment": " Represents the result of a calculation. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "p",
+ "comment": " Defines a portion that should be displayed as a paragraph. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "param",
+ "comment": " Defines parameters for use by plug-ins invoked by `object` elements. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "pre",
+ "comment": " Indicates that its content is preformatted and that this format must be\npreserved.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "program",
+ "comment": " Create a [`Program`][program] that describes how your whole app works.\n\nRead about [The Elm Architecture][tea] to learn how to use this. Just do it.\nCommands and subscriptions make way more sense when you work up to them\ngradually and see them in context with examples.\n\n[program]: http://package.elm-lang.org/packages/elm-lang/core/latest/Platform#Program\n[tea]: https://guide.elm-lang.org/architecture/\n",
+ "type": "{ init : ( model, Platform.Cmd.Cmd msg ) , update : msg -> model -> ( model, Platform.Cmd.Cmd msg ) , subscriptions : model -> Platform.Sub.Sub msg , view : model -> Html.Html msg } -> Platform.Program Basics.Never model msg"
+ },
+ {
+ "name": "programWithFlags",
+ "comment": " Create a [`Program`][program] that describes how your whole app works.\n\nIt works just like `program` but you can provide “flags” from\nJavaScript to configure your application. Read more about that [here][].\n\n[program]: http://package.elm-lang.org/packages/elm-lang/core/latest/Platform#Program\n[here]: https://guide.elm-lang.org/interop/javascript.html\n",
+ "type": "{ init : flags -> ( model, Platform.Cmd.Cmd msg ) , update : msg -> model -> ( model, Platform.Cmd.Cmd msg ) , subscriptions : model -> Platform.Sub.Sub msg , view : model -> Html.Html msg } -> Platform.Program flags model msg"
+ },
+ {
+ "name": "progress",
+ "comment": " Represents the completion progress of a task. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "q",
+ "comment": " Represents an inline quotation. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "rp",
+ "comment": " Represents parenthesis around a ruby annotation, used to display the\nannotation in an alternate way by browsers not supporting the standard display\nfor annotations.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "rt",
+ "comment": " Represents the text of a ruby annotation. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "ruby",
+ "comment": " Represents content to be marked with ruby annotations, short runs of text\npresented alongside the text. This is often used in conjunction with East Asian\nlanguage where the annotations act as a guide for pronunciation, like the\nJapanese furigana.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "s",
+ "comment": " Represents content that is no longer accurate or relevant. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "samp",
+ "comment": " Represents the output of a program or a computer. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "section",
+ "comment": " Defines a section in a document.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "select",
+ "comment": " Represents a control allowing selection among a set of options. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "small",
+ "comment": " Represents a side comment, that is, text like a disclaimer or a\ncopyright, which is not essential to the comprehension of the document.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "source",
+ "comment": " Allows authors to specify alternative media resources for media elements\nlike `video` or `audio`.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "span",
+ "comment": " Represents text with no specific meaning. This has to be used when no other\ntext-semantic element conveys an adequate meaning, which, in this case, is\noften brought by global attributes like `class`, `lang`, or `dir`.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "strong",
+ "comment": " Represents especially important text. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "sub",
+ "comment": " Represent a subscript. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "summary",
+ "comment": " Represents a summary, caption, or legend for a given `details`. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "sup",
+ "comment": " Represent a superscript. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "table",
+ "comment": " Represents data with more than one dimension. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "tbody",
+ "comment": " Represents the block of rows that describes the concrete data of a table.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "td",
+ "comment": " Represents a data cell in a table. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "text",
+ "comment": " Just put plain text in the DOM. It will escape the string so that it appears\nexactly as you specify.\n\n text \"Hello World!\"\n",
+ "type": "String -> Html.Html msg"
+ },
+ {
+ "name": "textarea",
+ "comment": " Represents a multiline text edit control. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "tfoot",
+ "comment": " Represents the block of rows that describes the column summaries of a table.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "th",
+ "comment": " Represents a header cell in a table. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "thead",
+ "comment": " Represents the block of rows that describes the column labels of a table.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "time",
+ "comment": " Represents a date and time value; the machine-readable equivalent can be\nrepresented in the datetime attribute.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "tr",
+ "comment": " Represents a row of cells in a table. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "track",
+ "comment": " Allows authors to specify timed text track for media elements like `video`\nor `audio`.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "u",
+ "comment": " Represents a non-textual annoatation for which the conventional\npresentation is underlining, such labeling the text as being misspelt or\nlabeling a proper name in Chinese text.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "ul",
+ "comment": " Defines an unordered list of items. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "var",
+ "comment": " Represents a variable. Specific cases where it should be used include an\nactual mathematical expression or programming context, an identifier\nrepresenting a constant, a symbol identifying a physical quantity, a function\nparameter, or a mere placeholder in prose.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "video",
+ "comment": " Represents a video, the associated audio and captions, and controls. ",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ },
+ {
+ "name": "wbr",
+ "comment": " Represents a line break opportunity, that is a suggested point for\nwrapping text in order to improve readability of text split on several lines.\n",
+ "type": "List (Html.Attribute msg) -> List (Html.Html msg) -> Html.Html msg"
+ }
+ ],
+ "generated-with-elm-version": "0.18.0"
+ }
+]
\ No newline at end of file
diff --git a/elm-stuff/packages/elm-lang/html/2.0.0/elm-package.json b/elm-stuff/packages/elm-lang/html/2.0.0/elm-package.json
new file mode 100644
index 0000000..952aed5
--- /dev/null
+++ b/elm-stuff/packages/elm-lang/html/2.0.0/elm-package.json
@@ -0,0 +1,21 @@
+{
+ "version": "2.0.0",
+ "summary": "Fast HTML, rendered with virtual DOM diffing",
+ "repository": "https://github.com/elm-lang/html.git",
+ "license": "BSD3",
+ "source-directories": [
+ "src"
+ ],
+ "exposed-modules": [
+ "Html",
+ "Html.Attributes",
+ "Html.Events",
+ "Html.Keyed",
+ "Html.Lazy"
+ ],
+ "dependencies": {
+ "elm-lang/core": "5.0.0 <= v < 6.0.0",
+ "elm-lang/virtual-dom": "2.0.0 <= v < 3.0.0"
+ },
+ "elm-version": "0.18.0 <= v < 0.19.0"
+}
diff --git a/elm-stuff/packages/elm-lang/html/2.0.0/properties-vs-attributes.md b/elm-stuff/packages/elm-lang/html/2.0.0/properties-vs-attributes.md
new file mode 100644
index 0000000..41f7565
--- /dev/null
+++ b/elm-stuff/packages/elm-lang/html/2.0.0/properties-vs-attributes.md
@@ -0,0 +1,15 @@
+# Properties vs. Attributes
+
+When you are working with HTML, you can have DOM nodes like `
`. And you can add *attributes* to those DOM nodes, like `
`.
+
+When you are creating DOM nodes in JavaScript, there are two ways to add attributes like this:
+
+ 1. **Attributes** — You can use the `setAttribute` function. So adding a class attribute would look like this: `domNode.setAttribute('class', 'user-info')`.
+
+ 2. **Properties** — JavaScript often exposes an alternate way to set these attributes. Another way to add a class attribute would be like this: `domNode.className = 'user-info'`
+
+Notice that the attribute is called `class` but the property is called `className`. This is because `class` is a reserved word in JavaScript. Point is, **attributes and properties do not always match up.**
+
+It is actually a bit crazier than that though. **Sometimes an attribute exists, but there is no corresponding property.** For example, as of this writing the `webkit-playsinline` can be added with `setAttribute`, but there is no corresponding property. And with SVG, you cannot use properties at all, you must to use `setAttributeNS` for everything.
+
+With all the corner cases here, it makes sense to have access to both approaches.
\ No newline at end of file
diff --git a/elm-stuff/packages/elm-lang/html/2.0.0/src/Html.elm b/elm-stuff/packages/elm-lang/html/2.0.0/src/Html.elm
new file mode 100644
index 0000000..b872a3b
--- /dev/null
+++ b/elm-stuff/packages/elm-lang/html/2.0.0/src/Html.elm
@@ -0,0 +1,923 @@
+module Html exposing
+ ( Html, Attribute
+ , text, node, map
+ , beginnerProgram, program, programWithFlags
+ , h1, h2, h3, h4, h5, h6
+ , div, p, hr, pre, blockquote
+ , span, a, code, em, strong, i, b, u, sub, sup, br
+ , ol, ul, li, dl, dt, dd
+ , img, iframe, canvas, math
+ , form, input, textarea, button, select, option
+ , section, nav, article, aside, header, footer, address, main_, body
+ , figure, figcaption
+ , table, caption, colgroup, col, tbody, thead, tfoot, tr, td, th
+ , fieldset, legend, label, datalist, optgroup, keygen, output, progress, meter
+ , audio, video, source, track
+ , embed, object, param
+ , ins, del
+ , small, cite, dfn, abbr, time, var, samp, kbd, s, q
+ , mark, ruby, rt, rp, bdi, bdo, wbr
+ , details, summary, menuitem, menu
+ )
+
+{-| This file is organized roughly in order of popularity. The tags which you'd
+expect to use frequently will be closer to the top.
+
+# Primitives
+@docs Html, Attribute, text, node, map
+
+# Programs
+@docs beginnerProgram, program, programWithFlags
+
+# Tags
+
+## Headers
+@docs h1, h2, h3, h4, h5, h6
+
+## Grouping Content
+@docs div, p, hr, pre, blockquote
+
+## Text
+@docs span, a, code, em, strong, i, b, u, sub, sup, br
+
+## Lists
+@docs ol, ul, li, dl, dt, dd
+
+## Emdedded Content
+@docs img, iframe, canvas, math
+
+## Inputs
+@docs form, input, textarea, button, select, option
+
+## Sections
+@docs section, nav, article, aside, header, footer, address, main_, body
+
+## Figures
+@docs figure, figcaption
+
+## Tables
+@docs table, caption, colgroup, col, tbody, thead, tfoot, tr, td, th
+
+
+## Less Common Elements
+
+### Less Common Inputs
+@docs fieldset, legend, label, datalist, optgroup, keygen, output, progress, meter
+
+### Audio and Video
+@docs audio, video, source, track
+
+### Embedded Objects
+@docs embed, object, param
+
+### Text Edits
+@docs ins, del
+
+### Semantic Text
+@docs small, cite, dfn, abbr, time, var, samp, kbd, s, q
+
+### Less Common Text Tags
+@docs mark, ruby, rt, rp, bdi, bdo, wbr
+
+## Interactive Elements
+@docs details, summary, menuitem, menu
+
+-}
+
+import VirtualDom
+
+
+
+-- CORE TYPES
+
+
+{-| The core building block used to build up HTML. Here we create an `Html`
+value with no attributes and one child:
+
+ hello : Html msg
+ hello =
+ div [] [ text "Hello!" ]
+-}
+type alias Html msg = VirtualDom.Node msg
+
+
+{-| Set attributes on your `Html`. Learn more in the
+[`Html.Attributes`](Html-Attributes) module.
+-}
+type alias Attribute msg = VirtualDom.Property msg
+
+
+
+-- PRIMITIVES
+
+
+{-| General way to create HTML nodes. It is used to define all of the helper
+functions in this library.
+
+ div : List (Attribute msg) -> List (Html msg) -> Html msg
+ div attributes children =
+ node "div" attributes children
+
+You can use this to create custom nodes if you need to create something that
+is not covered by the helper functions in this library.
+-}
+node : String -> List (Attribute msg) -> List (Html msg) -> Html msg
+node =
+ VirtualDom.node
+
+
+{-| Just put plain text in the DOM. It will escape the string so that it appears
+exactly as you specify.
+
+ text "Hello World!"
+-}
+text : String -> Html msg
+text =
+ VirtualDom.text
+
+
+
+-- NESTING VIEWS
+
+
+{-| Transform the messages produced by some `Html`. In the following example,
+we have `viewButton` that produces `()` messages, and we transform those values
+into `Msg` values in `view`.
+
+ type Msg = Left | Right
+
+ view : model -> Html Msg
+ view model =
+ div []
+ [ map (\_ -> Left) (viewButton "Left")
+ , map (\_ -> Right) (viewButton "Right")
+ ]
+
+ viewButton : String -> Html ()
+ viewButton name =
+ button [ onClick () ] [ text name ]
+
+This should not come in handy too often. Definitely read [this][reuse] before
+deciding if this is what you want.
+
+[reuse]: https://guide.elm-lang.org/reuse/
+-}
+map : (a -> msg) -> Html a -> Html msg
+map =
+ VirtualDom.map
+
+
+
+-- CREATING PROGRAMS
+
+
+{-| Create a [`Program`][program] that describes how your whole app works.
+
+Read about [The Elm Architecture][tea] to learn how to use this. Just do it.
+The additional context is very worthwhile! (Honestly, it is best to just read
+that guide from front to back instead of muddling around and reading it
+piecemeal.)
+
+[program]: http://package.elm-lang.org/packages/elm-lang/core/latest/Platform#Program
+[tea]: https://guide.elm-lang.org/architecture/
+-}
+beginnerProgram
+ : { model : model
+ , view : model -> Html msg
+ , update : msg -> model -> model
+ }
+ -> Program Never model msg
+beginnerProgram {model, view, update} =
+ program
+ { init = model ! []
+ , update = \msg model -> update msg model ! []
+ , view = view
+ , subscriptions = \_ -> Sub.none
+ }
+
+
+{-| Create a [`Program`][program] that describes how your whole app works.
+
+Read about [The Elm Architecture][tea] to learn how to use this. Just do it.
+Commands and subscriptions make way more sense when you work up to them
+gradually and see them in context with examples.
+
+[program]: http://package.elm-lang.org/packages/elm-lang/core/latest/Platform#Program
+[tea]: https://guide.elm-lang.org/architecture/
+-}
+program
+ : { init : (model, Cmd msg)
+ , update : msg -> model -> (model, Cmd msg)
+ , subscriptions : model -> Sub msg
+ , view : model -> Html msg
+ }
+ -> Program Never model msg
+program =
+ VirtualDom.program
+
+
+{-| Create a [`Program`][program] that describes how your whole app works.
+
+It works just like `program` but you can provide “flags” from
+JavaScript to configure your application. Read more about that [here][].
+
+[program]: http://package.elm-lang.org/packages/elm-lang/core/latest/Platform#Program
+[here]: https://guide.elm-lang.org/interop/javascript.html
+-}
+programWithFlags
+ : { init : flags -> (model, Cmd msg)
+ , update : msg -> model -> (model, Cmd msg)
+ , subscriptions : model -> Sub msg
+ , view : model -> Html msg
+ }
+ -> Program flags model msg
+programWithFlags =
+ VirtualDom.programWithFlags
+
+
+
+-- SECTIONS
+
+
+{-| Represents the content of an HTML document. There is only one `body`
+element in a document.
+-}
+body : List (Attribute msg) -> List (Html msg) -> Html msg
+body =
+ node "body"
+
+
+{-| Defines a section in a document.
+-}
+section : List (Attribute msg) -> List (Html msg) -> Html msg
+section =
+ node "section"
+
+
+{-| Defines a section that contains only navigation links.
+-}
+nav : List (Attribute msg) -> List (Html msg) -> Html msg
+nav =
+ node "nav"
+
+
+{-| Defines self-contained content that could exist independently of the rest
+of the content.
+-}
+article : List (Attribute msg) -> List (Html msg) -> Html msg
+article =
+ node "article"
+
+
+{-| Defines some content loosely related to the page content. If it is removed,
+the remaining content still makes sense.
+-}
+aside : List (Attribute msg) -> List (Html msg) -> Html msg
+aside =
+ node "aside"
+
+
+{-|-}
+h1 : List (Attribute msg) -> List (Html msg) -> Html msg
+h1 =
+ node "h1"
+
+
+{-|-}
+h2 : List (Attribute msg) -> List (Html msg) -> Html msg
+h2 =
+ node "h2"
+
+
+{-|-}
+h3 : List (Attribute msg) -> List (Html msg) -> Html msg
+h3 =
+ node "h3"
+
+
+{-|-}
+h4 : List (Attribute msg) -> List (Html msg) -> Html msg
+h4 =
+ node "h4"
+
+
+{-|-}
+h5 : List (Attribute msg) -> List (Html msg) -> Html msg
+h5 =
+ node "h5"
+
+
+{-|-}
+h6 : List (Attribute msg) -> List (Html msg) -> Html msg
+h6 =
+ node "h6"
+
+
+{-| Defines the header of a page or section. It often contains a logo, the
+title of the web site, and a navigational table of content.
+-}
+header : List (Attribute msg) -> List (Html msg) -> Html msg
+header =
+ node "header"
+
+
+{-| Defines the footer for a page or section. It often contains a copyright
+notice, some links to legal information, or addresses to give feedback.
+-}
+footer : List (Attribute msg) -> List (Html msg) -> Html msg
+footer =
+ node "footer"
+
+
+{-| Defines a section containing contact information. -}
+address : List (Attribute msg) -> List (Html msg) -> Html msg
+address =
+ node "address"
+
+
+{-| Defines the main or important content in the document. There is only one
+`main` element in the document.
+-}
+main_ : List (Attribute msg) -> List (Html msg) -> Html msg
+main_ =
+ node "main"
+
+
+-- GROUPING CONTENT
+
+{-| Defines a portion that should be displayed as a paragraph. -}
+p : List (Attribute msg) -> List (Html msg) -> Html msg
+p =
+ node "p"
+
+
+{-| Represents a thematic break between paragraphs of a section or article or
+any longer content.
+-}
+hr : List (Attribute msg) -> List (Html msg) -> Html msg
+hr =
+ node "hr"
+
+
+{-| Indicates that its content is preformatted and that this format must be
+preserved.
+-}
+pre : List (Attribute msg) -> List (Html msg) -> Html msg
+pre =
+ node "pre"
+
+
+{-| Represents a content that is quoted from another source. -}
+blockquote : List (Attribute msg) -> List (Html msg) -> Html msg
+blockquote =
+ node "blockquote"
+
+
+{-| Defines an ordered list of items. -}
+ol : List (Attribute msg) -> List (Html msg) -> Html msg
+ol =
+ node "ol"
+
+
+{-| Defines an unordered list of items. -}
+ul : List (Attribute msg) -> List (Html msg) -> Html msg
+ul =
+ node "ul"
+
+
+{-| Defines a item of an enumeration list. -}
+li : List (Attribute msg) -> List (Html msg) -> Html msg
+li =
+ node "li"
+
+
+{-| Defines a definition list, that is, a list of terms and their associated
+definitions.
+-}
+dl : List (Attribute msg) -> List (Html msg) -> Html msg
+dl =
+ node "dl"
+
+
+{-| Represents a term defined by the next `dd`. -}
+dt : List (Attribute msg) -> List (Html msg) -> Html msg
+dt =
+ node "dt"
+
+
+{-| Represents the definition of the terms immediately listed before it. -}
+dd : List (Attribute msg) -> List (Html msg) -> Html msg
+dd =
+ node "dd"
+
+
+{-| Represents a figure illustrated as part of the document. -}
+figure : List (Attribute msg) -> List (Html msg) -> Html msg
+figure =
+ node "figure"
+
+
+{-| Represents the legend of a figure. -}
+figcaption : List (Attribute msg) -> List (Html msg) -> Html msg
+figcaption =
+ node "figcaption"
+
+
+{-| Represents a generic container with no special meaning. -}
+div : List (Attribute msg) -> List (Html msg) -> Html msg
+div =
+ node "div"
+
+
+-- TEXT LEVEL SEMANTIC
+
+{-| Represents a hyperlink, linking to another resource. -}
+a : List (Attribute msg) -> List (Html msg) -> Html msg
+a =
+ node "a"
+
+
+{-| Represents emphasized text, like a stress accent. -}
+em : List (Attribute msg) -> List (Html msg) -> Html msg
+em =
+ node "em"
+
+
+{-| Represents especially important text. -}
+strong : List (Attribute msg) -> List (Html msg) -> Html msg
+strong =
+ node "strong"
+
+
+{-| Represents a side comment, that is, text like a disclaimer or a
+copyright, which is not essential to the comprehension of the document.
+-}
+small : List (Attribute msg) -> List (Html msg) -> Html msg
+small =
+ node "small"
+
+
+{-| Represents content that is no longer accurate or relevant. -}
+s : List (Attribute msg) -> List (Html msg) -> Html msg
+s =
+ node "s"
+
+
+{-| Represents the title of a work. -}
+cite : List (Attribute msg) -> List (Html msg) -> Html msg
+cite =
+ node "cite"
+
+
+{-| Represents an inline quotation. -}
+q : List (Attribute msg) -> List (Html msg) -> Html msg
+q =
+ node "q"
+
+
+{-| Represents a term whose definition is contained in its nearest ancestor
+content.
+-}
+dfn : List (Attribute msg) -> List (Html msg) -> Html msg
+dfn =
+ node "dfn"
+
+
+{-| Represents an abbreviation or an acronym; the expansion of the
+abbreviation can be represented in the title attribute.
+-}
+abbr : List (Attribute msg) -> List (Html msg) -> Html msg
+abbr =
+ node "abbr"
+
+
+{-| Represents a date and time value; the machine-readable equivalent can be
+represented in the datetime attribute.
+-}
+time : List (Attribute msg) -> List (Html msg) -> Html msg
+time =
+ node "time"
+
+
+{-| Represents computer code. -}
+code : List (Attribute msg) -> List (Html msg) -> Html msg
+code =
+ node "code"
+
+
+{-| Represents a variable. Specific cases where it should be used include an
+actual mathematical expression or programming context, an identifier
+representing a constant, a symbol identifying a physical quantity, a function
+parameter, or a mere placeholder in prose.
+-}
+var : List (Attribute msg) -> List (Html msg) -> Html msg
+var =
+ node "var"
+
+
+{-| Represents the output of a program or a computer. -}
+samp : List (Attribute msg) -> List (Html msg) -> Html msg
+samp =
+ node "samp"
+
+
+{-| Represents user input, often from the keyboard, but not necessarily; it
+may represent other input, like transcribed voice commands.
+-}
+kbd : List (Attribute msg) -> List (Html msg) -> Html msg
+kbd =
+ node "kbd"
+
+
+{-| Represent a subscript. -}
+sub : List (Attribute msg) -> List (Html msg) -> Html msg
+sub =
+ node "sub"
+
+
+{-| Represent a superscript. -}
+sup : List (Attribute msg) -> List (Html msg) -> Html msg
+sup =
+ node "sup"
+
+
+{-| Represents some text in an alternate voice or mood, or at least of
+different quality, such as a taxonomic designation, a technical term, an
+idiomatic phrase, a thought, or a ship name.
+-}
+i : List (Attribute msg) -> List (Html msg) -> Html msg
+i =
+ node "i"
+
+
+{-| Represents a text which to which attention is drawn for utilitarian
+purposes. It doesn't convey extra importance and doesn't imply an alternate
+voice.
+-}
+b : List (Attribute msg) -> List (Html msg) -> Html msg
+b =
+ node "b"
+
+
+{-| Represents a non-textual annoatation for which the conventional
+presentation is underlining, such labeling the text as being misspelt or
+labeling a proper name in Chinese text.
+-}
+u : List (Attribute msg) -> List (Html msg) -> Html msg
+u =
+ node "u"
+
+
+{-| Represents text highlighted for reference purposes, that is for its
+relevance in another context.
+-}
+mark : List (Attribute msg) -> List (Html msg) -> Html msg
+mark =
+ node "mark"
+
+
+{-| Represents content to be marked with ruby annotations, short runs of text
+presented alongside the text. This is often used in conjunction with East Asian
+language where the annotations act as a guide for pronunciation, like the
+Japanese furigana.
+-}
+ruby : List (Attribute msg) -> List (Html msg) -> Html msg
+ruby =
+ node "ruby"
+
+
+{-| Represents the text of a ruby annotation. -}
+rt : List (Attribute msg) -> List (Html msg) -> Html msg
+rt =
+ node "rt"
+
+
+{-| Represents parenthesis around a ruby annotation, used to display the
+annotation in an alternate way by browsers not supporting the standard display
+for annotations.
+-}
+rp : List (Attribute msg) -> List (Html msg) -> Html msg
+rp =
+ node "rp"
+
+
+{-| Represents text that must be isolated from its surrounding for
+bidirectional text formatting. It allows embedding a span of text with a
+different, or unknown, directionality.
+-}
+bdi : List (Attribute msg) -> List (Html msg) -> Html msg
+bdi =
+ node "bdi"
+
+
+{-| Represents the directionality of its children, in order to explicitly
+override the Unicode bidirectional algorithm.
+-}
+bdo : List (Attribute msg) -> List (Html msg) -> Html msg
+bdo =
+ node "bdo"
+
+
+{-| Represents text with no specific meaning. This has to be used when no other
+text-semantic element conveys an adequate meaning, which, in this case, is
+often brought by global attributes like `class`, `lang`, or `dir`.
+-}
+span : List (Attribute msg) -> List (Html msg) -> Html msg
+span =
+ node "span"
+
+
+{-| Represents a line break. -}
+br : List (Attribute msg) -> List (Html msg) -> Html msg
+br =
+ node "br"
+
+
+{-| Represents a line break opportunity, that is a suggested point for
+wrapping text in order to improve readability of text split on several lines.
+-}
+wbr : List (Attribute msg) -> List (Html msg) -> Html msg
+wbr =
+ node "wbr"
+
+
+-- EDITS
+
+{-| Defines an addition to the document. -}
+ins : List (Attribute msg) -> List (Html msg) -> Html msg
+ins =
+ node "ins"
+
+
+{-| Defines a removal from the document. -}
+del : List (Attribute msg) -> List (Html msg) -> Html msg
+del =
+ node "del"
+
+
+-- EMBEDDED CONTENT
+
+{-| Represents an image. -}
+img : List (Attribute msg) -> List (Html msg) -> Html msg
+img =
+ node "img"
+
+
+{-| Embedded an HTML document. -}
+iframe : List (Attribute msg) -> List (Html msg) -> Html msg
+iframe =
+ node "iframe"
+
+
+{-| Represents a integration point for an external, often non-HTML,
+application or interactive content.
+-}
+embed : List (Attribute msg) -> List (Html msg) -> Html msg
+embed =
+ node "embed"
+
+
+{-| Represents an external resource, which is treated as an image, an HTML
+sub-document, or an external resource to be processed by a plug-in.
+-}
+object : List (Attribute msg) -> List (Html msg) -> Html msg
+object =
+ node "object"
+
+
+{-| Defines parameters for use by plug-ins invoked by `object` elements. -}
+param : List (Attribute msg) -> List (Html msg) -> Html msg
+param =
+ node "param"
+
+
+{-| Represents a video, the associated audio and captions, and controls. -}
+video : List (Attribute msg) -> List (Html msg) -> Html msg
+video =
+ node "video"
+
+
+{-| Represents a sound or audio stream. -}
+audio : List (Attribute msg) -> List (Html msg) -> Html msg
+audio =
+ node "audio"
+
+
+{-| Allows authors to specify alternative media resources for media elements
+like `video` or `audio`.
+-}
+source : List (Attribute msg) -> List (Html msg) -> Html msg
+source =
+ node "source"
+
+
+{-| Allows authors to specify timed text track for media elements like `video`
+or `audio`.
+-}
+track : List (Attribute msg) -> List (Html msg) -> Html msg
+track =
+ node "track"
+
+
+{-| Represents a bitmap area for graphics rendering. -}
+canvas : List (Attribute msg) -> List (Html msg) -> Html msg
+canvas =
+ node "canvas"
+
+
+{-| Defines a mathematical formula. -}
+math : List (Attribute msg) -> List (Html msg) -> Html msg
+math =
+ node "math"
+
+
+-- TABULAR DATA
+
+{-| Represents data with more than one dimension. -}
+table : List (Attribute msg) -> List (Html msg) -> Html msg
+table =
+ node "table"
+
+
+{-| Represents the title of a table. -}
+caption : List (Attribute msg) -> List (Html msg) -> Html msg
+caption =
+ node "caption"
+
+
+{-| Represents a set of one or more columns of a table. -}
+colgroup : List (Attribute msg) -> List (Html msg) -> Html msg
+colgroup =
+ node "colgroup"
+
+
+{-| Represents a column of a table. -}
+col : List (Attribute msg) -> List (Html msg) -> Html msg
+col =
+ node "col"
+
+
+{-| Represents the block of rows that describes the concrete data of a table.
+-}
+tbody : List (Attribute msg) -> List (Html msg) -> Html msg
+tbody =
+ node "tbody"
+
+
+{-| Represents the block of rows that describes the column labels of a table.
+-}
+thead : List (Attribute msg) -> List (Html msg) -> Html msg
+thead =
+ node "thead"
+
+
+{-| Represents the block of rows that describes the column summaries of a table.
+-}
+tfoot : List (Attribute msg) -> List (Html msg) -> Html msg
+tfoot =
+ node "tfoot"
+
+
+{-| Represents a row of cells in a table. -}
+tr : List (Attribute msg) -> List (Html msg) -> Html msg
+tr =
+ node "tr"
+
+
+{-| Represents a data cell in a table. -}
+td : List (Attribute msg) -> List (Html msg) -> Html msg
+td =
+ node "td"
+
+
+{-| Represents a header cell in a table. -}
+th : List (Attribute msg) -> List (Html msg) -> Html msg
+th =
+ node "th"
+
+
+-- FORMS
+
+{-| Represents a form, consisting of controls, that can be submitted to a
+server for processing.
+-}
+form : List (Attribute msg) -> List (Html msg) -> Html msg
+form =
+ node "form"
+
+
+{-| Represents a set of controls. -}
+fieldset : List (Attribute msg) -> List (Html msg) -> Html msg
+fieldset =
+ node "fieldset"
+
+
+{-| Represents the caption for a `fieldset`. -}
+legend : List (Attribute msg) -> List (Html msg) -> Html msg
+legend =
+ node "legend"
+
+
+{-| Represents the caption of a form control. -}
+label : List (Attribute msg) -> List (Html msg) -> Html msg
+label =
+ node "label"
+
+
+{-| Represents a typed data field allowing the user to edit the data. -}
+input : List (Attribute msg) -> List (Html msg) -> Html msg
+input =
+ node "input"
+
+
+{-| Represents a button. -}
+button : List (Attribute msg) -> List (Html msg) -> Html msg
+button =
+ node "button"
+
+
+{-| Represents a control allowing selection among a set of options. -}
+select : List (Attribute msg) -> List (Html msg) -> Html msg
+select =
+ node "select"
+
+
+{-| Represents a set of predefined options for other controls. -}
+datalist : List (Attribute msg) -> List (Html msg) -> Html msg
+datalist =
+ node "datalist"
+
+
+{-| Represents a set of options, logically grouped. -}
+optgroup : List (Attribute msg) -> List (Html msg) -> Html msg
+optgroup =
+ node "optgroup"
+
+
+{-| Represents an option in a `select` element or a suggestion of a `datalist`
+element.
+-}
+option : List (Attribute msg) -> List (Html msg) -> Html msg
+option =
+ node "option"
+
+
+{-| Represents a multiline text edit control. -}
+textarea : List (Attribute msg) -> List (Html msg) -> Html msg
+textarea =
+ node "textarea"
+
+
+{-| Represents a key-pair generator control. -}
+keygen : List (Attribute msg) -> List (Html msg) -> Html msg
+keygen =
+ node "keygen"
+
+
+{-| Represents the result of a calculation. -}
+output : List (Attribute msg) -> List (Html msg) -> Html msg
+output =
+ node "output"
+
+
+{-| Represents the completion progress of a task. -}
+progress : List (Attribute msg) -> List (Html msg) -> Html msg
+progress =
+ node "progress"
+
+
+{-| Represents a scalar measurement (or a fractional value), within a known
+range.
+-}
+meter : List (Attribute msg) -> List (Html msg) -> Html msg
+meter =
+ node "meter"
+
+
+-- INTERACTIVE ELEMENTS
+
+{-| Represents a widget from which the user can obtain additional information
+or controls.
+-}
+details : List (Attribute msg) -> List (Html msg) -> Html msg
+details =
+ node "details"
+
+
+{-| Represents a summary, caption, or legend for a given `details`. -}
+summary : List (Attribute msg) -> List (Html msg) -> Html msg
+summary =
+ node "summary"
+
+
+{-| Represents a command that the user can invoke. -}
+menuitem : List (Attribute msg) -> List (Html msg) -> Html msg
+menuitem =
+ node "menuitem"
+
+
+{-| Represents a list of commands. -}
+menu : List (Attribute msg) -> List (Html msg) -> Html msg
+menu =
+ node "menu"
+
diff --git a/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Attributes.elm b/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Attributes.elm
new file mode 100644
index 0000000..4cdba44
--- /dev/null
+++ b/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Attributes.elm
@@ -0,0 +1,1009 @@
+module Html.Attributes exposing
+ ( style, property, attribute, map
+ , class, classList, id, title, hidden
+ , type_, value, defaultValue, checked, placeholder, selected
+ , accept, acceptCharset, action, autocomplete, autofocus
+ , disabled, enctype, formaction, list, maxlength, minlength, method, multiple
+ , name, novalidate, pattern, readonly, required, size, for, form
+ , max, min, step
+ , cols, rows, wrap
+ , href, target, download, downloadAs, hreflang, media, ping, rel
+ , ismap, usemap, shape, coords
+ , src, height, width, alt
+ , autoplay, controls, loop, preload, poster, default, kind, srclang
+ , sandbox, seamless, srcdoc
+ , reversed, start
+ , align, colspan, rowspan, headers, scope
+ , async, charset, content, defer, httpEquiv, language, scoped
+ , accesskey, contenteditable, contextmenu, dir, draggable, dropzone
+ , itemprop, lang, spellcheck, tabindex
+ , challenge, keytype
+ , cite, datetime, pubdate, manifest
+ )
+
+{-| Helper functions for HTML attributes. They are organized roughly by
+category. Each attribute is labeled with the HTML tags it can be used with, so
+just search the page for `video` if you want video stuff.
+
+If you cannot find what you are looking for, go to the [Custom
+Attributes](#custom-attributes) section to learn how to create new helpers.
+
+# Primitives
+@docs style, property, attribute, map
+
+# Super Common Attributes
+@docs class, classList, id, title, hidden
+
+# Inputs
+@docs type_, value, defaultValue, checked, placeholder, selected
+
+## Input Helpers
+@docs accept, acceptCharset, action, autocomplete, autofocus,
+ disabled, enctype, formaction, list, maxlength, minlength, method, multiple,
+ name, novalidate, pattern, readonly, required, size, for, form
+
+## Input Ranges
+@docs max, min, step
+
+## Input Text Areas
+@docs cols, rows, wrap
+
+
+# Links and Areas
+@docs href, target, download, downloadAs, hreflang, media, ping, rel
+
+## Maps
+@docs ismap, usemap, shape, coords
+
+
+# Embedded Content
+@docs src, height, width, alt
+
+## Audio and Video
+@docs autoplay, controls, loop, preload, poster, default, kind, srclang
+
+## iframes
+@docs sandbox, seamless, srcdoc
+
+# Ordered Lists
+@docs reversed, start
+
+# Tables
+@docs align, colspan, rowspan, headers, scope
+
+# Header Stuff
+@docs async, charset, content, defer, httpEquiv, language, scoped
+
+# Less Common Global Attributes
+Attributes that can be attached to any HTML tag but are less commonly used.
+@docs accesskey, contenteditable, contextmenu, dir, draggable, dropzone,
+ itemprop, lang, spellcheck, tabindex
+
+# Key Generation
+@docs challenge, keytype
+
+# Miscellaneous
+@docs cite, datetime, pubdate, manifest
+
+-}
+
+import Html exposing (Attribute)
+import Json.Encode as Json
+import VirtualDom
+
+
+-- This library does not include low, high, or optimum because the idea of a
+-- `meter` is just too crazy.
+
+
+
+-- PRIMITIVES
+
+
+{-| Specify a list of styles.
+
+ myStyle : Attribute msg
+ myStyle =
+ style
+ [ ("backgroundColor", "red")
+ , ("height", "90px")
+ , ("width", "100%")
+ ]
+
+ greeting : Html msg
+ greeting =
+ div [ myStyle ] [ text "Hello!" ]
+
+There is no `Html.Styles` module because best practices for working with HTML
+suggest that this should primarily be specified in CSS files. So the general
+recommendation is to use this function lightly.
+-}
+style : List (String, String) -> Attribute msg
+style =
+ VirtualDom.style
+
+
+{-| This function makes it easier to build a space-separated class attribute.
+Each class can easily be added and removed depending on the boolean value it
+is paired with. For example, maybe we want a way to view notices:
+
+ viewNotice : Notice -> Html msg
+ viewNotice notice =
+ div
+ [ classList
+ [ ("notice", True)
+ , ("notice-important", notice.isImportant)
+ , ("notice-seen", notice.isSeen)
+ ]
+ ]
+ [ text notice.content ]
+-}
+classList : List (String, Bool) -> Attribute msg
+classList list =
+ list
+ |> List.filter Tuple.second
+ |> List.map Tuple.first
+ |> String.join " "
+ |> class
+
+
+
+-- CUSTOM ATTRIBUTES
+
+
+{-| Create *properties*, like saying `domNode.className = 'greeting'` in
+JavaScript.
+
+ import Json.Encode as Encode
+
+ class : String -> Attribute msg
+ class name =
+ property "className" (Encode.string name)
+
+Read more about the difference between properties and attributes [here][].
+
+[here]: https://github.com/elm-lang/html/blob/master/properties-vs-attributes.md
+-}
+property : String -> Json.Value -> Attribute msg
+property =
+ VirtualDom.property
+
+
+stringProperty : String -> String -> Attribute msg
+stringProperty name string =
+ property name (Json.string string)
+
+
+boolProperty : String -> Bool -> Attribute msg
+boolProperty name bool =
+ property name (Json.bool bool)
+
+
+{-| Create *attributes*, like saying `domNode.setAttribute('class', 'greeting')`
+in JavaScript.
+
+ class : String -> Attribute msg
+ class name =
+ attribute "class" name
+
+Read more about the difference between properties and attributes [here][].
+
+[here]: https://github.com/elm-lang/html/blob/master/properties-vs-attributes.md
+-}
+attribute : String -> String -> Attribute msg
+attribute =
+ VirtualDom.attribute
+
+
+{-| Transform the messages produced by an `Attribute`.
+-}
+map : (a -> msg) -> Attribute a -> Attribute msg
+map =
+ VirtualDom.mapProperty
+
+
+
+-- GLOBAL ATTRIBUTES
+
+
+{-| Often used with CSS to style elements with common properties. -}
+class : String -> Attribute msg
+class name =
+ stringProperty "className" name
+
+
+{-| Indicates the relevance of an element. -}
+hidden : Bool -> Attribute msg
+hidden bool =
+ boolProperty "hidden" bool
+
+
+{-| Often used with CSS to style a specific element. The value of this
+attribute must be unique.
+-}
+id : String -> Attribute msg
+id name =
+ stringProperty "id" name
+
+
+{-| Text to be displayed in a tooltip when hovering over the element. -}
+title : String -> Attribute msg
+title name =
+ stringProperty "title" name
+
+
+
+-- LESS COMMON GLOBAL ATTRIBUTES
+
+
+{-| Defines a keyboard shortcut to activate or add focus to the element. -}
+accesskey : Char -> Attribute msg
+accesskey char =
+ stringProperty "accessKey" (String.fromChar char)
+
+
+{-| Indicates whether the element's content is editable. -}
+contenteditable : Bool -> Attribute msg
+contenteditable bool =
+ boolProperty "contentEditable" bool
+
+
+{-| Defines the ID of a `menu` element which will serve as the element's
+context menu.
+-}
+contextmenu : String -> Attribute msg
+contextmenu value =
+ attribute "contextmenu" value
+
+
+{-| Defines the text direction. Allowed values are ltr (Left-To-Right) or rtl
+(Right-To-Left).
+-}
+dir : String -> Attribute msg
+dir value =
+ stringProperty "dir" value
+
+
+{-| Defines whether the element can be dragged. -}
+draggable : String -> Attribute msg
+draggable value =
+ attribute "draggable" value
+
+
+{-| Indicates that the element accept the dropping of content on it. -}
+dropzone : String -> Attribute msg
+dropzone value =
+ stringProperty "dropzone" value
+
+
+{-|-}
+itemprop : String -> Attribute msg
+itemprop value =
+ attribute "itemprop" value
+
+
+{-| Defines the language used in the element. -}
+lang : String -> Attribute msg
+lang value =
+ stringProperty "lang" value
+
+
+{-| Indicates whether spell checking is allowed for the element. -}
+spellcheck : Bool -> Attribute msg
+spellcheck bool =
+ boolProperty "spellcheck" bool
+
+
+{-| Overrides the browser's default tab order and follows the one specified
+instead.
+-}
+tabindex : Int -> Attribute msg
+tabindex n =
+ attribute "tabIndex" (toString n)
+
+
+
+-- HEADER STUFF
+
+
+{-| Indicates that the `script` should be executed asynchronously. -}
+async : Bool -> Attribute msg
+async bool =
+ boolProperty "async" bool
+
+
+{-| Declares the character encoding of the page or script. Common values include:
+
+ * UTF-8 - Character encoding for Unicode
+ * ISO-8859-1 - Character encoding for the Latin alphabet
+
+For `meta` and `script`.
+-}
+charset : String -> Attribute msg
+charset value =
+ attribute "charset" value
+
+
+{-| A value associated with http-equiv or name depending on the context. For
+`meta`.
+-}
+content : String -> Attribute msg
+content value =
+ stringProperty "content" value
+
+
+{-| Indicates that a `script` should be executed after the page has been
+parsed.
+-}
+defer : Bool -> Attribute msg
+defer bool =
+ boolProperty "defer" bool
+
+
+{-| This attribute is an indicator that is paired with the `content` attribute,
+indicating what that content means. `httpEquiv` can take on three different
+values: content-type, default-style, or refresh. For `meta`.
+-}
+httpEquiv : String -> Attribute msg
+httpEquiv value =
+ stringProperty "httpEquiv" value
+
+
+{-| Defines the script language used in a `script`. -}
+language : String -> Attribute msg
+language value =
+ stringProperty "language" value
+
+
+{-| Indicates that a `style` should only apply to its parent and all of the
+parents children.
+-}
+scoped : Bool -> Attribute msg
+scoped bool =
+ boolProperty "scoped" bool
+
+
+
+-- EMBEDDED CONTENT
+
+
+{-| The URL of the embeddable content. For `audio`, `embed`, `iframe`, `img`,
+`input`, `script`, `source`, `track`, and `video`.
+-}
+src : String -> Attribute msg
+src value =
+ stringProperty "src" value
+
+
+{-| Declare the height of a `canvas`, `embed`, `iframe`, `img`, `input`,
+`object`, or `video`.
+-}
+height : Int -> Attribute msg
+height value =
+ attribute "height" (toString value)
+
+
+{-| Declare the width of a `canvas`, `embed`, `iframe`, `img`, `input`,
+`object`, or `video`.
+-}
+width : Int -> Attribute msg
+width value =
+ attribute "width" (toString value)
+
+
+{-| Alternative text in case an image can't be displayed. Works with `img`,
+`area`, and `input`.
+-}
+alt : String -> Attribute msg
+alt value =
+ stringProperty "alt" value
+
+
+
+-- AUDIO and VIDEO
+
+
+{-| The `audio` or `video` should play as soon as possible. -}
+autoplay : Bool -> Attribute msg
+autoplay bool =
+ boolProperty "autoplay" bool
+
+
+{-| Indicates whether the browser should show playback controls for the `audio`
+or `video`.
+-}
+controls : Bool -> Attribute msg
+controls bool =
+ boolProperty "controls" bool
+
+
+{-| Indicates whether the `audio` or `video` should start playing from the
+start when it's finished.
+-}
+loop : Bool -> Attribute msg
+loop bool =
+ boolProperty "loop" bool
+
+
+{-| Control how much of an `audio` or `video` resource should be preloaded. -}
+preload : String -> Attribute msg
+preload value =
+ stringProperty "preload" value
+
+
+{-| A URL indicating a poster frame to show until the user plays or seeks the
+`video`.
+-}
+poster : String -> Attribute msg
+poster value =
+ stringProperty "poster" value
+
+
+{-| Indicates that the `track` should be enabled unless the user's preferences
+indicate something different.
+-}
+default : Bool -> Attribute msg
+default bool =
+ boolProperty "default" bool
+
+
+{-| Specifies the kind of text `track`. -}
+kind : String -> Attribute msg
+kind value =
+ stringProperty "kind" value
+
+
+{-- TODO: maybe reintroduce once there's a better way to disambiguate imports
+{-| Specifies a user-readable title of the text `track`. -}
+label : String -> Attribute msg
+label value =
+ stringProperty "label" value
+--}
+
+{-| A two letter language code indicating the language of the `track` text data.
+-}
+srclang : String -> Attribute msg
+srclang value =
+ stringProperty "srclang" value
+
+
+
+-- IFRAMES
+
+
+{-| A space separated list of security restrictions you'd like to lift for an
+`iframe`.
+-}
+sandbox : String -> Attribute msg
+sandbox value =
+ stringProperty "sandbox" value
+
+
+{-| Make an `iframe` look like part of the containing document. -}
+seamless : Bool -> Attribute msg
+seamless bool =
+ boolProperty "seamless" bool
+
+
+{-| An HTML document that will be displayed as the body of an `iframe`. It will
+override the content of the `src` attribute if it has been specified.
+-}
+srcdoc : String -> Attribute msg
+srcdoc value =
+ stringProperty "srcdoc" value
+
+
+
+-- INPUT
+
+
+{-| Defines the type of a `button`, `input`, `embed`, `object`, `script`,
+`source`, `style`, or `menu`.
+-}
+type_ : String -> Attribute msg
+type_ value =
+ stringProperty "type" value
+
+
+{-| Defines a default value which will be displayed in a `button`, `option`,
+`input`, `li`, `meter`, `progress`, or `param`.
+-}
+value : String -> Attribute msg
+value value =
+ stringProperty "value" value
+
+
+{-| Defines an initial value which will be displayed in an `input` when that
+`input` is added to the DOM. Unlike `value`, altering `defaultValue` after the
+`input` element has been added to the DOM has no effect.
+-}
+defaultValue : String -> Attribute msg
+defaultValue value =
+ stringProperty "defaultValue" value
+
+
+{-| Indicates whether an `input` of type checkbox is checked. -}
+checked : Bool -> Attribute msg
+checked bool =
+ boolProperty "checked" bool
+
+
+{-| Provides a hint to the user of what can be entered into an `input` or
+`textarea`.
+-}
+placeholder : String -> Attribute msg
+placeholder value =
+ stringProperty "placeholder" value
+
+
+{-| Defines which `option` will be selected on page load. -}
+selected : Bool -> Attribute msg
+selected bool =
+ boolProperty "selected" bool
+
+
+
+-- INPUT HELPERS
+
+
+{-| List of types the server accepts, typically a file type.
+For `form` and `input`.
+-}
+accept : String -> Attribute msg
+accept value =
+ stringProperty "accept" value
+
+
+{-| List of supported charsets in a `form`.
+-}
+acceptCharset : String -> Attribute msg
+acceptCharset value =
+ stringProperty "acceptCharset" value
+
+
+{-| The URI of a program that processes the information submitted via a `form`.
+-}
+action : String -> Attribute msg
+action value =
+ stringProperty "action" value
+
+
+{-| Indicates whether a `form` or an `input` can have their values automatically
+completed by the browser.
+-}
+autocomplete : Bool -> Attribute msg
+autocomplete bool =
+ stringProperty "autocomplete" (if bool then "on" else "off")
+
+
+{-| The element should be automatically focused after the page loaded.
+For `button`, `input`, `keygen`, `select`, and `textarea`.
+-}
+autofocus : Bool -> Attribute msg
+autofocus bool =
+ boolProperty "autofocus" bool
+
+
+{-| Indicates whether the user can interact with a `button`, `fieldset`,
+`input`, `keygen`, `optgroup`, `option`, `select` or `textarea`.
+-}
+disabled : Bool -> Attribute msg
+disabled bool =
+ boolProperty "disabled" bool
+
+
+{-| How `form` data should be encoded when submitted with the POST method.
+Options include: application/x-www-form-urlencoded, multipart/form-data, and
+text/plain.
+-}
+enctype : String -> Attribute msg
+enctype value =
+ stringProperty "enctype" value
+
+
+{-| Indicates the action of an `input` or `button`. This overrides the action
+defined in the surrounding `form`.
+-}
+formaction : String -> Attribute msg
+formaction value =
+ attribute "formAction" value
+
+
+{-| Associates an `input` with a `datalist` tag. The datalist gives some
+pre-defined options to suggest to the user as they interact with an input.
+The value of the list attribute must match the id of a `datalist` node.
+For `input`.
+-}
+list : String -> Attribute msg
+list value =
+ attribute "list" value
+
+
+{-| Defines the minimum number of characters allowed in an `input` or
+`textarea`.
+-}
+minlength : Int -> Attribute msg
+minlength n =
+ attribute "minLength" (toString n)
+
+
+{-| Defines the maximum number of characters allowed in an `input` or
+`textarea`.
+-}
+maxlength : Int -> Attribute msg
+maxlength n =
+ attribute "maxlength" (toString n)
+
+
+{-| Defines which HTTP method to use when submitting a `form`. Can be GET
+(default) or POST.
+-}
+method : String -> Attribute msg
+method value =
+ stringProperty "method" value
+
+
+{-| Indicates whether multiple values can be entered in an `input` of type
+email or file. Can also indicate that you can `select` many options.
+-}
+multiple : Bool -> Attribute msg
+multiple bool =
+ boolProperty "multiple" bool
+
+
+{-| Name of the element. For example used by the server to identify the fields
+in form submits. For `button`, `form`, `fieldset`, `iframe`, `input`, `keygen`,
+`object`, `output`, `select`, `textarea`, `map`, `meta`, and `param`.
+-}
+name : String -> Attribute msg
+name value =
+ stringProperty "name" value
+
+
+{-| This attribute indicates that a `form` shouldn't be validated when
+submitted.
+-}
+novalidate : Bool -> Attribute msg
+novalidate bool =
+ boolProperty "noValidate" bool
+
+
+{-| Defines a regular expression which an `input`'s value will be validated
+against.
+-}
+pattern : String -> Attribute msg
+pattern value =
+ stringProperty "pattern" value
+
+
+{-| Indicates whether an `input` or `textarea` can be edited. -}
+readonly : Bool -> Attribute msg
+readonly bool =
+ boolProperty "readOnly" bool
+
+
+{-| Indicates whether this element is required to fill out or not.
+For `input`, `select`, and `textarea`.
+-}
+required : Bool -> Attribute msg
+required bool =
+ boolProperty "required" bool
+
+
+{-| For `input` specifies the width of an input in characters.
+
+For `select` specifies the number of visible options in a drop-down list.
+-}
+size : Int -> Attribute msg
+size n =
+ attribute "size" (toString n)
+
+
+{-| The element ID described by this `label` or the element IDs that are used
+for an `output`.
+-}
+for : String -> Attribute msg
+for value =
+ stringProperty "htmlFor" value
+
+
+{-| Indicates the element ID of the `form` that owns this particular `button`,
+`fieldset`, `input`, `keygen`, `label`, `meter`, `object`, `output`,
+`progress`, `select`, or `textarea`.
+-}
+form : String -> Attribute msg
+form value =
+ attribute "form" value
+
+
+
+-- RANGES
+
+
+{-| Indicates the maximum value allowed. When using an input of type number or
+date, the max value must be a number or date. For `input`, `meter`, and `progress`.
+-}
+max : String -> Attribute msg
+max value =
+ stringProperty "max" value
+
+
+{-| Indicates the minimum value allowed. When using an input of type number or
+date, the min value must be a number or date. For `input` and `meter`.
+-}
+min : String -> Attribute msg
+min value =
+ stringProperty "min" value
+
+
+{-| Add a step size to an `input`. Use `step "any"` to allow any floating-point
+number to be used in the input.
+-}
+step : String -> Attribute msg
+step n =
+ stringProperty "step" n
+
+
+--------------------------
+
+
+{-| Defines the number of columns in a `textarea`. -}
+cols : Int -> Attribute msg
+cols n =
+ attribute "cols" (toString n)
+
+
+{-| Defines the number of rows in a `textarea`. -}
+rows : Int -> Attribute msg
+rows n =
+ attribute "rows" (toString n)
+
+
+{-| Indicates whether the text should be wrapped in a `textarea`. Possible
+values are "hard" and "soft".
+-}
+wrap : String -> Attribute msg
+wrap value =
+ stringProperty "wrap" value
+
+
+
+-- MAPS
+
+
+{-| When an `img` is a descendent of an `a` tag, the `ismap` attribute
+indicates that the click location should be added to the parent `a`'s href as
+a query string.
+-}
+ismap : Bool -> Attribute msg
+ismap value =
+ boolProperty "isMap" value
+
+
+{-| Specify the hash name reference of a `map` that should be used for an `img`
+or `object`. A hash name reference is a hash symbol followed by the element's name or id.
+E.g. `"#planet-map"`.
+-}
+usemap : String -> Attribute msg
+usemap value =
+ stringProperty "useMap" value
+
+
+{-| Declare the shape of the clickable area in an `a` or `area`. Valid values
+include: default, rect, circle, poly. This attribute can be paired with
+`coords` to create more particular shapes.
+-}
+shape : String -> Attribute msg
+shape value =
+ stringProperty "shape" value
+
+
+{-| A set of values specifying the coordinates of the hot-spot region in an
+`area`. Needs to be paired with a `shape` attribute to be meaningful.
+-}
+coords : String -> Attribute msg
+coords value =
+ stringProperty "coords" value
+
+
+
+-- KEY GEN
+
+
+{-| A challenge string that is submitted along with the public key in a `keygen`.
+-}
+challenge : String -> Attribute msg
+challenge value =
+ attribute "challenge" value
+
+
+{-| Specifies the type of key generated by a `keygen`. Possible values are:
+rsa, dsa, and ec.
+-}
+keytype : String -> Attribute msg
+keytype value =
+ stringProperty "keytype" value
+
+
+
+-- REAL STUFF
+
+
+{-| Specifies the horizontal alignment of a `caption`, `col`, `colgroup`,
+`hr`, `iframe`, `img`, `table`, `tbody`, `td`, `tfoot`, `th`, `thead`, or
+`tr`.
+-}
+align : String -> Attribute msg
+align value =
+ stringProperty "align" value
+
+
+{-| Contains a URI which points to the source of the quote or change in a
+`blockquote`, `del`, `ins`, or `q`.
+-}
+cite : String -> Attribute msg
+cite value =
+ stringProperty "cite" value
+
+
+
+
+-- LINKS AND AREAS
+
+
+{-| The URL of a linked resource, such as `a`, `area`, `base`, or `link`. -}
+href : String -> Attribute msg
+href value =
+ stringProperty "href" value
+
+
+{-| Specify where the results of clicking an `a`, `area`, `base`, or `form`
+should appear. Possible special values include:
+
+ * _blank — a new window or tab
+ * _self — the same frame (this is default)
+ * _parent — the parent frame
+ * _top — the full body of the window
+
+You can also give the name of any `frame` you have created.
+-}
+target : String -> Attribute msg
+target value =
+ stringProperty "target" value
+
+
+{-| Indicates that clicking an `a` and `area` will download the resource
+directly.
+-}
+download : Bool -> Attribute msg
+download bool =
+ boolProperty "download" bool
+
+
+{-| Indicates that clicking an `a` and `area` will download the resource
+directly, and that the downloaded resource with have the given filename.
+-}
+downloadAs : String -> Attribute msg
+downloadAs value =
+ stringProperty "download" value
+
+
+{-| Two-letter language code of the linked resource of an `a`, `area`, or `link`.
+-}
+hreflang : String -> Attribute msg
+hreflang value =
+ stringProperty "hreflang" value
+
+
+{-| Specifies a hint of the target media of a `a`, `area`, `link`, `source`,
+or `style`.
+-}
+media : String -> Attribute msg
+media value =
+ attribute "media" value
+
+
+{-| Specify a URL to send a short POST request to when the user clicks on an
+`a` or `area`. Useful for monitoring and tracking.
+-}
+ping : String -> Attribute msg
+ping value =
+ stringProperty "ping" value
+
+
+{-| Specifies the relationship of the target object to the link object.
+For `a`, `area`, `link`.
+-}
+rel : String -> Attribute msg
+rel value =
+ attribute "rel" value
+
+
+
+-- CRAZY STUFF
+
+
+{-| Indicates the date and time associated with the element.
+For `del`, `ins`, `time`.
+-}
+datetime : String -> Attribute msg
+datetime value =
+ attribute "datetime" value
+
+
+{-| Indicates whether this date and time is the date of the nearest `article`
+ancestor element. For `time`.
+-}
+pubdate : String -> Attribute msg
+pubdate value =
+ attribute "pubdate" value
+
+
+
+-- ORDERED LISTS
+
+
+{-| Indicates whether an ordered list `ol` should be displayed in a descending
+order instead of a ascending.
+-}
+reversed : Bool -> Attribute msg
+reversed bool =
+ boolProperty "reversed" bool
+
+
+{-| Defines the first number of an ordered list if you want it to be something
+besides 1.
+-}
+start : Int -> Attribute msg
+start n =
+ stringProperty "start" (toString n)
+
+
+
+-- TABLES
+
+
+{-| The colspan attribute defines the number of columns a cell should span.
+For `td` and `th`.
+-}
+colspan : Int -> Attribute msg
+colspan n =
+ attribute "colspan" (toString n)
+
+
+{-| A space separated list of element IDs indicating which `th` elements are
+headers for this cell. For `td` and `th`.
+-}
+headers : String -> Attribute msg
+headers value =
+ stringProperty "headers" value
+
+
+{-| Defines the number of rows a table cell should span over.
+For `td` and `th`.
+-}
+rowspan : Int -> Attribute msg
+rowspan n =
+ attribute "rowspan" (toString n)
+
+
+{-| Specifies the scope of a header cell `th`. Possible values are: col, row,
+colgroup, rowgroup.
+-}
+scope : String -> Attribute msg
+scope value =
+ stringProperty "scope" value
+
+
+{-| Specifies the URL of the cache manifest for an `html` tag. -}
+manifest : String -> Attribute msg
+manifest value =
+ attribute "manifest" value
+
+
+{-- TODO: maybe reintroduce once there's a better way to disambiguate imports
+{-| The number of columns a `col` or `colgroup` should span. -}
+span : Int -> Attribute msg
+span n =
+ stringProperty "span" (toString n)
+--}
diff --git a/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Events.elm b/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Events.elm
new file mode 100644
index 0000000..ff5c1fe
--- /dev/null
+++ b/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Events.elm
@@ -0,0 +1,269 @@
+module Html.Events exposing
+ ( onClick, onDoubleClick
+ , onMouseDown, onMouseUp
+ , onMouseEnter, onMouseLeave
+ , onMouseOver, onMouseOut
+ , onInput, onCheck, onSubmit
+ , onBlur, onFocus
+ , on, onWithOptions, Options, defaultOptions
+ , targetValue, targetChecked, keyCode
+ )
+
+{-|
+It is often helpful to create an [Union Type][] so you can have many different kinds
+of events as seen in the [TodoMVC][] example.
+
+[Union Type]: http://elm-lang.org/learn/Union-Types.elm
+[TodoMVC]: https://github.com/evancz/elm-todomvc/blob/master/Todo.elm
+
+# Mouse Helpers
+@docs onClick, onDoubleClick,
+ onMouseDown, onMouseUp,
+ onMouseEnter, onMouseLeave,
+ onMouseOver, onMouseOut
+
+# Form Helpers
+@docs onInput, onCheck, onSubmit
+
+# Focus Helpers
+@docs onBlur, onFocus
+
+# Custom Event Handlers
+@docs on, onWithOptions, Options, defaultOptions
+
+# Custom Decoders
+@docs targetValue, targetChecked, keyCode
+-}
+
+import Html exposing (Attribute)
+import Json.Decode as Json
+import VirtualDom
+
+
+
+-- MOUSE EVENTS
+
+
+{-|-}
+onClick : msg -> Attribute msg
+onClick msg =
+ on "click" (Json.succeed msg)
+
+
+{-|-}
+onDoubleClick : msg -> Attribute msg
+onDoubleClick msg =
+ on "dblclick" (Json.succeed msg)
+
+
+{-|-}
+onMouseDown : msg -> Attribute msg
+onMouseDown msg =
+ on "mousedown" (Json.succeed msg)
+
+
+{-|-}
+onMouseUp : msg -> Attribute msg
+onMouseUp msg =
+ on "mouseup" (Json.succeed msg)
+
+
+{-|-}
+onMouseEnter : msg -> Attribute msg
+onMouseEnter msg =
+ on "mouseenter" (Json.succeed msg)
+
+
+{-|-}
+onMouseLeave : msg -> Attribute msg
+onMouseLeave msg =
+ on "mouseleave" (Json.succeed msg)
+
+
+{-|-}
+onMouseOver : msg -> Attribute msg
+onMouseOver msg =
+ on "mouseover" (Json.succeed msg)
+
+
+{-|-}
+onMouseOut : msg -> Attribute msg
+onMouseOut msg =
+ on "mouseout" (Json.succeed msg)
+
+
+
+-- FORM EVENTS
+
+
+{-| Capture [input](https://developer.mozilla.org/en-US/docs/Web/Events/input)
+events for things like text fields or text areas.
+
+It grabs the **string** value at `event.target.value`, so it will not work if
+you need some other type of information. For example, if you want to track
+inputs on a range slider, make a custom handler with [`on`](#on).
+
+For more details on how `onInput` works, check out [targetValue](#targetValue).
+-}
+onInput : (String -> msg) -> Attribute msg
+onInput tagger =
+ on "input" (Json.map tagger targetValue)
+
+
+{-| Capture [change](https://developer.mozilla.org/en-US/docs/Web/Events/change)
+events on checkboxes. It will grab the boolean value from `event.target.checked`
+on any input event.
+
+Check out [targetChecked](#targetChecked) for more details on how this works.
+-}
+onCheck : (Bool -> msg) -> Attribute msg
+onCheck tagger =
+ on "change" (Json.map tagger targetChecked)
+
+
+{-| Capture a [submit](https://developer.mozilla.org/en-US/docs/Web/Events/submit)
+event with [`preventDefault`](https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)
+in order to prevent the form from changing the page’s location. If you need
+different behavior, use `onWithOptions` to create a customized version of
+`onSubmit`.
+-}
+onSubmit : msg -> Attribute msg
+onSubmit msg =
+ onWithOptions "submit" onSubmitOptions (Json.succeed msg)
+
+
+onSubmitOptions : Options
+onSubmitOptions =
+ { defaultOptions | preventDefault = True }
+
+
+-- FOCUS EVENTS
+
+
+{-|-}
+onBlur : msg -> Attribute msg
+onBlur msg =
+ on "blur" (Json.succeed msg)
+
+
+{-|-}
+onFocus : msg -> Attribute msg
+onFocus msg =
+ on "focus" (Json.succeed msg)
+
+
+
+-- CUSTOM EVENTS
+
+
+{-| Create a custom event listener. Normally this will not be necessary, but
+you have the power! Here is how `onClick` is defined for example:
+
+ import Json.Decode as Json
+
+ onClick : msg -> Attribute msg
+ onClick message =
+ on "click" (Json.succeed message)
+
+The first argument is the event name in the same format as with JavaScript's
+[`addEventListener`][aEL] function.
+
+The second argument is a JSON decoder. Read more about these [here][decoder].
+When an event occurs, the decoder tries to turn the event object into an Elm
+value. If successful, the value is routed to your `update` function. In the
+case of `onClick` we always just succeed with the given `message`.
+
+If this is confusing, work through the [Elm Architecture Tutorial][tutorial].
+It really does help!
+
+[aEL]: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
+[decoder]: http://package.elm-lang.org/packages/elm-lang/core/latest/Json-Decode
+[tutorial]: https://github.com/evancz/elm-architecture-tutorial/
+-}
+on : String -> Json.Decoder msg -> Attribute msg
+on =
+ VirtualDom.on
+
+
+{-| Same as `on` but you can set a few options.
+-}
+onWithOptions : String -> Options -> Json.Decoder msg -> Attribute msg
+onWithOptions =
+ VirtualDom.onWithOptions
+
+
+{-| Options for an event listener. If `stopPropagation` is true, it means the
+event stops traveling through the DOM so it will not trigger any other event
+listeners. If `preventDefault` is true, any built-in browser behavior related
+to the event is prevented. For example, this is used with touch events when you
+want to treat them as gestures of your own, not as scrolls.
+-}
+type alias Options =
+ { stopPropagation : Bool
+ , preventDefault : Bool
+ }
+
+
+{-| Everything is `False` by default.
+
+ defaultOptions =
+ { stopPropagation = False
+ , preventDefault = False
+ }
+-}
+defaultOptions : Options
+defaultOptions =
+ VirtualDom.defaultOptions
+
+
+
+-- COMMON DECODERS
+
+
+{-| A `Json.Decoder` for grabbing `event.target.value`. We use this to define
+`onInput` as follows:
+
+ import Json.Decode as Json
+
+ onInput : (String -> msg) -> Attribute msg
+ onInput tagger =
+ on "input" (Json.map tagger targetValue)
+
+You probably will never need this, but hopefully it gives some insights into
+how to make custom event handlers.
+-}
+targetValue : Json.Decoder String
+targetValue =
+ Json.at ["target", "value"] Json.string
+
+
+{-| A `Json.Decoder` for grabbing `event.target.checked`. We use this to define
+`onCheck` as follows:
+
+ import Json.Decode as Json
+
+ onCheck : (Bool -> msg) -> Attribute msg
+ onCheck tagger =
+ on "input" (Json.map tagger targetChecked)
+-}
+targetChecked : Json.Decoder Bool
+targetChecked =
+ Json.at ["target", "checked"] Json.bool
+
+
+{-| A `Json.Decoder` for grabbing `event.keyCode`. This helps you define
+keyboard listeners like this:
+
+ import Json.Decode as Json
+
+ onKeyUp : (Int -> msg) -> Attribute msg
+ onKeyUp tagger =
+ on "keyup" (Json.map tagger keyCode)
+
+**Note:** It looks like the spec is moving away from `event.keyCode` and
+towards `event.key`. Once this is supported in more browsers, we may add
+helpers here for `onKeyUp`, `onKeyDown`, `onKeyPress`, etc.
+-}
+keyCode : Json.Decoder Int
+keyCode =
+ Json.field "keyCode" Json.int
diff --git a/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Keyed.elm b/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Keyed.elm
new file mode 100644
index 0000000..debd710
--- /dev/null
+++ b/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Keyed.elm
@@ -0,0 +1,48 @@
+module Html.Keyed exposing
+ ( node
+ , ol
+ , ul
+ )
+{-| A keyed node helps optimize cases where children are getting added, moved,
+removed, etc. Common examples include:
+
+ - The user can delete items from a list.
+ - The user can create new items in a list.
+ - You can sort a list based on name or date or whatever.
+
+When you use a keyed node, every child is paired with a string identifier. This
+makes it possible for the underlying diffing algorithm to reuse nodes more
+efficiently.
+
+# Keyed Nodes
+@docs node
+
+# Commonly Keyed Nodes
+@docs ol, ul
+-}
+
+
+import Html exposing (Attribute, Html)
+import VirtualDom
+
+
+{-| Works just like `Html.node`, but you add a unique identifier to each child
+node. You want this when you have a list of nodes that is changing: adding
+nodes, removing nodes, etc. In these cases, the unique identifiers help make
+the DOM modifications more efficient.
+-}
+node : String -> List (Attribute msg) -> List ( String, Html msg ) -> Html msg
+node =
+ VirtualDom.keyedNode
+
+
+{-|-}
+ol : List (Attribute msg) -> List ( String, Html msg ) -> Html msg
+ol =
+ node "ol"
+
+
+{-|-}
+ul : List (Attribute msg) -> List ( String, Html msg ) -> Html msg
+ul =
+ node "ul"
diff --git a/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Lazy.elm b/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Lazy.elm
new file mode 100644
index 0000000..f027ffc
--- /dev/null
+++ b/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Lazy.elm
@@ -0,0 +1,48 @@
+module Html.Lazy exposing
+ ( lazy, lazy2, lazy3
+ )
+
+{-| Since all Elm functions are pure we have a guarantee that the same input
+will always result in the same output. This module gives us tools to be lazy
+about building `Html` that utilize this fact.
+
+Rather than immediately applying functions to their arguments, the `lazy`
+functions just bundle the function and arguments up for later. When diffing
+the old and new virtual DOM, it checks to see if all the arguments are equal.
+If so, it skips calling the function!
+
+This is a really cheap test and often makes things a lot faster, but definitely
+benchmark to be sure!
+
+@docs lazy, lazy2, lazy3
+-}
+
+import Html exposing (Html)
+import VirtualDom
+
+
+{-| A performance optimization that delays the building of virtual DOM nodes.
+
+Calling `(view model)` will definitely build some virtual DOM, perhaps a lot of
+it. Calling `(lazy view model)` delays the call until later. During diffing, we
+can check to see if `model` is referentially equal to the previous value used,
+and if so, we just stop. No need to build up the tree structure and diff it,
+we know if the input to `view` is the same, the output must be the same!
+-}
+lazy : (a -> Html msg) -> a -> Html msg
+lazy =
+ VirtualDom.lazy
+
+
+{-| Same as `lazy` but checks on two arguments.
+-}
+lazy2 : (a -> b -> Html msg) -> a -> b -> Html msg
+lazy2 =
+ VirtualDom.lazy2
+
+
+{-| Same as `lazy` but checks on three arguments.
+-}
+lazy3 : (a -> b -> c -> Html msg) -> a -> b -> c -> Html msg
+lazy3 =
+ VirtualDom.lazy3
diff --git a/index.html b/index.html
index 8bb162b..2e187e4 100644
--- a/index.html
+++ b/index.html
@@ -1,15 +1,120 @@
-
+
-
-
- MetaModel Editor
-
-
-
-
-
-
-
-
+
+
+
+ Elm • Model-based Web App
+
+
+
+
+
+
+
+
+
diff --git a/libs/jquery.min.js b/libs/jquery.min.js
deleted file mode 100644
index c4643af..0000000
--- a/libs/jquery.min.js
+++ /dev/null
@@ -1,5 +0,0 @@
-/*! jQuery v2.1.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
-!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.1",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="
",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML=" ",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML=" ","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML=" ",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+Math.random()}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)
-},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*\s*$/g,ib={option:[1,""," "],thead:[1,""],col:[2,""],tr:[2,""],td:[3,""],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1>$2>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(ob(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1>$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(ob(c,"script"),kb),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(hb,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("")).appendTo(b.documentElement),b=qb[0].contentDocument,b.write(),b.close(),c=sb(a,b),qb.detach()),rb[a]=c),c}var ub=/^margin/,vb=new RegExp("^("+Q+")(?!px)[a-z%]+$","i"),wb=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)};function xb(a,b,c){var d,e,f,g,h=a.style;return c=c||wb(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),vb.test(g)&&ub.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function yb(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d=l.documentElement,e=l.createElement("div"),f=l.createElement("div");if(f.style){f.style.backgroundClip="content-box",f.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===f.style.backgroundClip,e.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",e.appendChild(f);function g(){f.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",f.innerHTML="",d.appendChild(e);var g=a.getComputedStyle(f,null);b="1%"!==g.top,c="4px"===g.width,d.removeChild(e)}a.getComputedStyle&&n.extend(k,{pixelPosition:function(){return g(),b},boxSizingReliable:function(){return null==c&&g(),c},reliableMarginRight:function(){var b,c=f.appendChild(l.createElement("div"));return c.style.cssText=f.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",f.style.width="1px",d.appendChild(e),b=!parseFloat(a.getComputedStyle(c,null).marginRight),d.removeChild(e),b}})}}(),n.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var zb=/^(none|table(?!-c[ea]).+)/,Ab=new RegExp("^("+Q+")(.*)$","i"),Bb=new RegExp("^([+-])=("+Q+")","i"),Cb={position:"absolute",visibility:"hidden",display:"block"},Db={letterSpacing:"0",fontWeight:"400"},Eb=["Webkit","O","Moz","ms"];function Fb(a,b){if(b in a)return b;var c=b[0].toUpperCase()+b.slice(1),d=b,e=Eb.length;while(e--)if(b=Eb[e]+c,b in a)return b;return d}function Gb(a,b,c){var d=Ab.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Hb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+R[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+R[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+R[f]+"Width",!0,e))):(g+=n.css(a,"padding"+R[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+R[f]+"Width",!0,e)));return g}function Ib(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=wb(a),g="border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=xb(a,b,f),(0>e||null==e)&&(e=a.style[b]),vb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Hb(a,b,c||(g?"border":"content"),d,f)+"px"}function Jb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=L.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&S(d)&&(f[g]=L.access(d,"olddisplay",tb(d.nodeName)))):(e=S(d),"none"===c&&e||L.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=xb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Fb(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=Bb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Fb(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=xb(a,b,d)),"normal"===e&&b in Db&&(e=Db[b]),""===c||c?(f=parseFloat(e),c===!0||n.isNumeric(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?zb.test(n.css(a,"display"))&&0===a.offsetWidth?n.swap(a,Cb,function(){return Ib(a,b,d)}):Ib(a,b,d):void 0},set:function(a,c,d){var e=d&&wb(a);return Gb(a,c,d?Hb(a,b,d,"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),n.cssHooks.marginRight=yb(k.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},xb,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+R[d]+b]=f[d]||f[d-2]||f[0];return e}},ub.test(a)||(n.cssHooks[a+b].set=Gb)}),n.fn.extend({css:function(a,b){return J(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=wb(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Jb(this,!0)},hide:function(){return Jb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){S(this)?n(this).show():n(this).hide()})}});function Kb(a,b,c,d,e){return new Kb.prototype.init(a,b,c,d,e)}n.Tween=Kb,Kb.prototype={constructor:Kb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Kb.propHooks[this.prop];return a&&a.get?a.get(this):Kb.propHooks._default.get(this)},run:function(a){var b,c=Kb.propHooks[this.prop];return this.pos=b=this.options.duration?n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Kb.propHooks._default.set(this),this}},Kb.prototype.init.prototype=Kb.prototype,Kb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Kb.propHooks.scrollTop=Kb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=Kb.prototype.init,n.fx.step={};var Lb,Mb,Nb=/^(?:toggle|show|hide)$/,Ob=new RegExp("^(?:([+-])=|)("+Q+")([a-z%]*)$","i"),Pb=/queueHooks$/,Qb=[Vb],Rb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=Ob.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&Ob.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function Sb(){return setTimeout(function(){Lb=void 0}),Lb=n.now()}function Tb(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=R[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ub(a,b,c){for(var d,e=(Rb[b]||[]).concat(Rb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Vb(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&S(a),q=L.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?L.get(a,"olddisplay")||tb(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Nb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?tb(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=L.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;L.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ub(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function Wb(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function Xb(a,b,c){var d,e,f=0,g=Qb.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Lb||Sb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:Lb||Sb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(Wb(k,j.opts.specialEasing);g>f;f++)if(d=Qb[f].call(j,a,k,j.opts))return d;return n.map(k,Ub,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(Xb,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],Rb[c]=Rb[c]||[],Rb[c].unshift(b)},prefilter:function(a,b){b?Qb.unshift(a):Qb.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(S).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=Xb(this,n.extend({},a),f);(e||L.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=L.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Pb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=L.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Tb(b,!0),a,d,e)}}),n.each({slideDown:Tb("show"),slideUp:Tb("hide"),slideToggle:Tb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(Lb=n.now();b1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===U?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?Zb:Yb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b))
-},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),Zb={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=$b[b]||n.find.attr;$b[b]=function(a,b,d){var e,f;return d||(f=$b[b],$b[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,$b[b]=f),e}});var _b=/^(?:input|select|textarea|button)$/i;n.fn.extend({prop:function(a,b){return J(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||_b.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),k.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var ac=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===U||"boolean"===c)&&(this.className&&L.set(this,"__className__",this.className),this.className=this.className||a===!1?"":L.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ac," ").indexOf(b)>=0)return!0;return!1}});var bc=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(bc,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},k.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var cc=n.now(),dc=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(a){var b,c;if(!a||"string"!=typeof a)return null;try{c=new DOMParser,b=c.parseFromString(a,"text/xml")}catch(d){b=void 0}return(!b||b.getElementsByTagName("parsererror").length)&&n.error("Invalid XML: "+a),b};var ec,fc,gc=/#.*$/,hc=/([?&])_=[^&]*/,ic=/^(.*?):[ \t]*([^\r\n]*)$/gm,jc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,kc=/^(?:GET|HEAD)$/,lc=/^\/\//,mc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,nc={},oc={},pc="*/".concat("*");try{fc=location.href}catch(qc){fc=l.createElement("a"),fc.href="",fc=fc.href}ec=mc.exec(fc.toLowerCase())||[];function rc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function sc(a,b,c,d){var e={},f=a===oc;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function tc(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function uc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function vc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:fc,type:"GET",isLocal:jc.test(ec[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":pc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?tc(tc(a,n.ajaxSettings),b):tc(n.ajaxSettings,a)},ajaxPrefilter:rc(nc),ajaxTransport:rc(oc),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!f){f={};while(b=ic.exec(e))f[b[1].toLowerCase()]=b[2]}b=f[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?e:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return c&&c.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||fc)+"").replace(gc,"").replace(lc,ec[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(h=mc.exec(k.url.toLowerCase()),k.crossDomain=!(!h||h[1]===ec[1]&&h[2]===ec[2]&&(h[3]||("http:"===h[1]?"80":"443"))===(ec[3]||("http:"===ec[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),sc(nc,k,b,v),2===t)return v;i=k.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!kc.test(k.type),d=k.url,k.hasContent||(k.data&&(d=k.url+=(dc.test(d)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=hc.test(d)?d.replace(hc,"$1_="+cc++):d+(dc.test(d)?"&":"?")+"_="+cc++)),k.ifModified&&(n.lastModified[d]&&v.setRequestHeader("If-Modified-Since",n.lastModified[d]),n.etag[d]&&v.setRequestHeader("If-None-Match",n.etag[d])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+pc+"; q=0.01":""):k.accepts["*"]);for(j in k.headers)v.setRequestHeader(j,k.headers[j]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(j in{success:1,error:1,complete:1})v[j](k[j]);if(c=sc(oc,k,b,v)){v.readyState=1,i&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,c.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,f,h){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),c=void 0,e=h||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,f&&(u=uc(k,v,f)),u=vc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[d]=w),w=v.getResponseHeader("etag"),w&&(n.etag[d]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,i&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),i&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var wc=/%20/g,xc=/\[\]$/,yc=/\r?\n/g,zc=/^(?:submit|button|image|reset|file)$/i,Ac=/^(?:input|select|textarea|keygen)/i;function Bc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||xc.test(a)?d(a,e):Bc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Bc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Bc(c,a[c],b,e);return d.join("&").replace(wc,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&Ac.test(this.nodeName)&&!zc.test(a)&&(this.checked||!T.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(yc,"\r\n")}}):{name:b.name,value:c.replace(yc,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var Cc=0,Dc={},Ec={0:200,1223:204},Fc=n.ajaxSettings.xhr();a.ActiveXObject&&n(a).on("unload",function(){for(var a in Dc)Dc[a]()}),k.cors=!!Fc&&"withCredentials"in Fc,k.ajax=Fc=!!Fc,n.ajaxTransport(function(a){var b;return k.cors||Fc&&!a.crossDomain?{send:function(c,d){var e,f=a.xhr(),g=++Cc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)f.setRequestHeader(e,c[e]);b=function(a){return function(){b&&(delete Dc[g],b=f.onload=f.onerror=null,"abort"===a?f.abort():"error"===a?d(f.status,f.statusText):d(Ec[f.status]||f.status,f.statusText,"string"==typeof f.responseText?{text:f.responseText}:void 0,f.getAllResponseHeaders()))}},f.onload=b(),f.onerror=b("error"),b=Dc[g]=b("abort");try{f.send(a.hasContent&&a.data||null)}catch(h){if(b)throw h}},abort:function(){b&&b()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=n("
-
-or as a CommonJS, [Node.js](http://nodejs.org) or AMD module using `require`.
-
- var Big = require('big.js');
-
-For Node.js, the library is available from the npm registry:
-
- $ npm install big.js
-
-
-
-## Use
-
-*In all examples below, `var`, semicolons and `toString` calls are not shown.
-If a commented-out value is in quotes it means `toString` has been called on the preceding expression.*
-
-The library exports a single function: Big, the constructor of Big number instances.
-It accepts a value of type Number, String or Big number Object.
-
- x = new Big(123.4567)
- y = Big('123456.7e-3') // 'new' is optional
- z = new Big(x)
- x.eq(y) && x.eq(z) && y.eq(z) // true
-
-A Big number is immutable in the sense that it is not changed by its methods.
-
- 0.3 - 0.1 // 0.19999999999999998
- x = new Big(0.3)
- x.minus(0.1) // "0.2"
- x // "0.3"
-
-The methods that return a Big number can be chained.
-
- x.div(y).plus(z).times(9).minus('1.234567801234567e+8').plus(976.54321).div('2598.11772')
- x.sqrt().div(y).pow(3).gt(y.mod(z)) // true
-
-Like JavaScript's Number type, there are `toExponential`, `toFixed` and `toPrecision` methods.
-
- x = new Big(255.5)
- x.toExponential(5) // "2.55500e+2"
- x.toFixed(5) // "255.50000"
- x.toPrecision(5) // "255.50"
-
-The maximum number of decimal places and the rounding mode used to round the results of the `div`, `sqrt` and `pow`
-(with negative exponent) methods is determined by the value of the `DP` and `RM` properties of the `Big` number constructor.
-
-The other methods always give the exact result.
-
-(From *v3.0.0*, multiple Big number constructors can be created, see Change Log below.)
-
- Big.DP = 10
- Big.RM = 1
-
- x = new Big(2);
- y = new Big(3);
- z = x.div(y) // "0.6666666667"
- z.sqrt() // "0.8164965809"
- z.pow(-3) // "3.3749999995"
- z.times(z) // "0.44444444448888888889"
- z.times(z).round(10) // "0.4444444445"
-
-
-The value of a Big number is stored in a decimal floating point format in terms of a coefficient, exponent and sign.
-
- x = new Big(-123.456);
- x.c // [1,2,3,4,5,6] coefficient (i.e. significand)
- x.e // 2 exponent
- x.s // -1 sign
-
-For further information see the [API](http://mikemcl.github.io/big.js/) reference from the *doc* folder.
-
-## Test
-
-The *test* directory contains the test scripts for each Big number method.
-
-The tests can be run with Node or a browser.
-
-To test a single method, from a command-line shell at the *test* directory, use e.g.
-
- $ node toFixed
-
-To test all the methods
-
- $ node every-test
-
-For the browser, see *single-test.html* and *every-test.html* in the *test/browser* directory.
-
-*big-vs-number.html* enables some of the methods of big.js to be compared with those of JavaScript's Number type.
-
-## Performance
-
-The *perf* directory contains two applications and a *lib* directory containing the BigDecimal libraries used by both.
-
-*big-vs-bigdecimal.html* tests the performance of big.js against the JavaScript translations of two versions of BigDecimal, its use should be more or less self-explanatory.
-(The GWT version doesn't work in IE 6.)
-
-* GWT: java.math.BigDecimal
-
-* ICU4J: com.ibm.icu.math.BigDecimal
-
-
-The BigDecimal in Node's npm registry is the GWT version. Despite its seeming popularity I have found it to have some serious bugs, see the Node script *perf/lib/bigdecimal_GWT/bugs.js* for examples of flaws in its *remainder*, *divide* and *compareTo* methods.
-
-*bigtime.js* is a Node command-line application which tests the performance of big.js against the GWT version of
-BigDecimal from the npm registry.
-
-For example, to compare the time taken by the big.js `plus` method and the BigDecimal `add` method:
-
- $ node bigtime plus 10000 40
-
-This will time 10000 calls to each, using operands of up to 40 random digits and will check that the results match.
-
-For help:
-
- $ node bigtime -h
-
-## Build
-
-I.e. minify.
-
-For Node, if uglify-js is installed globally ( `npm install uglify-js -g` ) then
-
- uglifyjs -o ./big.min.js ./big.js
-
-will create *big.min.js*.
-
-The *big.min.js* already present was created with *Microsoft Ajax Minifier 5.11*.
-
-## TypeScript
-
-The [DefinitelyTyped](https://github.com/borisyankov/DefinitelyTyped) project has a TypeScript [definitions file](https://github.com/borisyankov/DefinitelyTyped/blob/master/big.js/big.js.d.ts) for big.js.
-
-The definitions file can be added to your project via the [big.js.TypeScript.DefinitelyTyped](https://www.nuget.org/packages/big.js.TypeScript.DefinitelyTyped/0.0.1) NuGet package or via [tsd](http://definitelytyped.org/tsd/).
-
- tsd query big.js --action install
-
-Any questions about the TypeScript definitions file should be addressed to the DefinitelyTyped project.
-
-## Feedback
-
-Feedback is welcome.
-
-Bugs/comments/questions?
-Open an issue, or email
-
-Michael
-M8ch88l@gmail.com
-
-Bitcoin donation to:
-**1DppGRQSjVSMgGxuygDEHQuWEdTiVEzJYG**
-Thank you
-
-## Licence
-
-See LICENCE.
-
-## Change Log
-
-####3.1.3
-
-* Minor documentation updates.
-
-####3.1.2
-
-* README typo.
-
-####3.1.1
-
-* API documentation update, including FAQ additions.
-
-####3.1.0
-
-* Renamed and exposed `TO_EXP_NEG` and `TO_EXP_POS` as `Big.E_NEG` and
- `Big.E_POS`.
-
-####3.0.2
-
-* Remove *.npmignore*, use `files` field in *package.json* instead.
-
-####3.0.1
-
-* Added `sub`, `add` and `mul` aliases.
-* Clean-up after lint.
-
-####3.0.0
-
-* 10/12/14 Added [multiple constructor functionality](http://mikemcl.github.io/big.js/#faq).
-* No breaking changes or other additions, but a major code reorganisation,
- so *v3* seemed appropiate.
-
-####2.5.2
-
-* 1/11/14 Added bower.json.
-
-####2.5.1
-
-* 8/06/14 Amend README requires.
-
-####2.5.0
-
-* 26/01/14 Added `toJSON` method so serialization uses `toString`.
-
-####2.4.1
-
-* 17/10/13 Conform signed zero to IEEEE 754 (2008).
-
-####2.4.0
-
-* 19/09/13 Throw instances of `Error`.
-
-####2.3.0
-
-* 16/09/13 Added `cmp` method.
-
-####2.2.0
-
-* 11/07/13 Added 'round up' mode.
-
-####2.1.0
-
-* 26/06/13 Allow e.g. `.1` and `2.`.
-
-####2.0.0
-
-* 12/05/13 Added `abs` method and replaced `cmp` with `eq`, `gt`, `gte`, `lt`, and `lte` methods.
-
-####1.0.1
-
-* Changed default value of MAX_DP to 1E6
-
-####1.0.0
-
-* 7/11/2012 Initial release
diff --git a/node_modules/big.js/big.js b/node_modules/big.js/big.js
deleted file mode 100644
index 1ab64c5..0000000
--- a/node_modules/big.js/big.js
+++ /dev/null
@@ -1,1142 +0,0 @@
-/* big.js v3.1.3 https://github.com/MikeMcl/big.js/LICENCE */
-;(function (global) {
- 'use strict';
-
-/*
- big.js v3.1.3
- A small, fast, easy-to-use library for arbitrary-precision decimal arithmetic.
- https://github.com/MikeMcl/big.js/
- Copyright (c) 2014 Michael Mclaughlin
- MIT Expat Licence
-*/
-
-/***************************** EDITABLE DEFAULTS ******************************/
-
- // The default values below must be integers within the stated ranges.
-
- /*
- * The maximum number of decimal places of the results of operations
- * involving division: div and sqrt, and pow with negative exponents.
- */
- var DP = 20, // 0 to MAX_DP
-
- /*
- * The rounding mode used when rounding to the above decimal places.
- *
- * 0 Towards zero (i.e. truncate, no rounding). (ROUND_DOWN)
- * 1 To nearest neighbour. If equidistant, round up. (ROUND_HALF_UP)
- * 2 To nearest neighbour. If equidistant, to even. (ROUND_HALF_EVEN)
- * 3 Away from zero. (ROUND_UP)
- */
- RM = 1, // 0, 1, 2 or 3
-
- // The maximum value of DP and Big.DP.
- MAX_DP = 1E6, // 0 to 1000000
-
- // The maximum magnitude of the exponent argument to the pow method.
- MAX_POWER = 1E6, // 1 to 1000000
-
- /*
- * The exponent value at and beneath which toString returns exponential
- * notation.
- * JavaScript's Number type: -7
- * -1000000 is the minimum recommended exponent value of a Big.
- */
- E_NEG = -7, // 0 to -1000000
-
- /*
- * The exponent value at and above which toString returns exponential
- * notation.
- * JavaScript's Number type: 21
- * 1000000 is the maximum recommended exponent value of a Big.
- * (This limit is not enforced or checked.)
- */
- E_POS = 21, // 0 to 1000000
-
-/******************************************************************************/
-
- // The shared prototype object.
- P = {},
- isValid = /^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,
- Big;
-
-
- /*
- * Create and return a Big constructor.
- *
- */
- function bigFactory() {
-
- /*
- * The Big constructor and exported function.
- * Create and return a new instance of a Big number object.
- *
- * n {number|string|Big} A numeric value.
- */
- function Big(n) {
- var x = this;
-
- // Enable constructor usage without new.
- if (!(x instanceof Big)) {
- return n === void 0 ? bigFactory() : new Big(n);
- }
-
- // Duplicate.
- if (n instanceof Big) {
- x.s = n.s;
- x.e = n.e;
- x.c = n.c.slice();
- } else {
- parse(x, n);
- }
-
- /*
- * Retain a reference to this Big constructor, and shadow
- * Big.prototype.constructor which points to Object.
- */
- x.constructor = Big;
- }
-
- Big.prototype = P;
- Big.DP = DP;
- Big.RM = RM;
- Big.E_NEG = E_NEG;
- Big.E_POS = E_POS;
-
- return Big;
- }
-
-
- // Private functions
-
-
- /*
- * Return a string representing the value of Big x in normal or exponential
- * notation to dp fixed decimal places or significant digits.
- *
- * x {Big} The Big to format.
- * dp {number} Integer, 0 to MAX_DP inclusive.
- * toE {number} 1 (toExponential), 2 (toPrecision) or undefined (toFixed).
- */
- function format(x, dp, toE) {
- var Big = x.constructor,
-
- // The index (normal notation) of the digit that may be rounded up.
- i = dp - (x = new Big(x)).e,
- c = x.c;
-
- // Round?
- if (c.length > ++dp) {
- rnd(x, i, Big.RM);
- }
-
- if (!c[0]) {
- ++i;
- } else if (toE) {
- i = dp;
-
- // toFixed
- } else {
- c = x.c;
-
- // Recalculate i as x.e may have changed if value rounded up.
- i = x.e + i + 1;
- }
-
- // Append zeros?
- for (; c.length < i; c.push(0)) {
- }
- i = x.e;
-
- /*
- * toPrecision returns exponential notation if the number of
- * significant digits specified is less than the number of digits
- * necessary to represent the integer part of the value in normal
- * notation.
- */
- return toE === 1 || toE && (dp <= i || i <= Big.E_NEG) ?
-
- // Exponential notation.
- (x.s < 0 && c[0] ? '-' : '') +
- (c.length > 1 ? c[0] + '.' + c.join('').slice(1) : c[0]) +
- (i < 0 ? 'e' : 'e+') + i
-
- // Normal notation.
- : x.toString();
- }
-
-
- /*
- * Parse the number or string value passed to a Big constructor.
- *
- * x {Big} A Big number instance.
- * n {number|string} A numeric value.
- */
- function parse(x, n) {
- var e, i, nL;
-
- // Minus zero?
- if (n === 0 && 1 / n < 0) {
- n = '-0';
-
- // Ensure n is string and check validity.
- } else if (!isValid.test(n += '')) {
- throwErr(NaN);
- }
-
- // Determine sign.
- x.s = n.charAt(0) == '-' ? (n = n.slice(1), -1) : 1;
-
- // Decimal point?
- if ((e = n.indexOf('.')) > -1) {
- n = n.replace('.', '');
- }
-
- // Exponential form?
- if ((i = n.search(/e/i)) > 0) {
-
- // Determine exponent.
- if (e < 0) {
- e = i;
- }
- e += +n.slice(i + 1);
- n = n.substring(0, i);
-
- } else if (e < 0) {
-
- // Integer.
- e = n.length;
- }
-
- // Determine leading zeros.
- for (i = 0; n.charAt(i) == '0'; i++) {
- }
-
- if (i == (nL = n.length)) {
-
- // Zero.
- x.c = [ x.e = 0 ];
- } else {
-
- // Determine trailing zeros.
- for (; n.charAt(--nL) == '0';) {
- }
-
- x.e = e - i - 1;
- x.c = [];
-
- // Convert string to array of digits without leading/trailing zeros.
- for (e = 0; i <= nL; x.c[e++] = +n.charAt(i++)) {
- }
- }
-
- return x;
- }
-
-
- /*
- * Round Big x to a maximum of dp decimal places using rounding mode rm.
- * Called by div, sqrt and round.
- *
- * x {Big} The Big to round.
- * dp {number} Integer, 0 to MAX_DP inclusive.
- * rm {number} 0, 1, 2 or 3 (DOWN, HALF_UP, HALF_EVEN, UP)
- * [more] {boolean} Whether the result of division was truncated.
- */
- function rnd(x, dp, rm, more) {
- var u,
- xc = x.c,
- i = x.e + dp + 1;
-
- if (rm === 1) {
-
- // xc[i] is the digit after the digit that may be rounded up.
- more = xc[i] >= 5;
- } else if (rm === 2) {
- more = xc[i] > 5 || xc[i] == 5 &&
- (more || i < 0 || xc[i + 1] !== u || xc[i - 1] & 1);
- } else if (rm === 3) {
- more = more || xc[i] !== u || i < 0;
- } else {
- more = false;
-
- if (rm !== 0) {
- throwErr('!Big.RM!');
- }
- }
-
- if (i < 1 || !xc[0]) {
-
- if (more) {
-
- // 1, 0.1, 0.01, 0.001, 0.0001 etc.
- x.e = -dp;
- x.c = [1];
- } else {
-
- // Zero.
- x.c = [x.e = 0];
- }
- } else {
-
- // Remove any digits after the required decimal places.
- xc.length = i--;
-
- // Round up?
- if (more) {
-
- // Rounding up may mean the previous digit has to be rounded up.
- for (; ++xc[i] > 9;) {
- xc[i] = 0;
-
- if (!i--) {
- ++x.e;
- xc.unshift(1);
- }
- }
- }
-
- // Remove trailing zeros.
- for (i = xc.length; !xc[--i]; xc.pop()) {
- }
- }
-
- return x;
- }
-
-
- /*
- * Throw a BigError.
- *
- * message {string} The error message.
- */
- function throwErr(message) {
- var err = new Error(message);
- err.name = 'BigError';
-
- throw err;
- }
-
-
- // Prototype/instance methods
-
-
- /*
- * Return a new Big whose value is the absolute value of this Big.
- */
- P.abs = function () {
- var x = new this.constructor(this);
- x.s = 1;
-
- return x;
- };
-
-
- /*
- * Return
- * 1 if the value of this Big is greater than the value of Big y,
- * -1 if the value of this Big is less than the value of Big y, or
- * 0 if they have the same value.
- */
- P.cmp = function (y) {
- var xNeg,
- x = this,
- xc = x.c,
- yc = (y = new x.constructor(y)).c,
- i = x.s,
- j = y.s,
- k = x.e,
- l = y.e;
-
- // Either zero?
- if (!xc[0] || !yc[0]) {
- return !xc[0] ? !yc[0] ? 0 : -j : i;
- }
-
- // Signs differ?
- if (i != j) {
- return i;
- }
- xNeg = i < 0;
-
- // Compare exponents.
- if (k != l) {
- return k > l ^ xNeg ? 1 : -1;
- }
-
- i = -1;
- j = (k = xc.length) < (l = yc.length) ? k : l;
-
- // Compare digit by digit.
- for (; ++i < j;) {
-
- if (xc[i] != yc[i]) {
- return xc[i] > yc[i] ^ xNeg ? 1 : -1;
- }
- }
-
- // Compare lengths.
- return k == l ? 0 : k > l ^ xNeg ? 1 : -1;
- };
-
-
- /*
- * Return a new Big whose value is the value of this Big divided by the
- * value of Big y, rounded, if necessary, to a maximum of Big.DP decimal
- * places using rounding mode Big.RM.
- */
- P.div = function (y) {
- var x = this,
- Big = x.constructor,
- // dividend
- dvd = x.c,
- //divisor
- dvs = (y = new Big(y)).c,
- s = x.s == y.s ? 1 : -1,
- dp = Big.DP;
-
- if (dp !== ~~dp || dp < 0 || dp > MAX_DP) {
- throwErr('!Big.DP!');
- }
-
- // Either 0?
- if (!dvd[0] || !dvs[0]) {
-
- // If both are 0, throw NaN
- if (dvd[0] == dvs[0]) {
- throwErr(NaN);
- }
-
- // If dvs is 0, throw +-Infinity.
- if (!dvs[0]) {
- throwErr(s / 0);
- }
-
- // dvd is 0, return +-0.
- return new Big(s * 0);
- }
-
- var dvsL, dvsT, next, cmp, remI, u,
- dvsZ = dvs.slice(),
- dvdI = dvsL = dvs.length,
- dvdL = dvd.length,
- // remainder
- rem = dvd.slice(0, dvsL),
- remL = rem.length,
- // quotient
- q = y,
- qc = q.c = [],
- qi = 0,
- digits = dp + (q.e = x.e - y.e) + 1;
-
- q.s = s;
- s = digits < 0 ? 0 : digits;
-
- // Create version of divisor with leading zero.
- dvsZ.unshift(0);
-
- // Add zeros to make remainder as long as divisor.
- for (; remL++ < dvsL; rem.push(0)) {
- }
-
- do {
-
- // 'next' is how many times the divisor goes into current remainder.
- for (next = 0; next < 10; next++) {
-
- // Compare divisor and remainder.
- if (dvsL != (remL = rem.length)) {
- cmp = dvsL > remL ? 1 : -1;
- } else {
-
- for (remI = -1, cmp = 0; ++remI < dvsL;) {
-
- if (dvs[remI] != rem[remI]) {
- cmp = dvs[remI] > rem[remI] ? 1 : -1;
- break;
- }
- }
- }
-
- // If divisor < remainder, subtract divisor from remainder.
- if (cmp < 0) {
-
- // Remainder can't be more than 1 digit longer than divisor.
- // Equalise lengths using divisor with extra leading zero?
- for (dvsT = remL == dvsL ? dvs : dvsZ; remL;) {
-
- if (rem[--remL] < dvsT[remL]) {
- remI = remL;
-
- for (; remI && !rem[--remI]; rem[remI] = 9) {
- }
- --rem[remI];
- rem[remL] += 10;
- }
- rem[remL] -= dvsT[remL];
- }
- for (; !rem[0]; rem.shift()) {
- }
- } else {
- break;
- }
- }
-
- // Add the 'next' digit to the result array.
- qc[qi++] = cmp ? next : ++next;
-
- // Update the remainder.
- if (rem[0] && cmp) {
- rem[remL] = dvd[dvdI] || 0;
- } else {
- rem = [ dvd[dvdI] ];
- }
-
- } while ((dvdI++ < dvdL || rem[0] !== u) && s--);
-
- // Leading zero? Do not remove if result is simply zero (qi == 1).
- if (!qc[0] && qi != 1) {
-
- // There can't be more than one zero.
- qc.shift();
- q.e--;
- }
-
- // Round?
- if (qi > digits) {
- rnd(q, dp, Big.RM, rem[0] !== u);
- }
-
- return q;
- };
-
-
- /*
- * Return true if the value of this Big is equal to the value of Big y,
- * otherwise returns false.
- */
- P.eq = function (y) {
- return !this.cmp(y);
- };
-
-
- /*
- * Return true if the value of this Big is greater than the value of Big y,
- * otherwise returns false.
- */
- P.gt = function (y) {
- return this.cmp(y) > 0;
- };
-
-
- /*
- * Return true if the value of this Big is greater than or equal to the
- * value of Big y, otherwise returns false.
- */
- P.gte = function (y) {
- return this.cmp(y) > -1;
- };
-
-
- /*
- * Return true if the value of this Big is less than the value of Big y,
- * otherwise returns false.
- */
- P.lt = function (y) {
- return this.cmp(y) < 0;
- };
-
-
- /*
- * Return true if the value of this Big is less than or equal to the value
- * of Big y, otherwise returns false.
- */
- P.lte = function (y) {
- return this.cmp(y) < 1;
- };
-
-
- /*
- * Return a new Big whose value is the value of this Big minus the value
- * of Big y.
- */
- P.sub = P.minus = function (y) {
- var i, j, t, xLTy,
- x = this,
- Big = x.constructor,
- a = x.s,
- b = (y = new Big(y)).s;
-
- // Signs differ?
- if (a != b) {
- y.s = -b;
- return x.plus(y);
- }
-
- var xc = x.c.slice(),
- xe = x.e,
- yc = y.c,
- ye = y.e;
-
- // Either zero?
- if (!xc[0] || !yc[0]) {
-
- // y is non-zero? x is non-zero? Or both are zero.
- return yc[0] ? (y.s = -b, y) : new Big(xc[0] ? x : 0);
- }
-
- // Determine which is the bigger number.
- // Prepend zeros to equalise exponents.
- if (a = xe - ye) {
-
- if (xLTy = a < 0) {
- a = -a;
- t = xc;
- } else {
- ye = xe;
- t = yc;
- }
-
- t.reverse();
- for (b = a; b--; t.push(0)) {
- }
- t.reverse();
- } else {
-
- // Exponents equal. Check digit by digit.
- j = ((xLTy = xc.length < yc.length) ? xc : yc).length;
-
- for (a = b = 0; b < j; b++) {
-
- if (xc[b] != yc[b]) {
- xLTy = xc[b] < yc[b];
- break;
- }
- }
- }
-
- // x < y? Point xc to the array of the bigger number.
- if (xLTy) {
- t = xc;
- xc = yc;
- yc = t;
- y.s = -y.s;
- }
-
- /*
- * Append zeros to xc if shorter. No need to add zeros to yc if shorter
- * as subtraction only needs to start at yc.length.
- */
- if (( b = (j = yc.length) - (i = xc.length) ) > 0) {
-
- for (; b--; xc[i++] = 0) {
- }
- }
-
- // Subtract yc from xc.
- for (b = i; j > a;){
-
- if (xc[--j] < yc[j]) {
-
- for (i = j; i && !xc[--i]; xc[i] = 9) {
- }
- --xc[i];
- xc[j] += 10;
- }
- xc[j] -= yc[j];
- }
-
- // Remove trailing zeros.
- for (; xc[--b] === 0; xc.pop()) {
- }
-
- // Remove leading zeros and adjust exponent accordingly.
- for (; xc[0] === 0;) {
- xc.shift();
- --ye;
- }
-
- if (!xc[0]) {
-
- // n - n = +0
- y.s = 1;
-
- // Result must be zero.
- xc = [ye = 0];
- }
-
- y.c = xc;
- y.e = ye;
-
- return y;
- };
-
-
- /*
- * Return a new Big whose value is the value of this Big modulo the
- * value of Big y.
- */
- P.mod = function (y) {
- var yGTx,
- x = this,
- Big = x.constructor,
- a = x.s,
- b = (y = new Big(y)).s;
-
- if (!y.c[0]) {
- throwErr(NaN);
- }
-
- x.s = y.s = 1;
- yGTx = y.cmp(x) == 1;
- x.s = a;
- y.s = b;
-
- if (yGTx) {
- return new Big(x);
- }
-
- a = Big.DP;
- b = Big.RM;
- Big.DP = Big.RM = 0;
- x = x.div(y);
- Big.DP = a;
- Big.RM = b;
-
- return this.minus( x.times(y) );
- };
-
-
- /*
- * Return a new Big whose value is the value of this Big plus the value
- * of Big y.
- */
- P.add = P.plus = function (y) {
- var t,
- x = this,
- Big = x.constructor,
- a = x.s,
- b = (y = new Big(y)).s;
-
- // Signs differ?
- if (a != b) {
- y.s = -b;
- return x.minus(y);
- }
-
- var xe = x.e,
- xc = x.c,
- ye = y.e,
- yc = y.c;
-
- // Either zero?
- if (!xc[0] || !yc[0]) {
-
- // y is non-zero? x is non-zero? Or both are zero.
- return yc[0] ? y : new Big(xc[0] ? x : a * 0);
- }
- xc = xc.slice();
-
- // Prepend zeros to equalise exponents.
- // Note: Faster to use reverse then do unshifts.
- if (a = xe - ye) {
-
- if (a > 0) {
- ye = xe;
- t = yc;
- } else {
- a = -a;
- t = xc;
- }
-
- t.reverse();
- for (; a--; t.push(0)) {
- }
- t.reverse();
- }
-
- // Point xc to the longer array.
- if (xc.length - yc.length < 0) {
- t = yc;
- yc = xc;
- xc = t;
- }
- a = yc.length;
-
- /*
- * Only start adding at yc.length - 1 as the further digits of xc can be
- * left as they are.
- */
- for (b = 0; a;) {
- b = (xc[--a] = xc[a] + yc[a] + b) / 10 | 0;
- xc[a] %= 10;
- }
-
- // No need to check for zero, as +x + +y != 0 && -x + -y != 0
-
- if (b) {
- xc.unshift(b);
- ++ye;
- }
-
- // Remove trailing zeros.
- for (a = xc.length; xc[--a] === 0; xc.pop()) {
- }
-
- y.c = xc;
- y.e = ye;
-
- return y;
- };
-
-
- /*
- * Return a Big whose value is the value of this Big raised to the power n.
- * If n is negative, round, if necessary, to a maximum of Big.DP decimal
- * places using rounding mode Big.RM.
- *
- * n {number} Integer, -MAX_POWER to MAX_POWER inclusive.
- */
- P.pow = function (n) {
- var x = this,
- one = new x.constructor(1),
- y = one,
- isNeg = n < 0;
-
- if (n !== ~~n || n < -MAX_POWER || n > MAX_POWER) {
- throwErr('!pow!');
- }
-
- n = isNeg ? -n : n;
-
- for (;;) {
-
- if (n & 1) {
- y = y.times(x);
- }
- n >>= 1;
-
- if (!n) {
- break;
- }
- x = x.times(x);
- }
-
- return isNeg ? one.div(y) : y;
- };
-
-
- /*
- * Return a new Big whose value is the value of this Big rounded to a
- * maximum of dp decimal places using rounding mode rm.
- * If dp is not specified, round to 0 decimal places.
- * If rm is not specified, use Big.RM.
- *
- * [dp] {number} Integer, 0 to MAX_DP inclusive.
- * [rm] 0, 1, 2 or 3 (ROUND_DOWN, ROUND_HALF_UP, ROUND_HALF_EVEN, ROUND_UP)
- */
- P.round = function (dp, rm) {
- var x = this,
- Big = x.constructor;
-
- if (dp == null) {
- dp = 0;
- } else if (dp !== ~~dp || dp < 0 || dp > MAX_DP) {
- throwErr('!round!');
- }
- rnd(x = new Big(x), dp, rm == null ? Big.RM : rm);
-
- return x;
- };
-
-
- /*
- * Return a new Big whose value is the square root of the value of this Big,
- * rounded, if necessary, to a maximum of Big.DP decimal places using
- * rounding mode Big.RM.
- */
- P.sqrt = function () {
- var estimate, r, approx,
- x = this,
- Big = x.constructor,
- xc = x.c,
- i = x.s,
- e = x.e,
- half = new Big('0.5');
-
- // Zero?
- if (!xc[0]) {
- return new Big(x);
- }
-
- // If negative, throw NaN.
- if (i < 0) {
- throwErr(NaN);
- }
-
- // Estimate.
- i = Math.sqrt(x.toString());
-
- // Math.sqrt underflow/overflow?
- // Pass x to Math.sqrt as integer, then adjust the result exponent.
- if (i === 0 || i === 1 / 0) {
- estimate = xc.join('');
-
- if (!(estimate.length + e & 1)) {
- estimate += '0';
- }
-
- r = new Big( Math.sqrt(estimate).toString() );
- r.e = ((e + 1) / 2 | 0) - (e < 0 || e & 1);
- } else {
- r = new Big(i.toString());
- }
-
- i = r.e + (Big.DP += 4);
-
- // Newton-Raphson iteration.
- do {
- approx = r;
- r = half.times( approx.plus( x.div(approx) ) );
- } while ( approx.c.slice(0, i).join('') !==
- r.c.slice(0, i).join('') );
-
- rnd(r, Big.DP -= 4, Big.RM);
-
- return r;
- };
-
-
- /*
- * Return a new Big whose value is the value of this Big times the value of
- * Big y.
- */
- P.mul = P.times = function (y) {
- var c,
- x = this,
- Big = x.constructor,
- xc = x.c,
- yc = (y = new Big(y)).c,
- a = xc.length,
- b = yc.length,
- i = x.e,
- j = y.e;
-
- // Determine sign of result.
- y.s = x.s == y.s ? 1 : -1;
-
- // Return signed 0 if either 0.
- if (!xc[0] || !yc[0]) {
- return new Big(y.s * 0);
- }
-
- // Initialise exponent of result as x.e + y.e.
- y.e = i + j;
-
- // If array xc has fewer digits than yc, swap xc and yc, and lengths.
- if (a < b) {
- c = xc;
- xc = yc;
- yc = c;
- j = a;
- a = b;
- b = j;
- }
-
- // Initialise coefficient array of result with zeros.
- for (c = new Array(j = a + b); j--; c[j] = 0) {
- }
-
- // Multiply.
-
- // i is initially xc.length.
- for (i = b; i--;) {
- b = 0;
-
- // a is yc.length.
- for (j = a + i; j > i;) {
-
- // Current sum of products at this digit position, plus carry.
- b = c[j] + yc[i] * xc[j - i - 1] + b;
- c[j--] = b % 10;
-
- // carry
- b = b / 10 | 0;
- }
- c[j] = (c[j] + b) % 10;
- }
-
- // Increment result exponent if there is a final carry.
- if (b) {
- ++y.e;
- }
-
- // Remove any leading zero.
- if (!c[0]) {
- c.shift();
- }
-
- // Remove trailing zeros.
- for (i = c.length; !c[--i]; c.pop()) {
- }
- y.c = c;
-
- return y;
- };
-
-
- /*
- * Return a string representing the value of this Big.
- * Return exponential notation if this Big has a positive exponent equal to
- * or greater than Big.E_POS, or a negative exponent equal to or less than
- * Big.E_NEG.
- */
- P.toString = P.valueOf = P.toJSON = function () {
- var x = this,
- Big = x.constructor,
- e = x.e,
- str = x.c.join(''),
- strL = str.length;
-
- // Exponential notation?
- if (e <= Big.E_NEG || e >= Big.E_POS) {
- str = str.charAt(0) + (strL > 1 ? '.' + str.slice(1) : '') +
- (e < 0 ? 'e' : 'e+') + e;
-
- // Negative exponent?
- } else if (e < 0) {
-
- // Prepend zeros.
- for (; ++e; str = '0' + str) {
- }
- str = '0.' + str;
-
- // Positive exponent?
- } else if (e > 0) {
-
- if (++e > strL) {
-
- // Append zeros.
- for (e -= strL; e-- ; str += '0') {
- }
- } else if (e < strL) {
- str = str.slice(0, e) + '.' + str.slice(e);
- }
-
- // Exponent zero.
- } else if (strL > 1) {
- str = str.charAt(0) + '.' + str.slice(1);
- }
-
- // Avoid '-0'
- return x.s < 0 && x.c[0] ? '-' + str : str;
- };
-
-
- /*
- ***************************************************************************
- * If toExponential, toFixed, toPrecision and format are not required they
- * can safely be commented-out or deleted. No redundant code will be left.
- * format is used only by toExponential, toFixed and toPrecision.
- ***************************************************************************
- */
-
-
- /*
- * Return a string representing the value of this Big in exponential
- * notation to dp fixed decimal places and rounded, if necessary, using
- * Big.RM.
- *
- * [dp] {number} Integer, 0 to MAX_DP inclusive.
- */
- P.toExponential = function (dp) {
-
- if (dp == null) {
- dp = this.c.length - 1;
- } else if (dp !== ~~dp || dp < 0 || dp > MAX_DP) {
- throwErr('!toExp!');
- }
-
- return format(this, dp, 1);
- };
-
-
- /*
- * Return a string representing the value of this Big in normal notation
- * to dp fixed decimal places and rounded, if necessary, using Big.RM.
- *
- * [dp] {number} Integer, 0 to MAX_DP inclusive.
- */
- P.toFixed = function (dp) {
- var str,
- x = this,
- Big = x.constructor,
- neg = Big.E_NEG,
- pos = Big.E_POS;
-
- // Prevent the possibility of exponential notation.
- Big.E_NEG = -(Big.E_POS = 1 / 0);
-
- if (dp == null) {
- str = x.toString();
- } else if (dp === ~~dp && dp >= 0 && dp <= MAX_DP) {
- str = format(x, x.e + dp);
-
- // (-0).toFixed() is '0', but (-0.1).toFixed() is '-0'.
- // (-0).toFixed(1) is '0.0', but (-0.01).toFixed(1) is '-0.0'.
- if (x.s < 0 && x.c[0] && str.indexOf('-') < 0) {
- //E.g. -0.5 if rounded to -0 will cause toString to omit the minus sign.
- str = '-' + str;
- }
- }
- Big.E_NEG = neg;
- Big.E_POS = pos;
-
- if (!str) {
- throwErr('!toFix!');
- }
-
- return str;
- };
-
-
- /*
- * Return a string representing the value of this Big rounded to sd
- * significant digits using Big.RM. Use exponential notation if sd is less
- * than the number of digits necessary to represent the integer part of the
- * value in normal notation.
- *
- * sd {number} Integer, 1 to MAX_DP inclusive.
- */
- P.toPrecision = function (sd) {
-
- if (sd == null) {
- return this.toString();
- } else if (sd !== ~~sd || sd < 1 || sd > MAX_DP) {
- throwErr('!toPre!');
- }
-
- return format(this, sd - 1, 2);
- };
-
-
- // Export
-
-
- Big = bigFactory();
-
- //AMD.
- if (typeof define === 'function' && define.amd) {
- define(function () {
- return Big;
- });
-
- // Node and other CommonJS-like environments that support module.exports.
- } else if (typeof module !== 'undefined' && module.exports) {
- module.exports = Big;
-
- //Browser.
- } else {
- global.Big = Big;
- }
-})(this);
diff --git a/node_modules/big.js/big.min.js b/node_modules/big.js/big.min.js
deleted file mode 100644
index 83e9e8d..0000000
--- a/node_modules/big.js/big.min.js
+++ /dev/null
@@ -1 +0,0 @@
-/* big.js v3.1.3 https://github.com/MikeMcl/big.js/LICENCE */(function(global){"use strict";var DP=20,RM=1,MAX_DP=1e6,MAX_POWER=1e6,E_NEG=-7,E_POS=21,P={},isValid=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Big;function bigFactory(){function Big(n){var x=this;if(!(x instanceof Big)){return n===void 0?bigFactory():new Big(n)}if(n instanceof Big){x.s=n.s;x.e=n.e;x.c=n.c.slice()}else{parse(x,n)}x.constructor=Big}Big.prototype=P;Big.DP=DP;Big.RM=RM;Big.E_NEG=E_NEG;Big.E_POS=E_POS;return Big}function format(x,dp,toE){var Big=x.constructor,i=dp-(x=new Big(x)).e,c=x.c;if(c.length>++dp){rnd(x,i,Big.RM)}if(!c[0]){++i}else if(toE){i=dp}else{c=x.c;i=x.e+i+1}for(;c.length1?c[0]+"."+c.join("").slice(1):c[0])+(i<0?"e":"e+")+i:x.toString()}function parse(x,n){var e,i,nL;if(n===0&&1/n<0){n="-0"}else if(!isValid.test(n+="")){throwErr(NaN)}x.s=n.charAt(0)=="-"?(n=n.slice(1),-1):1;if((e=n.indexOf("."))>-1){n=n.replace(".","")}if((i=n.search(/e/i))>0){if(e<0){e=i}e+=+n.slice(i+1);n=n.substring(0,i)}else if(e<0){e=n.length}for(i=0;n.charAt(i)=="0";i++){}if(i==(nL=n.length)){x.c=[x.e=0]}else{for(;n.charAt(--nL)=="0";){}x.e=e-i-1;x.c=[];for(e=0;i<=nL;x.c[e++]=+n.charAt(i++)){}}return x}function rnd(x,dp,rm,more){var u,xc=x.c,i=x.e+dp+1;if(rm===1){more=xc[i]>=5}else if(rm===2){more=xc[i]>5||xc[i]==5&&(more||i<0||xc[i+1]!==u||xc[i-1]&1)}else if(rm===3){more=more||xc[i]!==u||i<0}else{more=false;if(rm!==0){throwErr("!Big.RM!")}}if(i<1||!xc[0]){if(more){x.e=-dp;x.c=[1]}else{x.c=[x.e=0]}}else{xc.length=i--;if(more){for(;++xc[i]>9;){xc[i]=0;if(!i--){++x.e;xc.unshift(1)}}}for(i=xc.length;!xc[--i];xc.pop()){}}return x}function throwErr(message){var err=new Error(message);err.name="BigError";throw err}P.abs=function(){var x=new this.constructor(this);x.s=1;return x};P.cmp=function(y){var xNeg,x=this,xc=x.c,yc=(y=new x.constructor(y)).c,i=x.s,j=y.s,k=x.e,l=y.e;if(!xc[0]||!yc[0]){return!xc[0]?!yc[0]?0:-j:i}if(i!=j){return i}xNeg=i<0;if(k!=l){return k>l^xNeg?1:-1}i=-1;j=(k=xc.length)<(l=yc.length)?k:l;for(;++iyc[i]^xNeg?1:-1}}return k==l?0:k>l^xNeg?1:-1};P.div=function(y){var x=this,Big=x.constructor,dvd=x.c,dvs=(y=new Big(y)).c,s=x.s==y.s?1:-1,dp=Big.DP;if(dp!==~~dp||dp<0||dp>MAX_DP){throwErr("!Big.DP!")}if(!dvd[0]||!dvs[0]){if(dvd[0]==dvs[0]){throwErr(NaN)}if(!dvs[0]){throwErr(s/0)}return new Big(s*0)}var dvsL,dvsT,next,cmp,remI,u,dvsZ=dvs.slice(),dvdI=dvsL=dvs.length,dvdL=dvd.length,rem=dvd.slice(0,dvsL),remL=rem.length,q=y,qc=q.c=[],qi=0,digits=dp+(q.e=x.e-y.e)+1;q.s=s;s=digits<0?0:digits;dvsZ.unshift(0);for(;remL++remL?1:-1}else{for(remI=-1,cmp=0;++remIrem[remI]?1:-1;break}}}if(cmp<0){for(dvsT=remL==dvsL?dvs:dvsZ;remL;){if(rem[--remL]digits){rnd(q,dp,Big.RM,rem[0]!==u)}return q};P.eq=function(y){return!this.cmp(y)};P.gt=function(y){return this.cmp(y)>0};P.gte=function(y){return this.cmp(y)>-1};P.lt=function(y){return this.cmp(y)<0};P.lte=function(y){return this.cmp(y)<1};P.sub=P.minus=function(y){var i,j,t,xLTy,x=this,Big=x.constructor,a=x.s,b=(y=new Big(y)).s;if(a!=b){y.s=-b;return x.plus(y)}var xc=x.c.slice(),xe=x.e,yc=y.c,ye=y.e;if(!xc[0]||!yc[0]){return yc[0]?(y.s=-b,y):new Big(xc[0]?x:0)}if(a=xe-ye){if(xLTy=a<0){a=-a;t=xc}else{ye=xe;t=yc}t.reverse();for(b=a;b--;t.push(0)){}t.reverse()}else{j=((xLTy=xc.length0){for(;b--;xc[i++]=0){}}for(b=i;j>a;){if(xc[--j]0){ye=xe;t=yc}else{a=-a;t=xc}t.reverse();for(;a--;t.push(0)){}t.reverse()}if(xc.length-yc.length<0){t=yc;yc=xc;xc=t}a=yc.length;for(b=0;a;){b=(xc[--a]=xc[a]+yc[a]+b)/10|0;xc[a]%=10}if(b){xc.unshift(b);++ye}for(a=xc.length;xc[--a]===0;xc.pop()){}y.c=xc;y.e=ye;return y};P.pow=function(n){var x=this,one=new x.constructor(1),y=one,isNeg=n<0;if(n!==~~n||n<-MAX_POWER||n>MAX_POWER){throwErr("!pow!")}n=isNeg?-n:n;for(;;){if(n&1){y=y.times(x)}n>>=1;if(!n){break}x=x.times(x)}return isNeg?one.div(y):y};P.round=function(dp,rm){var x=this,Big=x.constructor;if(dp==null){dp=0}else if(dp!==~~dp||dp<0||dp>MAX_DP){throwErr("!round!")}rnd(x=new Big(x),dp,rm==null?Big.RM:rm);return x};P.sqrt=function(){var estimate,r,approx,x=this,Big=x.constructor,xc=x.c,i=x.s,e=x.e,half=new Big("0.5");if(!xc[0]){return new Big(x)}if(i<0){throwErr(NaN)}i=Math.sqrt(x.toString());if(i===0||i===1/0){estimate=xc.join("");if(!(estimate.length+e&1)){estimate+="0"}r=new Big(Math.sqrt(estimate).toString());r.e=((e+1)/2|0)-(e<0||e&1)}else{r=new Big(i.toString())}i=r.e+(Big.DP+=4);do{approx=r;r=half.times(approx.plus(x.div(approx)))}while(approx.c.slice(0,i).join("")!==r.c.slice(0,i).join(""));rnd(r,Big.DP-=4,Big.RM);return r};P.mul=P.times=function(y){var c,x=this,Big=x.constructor,xc=x.c,yc=(y=new Big(y)).c,a=xc.length,b=yc.length,i=x.e,j=y.e;y.s=x.s==y.s?1:-1;if(!xc[0]||!yc[0]){return new Big(y.s*0)}y.e=i+j;if(ai;){b=c[j]+yc[i]*xc[j-i-1]+b;c[j--]=b%10;b=b/10|0}c[j]=(c[j]+b)%10}if(b){++y.e}if(!c[0]){c.shift()}for(i=c.length;!c[--i];c.pop()){}y.c=c;return y};P.toString=P.valueOf=P.toJSON=function(){var x=this,Big=x.constructor,e=x.e,str=x.c.join(""),strL=str.length;if(e<=Big.E_NEG||e>=Big.E_POS){str=str.charAt(0)+(strL>1?"."+str.slice(1):"")+(e<0?"e":"e+")+e}else if(e<0){for(;++e;str="0"+str){}str="0."+str}else if(e>0){if(++e>strL){for(e-=strL;e--;str+="0"){}}else if(e1){str=str.charAt(0)+"."+str.slice(1)}return x.s<0&&x.c[0]?"-"+str:str};P.toExponential=function(dp){if(dp==null){dp=this.c.length-1}else if(dp!==~~dp||dp<0||dp>MAX_DP){throwErr("!toExp!")}return format(this,dp,1)};P.toFixed=function(dp){var str,x=this,Big=x.constructor,neg=Big.E_NEG,pos=Big.E_POS;Big.E_NEG=-(Big.E_POS=1/0);if(dp==null){str=x.toString()}else if(dp===~~dp&&dp>=0&&dp<=MAX_DP){str=format(x,x.e+dp);if(x.s<0&&x.c[0]&&str.indexOf("-")<0){str="-"+str}}Big.E_NEG=neg;Big.E_POS=pos;if(!str){throwErr("!toFix!")}return str};P.toPrecision=function(sd){if(sd==null){return this.toString()}else if(sd!==~~sd||sd<1||sd>MAX_DP){throwErr("!toPre!")}return format(this,sd-1,2)};Big=bigFactory();if(typeof define==="function"&&define.amd){define(function(){return Big})}else if(typeof module!=="undefined"&&module.exports){module.exports=Big}else{global.Big=Big}})(this);
diff --git a/node_modules/big.js/package.json b/node_modules/big.js/package.json
deleted file mode 100644
index 6d00b66..0000000
--- a/node_modules/big.js/package.json
+++ /dev/null
@@ -1,93 +0,0 @@
-{
- "_args": [
- [
- "big.js@^3.0.2",
- "/home/vincent/Bureau/RIA/node_modules/loader-utils"
- ]
- ],
- "_from": "big.js@>=3.0.2 <4.0.0",
- "_id": "big.js@3.1.3",
- "_inCache": true,
- "_location": "/big.js",
- "_nodeVersion": "0.12.0",
- "_npmUser": {
- "email": "M8ch88l@gmail.com",
- "name": "mikemcl"
- },
- "_npmVersion": "2.9.1",
- "_phantomChildren": {},
- "_requested": {
- "name": "big.js",
- "raw": "big.js@^3.0.2",
- "rawSpec": "^3.0.2",
- "scope": null,
- "spec": ">=3.0.2 <4.0.0",
- "type": "range"
- },
- "_requiredBy": [
- "/loader-utils"
- ],
- "_resolved": "https://registry.npmjs.org/big.js/-/big.js-3.1.3.tgz",
- "_shasum": "4cada2193652eb3ca9ec8e55c9015669c9806978",
- "_shrinkwrap": null,
- "_spec": "big.js@^3.0.2",
- "_where": "/home/vincent/Bureau/RIA/node_modules/loader-utils",
- "author": {
- "email": "M8ch88l@gmail.com",
- "name": "Michael Mclaughlin"
- },
- "bugs": {
- "url": "https://github.com/MikeMcl/big.js/issues"
- },
- "dependencies": {},
- "description": "A small, fast, easy-to-use library for arbitrary-precision decimal arithmetic",
- "devDependencies": {},
- "directories": {},
- "dist": {
- "shasum": "4cada2193652eb3ca9ec8e55c9015669c9806978",
- "tarball": "http://registry.npmjs.org/big.js/-/big.js-3.1.3.tgz"
- },
- "engines": {
- "node": "*"
- },
- "files": [
- "big.js",
- "big.min.js"
- ],
- "gitHead": "86268e96b3dbf6db8ce319489f410277d9d4ea1b",
- "homepage": "https://github.com/MikeMcl/big.js#readme",
- "installable": true,
- "keywords": [
- "arbitrary",
- "arithmetic",
- "big",
- "bigdecimal",
- "bigint",
- "biginteger",
- "bignum",
- "bignumber",
- "decimal",
- "float",
- "number",
- "precision"
- ],
- "license": "MIT",
- "main": "./big",
- "maintainers": [
- {
- "name": "mikemcl",
- "email": "M8ch88l@gmail.com"
- }
- ],
- "name": "big.js",
- "optionalDependencies": {},
- "repository": {
- "type": "git",
- "url": "git+https://github.com/MikeMcl/big.js.git"
- },
- "scripts": {
- "build": "uglifyjs -o ./big.min.js ./big.js",
- "test": "node ./test/every-test.js"
- },
- "version": "3.1.3"
-}
diff --git a/node_modules/body-parser/HISTORY.md b/node_modules/body-parser/HISTORY.md
deleted file mode 100644
index 8c71d08..0000000
--- a/node_modules/body-parser/HISTORY.md
+++ /dev/null
@@ -1,447 +0,0 @@
-1.15.1 / 2016-05-05
-===================
-
- * deps: bytes@2.3.0
- - Drop partial bytes on all parsed units
- - Fix parsing byte string that looks like hex
- * deps: raw-body@~2.1.6
- - deps: bytes@2.3.0
- * deps: type-is@~1.6.12
- - deps: mime-types@~2.1.10
-
-1.15.0 / 2016-02-10
-===================
-
- * deps: http-errors@~1.4.0
- - Add `HttpError` export, for `err instanceof createError.HttpError`
- - deps: inherits@2.0.1
- - deps: statuses@'>= 1.2.1 < 2'
- * deps: qs@6.1.0
- * deps: type-is@~1.6.11
- - deps: mime-types@~2.1.9
-
-1.14.2 / 2015-12-16
-===================
-
- * deps: bytes@2.2.0
- * deps: iconv-lite@0.4.13
- * deps: qs@5.2.0
- * deps: raw-body@~2.1.5
- - deps: bytes@2.2.0
- - deps: iconv-lite@0.4.13
- * deps: type-is@~1.6.10
- - deps: mime-types@~2.1.8
-
-1.14.1 / 2015-09-27
-===================
-
- * Fix issue where invalid charset results in 400 when `verify` used
- * deps: iconv-lite@0.4.12
- - Fix CESU-8 decoding in Node.js 4.x
- * deps: raw-body@~2.1.4
- - Fix masking critical errors from `iconv-lite`
- - deps: iconv-lite@0.4.12
- * deps: type-is@~1.6.9
- - deps: mime-types@~2.1.7
-
-1.14.0 / 2015-09-16
-===================
-
- * Fix JSON strict parse error to match syntax errors
- * Provide static `require` analysis in `urlencoded` parser
- * deps: depd@~1.1.0
- - Support web browser loading
- * deps: qs@5.1.0
- * deps: raw-body@~2.1.3
- - Fix sync callback when attaching data listener causes sync read
- * deps: type-is@~1.6.8
- - Fix type error when given invalid type to match against
- - deps: mime-types@~2.1.6
-
-1.13.3 / 2015-07-31
-===================
-
- * deps: type-is@~1.6.6
- - deps: mime-types@~2.1.4
-
-1.13.2 / 2015-07-05
-===================
-
- * deps: iconv-lite@0.4.11
- * deps: qs@4.0.0
- - Fix dropping parameters like `hasOwnProperty`
- - Fix user-visible incompatibilities from 3.1.0
- - Fix various parsing edge cases
- * deps: raw-body@~2.1.2
- - Fix error stack traces to skip `makeError`
- - deps: iconv-lite@0.4.11
- * deps: type-is@~1.6.4
- - deps: mime-types@~2.1.2
- - perf: enable strict mode
- - perf: remove argument reassignment
-
-1.13.1 / 2015-06-16
-===================
-
- * deps: qs@2.4.2
- - Downgraded from 3.1.0 because of user-visible incompatibilities
-
-1.13.0 / 2015-06-14
-===================
-
- * Add `statusCode` property on `Error`s, in addition to `status`
- * Change `type` default to `application/json` for JSON parser
- * Change `type` default to `application/x-www-form-urlencoded` for urlencoded parser
- * Provide static `require` analysis
- * Use the `http-errors` module to generate errors
- * deps: bytes@2.1.0
- - Slight optimizations
- * deps: iconv-lite@0.4.10
- - The encoding UTF-16 without BOM now defaults to UTF-16LE when detection fails
- - Leading BOM is now removed when decoding
- * deps: on-finished@~2.3.0
- - Add defined behavior for HTTP `CONNECT` requests
- - Add defined behavior for HTTP `Upgrade` requests
- - deps: ee-first@1.1.1
- * deps: qs@3.1.0
- - Fix dropping parameters like `hasOwnProperty`
- - Fix various parsing edge cases
- - Parsed object now has `null` prototype
- * deps: raw-body@~2.1.1
- - Use `unpipe` module for unpiping requests
- - deps: iconv-lite@0.4.10
- * deps: type-is@~1.6.3
- - deps: mime-types@~2.1.1
- - perf: reduce try block size
- - perf: remove bitwise operations
- * perf: enable strict mode
- * perf: remove argument reassignment
- * perf: remove delete call
-
-1.12.4 / 2015-05-10
-===================
-
- * deps: debug@~2.2.0
- * deps: qs@2.4.2
- - Fix allowing parameters like `constructor`
- * deps: on-finished@~2.2.1
- * deps: raw-body@~2.0.1
- - Fix a false-positive when unpiping in Node.js 0.8
- - deps: bytes@2.0.1
- * deps: type-is@~1.6.2
- - deps: mime-types@~2.0.11
-
-1.12.3 / 2015-04-15
-===================
-
- * Slight efficiency improvement when not debugging
- * deps: depd@~1.0.1
- * deps: iconv-lite@0.4.8
- - Add encoding alias UNICODE-1-1-UTF-7
- * deps: raw-body@1.3.4
- - Fix hanging callback if request aborts during read
- - deps: iconv-lite@0.4.8
-
-1.12.2 / 2015-03-16
-===================
-
- * deps: qs@2.4.1
- - Fix error when parameter `hasOwnProperty` is present
-
-1.12.1 / 2015-03-15
-===================
-
- * deps: debug@~2.1.3
- - Fix high intensity foreground color for bold
- - deps: ms@0.7.0
- * deps: type-is@~1.6.1
- - deps: mime-types@~2.0.10
-
-1.12.0 / 2015-02-13
-===================
-
- * add `debug` messages
- * accept a function for the `type` option
- * use `content-type` to parse `Content-Type` headers
- * deps: iconv-lite@0.4.7
- - Gracefully support enumerables on `Object.prototype`
- * deps: raw-body@1.3.3
- - deps: iconv-lite@0.4.7
- * deps: type-is@~1.6.0
- - fix argument reassignment
- - fix false-positives in `hasBody` `Transfer-Encoding` check
- - support wildcard for both type and subtype (`*/*`)
- - deps: mime-types@~2.0.9
-
-1.11.0 / 2015-01-30
-===================
-
- * make internal `extended: true` depth limit infinity
- * deps: type-is@~1.5.6
- - deps: mime-types@~2.0.8
-
-1.10.2 / 2015-01-20
-===================
-
- * deps: iconv-lite@0.4.6
- - Fix rare aliases of single-byte encodings
- * deps: raw-body@1.3.2
- - deps: iconv-lite@0.4.6
-
-1.10.1 / 2015-01-01
-===================
-
- * deps: on-finished@~2.2.0
- * deps: type-is@~1.5.5
- - deps: mime-types@~2.0.7
-
-1.10.0 / 2014-12-02
-===================
-
- * make internal `extended: true` array limit dynamic
-
-1.9.3 / 2014-11-21
-==================
-
- * deps: iconv-lite@0.4.5
- - Fix Windows-31J and X-SJIS encoding support
- * deps: qs@2.3.3
- - Fix `arrayLimit` behavior
- * deps: raw-body@1.3.1
- - deps: iconv-lite@0.4.5
- * deps: type-is@~1.5.3
- - deps: mime-types@~2.0.3
-
-1.9.2 / 2014-10-27
-==================
-
- * deps: qs@2.3.2
- - Fix parsing of mixed objects and values
-
-1.9.1 / 2014-10-22
-==================
-
- * deps: on-finished@~2.1.1
- - Fix handling of pipelined requests
- * deps: qs@2.3.0
- - Fix parsing of mixed implicit and explicit arrays
- * deps: type-is@~1.5.2
- - deps: mime-types@~2.0.2
-
-1.9.0 / 2014-09-24
-==================
-
- * include the charset in "unsupported charset" error message
- * include the encoding in "unsupported content encoding" error message
- * deps: depd@~1.0.0
-
-1.8.4 / 2014-09-23
-==================
-
- * fix content encoding to be case-insensitive
-
-1.8.3 / 2014-09-19
-==================
-
- * deps: qs@2.2.4
- - Fix issue with object keys starting with numbers truncated
-
-1.8.2 / 2014-09-15
-==================
-
- * deps: depd@0.4.5
-
-1.8.1 / 2014-09-07
-==================
-
- * deps: media-typer@0.3.0
- * deps: type-is@~1.5.1
-
-1.8.0 / 2014-09-05
-==================
-
- * make empty-body-handling consistent between chunked requests
- - empty `json` produces `{}`
- - empty `raw` produces `new Buffer(0)`
- - empty `text` produces `''`
- - empty `urlencoded` produces `{}`
- * deps: qs@2.2.3
- - Fix issue where first empty value in array is discarded
- * deps: type-is@~1.5.0
- - fix `hasbody` to be true for `content-length: 0`
-
-1.7.0 / 2014-09-01
-==================
-
- * add `parameterLimit` option to `urlencoded` parser
- * change `urlencoded` extended array limit to 100
- * respond with 413 when over `parameterLimit` in `urlencoded`
-
-1.6.7 / 2014-08-29
-==================
-
- * deps: qs@2.2.2
- - Remove unnecessary cloning
-
-1.6.6 / 2014-08-27
-==================
-
- * deps: qs@2.2.0
- - Array parsing fix
- - Performance improvements
-
-1.6.5 / 2014-08-16
-==================
-
- * deps: on-finished@2.1.0
-
-1.6.4 / 2014-08-14
-==================
-
- * deps: qs@1.2.2
-
-1.6.3 / 2014-08-10
-==================
-
- * deps: qs@1.2.1
-
-1.6.2 / 2014-08-07
-==================
-
- * deps: qs@1.2.0
- - Fix parsing array of objects
-
-1.6.1 / 2014-08-06
-==================
-
- * deps: qs@1.1.0
- - Accept urlencoded square brackets
- - Accept empty values in implicit array notation
-
-1.6.0 / 2014-08-05
-==================
-
- * deps: qs@1.0.2
- - Complete rewrite
- - Limits array length to 20
- - Limits object depth to 5
- - Limits parameters to 1,000
-
-1.5.2 / 2014-07-27
-==================
-
- * deps: depd@0.4.4
- - Work-around v8 generating empty stack traces
-
-1.5.1 / 2014-07-26
-==================
-
- * deps: depd@0.4.3
- - Fix exception when global `Error.stackTraceLimit` is too low
-
-1.5.0 / 2014-07-20
-==================
-
- * deps: depd@0.4.2
- - Add `TRACE_DEPRECATION` environment variable
- - Remove non-standard grey color from color output
- - Support `--no-deprecation` argument
- - Support `--trace-deprecation` argument
- * deps: iconv-lite@0.4.4
- - Added encoding UTF-7
- * deps: raw-body@1.3.0
- - deps: iconv-lite@0.4.4
- - Added encoding UTF-7
- - Fix `Cannot switch to old mode now` error on Node.js 0.10+
- * deps: type-is@~1.3.2
-
-1.4.3 / 2014-06-19
-==================
-
- * deps: type-is@1.3.1
- - fix global variable leak
-
-1.4.2 / 2014-06-19
-==================
-
- * deps: type-is@1.3.0
- - improve type parsing
-
-1.4.1 / 2014-06-19
-==================
-
- * fix urlencoded extended deprecation message
-
-1.4.0 / 2014-06-19
-==================
-
- * add `text` parser
- * add `raw` parser
- * check accepted charset in content-type (accepts utf-8)
- * check accepted encoding in content-encoding (accepts identity)
- * deprecate `bodyParser()` middleware; use `.json()` and `.urlencoded()` as needed
- * deprecate `urlencoded()` without provided `extended` option
- * lazy-load urlencoded parsers
- * parsers split into files for reduced mem usage
- * support gzip and deflate bodies
- - set `inflate: false` to turn off
- * deps: raw-body@1.2.2
- - Support all encodings from `iconv-lite`
-
-1.3.1 / 2014-06-11
-==================
-
- * deps: type-is@1.2.1
- - Switch dependency from mime to mime-types@1.0.0
-
-1.3.0 / 2014-05-31
-==================
-
- * add `extended` option to urlencoded parser
-
-1.2.2 / 2014-05-27
-==================
-
- * deps: raw-body@1.1.6
- - assert stream encoding on node.js 0.8
- - assert stream encoding on node.js < 0.10.6
- - deps: bytes@1
-
-1.2.1 / 2014-05-26
-==================
-
- * invoke `next(err)` after request fully read
- - prevents hung responses and socket hang ups
-
-1.2.0 / 2014-05-11
-==================
-
- * add `verify` option
- * deps: type-is@1.2.0
- - support suffix matching
-
-1.1.2 / 2014-05-11
-==================
-
- * improve json parser speed
-
-1.1.1 / 2014-05-11
-==================
-
- * fix repeated limit parsing with every request
-
-1.1.0 / 2014-05-10
-==================
-
- * add `type` option
- * deps: pin for safety and consistency
-
-1.0.2 / 2014-04-14
-==================
-
- * use `type-is` module
-
-1.0.1 / 2014-03-20
-==================
-
- * lower default limits to 100kb
diff --git a/node_modules/body-parser/LICENSE b/node_modules/body-parser/LICENSE
deleted file mode 100644
index 386b7b6..0000000
--- a/node_modules/body-parser/LICENSE
+++ /dev/null
@@ -1,23 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2014 Jonathan Ong
-Copyright (c) 2014-2015 Douglas Christopher Wilson
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/body-parser/README.md b/node_modules/body-parser/README.md
deleted file mode 100644
index c399a65..0000000
--- a/node_modules/body-parser/README.md
+++ /dev/null
@@ -1,404 +0,0 @@
-# body-parser
-
-[![NPM Version][npm-image]][npm-url]
-[![NPM Downloads][downloads-image]][downloads-url]
-[![Build Status][travis-image]][travis-url]
-[![Test Coverage][coveralls-image]][coveralls-url]
-[![Gratipay][gratipay-image]][gratipay-url]
-
-Node.js body parsing middleware.
-
-_This does not handle multipart bodies_, due to their complex and typically
-large nature. For multipart bodies, you may be interested in the following
-modules:
-
- * [busboy](https://www.npmjs.org/package/busboy#readme) and
- [connect-busboy](https://www.npmjs.org/package/connect-busboy#readme)
- * [multiparty](https://www.npmjs.org/package/multiparty#readme) and
- [connect-multiparty](https://www.npmjs.org/package/connect-multiparty#readme)
- * [formidable](https://www.npmjs.org/package/formidable#readme)
- * [multer](https://www.npmjs.org/package/multer#readme)
-
-This module provides the following parsers:
-
- * [JSON body parser](#bodyparserjsonoptions)
- * [Raw body parser](#bodyparserrawoptions)
- * [Text body parser](#bodyparsertextoptions)
- * [URL-encoded form body parser](#bodyparserurlencodedoptions)
-
-Other body parsers you might be interested in:
-
-- [body](https://www.npmjs.org/package/body#readme)
-- [co-body](https://www.npmjs.org/package/co-body#readme)
-
-## Installation
-
-```sh
-$ npm install body-parser
-```
-
-## API
-
-```js
-var bodyParser = require('body-parser')
-```
-
-The `bodyParser` object exposes various factories to create middlewares. All
-middlewares will populate the `req.body` property with the parsed body, or an
-empty object (`{}`) if there was no body to parse (or an error was returned).
-
-The various errors returned by this module are described in the
-[errors section](#errors).
-
-### bodyParser.json(options)
-
-Returns middleware that only parses `json`. This parser accepts any Unicode
-encoding of the body and supports automatic inflation of `gzip` and `deflate`
-encodings.
-
-A new `body` object containing the parsed data is populated on the `request`
-object after the middleware (i.e. `req.body`).
-
-#### Options
-
-The `json` function takes an option `options` object that may contain any of
-the following keys:
-
-##### inflate
-
-When set to `true`, then deflated (compressed) bodies will be inflated; when
-`false`, deflated bodies are rejected. Defaults to `true`.
-
-##### limit
-
-Controls the maximum request body size. If this is a number, then the value
-specifies the number of bytes; if it is a string, the value is passed to the
-[bytes](https://www.npmjs.com/package/bytes) library for parsing. Defaults
-to `'100kb'`.
-
-##### reviver
-
-The `reviver` option is passed directly to `JSON.parse` as the second
-argument. You can find more information on this argument
-[in the MDN documentation about JSON.parse](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Example.3A_Using_the_reviver_parameter).
-
-##### strict
-
-When set to `true`, will only accept arrays and objects; when `false` will
-accept anything `JSON.parse` accepts. Defaults to `true`.
-
-##### type
-
-The `type` option is used to determine what media type the middleware will
-parse. This option can be a function or a string. If a string, `type` option
-is passed directly to the [type-is](https://www.npmjs.org/package/type-is#readme)
-library and this can be an extension name (like `json`), a mime type (like
-`application/json`), or a mime type with a wildcard (like `*/*` or `*/json`).
-If a function, the `type` option is called as `fn(req)` and the request is
-parsed if it returns a truthy value. Defaults to `application/json`.
-
-##### verify
-
-The `verify` option, if supplied, is called as `verify(req, res, buf, encoding)`,
-where `buf` is a `Buffer` of the raw request body and `encoding` is the
-encoding of the request. The parsing can be aborted by throwing an error.
-
-### bodyParser.raw(options)
-
-Returns middleware that parses all bodies as a `Buffer`. This parser
-supports automatic inflation of `gzip` and `deflate` encodings.
-
-A new `body` object containing the parsed data is populated on the `request`
-object after the middleware (i.e. `req.body`). This will be a `Buffer` object
-of the body.
-
-#### Options
-
-The `raw` function takes an option `options` object that may contain any of
-the following keys:
-
-##### inflate
-
-When set to `true`, then deflated (compressed) bodies will be inflated; when
-`false`, deflated bodies are rejected. Defaults to `true`.
-
-##### limit
-
-Controls the maximum request body size. If this is a number, then the value
-specifies the number of bytes; if it is a string, the value is passed to the
-[bytes](https://www.npmjs.com/package/bytes) library for parsing. Defaults
-to `'100kb'`.
-
-##### type
-
-The `type` option is used to determine what media type the middleware will
-parse. This option can be a function or a string. If a string, `type` option
-is passed directly to the [type-is](https://www.npmjs.org/package/type-is#readme)
-library and this can be an extension name (like `bin`), a mime type (like
-`application/octet-stream`), or a mime type with a wildcard (like `*/*` or
-`application/*`). If a function, the `type` option is called as `fn(req)`
-and the request is parsed if it returns a truthy value. Defaults to
-`application/octet-stream`.
-
-##### verify
-
-The `verify` option, if supplied, is called as `verify(req, res, buf, encoding)`,
-where `buf` is a `Buffer` of the raw request body and `encoding` is the
-encoding of the request. The parsing can be aborted by throwing an error.
-
-### bodyParser.text(options)
-
-Returns middleware that parses all bodies as a string. This parser supports
-automatic inflation of `gzip` and `deflate` encodings.
-
-A new `body` string containing the parsed data is populated on the `request`
-object after the middleware (i.e. `req.body`). This will be a string of the
-body.
-
-#### Options
-
-The `text` function takes an option `options` object that may contain any of
-the following keys:
-
-##### defaultCharset
-
-Specify the default character set for the text content if the charset is not
-specified in the `Content-Type` header of the request. Defaults to `utf-8`.
-
-##### inflate
-
-When set to `true`, then deflated (compressed) bodies will be inflated; when
-`false`, deflated bodies are rejected. Defaults to `true`.
-
-##### limit
-
-Controls the maximum request body size. If this is a number, then the value
-specifies the number of bytes; if it is a string, the value is passed to the
-[bytes](https://www.npmjs.com/package/bytes) library for parsing. Defaults
-to `'100kb'`.
-
-##### type
-
-The `type` option is used to determine what media type the middleware will
-parse. This option can be a function or a string. If a string, `type` option
-is passed directly to the [type-is](https://www.npmjs.org/package/type-is#readme)
-library and this can be an extension name (like `txt`), a mime type (like
-`text/plain`), or a mime type with a wildcard (like `*/*` or `text/*`).
-If a function, the `type` option is called as `fn(req)` and the request is
-parsed if it returns a truthy value. Defaults to `text/plain`.
-
-##### verify
-
-The `verify` option, if supplied, is called as `verify(req, res, buf, encoding)`,
-where `buf` is a `Buffer` of the raw request body and `encoding` is the
-encoding of the request. The parsing can be aborted by throwing an error.
-
-### bodyParser.urlencoded(options)
-
-Returns middleware that only parses `urlencoded` bodies. This parser accepts
-only UTF-8 encoding of the body and supports automatic inflation of `gzip`
-and `deflate` encodings.
-
-A new `body` object containing the parsed data is populated on the `request`
-object after the middleware (i.e. `req.body`). This object will contain
-key-value pairs, where the value can be a string or array (when `extended` is
-`false`), or any type (when `extended` is `true`).
-
-#### Options
-
-The `urlencoded` function takes an option `options` object that may contain
-any of the following keys:
-
-##### extended
-
-The `extended` option allows to choose between parsing the URL-encoded data
-with the `querystring` library (when `false`) or the `qs` library (when
-`true`). The "extended" syntax allows for rich objects and arrays to be
-encoded into the URL-encoded format, allowing for a JSON-like experience
-with URL-encoded. For more information, please
-[see the qs library](https://www.npmjs.org/package/qs#readme).
-
-Defaults to `true`, but using the default has been deprecated. Please
-research into the difference between `qs` and `querystring` and choose the
-appropriate setting.
-
-##### inflate
-
-When set to `true`, then deflated (compressed) bodies will be inflated; when
-`false`, deflated bodies are rejected. Defaults to `true`.
-
-##### limit
-
-Controls the maximum request body size. If this is a number, then the value
-specifies the number of bytes; if it is a string, the value is passed to the
-[bytes](https://www.npmjs.com/package/bytes) library for parsing. Defaults
-to `'100kb'`.
-
-##### parameterLimit
-
-The `parameterLimit` option controls the maximum number of parameters that
-are allowed in the URL-encoded data. If a request contains more parameters
-than this value, a 413 will be returned to the client. Defaults to `1000`.
-
-##### type
-
-The `type` option is used to determine what media type the middleware will
-parse. This option can be a function or a string. If a string, `type` option
-is passed directly to the [type-is](https://www.npmjs.org/package/type-is#readme)
-library and this can be an extension name (like `urlencoded`), a mime type (like
-`application/x-www-form-urlencoded`), or a mime type with a wildcard (like
-`*/x-www-form-urlencoded`). If a function, the `type` option is called as
-`fn(req)` and the request is parsed if it returns a truthy value. Defaults
-to `application/x-www-form-urlencoded`.
-
-##### verify
-
-The `verify` option, if supplied, is called as `verify(req, res, buf, encoding)`,
-where `buf` is a `Buffer` of the raw request body and `encoding` is the
-encoding of the request. The parsing can be aborted by throwing an error.
-
-## Errors
-
-The middlewares provided by this module create errors depending on the error
-condition during parsing. The errors will typically have a `status` property
-that contains the suggested HTTP response code and a `body` property containing
-the read body, if available.
-
-The following are the common errors emitted, though any error can come through
-for various reasons.
-
-### content encoding unsupported
-
-This error will occur when the request had a `Content-Encoding` header that
-contained an encoding but the "inflation" option was set to `false`. The
-`status` property is set to `415`.
-
-### request aborted
-
-This error will occur when the request is aborted by the client before reading
-the body has finished. The `received` property will be set to the number of
-bytes received before the request was aborted and the `expected` property is
-set to the number of expected bytes. The `status` property is set to `400`.
-
-### request entity too large
-
-This error will occur when the request body's size is larger than the "limit"
-option. The `limit` property will be set to the byte limit and the `length`
-property will be set to the request body's length. The `status` property is
-set to `413`.
-
-### request size did not match content length
-
-This error will occur when the request's length did not match the length from
-the `Content-Length` header. This typically occurs when the request is malformed,
-typically when the `Content-Length` header was calculated based on characters
-instead of bytes. The `status` property is set to `400`.
-
-### stream encoding should not be set
-
-This error will occur when something called the `req.setEncoding` method prior
-to this middleware. This module operates directly on bytes only and you cannot
-call `req.setEncoding` when using this module. The `status` property is set to
-`500`.
-
-### unsupported charset "BOGUS"
-
-This error will occur when the request had a charset parameter in the
-`Content-Type` header, but the `iconv-lite` module does not support it OR the
-parser does not support it. The charset is contained in the message as well
-as in the `charset` property. The `status` property is set to `415`.
-
-### unsupported content encoding "bogus"
-
-This error will occur when the request had a `Content-Encoding` header that
-contained an unsupported encoding. The encoding is contained in the message
-as well as in the `encoding` property. The `status` property is set to `415`.
-
-## Examples
-
-### Express/Connect top-level generic
-
-This example demonstrates adding a generic JSON and URL-encoded parser as a
-top-level middleware, which will parse the bodies of all incoming requests.
-This is the simplest setup.
-
-```js
-var express = require('express')
-var bodyParser = require('body-parser')
-
-var app = express()
-
-// parse application/x-www-form-urlencoded
-app.use(bodyParser.urlencoded({ extended: false }))
-
-// parse application/json
-app.use(bodyParser.json())
-
-app.use(function (req, res) {
- res.setHeader('Content-Type', 'text/plain')
- res.write('you posted:\n')
- res.end(JSON.stringify(req.body, null, 2))
-})
-```
-
-### Express route-specific
-
-This example demonstrates adding body parsers specifically to the routes that
-need them. In general, this is the most recommended way to use body-parser with
-Express.
-
-```js
-var express = require('express')
-var bodyParser = require('body-parser')
-
-var app = express()
-
-// create application/json parser
-var jsonParser = bodyParser.json()
-
-// create application/x-www-form-urlencoded parser
-var urlencodedParser = bodyParser.urlencoded({ extended: false })
-
-// POST /login gets urlencoded bodies
-app.post('/login', urlencodedParser, function (req, res) {
- if (!req.body) return res.sendStatus(400)
- res.send('welcome, ' + req.body.username)
-})
-
-// POST /api/users gets JSON bodies
-app.post('/api/users', jsonParser, function (req, res) {
- if (!req.body) return res.sendStatus(400)
- // create user in req.body
-})
-```
-
-### Change accepted type for parsers
-
-All the parsers accept a `type` option which allows you to change the
-`Content-Type` that the middleware will parse.
-
-```js
-// parse various different custom JSON types as JSON
-app.use(bodyParser.json({ type: 'application/*+json' }))
-
-// parse some custom thing into a Buffer
-app.use(bodyParser.raw({ type: 'application/vnd.custom-type' }))
-
-// parse an HTML body into a string
-app.use(bodyParser.text({ type: 'text/html' }))
-```
-
-## License
-
-[MIT](LICENSE)
-
-[npm-image]: https://img.shields.io/npm/v/body-parser.svg
-[npm-url]: https://npmjs.org/package/body-parser
-[travis-image]: https://img.shields.io/travis/expressjs/body-parser/master.svg
-[travis-url]: https://travis-ci.org/expressjs/body-parser
-[coveralls-image]: https://img.shields.io/coveralls/expressjs/body-parser/master.svg
-[coveralls-url]: https://coveralls.io/r/expressjs/body-parser?branch=master
-[downloads-image]: https://img.shields.io/npm/dm/body-parser.svg
-[downloads-url]: https://npmjs.org/package/body-parser
-[gratipay-image]: https://img.shields.io/gratipay/dougwilson.svg
-[gratipay-url]: https://www.gratipay.com/dougwilson/
diff --git a/node_modules/body-parser/index.js b/node_modules/body-parser/index.js
deleted file mode 100644
index f430387..0000000
--- a/node_modules/body-parser/index.js
+++ /dev/null
@@ -1,157 +0,0 @@
-/*!
- * body-parser
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict'
-
-/**
- * Module dependencies.
- * @private
- */
-
-var deprecate = require('depd')('body-parser')
-
-/**
- * Cache of loaded parsers.
- * @private
- */
-
-var parsers = Object.create(null)
-
-/**
- * @typedef Parsers
- * @type {function}
- * @property {function} json
- * @property {function} raw
- * @property {function} text
- * @property {function} urlencoded
- */
-
-/**
- * Module exports.
- * @type {Parsers}
- */
-
-exports = module.exports = deprecate.function(bodyParser,
- 'bodyParser: use individual json/urlencoded middlewares')
-
-/**
- * JSON parser.
- * @public
- */
-
-Object.defineProperty(exports, 'json', {
- configurable: true,
- enumerable: true,
- get: createParserGetter('json')
-})
-
-/**
- * Raw parser.
- * @public
- */
-
-Object.defineProperty(exports, 'raw', {
- configurable: true,
- enumerable: true,
- get: createParserGetter('raw')
-})
-
-/**
- * Text parser.
- * @public
- */
-
-Object.defineProperty(exports, 'text', {
- configurable: true,
- enumerable: true,
- get: createParserGetter('text')
-})
-
-/**
- * URL-encoded parser.
- * @public
- */
-
-Object.defineProperty(exports, 'urlencoded', {
- configurable: true,
- enumerable: true,
- get: createParserGetter('urlencoded')
-})
-
-/**
- * Create a middleware to parse json and urlencoded bodies.
- *
- * @param {object} [options]
- * @return {function}
- * @deprecated
- * @public
- */
-
-function bodyParser(options){
- var opts = {}
-
- // exclude type option
- if (options) {
- for (var prop in options) {
- if ('type' !== prop) {
- opts[prop] = options[prop]
- }
- }
- }
-
- var _urlencoded = exports.urlencoded(opts)
- var _json = exports.json(opts)
-
- return function bodyParser(req, res, next) {
- _json(req, res, function(err){
- if (err) return next(err);
- _urlencoded(req, res, next);
- });
- }
-}
-
-/**
- * Create a getter for loading a parser.
- * @private
- */
-
-function createParserGetter(name) {
- return function get() {
- return loadParser(name)
- }
-}
-
-/**
- * Load a parser module.
- * @private
- */
-
-function loadParser(parserName) {
- var parser = parsers[parserName]
-
- if (parser !== undefined) {
- return parser
- }
-
- // this uses a switch for static require analysis
- switch (parserName) {
- case 'json':
- parser = require('./lib/types/json')
- break
- case 'raw':
- parser = require('./lib/types/raw')
- break
- case 'text':
- parser = require('./lib/types/text')
- break
- case 'urlencoded':
- parser = require('./lib/types/urlencoded')
- break
- }
-
- // store to prevent invoking require()
- return parsers[parserName] = parser
-}
diff --git a/node_modules/body-parser/lib/read.js b/node_modules/body-parser/lib/read.js
deleted file mode 100644
index 95af8a7..0000000
--- a/node_modules/body-parser/lib/read.js
+++ /dev/null
@@ -1,188 +0,0 @@
-/*!
- * body-parser
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict'
-
-/**
- * Module dependencies.
- * @private
- */
-
-var createError = require('http-errors')
-var getBody = require('raw-body')
-var iconv = require('iconv-lite')
-var onFinished = require('on-finished')
-var zlib = require('zlib')
-
-/**
- * Module exports.
- */
-
-module.exports = read
-
-/**
- * Read a request into a buffer and parse.
- *
- * @param {object} req
- * @param {object} res
- * @param {function} next
- * @param {function} parse
- * @param {function} debug
- * @param {object} [options]
- * @api private
- */
-
-function read(req, res, next, parse, debug, options) {
- var length
- var opts = options || {}
- var stream
-
- // flag as parsed
- req._body = true
-
- // read options
- var encoding = opts.encoding !== null
- ? opts.encoding || 'utf-8'
- : null
- var verify = opts.verify
-
- try {
- // get the content stream
- stream = contentstream(req, debug, opts.inflate)
- length = stream.length
- stream.length = undefined
- } catch (err) {
- return next(err)
- }
-
- // set raw-body options
- opts.length = length
- opts.encoding = verify
- ? null
- : encoding
-
- // assert charset is supported
- if (opts.encoding === null && encoding !== null && !iconv.encodingExists(encoding)) {
- return next(createError(415, 'unsupported charset "' + encoding.toUpperCase() + '"', {
- charset: encoding.toLowerCase()
- }))
- }
-
- // read body
- debug('read body')
- getBody(stream, opts, function (err, body) {
- if (err) {
- // default to 400
- setErrorStatus(err, 400)
-
- // echo back charset
- if (err.type === 'encoding.unsupported') {
- err = createError(415, 'unsupported charset "' + encoding.toUpperCase() + '"', {
- charset: encoding.toLowerCase()
- })
- }
-
- // read off entire request
- stream.resume()
- onFinished(req, function onfinished() {
- next(err)
- })
- return
- }
-
- // verify
- if (verify) {
- try {
- debug('verify body')
- verify(req, res, body, encoding)
- } catch (err) {
- // default to 403
- setErrorStatus(err, 403)
- next(err)
- return
- }
- }
-
- // parse
- var str
- try {
- debug('parse body')
- str = typeof body !== 'string' && encoding !== null
- ? iconv.decode(body, encoding)
- : body
- req.body = parse(str)
- } catch (err) {
- err.body = str === undefined
- ? body
- : str
-
- // default to 400
- setErrorStatus(err, 400)
-
- next(err)
- return
- }
-
- next()
- })
-}
-
-/**
- * Get the content stream of the request.
- *
- * @param {object} req
- * @param {function} debug
- * @param {boolean} [inflate=true]
- * @return {object}
- * @api private
- */
-
-function contentstream(req, debug, inflate) {
- var encoding = (req.headers['content-encoding'] || 'identity').toLowerCase()
- var length = req.headers['content-length']
- var stream
-
- debug('content-encoding "%s"', encoding)
-
- if (inflate === false && encoding !== 'identity') {
- throw createError(415, 'content encoding unsupported')
- }
-
- switch (encoding) {
- case 'deflate':
- stream = zlib.createInflate()
- debug('inflate body')
- req.pipe(stream)
- break
- case 'gzip':
- stream = zlib.createGunzip()
- debug('gunzip body')
- req.pipe(stream)
- break
- case 'identity':
- stream = req
- stream.length = length
- break
- default:
- throw createError(415, 'unsupported content encoding "' + encoding + '"', {
- encoding: encoding
- })
- }
-
- return stream
-}
-
-/**
- * Set a status on an error object, if ones does not exist
- * @private
- */
-
-function setErrorStatus(error, status) {
- if (!error.status && !error.statusCode) {
- error.status = status
- error.statusCode = status
- }
-}
diff --git a/node_modules/body-parser/lib/types/json.js b/node_modules/body-parser/lib/types/json.js
deleted file mode 100644
index 1a70e37..0000000
--- a/node_modules/body-parser/lib/types/json.js
+++ /dev/null
@@ -1,170 +0,0 @@
-/*!
- * body-parser
- * Copyright(c) 2014 Jonathan Ong
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict'
-
-/**
- * Module dependencies.
- * @private
- */
-
-var bytes = require('bytes')
-var contentType = require('content-type')
-var createError = require('http-errors')
-var debug = require('debug')('body-parser:json')
-var read = require('../read')
-var typeis = require('type-is')
-
-/**
- * Module exports.
- */
-
-module.exports = json
-
-/**
- * RegExp to match the first non-space in a string.
- *
- * Allowed whitespace is defined in RFC 7159:
- *
- * ws = *(
- * %x20 / ; Space
- * %x09 / ; Horizontal tab
- * %x0A / ; Line feed or New line
- * %x0D ) ; Carriage return
- */
-
-var firstcharRegExp = /^[\x20\x09\x0a\x0d]*(.)/
-
-/**
- * Create a middleware to parse JSON bodies.
- *
- * @param {object} [options]
- * @return {function}
- * @public
- */
-
-function json(options) {
- var opts = options || {}
-
- var limit = typeof opts.limit !== 'number'
- ? bytes.parse(opts.limit || '100kb')
- : opts.limit
- var inflate = opts.inflate !== false
- var reviver = opts.reviver
- var strict = opts.strict !== false
- var type = opts.type || 'application/json'
- var verify = opts.verify || false
-
- if (verify !== false && typeof verify !== 'function') {
- throw new TypeError('option verify must be function')
- }
-
- // create the appropriate type checking function
- var shouldParse = typeof type !== 'function'
- ? typeChecker(type)
- : type
-
- function parse(body) {
- if (body.length === 0) {
- // special-case empty json body, as it's a common client-side mistake
- // TODO: maybe make this configurable or part of "strict" option
- return {}
- }
-
- if (strict) {
- var first = firstchar(body)
-
- if (first !== '{' && first !== '[') {
- debug('strict violation')
- throw new SyntaxError('Unexpected token ' + first)
- }
- }
-
- debug('parse json')
- return JSON.parse(body, reviver)
- }
-
- return function jsonParser(req, res, next) {
- if (req._body) {
- return debug('body already parsed'), next()
- }
-
- req.body = req.body || {}
-
- // skip requests without bodies
- if (!typeis.hasBody(req)) {
- return debug('skip empty body'), next()
- }
-
- debug('content-type %j', req.headers['content-type'])
-
- // determine if request should be parsed
- if (!shouldParse(req)) {
- return debug('skip parsing'), next()
- }
-
- // assert charset per RFC 7159 sec 8.1
- var charset = getCharset(req) || 'utf-8'
- if (charset.substr(0, 4) !== 'utf-') {
- debug('invalid charset')
- next(createError(415, 'unsupported charset "' + charset.toUpperCase() + '"', {
- charset: charset
- }))
- return
- }
-
- // read
- read(req, res, next, parse, debug, {
- encoding: charset,
- inflate: inflate,
- limit: limit,
- verify: verify
- })
- }
-}
-
-/**
- * Get the first non-whitespace character in a string.
- *
- * @param {string} str
- * @return {function}
- * @api public
- */
-
-
-function firstchar(str) {
- var match = firstcharRegExp.exec(str)
- return match ? match[1] : ''
-}
-
-/**
- * Get the charset of a request.
- *
- * @param {object} req
- * @api private
- */
-
-function getCharset(req) {
- try {
- return contentType.parse(req).parameters.charset.toLowerCase()
- } catch (e) {
- return undefined
- }
-}
-
-/**
- * Get the simple type checker.
- *
- * @param {string} type
- * @return {function}
- */
-
-function typeChecker(type) {
- return function checkType(req) {
- return Boolean(typeis(req, type))
- }
-}
diff --git a/node_modules/body-parser/lib/types/raw.js b/node_modules/body-parser/lib/types/raw.js
deleted file mode 100644
index 519146c..0000000
--- a/node_modules/body-parser/lib/types/raw.js
+++ /dev/null
@@ -1,95 +0,0 @@
-/*!
- * body-parser
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict'
-
-/**
- * Module dependencies.
- */
-
-var bytes = require('bytes')
-var debug = require('debug')('body-parser:raw')
-var read = require('../read')
-var typeis = require('type-is')
-
-/**
- * Module exports.
- */
-
-module.exports = raw
-
-/**
- * Create a middleware to parse raw bodies.
- *
- * @param {object} [options]
- * @return {function}
- * @api public
- */
-
-function raw(options) {
- var opts = options || {};
-
- var inflate = opts.inflate !== false
- var limit = typeof opts.limit !== 'number'
- ? bytes.parse(opts.limit || '100kb')
- : opts.limit
- var type = opts.type || 'application/octet-stream'
- var verify = opts.verify || false
-
- if (verify !== false && typeof verify !== 'function') {
- throw new TypeError('option verify must be function')
- }
-
- // create the appropriate type checking function
- var shouldParse = typeof type !== 'function'
- ? typeChecker(type)
- : type
-
- function parse(buf) {
- return buf
- }
-
- return function rawParser(req, res, next) {
- if (req._body) {
- return debug('body already parsed'), next()
- }
-
- req.body = req.body || {}
-
- // skip requests without bodies
- if (!typeis.hasBody(req)) {
- return debug('skip empty body'), next()
- }
-
- debug('content-type %j', req.headers['content-type'])
-
- // determine if request should be parsed
- if (!shouldParse(req)) {
- return debug('skip parsing'), next()
- }
-
- // read
- read(req, res, next, parse, debug, {
- encoding: null,
- inflate: inflate,
- limit: limit,
- verify: verify
- })
- }
-}
-
-/**
- * Get the simple type checker.
- *
- * @param {string} type
- * @return {function}
- */
-
-function typeChecker(type) {
- return function checkType(req) {
- return Boolean(typeis(req, type))
- }
-}
diff --git a/node_modules/body-parser/lib/types/text.js b/node_modules/body-parser/lib/types/text.js
deleted file mode 100644
index caf7968..0000000
--- a/node_modules/body-parser/lib/types/text.js
+++ /dev/null
@@ -1,115 +0,0 @@
-/*!
- * body-parser
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict'
-
-/**
- * Module dependencies.
- */
-
-var bytes = require('bytes')
-var contentType = require('content-type')
-var debug = require('debug')('body-parser:text')
-var read = require('../read')
-var typeis = require('type-is')
-
-/**
- * Module exports.
- */
-
-module.exports = text
-
-/**
- * Create a middleware to parse text bodies.
- *
- * @param {object} [options]
- * @return {function}
- * @api public
- */
-
-function text(options) {
- var opts = options || {}
-
- var defaultCharset = opts.defaultCharset || 'utf-8'
- var inflate = opts.inflate !== false
- var limit = typeof opts.limit !== 'number'
- ? bytes.parse(opts.limit || '100kb')
- : opts.limit
- var type = opts.type || 'text/plain'
- var verify = opts.verify || false
-
- if (verify !== false && typeof verify !== 'function') {
- throw new TypeError('option verify must be function')
- }
-
- // create the appropriate type checking function
- var shouldParse = typeof type !== 'function'
- ? typeChecker(type)
- : type
-
- function parse(buf) {
- return buf
- }
-
- return function textParser(req, res, next) {
- if (req._body) {
- return debug('body already parsed'), next()
- }
-
- req.body = req.body || {}
-
- // skip requests without bodies
- if (!typeis.hasBody(req)) {
- return debug('skip empty body'), next()
- }
-
- debug('content-type %j', req.headers['content-type'])
-
- // determine if request should be parsed
- if (!shouldParse(req)) {
- return debug('skip parsing'), next()
- }
-
- // get charset
- var charset = getCharset(req) || defaultCharset
-
- // read
- read(req, res, next, parse, debug, {
- encoding: charset,
- inflate: inflate,
- limit: limit,
- verify: verify
- })
- }
-}
-
-/**
- * Get the charset of a request.
- *
- * @param {object} req
- * @api private
- */
-
-function getCharset(req) {
- try {
- return contentType.parse(req).parameters.charset.toLowerCase()
- } catch (e) {
- return undefined
- }
-}
-
-/**
- * Get the simple type checker.
- *
- * @param {string} type
- * @return {function}
- */
-
-function typeChecker(type) {
- return function checkType(req) {
- return Boolean(typeis(req, type))
- }
-}
diff --git a/node_modules/body-parser/lib/types/urlencoded.js b/node_modules/body-parser/lib/types/urlencoded.js
deleted file mode 100644
index 76f5aa4..0000000
--- a/node_modules/body-parser/lib/types/urlencoded.js
+++ /dev/null
@@ -1,273 +0,0 @@
-/*!
- * body-parser
- * Copyright(c) 2014 Jonathan Ong
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict'
-
-/**
- * Module dependencies.
- * @private
- */
-
-var bytes = require('bytes')
-var contentType = require('content-type')
-var createError = require('http-errors')
-var debug = require('debug')('body-parser:urlencoded')
-var deprecate = require('depd')('body-parser')
-var read = require('../read')
-var typeis = require('type-is')
-
-/**
- * Module exports.
- */
-
-module.exports = urlencoded
-
-/**
- * Cache of parser modules.
- */
-
-var parsers = Object.create(null)
-
-/**
- * Create a middleware to parse urlencoded bodies.
- *
- * @param {object} [options]
- * @return {function}
- * @public
- */
-
-function urlencoded(options) {
- var opts = options || {}
-
- // notice because option default will flip in next major
- if (opts.extended === undefined) {
- deprecate('undefined extended: provide extended option')
- }
-
- var extended = opts.extended !== false
- var inflate = opts.inflate !== false
- var limit = typeof opts.limit !== 'number'
- ? bytes.parse(opts.limit || '100kb')
- : opts.limit
- var type = opts.type || 'application/x-www-form-urlencoded'
- var verify = opts.verify || false
-
- if (verify !== false && typeof verify !== 'function') {
- throw new TypeError('option verify must be function')
- }
-
- // create the appropriate query parser
- var queryparse = extended
- ? extendedparser(opts)
- : simpleparser(opts)
-
- // create the appropriate type checking function
- var shouldParse = typeof type !== 'function'
- ? typeChecker(type)
- : type
-
- function parse(body) {
- return body.length
- ? queryparse(body)
- : {}
- }
-
- return function urlencodedParser(req, res, next) {
- if (req._body) {
- return debug('body already parsed'), next()
- }
-
- req.body = req.body || {}
-
- // skip requests without bodies
- if (!typeis.hasBody(req)) {
- return debug('skip empty body'), next()
- }
-
- debug('content-type %j', req.headers['content-type'])
-
- // determine if request should be parsed
- if (!shouldParse(req)) {
- return debug('skip parsing'), next()
- }
-
- // assert charset
- var charset = getCharset(req) || 'utf-8'
- if (charset !== 'utf-8') {
- debug('invalid charset')
- next(createError(415, 'unsupported charset "' + charset.toUpperCase() + '"', {
- charset: charset
- }))
- return
- }
-
- // read
- read(req, res, next, parse, debug, {
- debug: debug,
- encoding: charset,
- inflate: inflate,
- limit: limit,
- verify: verify
- })
- }
-}
-
-/**
- * Get the extended query parser.
- *
- * @param {object} options
- */
-
-function extendedparser(options) {
- var parameterLimit = options.parameterLimit !== undefined
- ? options.parameterLimit
- : 1000
- var parse = parser('qs')
-
- if (isNaN(parameterLimit) || parameterLimit < 1) {
- throw new TypeError('option parameterLimit must be a positive number')
- }
-
- if (isFinite(parameterLimit)) {
- parameterLimit = parameterLimit | 0
- }
-
- return function queryparse(body) {
- var paramCount = parameterCount(body, parameterLimit)
-
- if (paramCount === undefined) {
- debug('too many parameters')
- throw createError(413, 'too many parameters')
- }
-
- var arrayLimit = Math.max(100, paramCount)
-
- debug('parse extended urlencoding')
- return parse(body, {
- allowPrototypes: true,
- arrayLimit: arrayLimit,
- depth: Infinity,
- parameterLimit: parameterLimit
- })
- }
-}
-
-/**
- * Get the charset of a request.
- *
- * @param {object} req
- * @api private
- */
-
-function getCharset(req) {
- try {
- return contentType.parse(req).parameters.charset.toLowerCase()
- } catch (e) {
- return undefined
- }
-}
-
-/**
- * Count the number of parameters, stopping once limit reached
- *
- * @param {string} body
- * @param {number} limit
- * @api private
- */
-
-function parameterCount(body, limit) {
- var count = 0
- var index = 0
-
- while ((index = body.indexOf('&', index)) !== -1) {
- count++
- index++
-
- if (count === limit) {
- return undefined
- }
- }
-
- return count
-}
-
-/**
- * Get parser for module name dynamically.
- *
- * @param {string} name
- * @return {function}
- * @api private
- */
-
-function parser(name) {
- var mod = parsers[name]
-
- if (mod !== undefined) {
- return mod.parse
- }
-
- // this uses a switch for static require analysis
- switch (name) {
- case 'qs':
- mod = require('qs')
- break
- case 'querystring':
- mod = require('querystring')
- break
- }
-
- // store to prevent invoking require()
- parsers[name] = mod
-
- return mod.parse
-}
-
-/**
- * Get the simple query parser.
- *
- * @param {object} options
- */
-
-function simpleparser(options) {
- var parameterLimit = options.parameterLimit !== undefined
- ? options.parameterLimit
- : 1000
- var parse = parser('querystring')
-
- if (isNaN(parameterLimit) || parameterLimit < 1) {
- throw new TypeError('option parameterLimit must be a positive number')
- }
-
- if (isFinite(parameterLimit)) {
- parameterLimit = parameterLimit | 0
- }
-
- return function queryparse(body) {
- var paramCount = parameterCount(body, parameterLimit)
-
- if (paramCount === undefined) {
- debug('too many parameters')
- throw createError(413, 'too many parameters')
- }
-
- debug('parse urlencoding')
- return parse(body, undefined, undefined, {maxKeys: parameterLimit})
- }
-}
-
-/**
- * Get the simple type checker.
- *
- * @param {string} type
- * @return {function}
- */
-
-function typeChecker(type) {
- return function checkType(req) {
- return Boolean(typeis(req, type))
- }
-}
diff --git a/node_modules/body-parser/package.json b/node_modules/body-parser/package.json
deleted file mode 100644
index 5703b7d..0000000
--- a/node_modules/body-parser/package.json
+++ /dev/null
@@ -1,109 +0,0 @@
-{
- "_args": [
- [
- "body-parser@1.15.1",
- "/home/vincent/Bureau/RIA"
- ]
- ],
- "_from": "body-parser@1.15.1",
- "_id": "body-parser@1.15.1",
- "_inCache": true,
- "_installable": true,
- "_location": "/body-parser",
- "_nodeVersion": "4.4.3",
- "_npmOperationalInternal": {
- "host": "packages-16-east.internal.npmjs.com",
- "tmp": "tmp/body-parser-1.15.1.tgz_1462512908287_0.2557021768298"
- },
- "_npmUser": {
- "email": "doug@somethingdoug.com",
- "name": "dougwilson"
- },
- "_npmVersion": "2.15.1",
- "_phantomChildren": {},
- "_requested": {
- "name": "body-parser",
- "raw": "body-parser@1.15.1",
- "rawSpec": "1.15.1",
- "scope": null,
- "spec": "1.15.1",
- "type": "version"
- },
- "_requiredBy": [
- "/"
- ],
- "_resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.15.1.tgz",
- "_shasum": "9bceef0669b8f8b943f0ad8ce5d95716bd740fd2",
- "_shrinkwrap": null,
- "_spec": "body-parser@1.15.1",
- "_where": "/home/vincent/Bureau/RIA",
- "bugs": {
- "url": "https://github.com/expressjs/body-parser/issues"
- },
- "contributors": [
- {
- "email": "doug@somethingdoug.com",
- "name": "Douglas Christopher Wilson"
- },
- {
- "email": "me@jongleberry.com",
- "name": "Jonathan Ong",
- "url": "http://jongleberry.com"
- }
- ],
- "dependencies": {
- "bytes": "2.3.0",
- "content-type": "~1.0.1",
- "debug": "~2.2.0",
- "depd": "~1.1.0",
- "http-errors": "~1.4.0",
- "iconv-lite": "0.4.13",
- "on-finished": "~2.3.0",
- "qs": "6.1.0",
- "raw-body": "~2.1.6",
- "type-is": "~1.6.12"
- },
- "description": "Node.js body parsing middleware",
- "devDependencies": {
- "istanbul": "0.4.3",
- "methods": "1.1.2",
- "mocha": "2.4.5",
- "supertest": "1.1.0"
- },
- "directories": {},
- "dist": {
- "shasum": "9bceef0669b8f8b943f0ad8ce5d95716bd740fd2",
- "tarball": "https://registry.npmjs.org/body-parser/-/body-parser-1.15.1.tgz"
- },
- "engines": {
- "node": ">= 0.8"
- },
- "files": [
- "lib/",
- "LICENSE",
- "HISTORY.md",
- "index.js"
- ],
- "gitHead": "e701380ab9b862bbf2223e4df4835a15e4e1ff66",
- "homepage": "https://github.com/expressjs/body-parser#readme",
- "license": "MIT",
- "maintainers": [
- {
- "email": "doug@somethingdoug.com",
- "name": "dougwilson"
- }
- ],
- "name": "body-parser",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/expressjs/body-parser.git"
- },
- "scripts": {
- "test": "mocha --require test/support/env --reporter spec --check-leaks --bail test/",
- "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --require test/support/env --reporter dot --check-leaks test/",
- "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --require test/support/env --reporter spec --check-leaks test/"
- },
- "version": "1.15.1"
-}
diff --git a/node_modules/bytes/History.md b/node_modules/bytes/History.md
deleted file mode 100644
index 559e063..0000000
--- a/node_modules/bytes/History.md
+++ /dev/null
@@ -1,65 +0,0 @@
-2.3.0 / 2016-02-15
-==================
-
- * Drop partial bytes on all parsed units
- * Fix non-finite numbers to `.format` to return `null`
- * Fix parsing byte string that looks like hex
- * perf: hoist regular expressions
-
-2.2.0 / 2015-11-13
-==================
-
- * add option "decimalPlaces"
- * add option "fixedDecimals"
-
-2.1.0 / 2015-05-21
-==================
-
- * add `.format` export
- * add `.parse` export
-
-2.0.2 / 2015-05-20
-==================
-
- * remove map recreation
- * remove unnecessary object construction
-
-2.0.1 / 2015-05-07
-==================
-
- * fix browserify require
- * remove node.extend dependency
-
-2.0.0 / 2015-04-12
-==================
-
- * add option "case"
- * add option "thousandsSeparator"
- * return "null" on invalid parse input
- * support proper round-trip: bytes(bytes(num)) === num
- * units no longer case sensitive when parsing
-
-1.0.0 / 2014-05-05
-==================
-
- * add negative support. fixes #6
-
-0.3.0 / 2014-03-19
-==================
-
- * added terabyte support
-
-0.2.1 / 2013-04-01
-==================
-
- * add .component
-
-0.2.0 / 2012-10-28
-==================
-
- * bytes(200).should.eql('200b')
-
-0.1.0 / 2012-07-04
-==================
-
- * add bytes to string conversion [yields]
diff --git a/node_modules/bytes/LICENSE b/node_modules/bytes/LICENSE
deleted file mode 100644
index 63e95a9..0000000
--- a/node_modules/bytes/LICENSE
+++ /dev/null
@@ -1,23 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2012-2014 TJ Holowaychuk
-Copyright (c) 2015 Jed Watson
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/bytes/Readme.md b/node_modules/bytes/Readme.md
deleted file mode 100644
index dd19ff2..0000000
--- a/node_modules/bytes/Readme.md
+++ /dev/null
@@ -1,109 +0,0 @@
-# Bytes utility
-
-[![NPM Version][npm-image]][npm-url]
-[![NPM Downloads][downloads-image]][downloads-url]
-[![Build Status][travis-image]][travis-url]
-
-Utility to parse a string bytes (ex: `1TB`) to bytes (`1099511627776`) and vice-versa.
-
-## Usage
-
-```js
-var bytes = require('bytes');
-```
-
-#### bytes.format(number value, [options]): string|null
-
-Format the given value in bytes into a string. If the value is negative, it is kept as such. If it is a float, it is
- rounded.
-
-**Arguments**
-
-| Name | Type | Description |
-|---------|--------|--------------------|
-| value | `number` | Value in bytes |
-| options | `Object` | Conversion options |
-
-**Options**
-
-| Property | Type | Description |
-|-------------------|--------|-----------------------------------------------------------------------------------------|
-| decimalPlaces | `number`|`null` | Maximum number of decimal places to include in output. Default value to `2`. |
-| fixedDecimals | `boolean`|`null` | Whether to always display the maximum number of decimal places. Default value to `false` |
-| thousandsSeparator | `string`|`null` | Example of values: `' '`, `','` and `.`... Default value to `' '`. |
-
-**Returns**
-
-| Name | Type | Description |
-|---------|-------------|-------------------------|
-| results | `string`|`null` | Return null upon error. String value otherwise. |
-
-**Example**
-
-```js
-bytes(1024);
-// output: '1kB'
-
-bytes(1000);
-// output: '1000B'
-
-bytes(1000, {thousandsSeparator: ' '});
-// output: '1 000B'
-
-bytes(1024 * 1.7, {decimalPlaces: 0});
-// output: '2kB'
-```
-
-#### bytes.parse(string value): number|null
-
-Parse the string value into an integer in bytes. If no unit is given, it is assumed the value is in bytes.
-
-Supported units and abbreviations are as follows and are case-insensitive:
-
- * "b" for bytes
- * "kb" for kilobytes
- * "mb" for megabytes
- * "gb" for gigabytes
- * "tb" for terabytes
-
-The units are in powers of two, not ten. This means 1kb = 1024b according to this parser.
-
-**Arguments**
-
-| Name | Type | Description |
-|---------------|--------|--------------------|
-| value | `string` | String to parse. |
-
-**Returns**
-
-| Name | Type | Description |
-|---------|-------------|-------------------------|
-| results | `number`|`null` | Return null upon error. Value in bytes otherwise. |
-
-**Example**
-
-```js
-bytes('1kB');
-// output: 1024
-
-bytes('1024');
-// output: 1024
-```
-
-## Installation
-
-```bash
-npm install bytes --save
-component install visionmedia/bytes.js
-```
-
-## License
-
-[](https://github.com/visionmedia/bytes.js/blob/master/LICENSE)
-
-[downloads-image]: https://img.shields.io/npm/dm/bytes.svg
-[downloads-url]: https://npmjs.org/package/bytes
-[npm-image]: https://img.shields.io/npm/v/bytes.svg
-[npm-url]: https://npmjs.org/package/bytes
-[travis-image]: https://img.shields.io/travis/visionmedia/bytes.js/master.svg
-[travis-url]: https://travis-ci.org/visionmedia/bytes.js
diff --git a/node_modules/bytes/index.js b/node_modules/bytes/index.js
deleted file mode 100644
index f71cca7..0000000
--- a/node_modules/bytes/index.js
+++ /dev/null
@@ -1,154 +0,0 @@
-/*!
- * bytes
- * Copyright(c) 2012-2014 TJ Holowaychuk
- * Copyright(c) 2015 Jed Watson
- * MIT Licensed
- */
-
-'use strict';
-
-/**
- * Module exports.
- * @public
- */
-
-module.exports = bytes;
-module.exports.format = format;
-module.exports.parse = parse;
-
-/**
- * Module variables.
- * @private
- */
-
-var formatThousandsRegExp = /\B(?=(\d{3})+(?!\d))/g;
-
-var formatDecimalsRegExp = /(?:\.0*|(\.[^0]+)0+)$/;
-
-var map = {
- b: 1,
- kb: 1 << 10,
- mb: 1 << 20,
- gb: 1 << 30,
- tb: ((1 << 30) * 1024)
-};
-
-// TODO: use is-finite module?
-var numberIsFinite = Number.isFinite || function (v) { return typeof v === 'number' && isFinite(v); };
-
-var parseRegExp = /^((-|\+)?(\d+(?:\.\d+)?)) *(kb|mb|gb|tb)$/i;
-
-/**
- * Convert the given value in bytes into a string or parse to string to an integer in bytes.
- *
- * @param {string|number} value
- * @param {{
- * case: [string],
- * decimalPlaces: [number]
- * fixedDecimals: [boolean]
- * thousandsSeparator: [string]
- * }} [options] bytes options.
- *
- * @returns {string|number|null}
- */
-
-function bytes(value, options) {
- if (typeof value === 'string') {
- return parse(value);
- }
-
- if (typeof value === 'number') {
- return format(value, options);
- }
-
- return null;
-}
-
-/**
- * Format the given value in bytes into a string.
- *
- * If the value is negative, it is kept as such. If it is a float,
- * it is rounded.
- *
- * @param {number} value
- * @param {object} [options]
- * @param {number} [options.decimalPlaces=2]
- * @param {number} [options.fixedDecimals=false]
- * @param {string} [options.thousandsSeparator=]
- *
- * @returns {string|null}
- * @public
- */
-
-function format(value, options) {
- if (!numberIsFinite(value)) {
- return null;
- }
-
- var mag = Math.abs(value);
- var thousandsSeparator = (options && options.thousandsSeparator) || '';
- var decimalPlaces = (options && options.decimalPlaces !== undefined) ? options.decimalPlaces : 2;
- var fixedDecimals = Boolean(options && options.fixedDecimals);
- var unit = 'B';
-
- if (mag >= map.tb) {
- unit = 'TB';
- } else if (mag >= map.gb) {
- unit = 'GB';
- } else if (mag >= map.mb) {
- unit = 'MB';
- } else if (mag >= map.kb) {
- unit = 'kB';
- }
-
- var val = value / map[unit.toLowerCase()];
- var str = val.toFixed(decimalPlaces);
-
- if (!fixedDecimals) {
- str = str.replace(formatDecimalsRegExp, '$1');
- }
-
- if (thousandsSeparator) {
- str = str.replace(formatThousandsRegExp, thousandsSeparator);
- }
-
- return str + unit;
-}
-
-/**
- * Parse the string value into an integer in bytes.
- *
- * If no unit is given, it is assumed the value is in bytes.
- *
- * @param {number|string} val
- *
- * @returns {number|null}
- * @public
- */
-
-function parse(val) {
- if (typeof val === 'number' && !isNaN(val)) {
- return val;
- }
-
- if (typeof val !== 'string') {
- return null;
- }
-
- // Test if the string passed is valid
- var results = parseRegExp.exec(val);
- var floatValue;
- var unit = 'b';
-
- if (!results) {
- // Nothing could be extracted from the given string
- floatValue = parseInt(val, 10);
- unit = 'b'
- } else {
- // Retrieve the value and the unit
- floatValue = parseFloat(results[1]);
- unit = results[4].toLowerCase();
- }
-
- return Math.floor(map[unit] * floatValue);
-}
diff --git a/node_modules/bytes/package.json b/node_modules/bytes/package.json
deleted file mode 100644
index c1d816c..0000000
--- a/node_modules/bytes/package.json
+++ /dev/null
@@ -1,113 +0,0 @@
-{
- "_args": [
- [
- "bytes@2.3.0",
- "/home/vincent/Bureau/RIA/node_modules/body-parser"
- ]
- ],
- "_from": "bytes@2.3.0",
- "_id": "bytes@2.3.0",
- "_inCache": true,
- "_installable": true,
- "_location": "/bytes",
- "_nodeVersion": "4.2.3",
- "_npmOperationalInternal": {
- "host": "packages-6-west.internal.npmjs.com",
- "tmp": "tmp/bytes-2.3.0.tgz_1455595208428_0.5990735022351146"
- },
- "_npmUser": {
- "email": "doug@somethingdoug.com",
- "name": "dougwilson"
- },
- "_npmVersion": "2.14.7",
- "_phantomChildren": {},
- "_requested": {
- "name": "bytes",
- "raw": "bytes@2.3.0",
- "rawSpec": "2.3.0",
- "scope": null,
- "spec": "2.3.0",
- "type": "version"
- },
- "_requiredBy": [
- "/body-parser",
- "/raw-body"
- ],
- "_resolved": "https://registry.npmjs.org/bytes/-/bytes-2.3.0.tgz",
- "_shasum": "d5b680a165b6201739acb611542aabc2d8ceb070",
- "_shrinkwrap": null,
- "_spec": "bytes@2.3.0",
- "_where": "/home/vincent/Bureau/RIA/node_modules/body-parser",
- "author": {
- "email": "tj@vision-media.ca",
- "name": "TJ Holowaychuk",
- "url": "http://tjholowaychuk.com"
- },
- "bugs": {
- "url": "https://github.com/visionmedia/bytes.js/issues"
- },
- "component": {
- "scripts": {
- "bytes/index.js": "index.js"
- }
- },
- "contributors": [
- {
- "email": "jed.watson@me.com",
- "name": "Jed Watson"
- },
- {
- "email": "theo.fidry@gmail.com",
- "name": "Théo FIDRY"
- }
- ],
- "dependencies": {},
- "description": "Utility to parse a string bytes to bytes and vice-versa",
- "devDependencies": {
- "mocha": "1.21.5"
- },
- "directories": {},
- "dist": {
- "shasum": "d5b680a165b6201739acb611542aabc2d8ceb070",
- "tarball": "https://registry.npmjs.org/bytes/-/bytes-2.3.0.tgz"
- },
- "files": [
- "History.md",
- "LICENSE",
- "Readme.md",
- "index.js"
- ],
- "gitHead": "c8be41b24b04e04992d5918356d5a4dd35fbf805",
- "homepage": "https://github.com/visionmedia/bytes.js#readme",
- "keywords": [
- "byte",
- "bytes",
- "utility",
- "parse",
- "parser",
- "convert",
- "converter"
- ],
- "license": "MIT",
- "maintainers": [
- {
- "email": "doug@somethingdoug.com",
- "name": "dougwilson"
- },
- {
- "email": "tj@vision-media.ca",
- "name": "tjholowaychuk"
- }
- ],
- "name": "bytes",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/visionmedia/bytes.js.git"
- },
- "scripts": {
- "test": "mocha --check-leaks --reporter spec"
- },
- "version": "2.3.0"
-}
diff --git a/node_modules/colors/LICENSE b/node_modules/colors/LICENSE
deleted file mode 100644
index 3de4e33..0000000
--- a/node_modules/colors/LICENSE
+++ /dev/null
@@ -1,23 +0,0 @@
-Original Library
- - Copyright (c) Marak Squires
-
-Additional Functionality
- - Copyright (c) Sindre Sorhus (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
\ No newline at end of file
diff --git a/node_modules/colors/ReadMe.md b/node_modules/colors/ReadMe.md
deleted file mode 100644
index 0326aab..0000000
--- a/node_modules/colors/ReadMe.md
+++ /dev/null
@@ -1,178 +0,0 @@
-# colors.js [](https://travis-ci.org/Marak/colors.js)
-
-## get color and style in your node.js console
-
-
-
-## Installation
-
- npm install colors
-
-## colors and styles!
-
-### text colors
-
- - black
- - red
- - green
- - yellow
- - blue
- - magenta
- - cyan
- - white
- - gray
- - grey
-
-### background colors
-
- - bgBlack
- - bgRed
- - bgGreen
- - bgYellow
- - bgBlue
- - bgMagenta
- - bgCyan
- - bgWhite
-
-### styles
-
- - reset
- - bold
- - dim
- - italic
- - underline
- - inverse
- - hidden
- - strikethrough
-
-### extras
-
- - rainbow
- - zebra
- - america
- - trap
- - random
-
-
-## Usage
-
-By popular demand, `colors` now ships with two types of usages!
-
-The super nifty way
-
-```js
-var colors = require('colors');
-
-console.log('hello'.green); // outputs green text
-console.log('i like cake and pies'.underline.red) // outputs red underlined text
-console.log('inverse the color'.inverse); // inverses the color
-console.log('OMG Rainbows!'.rainbow); // rainbow
-console.log('Run the trap'.trap); // Drops the bass
-
-```
-
-or a slightly less nifty way which doesn't extend `String.prototype`
-
-```js
-var colors = require('colors/safe');
-
-console.log(colors.green('hello')); // outputs green text
-console.log(colors.red.underline('i like cake and pies')) // outputs red underlined text
-console.log(colors.inverse('inverse the color')); // inverses the color
-console.log(colors.rainbow('OMG Rainbows!')); // rainbow
-console.log(colors.trap('Run the trap')); // Drops the bass
-
-```
-
-I prefer the first way. Some people seem to be afraid of extending `String.prototype` and prefer the second way.
-
-If you are writing good code you will never have an issue with the first approach. If you really don't want to touch `String.prototype`, the second usage will not touch `String` native object.
-
-## Disabling Colors
-
-To disable colors you can pass the following arguments in the command line to your application:
-
-```bash
-node myapp.js --no-color
-```
-
-## Console.log [string substitution](http://nodejs.org/docs/latest/api/console.html#console_console_log_data)
-
-```js
-var name = 'Marak';
-console.log(colors.green('Hello %s'), name);
-// outputs -> 'Hello Marak'
-```
-
-## Custom themes
-
-### Using standard API
-
-```js
-
-var colors = require('colors');
-
-colors.setTheme({
- silly: 'rainbow',
- input: 'grey',
- verbose: 'cyan',
- prompt: 'grey',
- info: 'green',
- data: 'grey',
- help: 'cyan',
- warn: 'yellow',
- debug: 'blue',
- error: 'red'
-});
-
-// outputs red text
-console.log("this is an error".error);
-
-// outputs yellow text
-console.log("this is a warning".warn);
-```
-
-### Using string safe API
-
-```js
-var colors = require('colors/safe');
-
-// set single property
-var error = colors.red;
-error('this is red');
-
-// set theme
-colors.setTheme({
- silly: 'rainbow',
- input: 'grey',
- verbose: 'cyan',
- prompt: 'grey',
- info: 'green',
- data: 'grey',
- help: 'cyan',
- warn: 'yellow',
- debug: 'blue',
- error: 'red'
-});
-
-// outputs red text
-console.log(colors.error("this is an error"));
-
-// outputs yellow text
-console.log(colors.warn("this is a warning"));
-
-```
-
-You can also combine them:
-
-```javascript
-var colors = require('colors');
-
-colors.setTheme({
- custom: ['red', 'underline']
-});
-
-console.log('test'.custom);
-```
-
-*Protip: There is a secret undocumented style in `colors`. If you find the style you can summon him.*
diff --git a/node_modules/colors/examples/normal-usage.js b/node_modules/colors/examples/normal-usage.js
deleted file mode 100644
index 2818741..0000000
--- a/node_modules/colors/examples/normal-usage.js
+++ /dev/null
@@ -1,74 +0,0 @@
-var colors = require('../lib/index');
-
-console.log("First some yellow text".yellow);
-
-console.log("Underline that text".yellow.underline);
-
-console.log("Make it bold and red".red.bold);
-
-console.log(("Double Raindows All Day Long").rainbow)
-
-console.log("Drop the bass".trap)
-
-console.log("DROP THE RAINBOW BASS".trap.rainbow)
-
-
-console.log('Chains are also cool.'.bold.italic.underline.red); // styles not widely supported
-
-console.log('So '.green + 'are'.underline + ' ' + 'inverse'.inverse + ' styles! '.yellow.bold); // styles not widely supported
-console.log("Zebras are so fun!".zebra);
-
-//
-// Remark: .strikethrough may not work with Mac OS Terminal App
-//
-console.log("This is " + "not".strikethrough + " fun.");
-
-console.log('Background color attack!'.black.bgWhite)
-console.log('Use random styles on everything!'.random)
-console.log('America, Heck Yeah!'.america)
-
-
-console.log('Setting themes is useful')
-
-//
-// Custom themes
-//
-console.log('Generic logging theme as JSON'.green.bold.underline);
-// Load theme with JSON literal
-colors.setTheme({
- silly: 'rainbow',
- input: 'grey',
- verbose: 'cyan',
- prompt: 'grey',
- info: 'green',
- data: 'grey',
- help: 'cyan',
- warn: 'yellow',
- debug: 'blue',
- error: 'red'
-});
-
-// outputs red text
-console.log("this is an error".error);
-
-// outputs yellow text
-console.log("this is a warning".warn);
-
-// outputs grey text
-console.log("this is an input".input);
-
-console.log('Generic logging theme as file'.green.bold.underline);
-
-// Load a theme from file
-colors.setTheme(__dirname + '/../themes/generic-logging.js');
-
-// outputs red text
-console.log("this is an error".error);
-
-// outputs yellow text
-console.log("this is a warning".warn);
-
-// outputs grey text
-console.log("this is an input".input);
-
-//console.log("Don't summon".zalgo)
\ No newline at end of file
diff --git a/node_modules/colors/examples/safe-string.js b/node_modules/colors/examples/safe-string.js
deleted file mode 100644
index 111b363..0000000
--- a/node_modules/colors/examples/safe-string.js
+++ /dev/null
@@ -1,76 +0,0 @@
-var colors = require('../safe');
-
-console.log(colors.yellow("First some yellow text"));
-
-console.log(colors.yellow.underline("Underline that text"));
-
-console.log(colors.red.bold("Make it bold and red"));
-
-console.log(colors.rainbow("Double Raindows All Day Long"))
-
-console.log(colors.trap("Drop the bass"))
-
-console.log(colors.rainbow(colors.trap("DROP THE RAINBOW BASS")));
-
-console.log(colors.bold.italic.underline.red('Chains are also cool.')); // styles not widely supported
-
-
-console.log(colors.green('So ') + colors.underline('are') + ' ' + colors.inverse('inverse') + colors.yellow.bold(' styles! ')); // styles not widely supported
-
-console.log(colors.zebra("Zebras are so fun!"));
-
-console.log("This is " + colors.strikethrough("not") + " fun.");
-
-
-console.log(colors.black.bgWhite('Background color attack!'));
-console.log(colors.random('Use random styles on everything!'))
-console.log(colors.america('America, Heck Yeah!'));
-
-console.log('Setting themes is useful')
-
-//
-// Custom themes
-//
-//console.log('Generic logging theme as JSON'.green.bold.underline);
-// Load theme with JSON literal
-colors.setTheme({
- silly: 'rainbow',
- input: 'grey',
- verbose: 'cyan',
- prompt: 'grey',
- info: 'green',
- data: 'grey',
- help: 'cyan',
- warn: 'yellow',
- debug: 'blue',
- error: 'red'
-});
-
-// outputs red text
-console.log(colors.error("this is an error"));
-
-// outputs yellow text
-console.log(colors.warn("this is a warning"));
-
-// outputs grey text
-console.log(colors.input("this is an input"));
-
-
-// console.log('Generic logging theme as file'.green.bold.underline);
-
-// Load a theme from file
-colors.setTheme(__dirname + '/../themes/generic-logging.js');
-
-// outputs red text
-console.log(colors.error("this is an error"));
-
-// outputs yellow text
-console.log(colors.warn("this is a warning"));
-
-// outputs grey text
-console.log(colors.input("this is an input"));
-
-// console.log(colors.zalgo("Don't summon him"))
-
-
-
diff --git a/node_modules/colors/lib/colors.js b/node_modules/colors/lib/colors.js
deleted file mode 100644
index 790ffd4..0000000
--- a/node_modules/colors/lib/colors.js
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
-
-The MIT License (MIT)
-
-Original Library
- - Copyright (c) Marak Squires
-
-Additional functionality
- - Copyright (c) Sindre Sorhus (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-
-*/
-
-var colors = {};
-module['exports'] = colors;
-
-colors.themes = {};
-
-var ansiStyles = colors.styles = require('./styles');
-var defineProps = Object.defineProperties;
-
-colors.supportsColor = require('./system/supports-colors');
-
-if (typeof colors.enabled === "undefined") {
- colors.enabled = colors.supportsColor;
-}
-
-colors.stripColors = colors.strip = function(str){
- return ("" + str).replace(/\x1B\[\d+m/g, '');
-};
-
-
-var stylize = colors.stylize = function stylize (str, style) {
- if (!colors.enabled) {
- return str+'';
- }
-
- return ansiStyles[style].open + str + ansiStyles[style].close;
-}
-
-var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g;
-var escapeStringRegexp = function (str) {
- if (typeof str !== 'string') {
- throw new TypeError('Expected a string');
- }
- return str.replace(matchOperatorsRe, '\\$&');
-}
-
-function build(_styles) {
- var builder = function builder() {
- return applyStyle.apply(builder, arguments);
- };
- builder._styles = _styles;
- // __proto__ is used because we must return a function, but there is
- // no way to create a function with a different prototype.
- builder.__proto__ = proto;
- return builder;
-}
-
-var styles = (function () {
- var ret = {};
- ansiStyles.grey = ansiStyles.gray;
- Object.keys(ansiStyles).forEach(function (key) {
- ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');
- ret[key] = {
- get: function () {
- return build(this._styles.concat(key));
- }
- };
- });
- return ret;
-})();
-
-var proto = defineProps(function colors() {}, styles);
-
-function applyStyle() {
- var args = arguments;
- var argsLen = args.length;
- var str = argsLen !== 0 && String(arguments[0]);
- if (argsLen > 1) {
- for (var a = 1; a < argsLen; a++) {
- str += ' ' + args[a];
- }
- }
-
- if (!colors.enabled || !str) {
- return str;
- }
-
- var nestedStyles = this._styles;
-
- var i = nestedStyles.length;
- while (i--) {
- var code = ansiStyles[nestedStyles[i]];
- str = code.open + str.replace(code.closeRe, code.open) + code.close;
- }
-
- return str;
-}
-
-function applyTheme (theme) {
- for (var style in theme) {
- (function(style){
- colors[style] = function(str){
- if (typeof theme[style] === 'object'){
- var out = str;
- for (var i in theme[style]){
- out = colors[theme[style][i]](out);
- }
- return out;
- }
- return colors[theme[style]](str);
- };
- })(style)
- }
-}
-
-colors.setTheme = function (theme) {
- if (typeof theme === 'string') {
- try {
- colors.themes[theme] = require(theme);
- applyTheme(colors.themes[theme]);
- return colors.themes[theme];
- } catch (err) {
- console.log(err);
- return err;
- }
- } else {
- applyTheme(theme);
- }
-};
-
-function init() {
- var ret = {};
- Object.keys(styles).forEach(function (name) {
- ret[name] = {
- get: function () {
- return build([name]);
- }
- };
- });
- return ret;
-}
-
-var sequencer = function sequencer (map, str) {
- var exploded = str.split(""), i = 0;
- exploded = exploded.map(map);
- return exploded.join("");
-};
-
-// custom formatter methods
-colors.trap = require('./custom/trap');
-colors.zalgo = require('./custom/zalgo');
-
-// maps
-colors.maps = {};
-colors.maps.america = require('./maps/america');
-colors.maps.zebra = require('./maps/zebra');
-colors.maps.rainbow = require('./maps/rainbow');
-colors.maps.random = require('./maps/random')
-
-for (var map in colors.maps) {
- (function(map){
- colors[map] = function (str) {
- return sequencer(colors.maps[map], str);
- }
- })(map)
-}
-
-defineProps(colors, init());
\ No newline at end of file
diff --git a/node_modules/colors/lib/custom/trap.js b/node_modules/colors/lib/custom/trap.js
deleted file mode 100644
index 3f09143..0000000
--- a/node_modules/colors/lib/custom/trap.js
+++ /dev/null
@@ -1,45 +0,0 @@
-module['exports'] = function runTheTrap (text, options) {
- var result = "";
- text = text || "Run the trap, drop the bass";
- text = text.split('');
- var trap = {
- a: ["\u0040", "\u0104", "\u023a", "\u0245", "\u0394", "\u039b", "\u0414"],
- b: ["\u00df", "\u0181", "\u0243", "\u026e", "\u03b2", "\u0e3f"],
- c: ["\u00a9", "\u023b", "\u03fe"],
- d: ["\u00d0", "\u018a", "\u0500" , "\u0501" ,"\u0502", "\u0503"],
- e: ["\u00cb", "\u0115", "\u018e", "\u0258", "\u03a3", "\u03be", "\u04bc", "\u0a6c"],
- f: ["\u04fa"],
- g: ["\u0262"],
- h: ["\u0126", "\u0195", "\u04a2", "\u04ba", "\u04c7", "\u050a"],
- i: ["\u0f0f"],
- j: ["\u0134"],
- k: ["\u0138", "\u04a0", "\u04c3", "\u051e"],
- l: ["\u0139"],
- m: ["\u028d", "\u04cd", "\u04ce", "\u0520", "\u0521", "\u0d69"],
- n: ["\u00d1", "\u014b", "\u019d", "\u0376", "\u03a0", "\u048a"],
- o: ["\u00d8", "\u00f5", "\u00f8", "\u01fe", "\u0298", "\u047a", "\u05dd", "\u06dd", "\u0e4f"],
- p: ["\u01f7", "\u048e"],
- q: ["\u09cd"],
- r: ["\u00ae", "\u01a6", "\u0210", "\u024c", "\u0280", "\u042f"],
- s: ["\u00a7", "\u03de", "\u03df", "\u03e8"],
- t: ["\u0141", "\u0166", "\u0373"],
- u: ["\u01b1", "\u054d"],
- v: ["\u05d8"],
- w: ["\u0428", "\u0460", "\u047c", "\u0d70"],
- x: ["\u04b2", "\u04fe", "\u04fc", "\u04fd"],
- y: ["\u00a5", "\u04b0", "\u04cb"],
- z: ["\u01b5", "\u0240"]
- }
- text.forEach(function(c){
- c = c.toLowerCase();
- var chars = trap[c] || [" "];
- var rand = Math.floor(Math.random() * chars.length);
- if (typeof trap[c] !== "undefined") {
- result += trap[c][rand];
- } else {
- result += c;
- }
- });
- return result;
-
-}
diff --git a/node_modules/colors/lib/custom/zalgo.js b/node_modules/colors/lib/custom/zalgo.js
deleted file mode 100644
index 1538c3b..0000000
--- a/node_modules/colors/lib/custom/zalgo.js
+++ /dev/null
@@ -1,104 +0,0 @@
-// please no
-module['exports'] = function zalgo(text, options) {
- text = text || " he is here ";
- var soul = {
- "up" : [
- '̍', '̎', '̄', '̅',
- '̿', '̑', '̆', '̐',
- '͒', '͗', '͑', '̇',
- '̈', '̊', '͂', '̓',
- '̈', '͊', '͋', '͌',
- '̃', '̂', '̌', '͐',
- '̀', '́', '̋', '̏',
- '̒', '̓', '̔', '̽',
- '̉', 'ͣ', 'ͤ', 'ͥ',
- 'ͦ', 'ͧ', 'ͨ', 'ͩ',
- 'ͪ', 'ͫ', 'ͬ', 'ͭ',
- 'ͮ', 'ͯ', '̾', '͛',
- '͆', '̚'
- ],
- "down" : [
- '̖', '̗', '̘', '̙',
- '̜', '̝', '̞', '̟',
- '̠', '̤', '̥', '̦',
- '̩', '̪', '̫', '̬',
- '̭', '̮', '̯', '̰',
- '̱', '̲', '̳', '̹',
- '̺', '̻', '̼', 'ͅ',
- '͇', '͈', '͉', '͍',
- '͎', '͓', '͔', '͕',
- '͖', '͙', '͚', '̣'
- ],
- "mid" : [
- '̕', '̛', '̀', '́',
- '͘', '̡', '̢', '̧',
- '̨', '̴', '̵', '̶',
- '͜', '͝', '͞',
- '͟', '͠', '͢', '̸',
- '̷', '͡', ' ҉'
- ]
- },
- all = [].concat(soul.up, soul.down, soul.mid),
- zalgo = {};
-
- function randomNumber(range) {
- var r = Math.floor(Math.random() * range);
- return r;
- }
-
- function is_char(character) {
- var bool = false;
- all.filter(function (i) {
- bool = (i === character);
- });
- return bool;
- }
-
-
- function heComes(text, options) {
- var result = '', counts, l;
- options = options || {};
- options["up"] = typeof options["up"] !== 'undefined' ? options["up"] : true;
- options["mid"] = typeof options["mid"] !== 'undefined' ? options["mid"] : true;
- options["down"] = typeof options["down"] !== 'undefined' ? options["down"] : true;
- options["size"] = typeof options["size"] !== 'undefined' ? options["size"] : "maxi";
- text = text.split('');
- for (l in text) {
- if (is_char(l)) {
- continue;
- }
- result = result + text[l];
- counts = {"up" : 0, "down" : 0, "mid" : 0};
- switch (options.size) {
- case 'mini':
- counts.up = randomNumber(8);
- counts.mid = randomNumber(2);
- counts.down = randomNumber(8);
- break;
- case 'maxi':
- counts.up = randomNumber(16) + 3;
- counts.mid = randomNumber(4) + 1;
- counts.down = randomNumber(64) + 3;
- break;
- default:
- counts.up = randomNumber(8) + 1;
- counts.mid = randomNumber(6) / 2;
- counts.down = randomNumber(8) + 1;
- break;
- }
-
- var arr = ["up", "mid", "down"];
- for (var d in arr) {
- var index = arr[d];
- for (var i = 0 ; i <= counts[index]; i++) {
- if (options[index]) {
- result = result + soul[index][randomNumber(soul[index].length)];
- }
- }
- }
- }
- return result;
- }
- // don't summon him
- return heComes(text, options);
-}
diff --git a/node_modules/colors/lib/extendStringPrototype.js b/node_modules/colors/lib/extendStringPrototype.js
deleted file mode 100644
index 67374a1..0000000
--- a/node_modules/colors/lib/extendStringPrototype.js
+++ /dev/null
@@ -1,113 +0,0 @@
-var colors = require('./colors');
-
-module['exports'] = function () {
-
- //
- // Extends prototype of native string object to allow for "foo".red syntax
- //
- var addProperty = function (color, func) {
- String.prototype.__defineGetter__(color, func);
- };
-
- var sequencer = function sequencer (map, str) {
- return function () {
- var exploded = this.split(""), i = 0;
- exploded = exploded.map(map);
- return exploded.join("");
- }
- };
-
- addProperty('strip', function () {
- return colors.strip(this);
- });
-
- addProperty('stripColors', function () {
- return colors.strip(this);
- });
-
- addProperty("trap", function(){
- return colors.trap(this);
- });
-
- addProperty("zalgo", function(){
- return colors.zalgo(this);
- });
-
- addProperty("zebra", function(){
- return colors.zebra(this);
- });
-
- addProperty("rainbow", function(){
- return colors.rainbow(this);
- });
-
- addProperty("random", function(){
- return colors.random(this);
- });
-
- addProperty("america", function(){
- return colors.america(this);
- });
-
- //
- // Iterate through all default styles and colors
- //
- var x = Object.keys(colors.styles);
- x.forEach(function (style) {
- addProperty(style, function () {
- return colors.stylize(this, style);
- });
- });
-
- function applyTheme(theme) {
- //
- // Remark: This is a list of methods that exist
- // on String that you should not overwrite.
- //
- var stringPrototypeBlacklist = [
- '__defineGetter__', '__defineSetter__', '__lookupGetter__', '__lookupSetter__', 'charAt', 'constructor',
- 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'valueOf', 'charCodeAt',
- 'indexOf', 'lastIndexof', 'length', 'localeCompare', 'match', 'replace', 'search', 'slice', 'split', 'substring',
- 'toLocaleLowerCase', 'toLocaleUpperCase', 'toLowerCase', 'toUpperCase', 'trim', 'trimLeft', 'trimRight'
- ];
-
- Object.keys(theme).forEach(function (prop) {
- if (stringPrototypeBlacklist.indexOf(prop) !== -1) {
- console.log('warn: '.red + ('String.prototype' + prop).magenta + ' is probably something you don\'t want to override. Ignoring style name');
- }
- else {
- if (typeof(theme[prop]) === 'string') {
- colors[prop] = colors[theme[prop]];
- addProperty(prop, function () {
- return colors[theme[prop]](this);
- });
- }
- else {
- addProperty(prop, function () {
- var ret = this;
- for (var t = 0; t < theme[prop].length; t++) {
- ret = colors[theme[prop][t]](ret);
- }
- return ret;
- });
- }
- }
- });
- }
-
- colors.setTheme = function (theme) {
- if (typeof theme === 'string') {
- try {
- colors.themes[theme] = require(theme);
- applyTheme(colors.themes[theme]);
- return colors.themes[theme];
- } catch (err) {
- console.log(err);
- return err;
- }
- } else {
- applyTheme(theme);
- }
- };
-
-};
\ No newline at end of file
diff --git a/node_modules/colors/lib/index.js b/node_modules/colors/lib/index.js
deleted file mode 100644
index fd0956d..0000000
--- a/node_modules/colors/lib/index.js
+++ /dev/null
@@ -1,12 +0,0 @@
-var colors = require('./colors');
-module['exports'] = colors;
-
-// Remark: By default, colors will add style properties to String.prototype
-//
-// If you don't wish to extend String.prototype you can do this instead and native String will not be touched
-//
-// var colors = require('colors/safe);
-// colors.red("foo")
-//
-//
-require('./extendStringPrototype')();
\ No newline at end of file
diff --git a/node_modules/colors/lib/maps/america.js b/node_modules/colors/lib/maps/america.js
deleted file mode 100644
index a07d832..0000000
--- a/node_modules/colors/lib/maps/america.js
+++ /dev/null
@@ -1,12 +0,0 @@
-var colors = require('../colors');
-
-module['exports'] = (function() {
- return function (letter, i, exploded) {
- if(letter === " ") return letter;
- switch(i%3) {
- case 0: return colors.red(letter);
- case 1: return colors.white(letter)
- case 2: return colors.blue(letter)
- }
- }
-})();
\ No newline at end of file
diff --git a/node_modules/colors/lib/maps/rainbow.js b/node_modules/colors/lib/maps/rainbow.js
deleted file mode 100644
index a7ce24e..0000000
--- a/node_modules/colors/lib/maps/rainbow.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var colors = require('../colors');
-
-module['exports'] = (function () {
- var rainbowColors = ['red', 'yellow', 'green', 'blue', 'magenta']; //RoY G BiV
- return function (letter, i, exploded) {
- if (letter === " ") {
- return letter;
- } else {
- return colors[rainbowColors[i++ % rainbowColors.length]](letter);
- }
- };
-})();
-
diff --git a/node_modules/colors/lib/maps/random.js b/node_modules/colors/lib/maps/random.js
deleted file mode 100644
index 5cd101f..0000000
--- a/node_modules/colors/lib/maps/random.js
+++ /dev/null
@@ -1,8 +0,0 @@
-var colors = require('../colors');
-
-module['exports'] = (function () {
- var available = ['underline', 'inverse', 'grey', 'yellow', 'red', 'green', 'blue', 'white', 'cyan', 'magenta'];
- return function(letter, i, exploded) {
- return letter === " " ? letter : colors[available[Math.round(Math.random() * (available.length - 1))]](letter);
- };
-})();
\ No newline at end of file
diff --git a/node_modules/colors/lib/maps/zebra.js b/node_modules/colors/lib/maps/zebra.js
deleted file mode 100644
index bf7dcde..0000000
--- a/node_modules/colors/lib/maps/zebra.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var colors = require('../colors');
-
-module['exports'] = function (letter, i, exploded) {
- return i % 2 === 0 ? letter : colors.inverse(letter);
-};
\ No newline at end of file
diff --git a/node_modules/colors/lib/styles.js b/node_modules/colors/lib/styles.js
deleted file mode 100644
index 067d590..0000000
--- a/node_modules/colors/lib/styles.js
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-The MIT License (MIT)
-
-Copyright (c) Sindre Sorhus (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-
-*/
-
-var styles = {};
-module['exports'] = styles;
-
-var codes = {
- reset: [0, 0],
-
- bold: [1, 22],
- dim: [2, 22],
- italic: [3, 23],
- underline: [4, 24],
- inverse: [7, 27],
- hidden: [8, 28],
- strikethrough: [9, 29],
-
- black: [30, 39],
- red: [31, 39],
- green: [32, 39],
- yellow: [33, 39],
- blue: [34, 39],
- magenta: [35, 39],
- cyan: [36, 39],
- white: [37, 39],
- gray: [90, 39],
- grey: [90, 39],
-
- bgBlack: [40, 49],
- bgRed: [41, 49],
- bgGreen: [42, 49],
- bgYellow: [43, 49],
- bgBlue: [44, 49],
- bgMagenta: [45, 49],
- bgCyan: [46, 49],
- bgWhite: [47, 49],
-
- // legacy styles for colors pre v1.0.0
- blackBG: [40, 49],
- redBG: [41, 49],
- greenBG: [42, 49],
- yellowBG: [43, 49],
- blueBG: [44, 49],
- magentaBG: [45, 49],
- cyanBG: [46, 49],
- whiteBG: [47, 49]
-
-};
-
-Object.keys(codes).forEach(function (key) {
- var val = codes[key];
- var style = styles[key] = [];
- style.open = '\u001b[' + val[0] + 'm';
- style.close = '\u001b[' + val[1] + 'm';
-});
\ No newline at end of file
diff --git a/node_modules/colors/lib/system/supports-colors.js b/node_modules/colors/lib/system/supports-colors.js
deleted file mode 100644
index 3e008aa..0000000
--- a/node_modules/colors/lib/system/supports-colors.js
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
-The MIT License (MIT)
-
-Copyright (c) Sindre Sorhus (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-
-*/
-
-var argv = process.argv;
-
-module.exports = (function () {
- if (argv.indexOf('--no-color') !== -1 ||
- argv.indexOf('--color=false') !== -1) {
- return false;
- }
-
- if (argv.indexOf('--color') !== -1 ||
- argv.indexOf('--color=true') !== -1 ||
- argv.indexOf('--color=always') !== -1) {
- return true;
- }
-
- if (process.stdout && !process.stdout.isTTY) {
- return false;
- }
-
- if (process.platform === 'win32') {
- return true;
- }
-
- if ('COLORTERM' in process.env) {
- return true;
- }
-
- if (process.env.TERM === 'dumb') {
- return false;
- }
-
- if (/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(process.env.TERM)) {
- return true;
- }
-
- return false;
-})();
\ No newline at end of file
diff --git a/node_modules/colors/package.json b/node_modules/colors/package.json
deleted file mode 100644
index c66cb82..0000000
--- a/node_modules/colors/package.json
+++ /dev/null
@@ -1,85 +0,0 @@
-{
- "_args": [
- [
- "colors@^1.0.3",
- "/home/vincent/Bureau/RIA/node_modules/ts-loader"
- ]
- ],
- "_from": "colors@>=1.0.3 <2.0.0",
- "_id": "colors@1.1.2",
- "_inCache": true,
- "_location": "/colors",
- "_nodeVersion": "0.11.13",
- "_npmUser": {
- "email": "marak.squires@gmail.com",
- "name": "marak"
- },
- "_npmVersion": "2.1.8",
- "_phantomChildren": {},
- "_requested": {
- "name": "colors",
- "raw": "colors@^1.0.3",
- "rawSpec": "^1.0.3",
- "scope": null,
- "spec": ">=1.0.3 <2.0.0",
- "type": "range"
- },
- "_requiredBy": [
- "/ts-loader"
- ],
- "_resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
- "_shasum": "168a4701756b6a7f51a12ce0c97bfa28c084ed63",
- "_shrinkwrap": null,
- "_spec": "colors@^1.0.3",
- "_where": "/home/vincent/Bureau/RIA/node_modules/ts-loader",
- "author": {
- "name": "Marak Squires"
- },
- "bugs": {
- "url": "https://github.com/Marak/colors.js/issues"
- },
- "dependencies": {},
- "description": "get colors in your node.js console",
- "devDependencies": {},
- "directories": {},
- "dist": {
- "shasum": "168a4701756b6a7f51a12ce0c97bfa28c084ed63",
- "tarball": "http://registry.npmjs.org/colors/-/colors-1.1.2.tgz"
- },
- "engines": {
- "node": ">=0.1.90"
- },
- "files": [
- "LICENSE",
- "examples",
- "lib",
- "safe.js",
- "themes"
- ],
- "gitHead": "8bf2ad9fa695dcb30b7e9fd83691b139fd6655c4",
- "homepage": "https://github.com/Marak/colors.js",
- "installable": true,
- "keywords": [
- "ansi",
- "colors",
- "terminal"
- ],
- "license": "MIT",
- "main": "lib",
- "maintainers": [
- {
- "name": "marak",
- "email": "marak.squires@gmail.com"
- }
- ],
- "name": "colors",
- "optionalDependencies": {},
- "repository": {
- "type": "git",
- "url": "http://github.com/Marak/colors.js.git"
- },
- "scripts": {
- "test": "node tests/basic-test.js && node tests/safe-test.js"
- },
- "version": "1.1.2"
-}
diff --git a/node_modules/colors/safe.js b/node_modules/colors/safe.js
deleted file mode 100644
index a6a1f3a..0000000
--- a/node_modules/colors/safe.js
+++ /dev/null
@@ -1,9 +0,0 @@
-//
-// Remark: Requiring this file will use the "safe" colors API which will not touch String.prototype
-//
-// var colors = require('colors/safe);
-// colors.red("foo")
-//
-//
-var colors = require('./lib/colors');
-module['exports'] = colors;
\ No newline at end of file
diff --git a/node_modules/colors/themes/generic-logging.js b/node_modules/colors/themes/generic-logging.js
deleted file mode 100644
index 571972c..0000000
--- a/node_modules/colors/themes/generic-logging.js
+++ /dev/null
@@ -1,12 +0,0 @@
-module['exports'] = {
- silly: 'rainbow',
- input: 'grey',
- verbose: 'cyan',
- prompt: 'grey',
- info: 'green',
- data: 'grey',
- help: 'cyan',
- warn: 'yellow',
- debug: 'blue',
- error: 'red'
-};
\ No newline at end of file
diff --git a/node_modules/content-disposition/HISTORY.md b/node_modules/content-disposition/HISTORY.md
deleted file mode 100644
index 76d494c..0000000
--- a/node_modules/content-disposition/HISTORY.md
+++ /dev/null
@@ -1,45 +0,0 @@
-0.5.1 / 2016-01-17
-==================
-
- * perf: enable strict mode
-
-0.5.0 / 2014-10-11
-==================
-
- * Add `parse` function
-
-0.4.0 / 2014-09-21
-==================
-
- * Expand non-Unicode `filename` to the full ISO-8859-1 charset
-
-0.3.0 / 2014-09-20
-==================
-
- * Add `fallback` option
- * Add `type` option
-
-0.2.0 / 2014-09-19
-==================
-
- * Reduce ambiguity of file names with hex escape in buggy browsers
-
-0.1.2 / 2014-09-19
-==================
-
- * Fix periodic invalid Unicode filename header
-
-0.1.1 / 2014-09-19
-==================
-
- * Fix invalid characters appearing in `filename*` parameter
-
-0.1.0 / 2014-09-18
-==================
-
- * Make the `filename` argument optional
-
-0.0.0 / 2014-09-18
-==================
-
- * Initial release
diff --git a/node_modules/content-disposition/LICENSE b/node_modules/content-disposition/LICENSE
deleted file mode 100644
index b7dce6c..0000000
--- a/node_modules/content-disposition/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2014 Douglas Christopher Wilson
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/content-disposition/README.md b/node_modules/content-disposition/README.md
deleted file mode 100644
index 5cebce4..0000000
--- a/node_modules/content-disposition/README.md
+++ /dev/null
@@ -1,141 +0,0 @@
-# content-disposition
-
-[![NPM Version][npm-image]][npm-url]
-[![NPM Downloads][downloads-image]][downloads-url]
-[![Node.js Version][node-version-image]][node-version-url]
-[![Build Status][travis-image]][travis-url]
-[![Test Coverage][coveralls-image]][coveralls-url]
-
-Create and parse HTTP `Content-Disposition` header
-
-## Installation
-
-```sh
-$ npm install content-disposition
-```
-
-## API
-
-```js
-var contentDisposition = require('content-disposition')
-```
-
-### contentDisposition(filename, options)
-
-Create an attachment `Content-Disposition` header value using the given file name,
-if supplied. The `filename` is optional and if no file name is desired, but you
-want to specify `options`, set `filename` to `undefined`.
-
-```js
-res.setHeader('Content-Disposition', contentDisposition('∫ maths.pdf'))
-```
-
-**note** HTTP headers are of the ISO-8859-1 character set. If you are writing this
-header through a means different from `setHeader` in Node.js, you'll want to specify
-the `'binary'` encoding in Node.js.
-
-#### Options
-
-`contentDisposition` accepts these properties in the options object.
-
-##### fallback
-
-If the `filename` option is outside ISO-8859-1, then the file name is actually
-stored in a supplemental field for clients that support Unicode file names and
-a ISO-8859-1 version of the file name is automatically generated.
-
-This specifies the ISO-8859-1 file name to override the automatic generation or
-disables the generation all together, defaults to `true`.
-
- - A string will specify the ISO-8859-1 file name to use in place of automatic
- generation.
- - `false` will disable including a ISO-8859-1 file name and only include the
- Unicode version (unless the file name is already ISO-8859-1).
- - `true` will enable automatic generation if the file name is outside ISO-8859-1.
-
-If the `filename` option is ISO-8859-1 and this option is specified and has a
-different value, then the `filename` option is encoded in the extended field
-and this set as the fallback field, even though they are both ISO-8859-1.
-
-##### type
-
-Specifies the disposition type, defaults to `"attachment"`. This can also be
-`"inline"`, or any other value (all values except inline are treated like
-`attachment`, but can convey additional information if both parties agree to
-it). The type is normalized to lower-case.
-
-### contentDisposition.parse(string)
-
-```js
-var disposition = contentDisposition.parse('attachment; filename="EURO rates.txt"; filename*=UTF-8\'\'%e2%82%ac%20rates.txt');
-```
-
-Parse a `Content-Disposition` header string. This automatically handles extended
-("Unicode") parameters by decoding them and providing them under the standard
-parameter name. This will return an object with the following properties (examples
-are shown for the string `'attachment; filename="EURO rates.txt"; filename*=UTF-8\'\'%e2%82%ac%20rates.txt'`):
-
- - `type`: The disposition type (always lower case). Example: `'attachment'`
-
- - `parameters`: An object of the parameters in the disposition (name of parameter
- always lower case and extended versions replace non-extended versions). Example:
- `{filename: "€ rates.txt"}`
-
-## Examples
-
-### Send a file for download
-
-```js
-var contentDisposition = require('content-disposition')
-var destroy = require('destroy')
-var http = require('http')
-var onFinished = require('on-finished')
-
-var filePath = '/path/to/public/plans.pdf'
-
-http.createServer(function onRequest(req, res) {
- // set headers
- res.setHeader('Content-Type', 'application/pdf')
- res.setHeader('Content-Disposition', contentDisposition(filePath))
-
- // send file
- var stream = fs.createReadStream(filePath)
- stream.pipe(res)
- onFinished(res, function (err) {
- destroy(stream)
- })
-})
-```
-
-## Testing
-
-```sh
-$ npm test
-```
-
-## References
-
-- [RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1][rfc-2616]
-- [RFC 5987: Character Set and Language Encoding for Hypertext Transfer Protocol (HTTP) Header Field Parameters][rfc-5987]
-- [RFC 6266: Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP)][rfc-6266]
-- [Test Cases for HTTP Content-Disposition header field (RFC 6266) and the Encodings defined in RFCs 2047, 2231 and 5987][tc-2231]
-
-[rfc-2616]: https://tools.ietf.org/html/rfc2616
-[rfc-5987]: https://tools.ietf.org/html/rfc5987
-[rfc-6266]: https://tools.ietf.org/html/rfc6266
-[tc-2231]: http://greenbytes.de/tech/tc2231/
-
-## License
-
-[MIT](LICENSE)
-
-[npm-image]: https://img.shields.io/npm/v/content-disposition.svg?style=flat
-[npm-url]: https://npmjs.org/package/content-disposition
-[node-version-image]: https://img.shields.io/node/v/content-disposition.svg?style=flat
-[node-version-url]: http://nodejs.org/download/
-[travis-image]: https://img.shields.io/travis/jshttp/content-disposition.svg?style=flat
-[travis-url]: https://travis-ci.org/jshttp/content-disposition
-[coveralls-image]: https://img.shields.io/coveralls/jshttp/content-disposition.svg?style=flat
-[coveralls-url]: https://coveralls.io/r/jshttp/content-disposition?branch=master
-[downloads-image]: https://img.shields.io/npm/dm/content-disposition.svg?style=flat
-[downloads-url]: https://npmjs.org/package/content-disposition
diff --git a/node_modules/content-disposition/index.js b/node_modules/content-disposition/index.js
deleted file mode 100644
index 4a352dc..0000000
--- a/node_modules/content-disposition/index.js
+++ /dev/null
@@ -1,445 +0,0 @@
-/*!
- * content-disposition
- * Copyright(c) 2014 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict'
-
-/**
- * Module exports.
- */
-
-module.exports = contentDisposition
-module.exports.parse = parse
-
-/**
- * Module dependencies.
- */
-
-var basename = require('path').basename
-
-/**
- * RegExp to match non attr-char, *after* encodeURIComponent (i.e. not including "%")
- */
-
-var encodeUriAttrCharRegExp = /[\x00-\x20"'\(\)*,\/:;<=>?@\[\\\]\{\}\x7f]/g
-
-/**
- * RegExp to match percent encoding escape.
- */
-
-var hexEscapeRegExp = /%[0-9A-Fa-f]{2}/
-var hexEscapeReplaceRegExp = /%([0-9A-Fa-f]{2})/g
-
-/**
- * RegExp to match non-latin1 characters.
- */
-
-var nonLatin1RegExp = /[^\x20-\x7e\xa0-\xff]/g
-
-/**
- * RegExp to match quoted-pair in RFC 2616
- *
- * quoted-pair = "\" CHAR
- * CHAR =
- */
-
-var qescRegExp = /\\([\u0000-\u007f])/g;
-
-/**
- * RegExp to match chars that must be quoted-pair in RFC 2616
- */
-
-var quoteRegExp = /([\\"])/g
-
-/**
- * RegExp for various RFC 2616 grammar
- *
- * parameter = token "=" ( token | quoted-string )
- * token = 1*
- * separators = "(" | ")" | "<" | ">" | "@"
- * | "," | ";" | ":" | "\" | <">
- * | "/" | "[" | "]" | "?" | "="
- * | "{" | "}" | SP | HT
- * quoted-string = ( <"> *(qdtext | quoted-pair ) <"> )
- * qdtext = >
- * quoted-pair = "\" CHAR
- * CHAR =
- * TEXT =
- * LWS = [CRLF] 1*( SP | HT )
- * CRLF = CR LF
- * CR =
- * LF =
- * SP =
- * HT =
- * CTL =
- * OCTET =
- */
-
-var paramRegExp = /; *([!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+) *= *("(?:[ !\x23-\x5b\x5d-\x7e\x80-\xff]|\\[\x20-\x7e])*"|[!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+) */g
-var textRegExp = /^[\x20-\x7e\x80-\xff]+$/
-var tokenRegExp = /^[!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+$/
-
-/**
- * RegExp for various RFC 5987 grammar
- *
- * ext-value = charset "'" [ language ] "'" value-chars
- * charset = "UTF-8" / "ISO-8859-1" / mime-charset
- * mime-charset = 1*mime-charsetc
- * mime-charsetc = ALPHA / DIGIT
- * / "!" / "#" / "$" / "%" / "&"
- * / "+" / "-" / "^" / "_" / "`"
- * / "{" / "}" / "~"
- * language = ( 2*3ALPHA [ extlang ] )
- * / 4ALPHA
- * / 5*8ALPHA
- * extlang = *3( "-" 3ALPHA )
- * value-chars = *( pct-encoded / attr-char )
- * pct-encoded = "%" HEXDIG HEXDIG
- * attr-char = ALPHA / DIGIT
- * / "!" / "#" / "$" / "&" / "+" / "-" / "."
- * / "^" / "_" / "`" / "|" / "~"
- */
-
-var extValueRegExp = /^([A-Za-z0-9!#$%&+\-^_`{}~]+)'(?:[A-Za-z]{2,3}(?:-[A-Za-z]{3}){0,3}|[A-Za-z]{4,8}|)'((?:%[0-9A-Fa-f]{2}|[A-Za-z0-9!#$&+\-\.^_`|~])+)$/
-
-/**
- * RegExp for various RFC 6266 grammar
- *
- * disposition-type = "inline" | "attachment" | disp-ext-type
- * disp-ext-type = token
- * disposition-parm = filename-parm | disp-ext-parm
- * filename-parm = "filename" "=" value
- * | "filename*" "=" ext-value
- * disp-ext-parm = token "=" value
- * | ext-token "=" ext-value
- * ext-token =
- */
-
-var dispositionTypeRegExp = /^([!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+) *(?:$|;)/
-
-/**
- * Create an attachment Content-Disposition header.
- *
- * @param {string} [filename]
- * @param {object} [options]
- * @param {string} [options.type=attachment]
- * @param {string|boolean} [options.fallback=true]
- * @return {string}
- * @api public
- */
-
-function contentDisposition(filename, options) {
- var opts = options || {}
-
- // get type
- var type = opts.type || 'attachment'
-
- // get parameters
- var params = createparams(filename, opts.fallback)
-
- // format into string
- return format(new ContentDisposition(type, params))
-}
-
-/**
- * Create parameters object from filename and fallback.
- *
- * @param {string} [filename]
- * @param {string|boolean} [fallback=true]
- * @return {object}
- * @api private
- */
-
-function createparams(filename, fallback) {
- if (filename === undefined) {
- return
- }
-
- var params = {}
-
- if (typeof filename !== 'string') {
- throw new TypeError('filename must be a string')
- }
-
- // fallback defaults to true
- if (fallback === undefined) {
- fallback = true
- }
-
- if (typeof fallback !== 'string' && typeof fallback !== 'boolean') {
- throw new TypeError('fallback must be a string or boolean')
- }
-
- if (typeof fallback === 'string' && nonLatin1RegExp.test(fallback)) {
- throw new TypeError('fallback must be ISO-8859-1 string')
- }
-
- // restrict to file base name
- var name = basename(filename)
-
- // determine if name is suitable for quoted string
- var isQuotedString = textRegExp.test(name)
-
- // generate fallback name
- var fallbackName = typeof fallback !== 'string'
- ? fallback && getlatin1(name)
- : basename(fallback)
- var hasFallback = typeof fallbackName === 'string' && fallbackName !== name
-
- // set extended filename parameter
- if (hasFallback || !isQuotedString || hexEscapeRegExp.test(name)) {
- params['filename*'] = name
- }
-
- // set filename parameter
- if (isQuotedString || hasFallback) {
- params.filename = hasFallback
- ? fallbackName
- : name
- }
-
- return params
-}
-
-/**
- * Format object to Content-Disposition header.
- *
- * @param {object} obj
- * @param {string} obj.type
- * @param {object} [obj.parameters]
- * @return {string}
- * @api private
- */
-
-function format(obj) {
- var parameters = obj.parameters
- var type = obj.type
-
- if (!type || typeof type !== 'string' || !tokenRegExp.test(type)) {
- throw new TypeError('invalid type')
- }
-
- // start with normalized type
- var string = String(type).toLowerCase()
-
- // append parameters
- if (parameters && typeof parameters === 'object') {
- var param
- var params = Object.keys(parameters).sort()
-
- for (var i = 0; i < params.length; i++) {
- param = params[i]
-
- var val = param.substr(-1) === '*'
- ? ustring(parameters[param])
- : qstring(parameters[param])
-
- string += '; ' + param + '=' + val
- }
- }
-
- return string
-}
-
-/**
- * Decode a RFC 6987 field value (gracefully).
- *
- * @param {string} str
- * @return {string}
- * @api private
- */
-
-function decodefield(str) {
- var match = extValueRegExp.exec(str)
-
- if (!match) {
- throw new TypeError('invalid extended field value')
- }
-
- var charset = match[1].toLowerCase()
- var encoded = match[2]
- var value
-
- // to binary string
- var binary = encoded.replace(hexEscapeReplaceRegExp, pdecode)
-
- switch (charset) {
- case 'iso-8859-1':
- value = getlatin1(binary)
- break
- case 'utf-8':
- value = new Buffer(binary, 'binary').toString('utf8')
- break
- default:
- throw new TypeError('unsupported charset in extended field')
- }
-
- return value
-}
-
-/**
- * Get ISO-8859-1 version of string.
- *
- * @param {string} val
- * @return {string}
- * @api private
- */
-
-function getlatin1(val) {
- // simple Unicode -> ISO-8859-1 transformation
- return String(val).replace(nonLatin1RegExp, '?')
-}
-
-/**
- * Parse Content-Disposition header string.
- *
- * @param {string} string
- * @return {object}
- * @api private
- */
-
-function parse(string) {
- if (!string || typeof string !== 'string') {
- throw new TypeError('argument string is required')
- }
-
- var match = dispositionTypeRegExp.exec(string)
-
- if (!match) {
- throw new TypeError('invalid type format')
- }
-
- // normalize type
- var index = match[0].length
- var type = match[1].toLowerCase()
-
- var key
- var names = []
- var params = {}
- var value
-
- // calculate index to start at
- index = paramRegExp.lastIndex = match[0].substr(-1) === ';'
- ? index - 1
- : index
-
- // match parameters
- while (match = paramRegExp.exec(string)) {
- if (match.index !== index) {
- throw new TypeError('invalid parameter format')
- }
-
- index += match[0].length
- key = match[1].toLowerCase()
- value = match[2]
-
- if (names.indexOf(key) !== -1) {
- throw new TypeError('invalid duplicate parameter')
- }
-
- names.push(key)
-
- if (key.indexOf('*') + 1 === key.length) {
- // decode extended value
- key = key.slice(0, -1)
- value = decodefield(value)
-
- // overwrite existing value
- params[key] = value
- continue
- }
-
- if (typeof params[key] === 'string') {
- continue
- }
-
- if (value[0] === '"') {
- // remove quotes and escapes
- value = value
- .substr(1, value.length - 2)
- .replace(qescRegExp, '$1')
- }
-
- params[key] = value
- }
-
- if (index !== -1 && index !== string.length) {
- throw new TypeError('invalid parameter format')
- }
-
- return new ContentDisposition(type, params)
-}
-
-/**
- * Percent decode a single character.
- *
- * @param {string} str
- * @param {string} hex
- * @return {string}
- * @api private
- */
-
-function pdecode(str, hex) {
- return String.fromCharCode(parseInt(hex, 16))
-}
-
-/**
- * Percent encode a single character.
- *
- * @param {string} char
- * @return {string}
- * @api private
- */
-
-function pencode(char) {
- var hex = String(char)
- .charCodeAt(0)
- .toString(16)
- .toUpperCase()
- return hex.length === 1
- ? '%0' + hex
- : '%' + hex
-}
-
-/**
- * Quote a string for HTTP.
- *
- * @param {string} val
- * @return {string}
- * @api private
- */
-
-function qstring(val) {
- var str = String(val)
-
- return '"' + str.replace(quoteRegExp, '\\$1') + '"'
-}
-
-/**
- * Encode a Unicode string for HTTP (RFC 5987).
- *
- * @param {string} val
- * @return {string}
- * @api private
- */
-
-function ustring(val) {
- var str = String(val)
-
- // percent encode as UTF-8
- var encoded = encodeURIComponent(str)
- .replace(encodeUriAttrCharRegExp, pencode)
-
- return 'UTF-8\'\'' + encoded
-}
-
-/**
- * Class for parsed Content-Disposition header for v8 optimization
- */
-
-function ContentDisposition(type, parameters) {
- this.type = type
- this.parameters = parameters
-}
diff --git a/node_modules/content-disposition/package.json b/node_modules/content-disposition/package.json
deleted file mode 100644
index bb4394f..0000000
--- a/node_modules/content-disposition/package.json
+++ /dev/null
@@ -1,92 +0,0 @@
-{
- "_args": [
- [
- "content-disposition@0.5.1",
- "/home/vincent/Bureau/RIA/node_modules/express"
- ]
- ],
- "_from": "content-disposition@0.5.1",
- "_id": "content-disposition@0.5.1",
- "_inCache": true,
- "_installable": true,
- "_location": "/content-disposition",
- "_npmUser": {
- "email": "doug@somethingdoug.com",
- "name": "dougwilson"
- },
- "_npmVersion": "1.4.28",
- "_phantomChildren": {},
- "_requested": {
- "name": "content-disposition",
- "raw": "content-disposition@0.5.1",
- "rawSpec": "0.5.1",
- "scope": null,
- "spec": "0.5.1",
- "type": "version"
- },
- "_requiredBy": [
- "/express"
- ],
- "_resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.1.tgz",
- "_shasum": "87476c6a67c8daa87e32e87616df883ba7fb071b",
- "_shrinkwrap": null,
- "_spec": "content-disposition@0.5.1",
- "_where": "/home/vincent/Bureau/RIA/node_modules/express",
- "bugs": {
- "url": "https://github.com/jshttp/content-disposition/issues"
- },
- "contributors": [
- {
- "email": "doug@somethingdoug.com",
- "name": "Douglas Christopher Wilson"
- }
- ],
- "dependencies": {},
- "description": "Create and parse Content-Disposition header",
- "devDependencies": {
- "istanbul": "0.4.2",
- "mocha": "1.21.5"
- },
- "directories": {},
- "dist": {
- "shasum": "87476c6a67c8daa87e32e87616df883ba7fb071b",
- "tarball": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.1.tgz"
- },
- "engines": {
- "node": ">= 0.6"
- },
- "files": [
- "LICENSE",
- "HISTORY.md",
- "README.md",
- "index.js"
- ],
- "gitHead": "7b391db3af5629d4c698f1de21802940bb9f22a5",
- "homepage": "https://github.com/jshttp/content-disposition",
- "keywords": [
- "content-disposition",
- "http",
- "rfc6266",
- "res"
- ],
- "license": "MIT",
- "maintainers": [
- {
- "email": "doug@somethingdoug.com",
- "name": "dougwilson"
- }
- ],
- "name": "content-disposition",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/jshttp/content-disposition.git"
- },
- "scripts": {
- "test": "mocha --reporter spec --bail --check-leaks test/",
- "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/",
- "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"
- },
- "version": "0.5.1"
-}
diff --git a/node_modules/content-type/HISTORY.md b/node_modules/content-type/HISTORY.md
deleted file mode 100644
index 01652ff..0000000
--- a/node_modules/content-type/HISTORY.md
+++ /dev/null
@@ -1,14 +0,0 @@
-1.0.2 / 2016-05-09
-==================
-
- * perf: enable strict mode
-
-1.0.1 / 2015-02-13
-==================
-
- * Improve missing `Content-Type` header error message
-
-1.0.0 / 2015-02-01
-==================
-
- * Initial implementation, derived from `media-typer@0.3.0`
diff --git a/node_modules/content-type/LICENSE b/node_modules/content-type/LICENSE
deleted file mode 100644
index 34b1a2d..0000000
--- a/node_modules/content-type/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2015 Douglas Christopher Wilson
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/content-type/README.md b/node_modules/content-type/README.md
deleted file mode 100644
index 3ed6741..0000000
--- a/node_modules/content-type/README.md
+++ /dev/null
@@ -1,92 +0,0 @@
-# content-type
-
-[![NPM Version][npm-image]][npm-url]
-[![NPM Downloads][downloads-image]][downloads-url]
-[![Node.js Version][node-version-image]][node-version-url]
-[![Build Status][travis-image]][travis-url]
-[![Test Coverage][coveralls-image]][coveralls-url]
-
-Create and parse HTTP Content-Type header according to RFC 7231
-
-## Installation
-
-```sh
-$ npm install content-type
-```
-
-## API
-
-```js
-var contentType = require('content-type')
-```
-
-### contentType.parse(string)
-
-```js
-var obj = contentType.parse('image/svg+xml; charset=utf-8')
-```
-
-Parse a content type string. This will return an object with the following
-properties (examples are shown for the string `'image/svg+xml; charset=utf-8'`):
-
- - `type`: The media type (the type and subtype, always lower case).
- Example: `'image/svg+xml'`
-
- - `parameters`: An object of the parameters in the media type (name of parameter
- always lower case). Example: `{charset: 'utf-8'}`
-
-Throws a `TypeError` if the string is missing or invalid.
-
-### contentType.parse(req)
-
-```js
-var obj = contentType.parse(req)
-```
-
-Parse the `content-type` header from the given `req`. Short-cut for
-`contentType.parse(req.headers['content-type'])`.
-
-Throws a `TypeError` if the `Content-Type` header is missing or invalid.
-
-### contentType.parse(res)
-
-```js
-var obj = contentType.parse(res)
-```
-
-Parse the `content-type` header set on the given `res`. Short-cut for
-`contentType.parse(res.getHeader('content-type'))`.
-
-Throws a `TypeError` if the `Content-Type` header is missing or invalid.
-
-### contentType.format(obj)
-
-```js
-var str = contentType.format({type: 'image/svg+xml'})
-```
-
-Format an object into a content type string. This will return a string of the
-content type for the given object with the following properties (examples are
-shown that produce the string `'image/svg+xml; charset=utf-8'`):
-
- - `type`: The media type (will be lower-cased). Example: `'image/svg+xml'`
-
- - `parameters`: An object of the parameters in the media type (name of the
- parameter will be lower-cased). Example: `{charset: 'utf-8'}`
-
-Throws a `TypeError` if the object contains an invalid type or parameter names.
-
-## License
-
-[MIT](LICENSE)
-
-[npm-image]: https://img.shields.io/npm/v/content-type.svg
-[npm-url]: https://npmjs.org/package/content-type
-[node-version-image]: https://img.shields.io/node/v/content-type.svg
-[node-version-url]: http://nodejs.org/download/
-[travis-image]: https://img.shields.io/travis/jshttp/content-type/master.svg
-[travis-url]: https://travis-ci.org/jshttp/content-type
-[coveralls-image]: https://img.shields.io/coveralls/jshttp/content-type/master.svg
-[coveralls-url]: https://coveralls.io/r/jshttp/content-type
-[downloads-image]: https://img.shields.io/npm/dm/content-type.svg
-[downloads-url]: https://npmjs.org/package/content-type
diff --git a/node_modules/content-type/index.js b/node_modules/content-type/index.js
deleted file mode 100644
index 61ba6b5..0000000
--- a/node_modules/content-type/index.js
+++ /dev/null
@@ -1,216 +0,0 @@
-/*!
- * content-type
- * Copyright(c) 2015 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict'
-
-/**
- * RegExp to match *( ";" parameter ) in RFC 7231 sec 3.1.1.1
- *
- * parameter = token "=" ( token / quoted-string )
- * token = 1*tchar
- * tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*"
- * / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~"
- * / DIGIT / ALPHA
- * ; any VCHAR, except delimiters
- * quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE
- * qdtext = HTAB / SP / %x21 / %x23-5B / %x5D-7E / obs-text
- * obs-text = %x80-FF
- * quoted-pair = "\" ( HTAB / SP / VCHAR / obs-text )
- */
-var paramRegExp = /; *([!#$%&'\*\+\-\.\^_`\|~0-9A-Za-z]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'\*\+\-\.\^_`\|~0-9A-Za-z]+) */g
-var textRegExp = /^[\u000b\u0020-\u007e\u0080-\u00ff]+$/
-var tokenRegExp = /^[!#$%&'\*\+\-\.\^_`\|~0-9A-Za-z]+$/
-
-/**
- * RegExp to match quoted-pair in RFC 7230 sec 3.2.6
- *
- * quoted-pair = "\" ( HTAB / SP / VCHAR / obs-text )
- * obs-text = %x80-FF
- */
-var qescRegExp = /\\([\u000b\u0020-\u00ff])/g
-
-/**
- * RegExp to match chars that must be quoted-pair in RFC 7230 sec 3.2.6
- */
-var quoteRegExp = /([\\"])/g
-
-/**
- * RegExp to match type in RFC 6838
- *
- * media-type = type "/" subtype
- * type = token
- * subtype = token
- */
-var typeRegExp = /^[!#$%&'\*\+\-\.\^_`\|~0-9A-Za-z]+\/[!#$%&'\*\+\-\.\^_`\|~0-9A-Za-z]+$/
-
-/**
- * Module exports.
- * @public
- */
-
-exports.format = format
-exports.parse = parse
-
-/**
- * Format object to media type.
- *
- * @param {object} obj
- * @return {string}
- * @public
- */
-
-function format(obj) {
- if (!obj || typeof obj !== 'object') {
- throw new TypeError('argument obj is required')
- }
-
- var parameters = obj.parameters
- var type = obj.type
-
- if (!type || !typeRegExp.test(type)) {
- throw new TypeError('invalid type')
- }
-
- var string = type
-
- // append parameters
- if (parameters && typeof parameters === 'object') {
- var param
- var params = Object.keys(parameters).sort()
-
- for (var i = 0; i < params.length; i++) {
- param = params[i]
-
- if (!tokenRegExp.test(param)) {
- throw new TypeError('invalid parameter name')
- }
-
- string += '; ' + param + '=' + qstring(parameters[param])
- }
- }
-
- return string
-}
-
-/**
- * Parse media type to object.
- *
- * @param {string|object} string
- * @return {Object}
- * @public
- */
-
-function parse(string) {
- if (!string) {
- throw new TypeError('argument string is required')
- }
-
- if (typeof string === 'object') {
- // support req/res-like objects as argument
- string = getcontenttype(string)
-
- if (typeof string !== 'string') {
- throw new TypeError('content-type header is missing from object');
- }
- }
-
- if (typeof string !== 'string') {
- throw new TypeError('argument string is required to be a string')
- }
-
- var index = string.indexOf(';')
- var type = index !== -1
- ? string.substr(0, index).trim()
- : string.trim()
-
- if (!typeRegExp.test(type)) {
- throw new TypeError('invalid media type')
- }
-
- var key
- var match
- var obj = new ContentType(type.toLowerCase())
- var value
-
- paramRegExp.lastIndex = index
-
- while (match = paramRegExp.exec(string)) {
- if (match.index !== index) {
- throw new TypeError('invalid parameter format')
- }
-
- index += match[0].length
- key = match[1].toLowerCase()
- value = match[2]
-
- if (value[0] === '"') {
- // remove quotes and escapes
- value = value
- .substr(1, value.length - 2)
- .replace(qescRegExp, '$1')
- }
-
- obj.parameters[key] = value
- }
-
- if (index !== -1 && index !== string.length) {
- throw new TypeError('invalid parameter format')
- }
-
- return obj
-}
-
-/**
- * Get content-type from req/res objects.
- *
- * @param {object}
- * @return {Object}
- * @private
- */
-
-function getcontenttype(obj) {
- if (typeof obj.getHeader === 'function') {
- // res-like
- return obj.getHeader('content-type')
- }
-
- if (typeof obj.headers === 'object') {
- // req-like
- return obj.headers && obj.headers['content-type']
- }
-}
-
-/**
- * Quote a string if necessary.
- *
- * @param {string} val
- * @return {string}
- * @private
- */
-
-function qstring(val) {
- var str = String(val)
-
- // no need to quote tokens
- if (tokenRegExp.test(str)) {
- return str
- }
-
- if (str.length > 0 && !textRegExp.test(str)) {
- throw new TypeError('invalid parameter value')
- }
-
- return '"' + str.replace(quoteRegExp, '\\$1') + '"'
-}
-
-/**
- * Class to represent a content type.
- * @private
- */
-function ContentType(type) {
- this.parameters = Object.create(null)
- this.type = type
-}
diff --git a/node_modules/content-type/package.json b/node_modules/content-type/package.json
deleted file mode 100644
index fde0f1a..0000000
--- a/node_modules/content-type/package.json
+++ /dev/null
@@ -1,97 +0,0 @@
-{
- "_args": [
- [
- "content-type@~1.0.1",
- "/home/vincent/Bureau/RIA/node_modules/body-parser"
- ]
- ],
- "_from": "content-type@>=1.0.1 <1.1.0",
- "_id": "content-type@1.0.2",
- "_inCache": true,
- "_installable": true,
- "_location": "/content-type",
- "_nodeVersion": "4.4.3",
- "_npmOperationalInternal": {
- "host": "packages-12-west.internal.npmjs.com",
- "tmp": "tmp/content-type-1.0.2.tgz_1462852785748_0.5491233412176371"
- },
- "_npmUser": {
- "email": "doug@somethingdoug.com",
- "name": "dougwilson"
- },
- "_npmVersion": "2.15.1",
- "_phantomChildren": {},
- "_requested": {
- "name": "content-type",
- "raw": "content-type@~1.0.1",
- "rawSpec": "~1.0.1",
- "scope": null,
- "spec": ">=1.0.1 <1.1.0",
- "type": "range"
- },
- "_requiredBy": [
- "/body-parser",
- "/express"
- ],
- "_resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz",
- "_shasum": "b7d113aee7a8dd27bd21133c4dc2529df1721eed",
- "_shrinkwrap": null,
- "_spec": "content-type@~1.0.1",
- "_where": "/home/vincent/Bureau/RIA/node_modules/body-parser",
- "author": {
- "email": "doug@somethingdoug.com",
- "name": "Douglas Christopher Wilson"
- },
- "bugs": {
- "url": "https://github.com/jshttp/content-type/issues"
- },
- "dependencies": {},
- "description": "Create and parse HTTP Content-Type header",
- "devDependencies": {
- "istanbul": "0.4.3",
- "mocha": "~1.21.5"
- },
- "directories": {},
- "dist": {
- "shasum": "b7d113aee7a8dd27bd21133c4dc2529df1721eed",
- "tarball": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz"
- },
- "engines": {
- "node": ">= 0.6"
- },
- "files": [
- "LICENSE",
- "HISTORY.md",
- "README.md",
- "index.js"
- ],
- "gitHead": "8118763adfbbac80cf1254191889330aec8b8be7",
- "homepage": "https://github.com/jshttp/content-type#readme",
- "keywords": [
- "content-type",
- "http",
- "req",
- "res",
- "rfc7231"
- ],
- "license": "MIT",
- "maintainers": [
- {
- "email": "doug@somethingdoug.com",
- "name": "dougwilson"
- }
- ],
- "name": "content-type",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/jshttp/content-type.git"
- },
- "scripts": {
- "test": "mocha --reporter spec --check-leaks --bail test/",
- "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/",
- "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/"
- },
- "version": "1.0.2"
-}
diff --git a/node_modules/cookie-signature/.npmignore b/node_modules/cookie-signature/.npmignore
deleted file mode 100644
index f1250e5..0000000
--- a/node_modules/cookie-signature/.npmignore
+++ /dev/null
@@ -1,4 +0,0 @@
-support
-test
-examples
-*.sock
diff --git a/node_modules/cookie-signature/History.md b/node_modules/cookie-signature/History.md
deleted file mode 100644
index 78513cc..0000000
--- a/node_modules/cookie-signature/History.md
+++ /dev/null
@@ -1,38 +0,0 @@
-1.0.6 / 2015-02-03
-==================
-
-* use `npm test` instead of `make test` to run tests
-* clearer assertion messages when checking input
-
-
-1.0.5 / 2014-09-05
-==================
-
-* add license to package.json
-
-1.0.4 / 2014-06-25
-==================
-
- * corrected avoidance of timing attacks (thanks @tenbits!)
-
-1.0.3 / 2014-01-28
-==================
-
- * [incorrect] fix for timing attacks
-
-1.0.2 / 2014-01-28
-==================
-
- * fix missing repository warning
- * fix typo in test
-
-1.0.1 / 2013-04-15
-==================
-
- * Revert "Changed underlying HMAC algo. to sha512."
- * Revert "Fix for timing attacks on MAC verification."
-
-0.0.1 / 2010-01-03
-==================
-
- * Initial release
diff --git a/node_modules/cookie-signature/Readme.md b/node_modules/cookie-signature/Readme.md
deleted file mode 100644
index 2559e84..0000000
--- a/node_modules/cookie-signature/Readme.md
+++ /dev/null
@@ -1,42 +0,0 @@
-
-# cookie-signature
-
- Sign and unsign cookies.
-
-## Example
-
-```js
-var cookie = require('cookie-signature');
-
-var val = cookie.sign('hello', 'tobiiscool');
-val.should.equal('hello.DGDUkGlIkCzPz+C0B064FNgHdEjox7ch8tOBGslZ5QI');
-
-var val = cookie.sign('hello', 'tobiiscool');
-cookie.unsign(val, 'tobiiscool').should.equal('hello');
-cookie.unsign(val, 'luna').should.be.false;
-```
-
-## License
-
-(The MIT License)
-
-Copyright (c) 2012 LearnBoost <tj@learnboost.com>
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
diff --git a/node_modules/cookie-signature/index.js b/node_modules/cookie-signature/index.js
deleted file mode 100644
index b8c9463..0000000
--- a/node_modules/cookie-signature/index.js
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- * Module dependencies.
- */
-
-var crypto = require('crypto');
-
-/**
- * Sign the given `val` with `secret`.
- *
- * @param {String} val
- * @param {String} secret
- * @return {String}
- * @api private
- */
-
-exports.sign = function(val, secret){
- if ('string' != typeof val) throw new TypeError("Cookie value must be provided as a string.");
- if ('string' != typeof secret) throw new TypeError("Secret string must be provided.");
- return val + '.' + crypto
- .createHmac('sha256', secret)
- .update(val)
- .digest('base64')
- .replace(/\=+$/, '');
-};
-
-/**
- * Unsign and decode the given `val` with `secret`,
- * returning `false` if the signature is invalid.
- *
- * @param {String} val
- * @param {String} secret
- * @return {String|Boolean}
- * @api private
- */
-
-exports.unsign = function(val, secret){
- if ('string' != typeof val) throw new TypeError("Signed cookie string must be provided.");
- if ('string' != typeof secret) throw new TypeError("Secret string must be provided.");
- var str = val.slice(0, val.lastIndexOf('.'))
- , mac = exports.sign(str, secret);
-
- return sha1(mac) == sha1(val) ? str : false;
-};
-
-/**
- * Private
- */
-
-function sha1(str){
- return crypto.createHash('sha1').update(str).digest('hex');
-}
diff --git a/node_modules/cookie-signature/package.json b/node_modules/cookie-signature/package.json
deleted file mode 100644
index 49e0142..0000000
--- a/node_modules/cookie-signature/package.json
+++ /dev/null
@@ -1,83 +0,0 @@
-{
- "_args": [
- [
- "cookie-signature@1.0.6",
- "/home/vincent/Bureau/RIA/node_modules/express"
- ]
- ],
- "_from": "cookie-signature@1.0.6",
- "_id": "cookie-signature@1.0.6",
- "_inCache": true,
- "_location": "/cookie-signature",
- "_nodeVersion": "0.10.36",
- "_npmUser": {
- "email": "natevw@yahoo.com",
- "name": "natevw"
- },
- "_npmVersion": "2.3.0",
- "_phantomChildren": {},
- "_requested": {
- "name": "cookie-signature",
- "raw": "cookie-signature@1.0.6",
- "rawSpec": "1.0.6",
- "scope": null,
- "spec": "1.0.6",
- "type": "version"
- },
- "_requiredBy": [
- "/express"
- ],
- "_resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
- "_shasum": "e303a882b342cc3ee8ca513a79999734dab3ae2c",
- "_shrinkwrap": null,
- "_spec": "cookie-signature@1.0.6",
- "_where": "/home/vincent/Bureau/RIA/node_modules/express",
- "author": {
- "email": "tj@learnboost.com",
- "name": "TJ Holowaychuk"
- },
- "bugs": {
- "url": "https://github.com/visionmedia/node-cookie-signature/issues"
- },
- "dependencies": {},
- "description": "Sign and unsign cookies",
- "devDependencies": {
- "mocha": "*",
- "should": "*"
- },
- "directories": {},
- "dist": {
- "shasum": "e303a882b342cc3ee8ca513a79999734dab3ae2c",
- "tarball": "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz"
- },
- "gitHead": "391b56cf44d88c493491b7e3fc53208cfb976d2a",
- "homepage": "https://github.com/visionmedia/node-cookie-signature",
- "installable": true,
- "keywords": [
- "cookie",
- "sign",
- "unsign"
- ],
- "license": "MIT",
- "main": "index",
- "maintainers": [
- {
- "name": "tjholowaychuk",
- "email": "tj@vision-media.ca"
- },
- {
- "name": "natevw",
- "email": "natevw@yahoo.com"
- }
- ],
- "name": "cookie-signature",
- "optionalDependencies": {},
- "repository": {
- "type": "git",
- "url": "https://github.com/visionmedia/node-cookie-signature.git"
- },
- "scripts": {
- "test": "mocha --require should --reporter spec"
- },
- "version": "1.0.6"
-}
diff --git a/node_modules/cookie/HISTORY.md b/node_modules/cookie/HISTORY.md
deleted file mode 100644
index 5bd6485..0000000
--- a/node_modules/cookie/HISTORY.md
+++ /dev/null
@@ -1,118 +0,0 @@
-0.3.1 / 2016-05-26
-==================
-
- * Fix `sameSite: true` to work with draft-7 clients
- - `true` now sends `SameSite=Strict` instead of `SameSite`
-
-0.3.0 / 2016-05-26
-==================
-
- * Add `sameSite` option
- - Replaces `firstPartyOnly` option, never implemented by browsers
- * Improve error message when `encode` is not a function
- * Improve error message when `expires` is not a `Date`
-
-0.2.4 / 2016-05-20
-==================
-
- * perf: enable strict mode
- * perf: use for loop in parse
- * perf: use string concatination for serialization
-
-0.2.3 / 2015-10-25
-==================
-
- * Fix cookie `Max-Age` to never be a floating point number
-
-0.2.2 / 2015-09-17
-==================
-
- * Fix regression when setting empty cookie value
- - Ease the new restriction, which is just basic header-level validation
- * Fix typo in invalid value errors
-
-0.2.1 / 2015-09-17
-==================
-
- * Throw on invalid values provided to `serialize`
- - Ensures the resulting string is a valid HTTP header value
-
-0.2.0 / 2015-08-13
-==================
-
- * Add `firstPartyOnly` option
- * Throw better error for invalid argument to parse
- * perf: hoist regular expression
-
-0.1.5 / 2015-09-17
-==================
-
- * Fix regression when setting empty cookie value
- - Ease the new restriction, which is just basic header-level validation
- * Fix typo in invalid value errors
-
-0.1.4 / 2015-09-17
-==================
-
- * Throw better error for invalid argument to parse
- * Throw on invalid values provided to `serialize`
- - Ensures the resulting string is a valid HTTP header value
-
-0.1.3 / 2015-05-19
-==================
-
- * Reduce the scope of try-catch deopt
- * Remove argument reassignments
-
-0.1.2 / 2014-04-16
-==================
-
- * Remove unnecessary files from npm package
-
-0.1.1 / 2014-02-23
-==================
-
- * Fix bad parse when cookie value contained a comma
- * Fix support for `maxAge` of `0`
-
-0.1.0 / 2013-05-01
-==================
-
- * Add `decode` option
- * Add `encode` option
-
-0.0.6 / 2013-04-08
-==================
-
- * Ignore cookie parts missing `=`
-
-0.0.5 / 2012-10-29
-==================
-
- * Return raw cookie value if value unescape errors
-
-0.0.4 / 2012-06-21
-==================
-
- * Use encode/decodeURIComponent for cookie encoding/decoding
- - Improve server/client interoperability
-
-0.0.3 / 2012-06-06
-==================
-
- * Only escape special characters per the cookie RFC
-
-0.0.2 / 2012-06-01
-==================
-
- * Fix `maxAge` option to not throw error
-
-0.0.1 / 2012-05-28
-==================
-
- * Add more tests
-
-0.0.0 / 2012-05-28
-==================
-
- * Initial release
diff --git a/node_modules/cookie/LICENSE b/node_modules/cookie/LICENSE
deleted file mode 100644
index 058b6b4..0000000
--- a/node_modules/cookie/LICENSE
+++ /dev/null
@@ -1,24 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2012-2014 Roman Shtylman
-Copyright (c) 2015 Douglas Christopher Wilson
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
diff --git a/node_modules/cookie/README.md b/node_modules/cookie/README.md
deleted file mode 100644
index db0d078..0000000
--- a/node_modules/cookie/README.md
+++ /dev/null
@@ -1,220 +0,0 @@
-# cookie
-
-[![NPM Version][npm-image]][npm-url]
-[![NPM Downloads][downloads-image]][downloads-url]
-[![Node.js Version][node-version-image]][node-version-url]
-[![Build Status][travis-image]][travis-url]
-[![Test Coverage][coveralls-image]][coveralls-url]
-
-Basic HTTP cookie parser and serializer for HTTP servers.
-
-## Installation
-
-```sh
-$ npm install cookie
-```
-
-## API
-
-```js
-var cookie = require('cookie');
-```
-
-### cookie.parse(str, options)
-
-Parse an HTTP `Cookie` header string and returning an object of all cookie name-value pairs.
-The `str` argument is the string representing a `Cookie` header value and `options` is an
-optional object containing additional parsing options.
-
-```js
-var cookies = cookie.parse('foo=bar; equation=E%3Dmc%5E2');
-// { foo: 'bar', equation: 'E=mc^2' }
-```
-
-#### Options
-
-`cookie.parse` accepts these properties in the options object.
-
-##### decode
-
-Specifies a function that will be used to decode a cookie's value. Since the value of a cookie
-has a limited character set (and must be a simple string), this function can be used to decode
-a previously-encoded cookie value into a JavaScript string or other object.
-
-The default function is the global `decodeURIComponent`, which will decode any URL-encoded
-sequences into their byte representations.
-
-**note** if an error is thrown from this function, the original, non-decoded cookie value will
-be returned as the cookie's value.
-
-### cookie.serialize(name, value, options)
-
-Serialize a cookie name-value pair into a `Set-Cookie` header string. The `name` argument is the
-name for the cookie, the `value` argument is the value to set the cookie to, and the `options`
-argument is an optional object containing additional serialization options.
-
-```js
-var setCookie = cookie.serialize('foo', 'bar');
-// foo=bar
-```
-
-#### Options
-
-`cookie.serialize` accepts these properties in the options object.
-
-##### domain
-
-Specifies the value for the [`Domain` `Set-Cookie` attribute][rfc-6266-5.2.3]. By default, no
-domain is set, and most clients will consider the cookie to apply to only the current domain.
-
-##### encode
-
-Specifies a function that will be used to encode a cookie's value. Since value of a cookie
-has a limited character set (and must be a simple string), this function can be used to encode
-a value into a string suited for a cookie's value.
-
-The default function is the global `ecodeURIComponent`, which will encode a JavaScript string
-into UTF-8 byte sequences and then URL-encode any that fall outside of the cookie range.
-
-##### expires
-
-Specifies the `Date` object to be the value for the [`Expires` `Set-Cookie` attribute][rfc-6266-5.2.1].
-By default, no expiration is set, and most clients will consider this a "non-persistent cookie" and
-will delete it on a condition like exiting a web browser application.
-
-**note** the [cookie storage model specification][rfc-6266-5.3] states that if both `expires` and
-`magAge` are set, then `maxAge` takes precedence, but it is possiblke not all clients by obey this,
-so if both are set, they should point to the same date and time.
-
-##### httpOnly
-
-Specifies the `boolean` value for the [`HttpOnly` `Set-Cookie` attribute][rfc-6266-5.2.6]. When truthy,
-the `HttpOnly` attribute is set, otherwise it is not. By default, the `HttpOnly` attribute is not set.
-
-**note** be careful when setting this to `true`, as compliant clients will not allow client-side
-JavaScript to see the cookie in `document.cookie`.
-
-##### maxAge
-
-Specifies the `number` (in seconds) to be the value for the [`Max-Age` `Set-Cookie` attribute][rfc-6266-5.2.2].
-The given number will be converted to an integer by rounding down. By default, no maximum age is set.
-
-**note** the [cookie storage model specification][rfc-6266-5.3] states that if both `expires` and
-`magAge` are set, then `maxAge` takes precedence, but it is possiblke not all clients by obey this,
-so if both are set, they should point to the same date and time.
-
-##### path
-
-Specifies the value for the [`Path` `Set-Cookie` attribute][rfc-6266-5.2.4]. By default, the path
-is considered the ["default path"][rfc-6266-5.1.4]. By default, no maximum age is set, and most
-clients will consider this a "non-persistent cookie" and will delete it on a condition like exiting
-a web browser application.
-
-##### sameSite
-
-Specifies the `boolean` or `string` to be the value for the [`SameSite` `Set-Cookie` attribute][draft-west-first-party-cookies-07].
-
- - `true` will set the `SameSite` attribute to `Strict` for strict same site enforcement.
- - `false` will not set the `SameSite` attribute.
- - `'lax'` will set the `SameSite` attribute to `Lax` for lax same site enforcement.
- - `'strict'` will set the `SameSite` attribute to `Strict` for strict same site enforcement.
-
-More information about the different enforcement levels can be found in the specification
-https://tools.ietf.org/html/draft-west-first-party-cookies-07#section-4.1.1
-
-**note** This is an attribute that has not yet been fully standardized, and may change in the future.
-This also means many clients may ignore this attribute until they understand it.
-
-##### secure
-
-Specifies the `boolean` value for the [`Secure` `Set-Cookie` attribute][rfc-6266-5.2.5]. When truthy,
-the `Secure` attribute is set, otherwise it is not. By default, the `Secure` attribute is not set.
-
-**note** be careful when setting this to `true`, as compliant clients will not send the cookie back to
-the server in the future if the browser does not have an HTTPS connection.
-
-## Example
-
-The following example uses this module in conjunction with the Node.js core HTTP server
-to prompt a user for their name and display it back on future visits.
-
-```js
-var cookie = require('cookie');
-var escapeHtml = require('escape-html');
-var http = require('http');
-var url = require('url');
-
-function onRequest(req, res) {
- // Parse the query string
- var query = url.parse(req.url, true, true).query;
-
- if (query && query.name) {
- // Set a new cookie with the name
- res.setHeader('Set-Cookie', cookie.serialize('name', String(query.name), {
- httpOnly: true,
- maxAge: 60 * 60 * 24 * 7 // 1 week
- }));
-
- // Redirect back after setting cookie
- res.statusCode = 302;
- res.setHeader('Location', req.headers.referer || '/');
- res.end();
- return;
- }
-
- // Parse the cookies on the request
- var cookies = cookie.parse(req.headers.cookie || '');
-
- // Get the visitor name set in the cookie
- var name = cookies.name;
-
- res.setHeader('Content-Type', 'text/html; charset=UTF-8');
-
- if (name) {
- res.write('Welcome back, ' + escapeHtml(name) + ' !
');
- } else {
- res.write('Hello, new visitor!
');
- }
-
- res.write(' values
- *
- * @param {string} str
- * @param {object} [options]
- * @return {object}
- * @public
- */
-
-function parse(str, options) {
- if (typeof str !== 'string') {
- throw new TypeError('argument str must be a string');
- }
-
- var obj = {}
- var opt = options || {};
- var pairs = str.split(pairSplitRegExp);
- var dec = opt.decode || decode;
-
- for (var i = 0; i < pairs.length; i++) {
- var pair = pairs[i];
- var eq_idx = pair.indexOf('=');
-
- // skip things that don't look like key=value
- if (eq_idx < 0) {
- continue;
- }
-
- var key = pair.substr(0, eq_idx).trim()
- var val = pair.substr(++eq_idx, pair.length).trim();
-
- // quoted values
- if ('"' == val[0]) {
- val = val.slice(1, -1);
- }
-
- // only assign once
- if (undefined == obj[key]) {
- obj[key] = tryDecode(val, dec);
- }
- }
-
- return obj;
-}
-
-/**
- * Serialize data into a cookie header.
- *
- * Serialize the a name value pair into a cookie string suitable for
- * http headers. An optional options object specified cookie parameters.
- *
- * serialize('foo', 'bar', { httpOnly: true })
- * => "foo=bar; httpOnly"
- *
- * @param {string} name
- * @param {string} val
- * @param {object} [options]
- * @return {string}
- * @public
- */
-
-function serialize(name, val, options) {
- var opt = options || {};
- var enc = opt.encode || encode;
-
- if (typeof enc !== 'function') {
- throw new TypeError('option encode is invalid');
- }
-
- if (!fieldContentRegExp.test(name)) {
- throw new TypeError('argument name is invalid');
- }
-
- var value = enc(val);
-
- if (value && !fieldContentRegExp.test(value)) {
- throw new TypeError('argument val is invalid');
- }
-
- var str = name + '=' + value;
-
- if (null != opt.maxAge) {
- var maxAge = opt.maxAge - 0;
- if (isNaN(maxAge)) throw new Error('maxAge should be a Number');
- str += '; Max-Age=' + Math.floor(maxAge);
- }
-
- if (opt.domain) {
- if (!fieldContentRegExp.test(opt.domain)) {
- throw new TypeError('option domain is invalid');
- }
-
- str += '; Domain=' + opt.domain;
- }
-
- if (opt.path) {
- if (!fieldContentRegExp.test(opt.path)) {
- throw new TypeError('option path is invalid');
- }
-
- str += '; Path=' + opt.path;
- }
-
- if (opt.expires) {
- if (typeof opt.expires.toUTCString !== 'function') {
- throw new TypeError('option expires is invalid');
- }
-
- str += '; Expires=' + opt.expires.toUTCString();
- }
-
- if (opt.httpOnly) {
- str += '; HttpOnly';
- }
-
- if (opt.secure) {
- str += '; Secure';
- }
-
- if (opt.sameSite) {
- var sameSite = typeof opt.sameSite === 'string'
- ? opt.sameSite.toLowerCase() : opt.sameSite;
-
- switch (sameSite) {
- case true:
- str += '; SameSite=Strict';
- break;
- case 'lax':
- str += '; SameSite=Lax';
- break;
- case 'strict':
- str += '; SameSite=Strict';
- break;
- default:
- throw new TypeError('option sameSite is invalid');
- }
- }
-
- return str;
-}
-
-/**
- * Try decoding a string using a decoding function.
- *
- * @param {string} str
- * @param {function} decode
- * @private
- */
-
-function tryDecode(str, decode) {
- try {
- return decode(str);
- } catch (e) {
- return str;
- }
-}
diff --git a/node_modules/cookie/package.json b/node_modules/cookie/package.json
deleted file mode 100644
index f5091bb..0000000
--- a/node_modules/cookie/package.json
+++ /dev/null
@@ -1,98 +0,0 @@
-{
- "_args": [
- [
- "cookie@0.3.1",
- "/home/vincent/Bureau/RIA/node_modules/express"
- ]
- ],
- "_from": "cookie@0.3.1",
- "_id": "cookie@0.3.1",
- "_inCache": true,
- "_installable": true,
- "_location": "/cookie",
- "_npmOperationalInternal": {
- "host": "packages-12-west.internal.npmjs.com",
- "tmp": "tmp/cookie-0.3.1.tgz_1464323556714_0.6435900838114321"
- },
- "_npmUser": {
- "email": "doug@somethingdoug.com",
- "name": "dougwilson"
- },
- "_npmVersion": "1.4.28",
- "_phantomChildren": {},
- "_requested": {
- "name": "cookie",
- "raw": "cookie@0.3.1",
- "rawSpec": "0.3.1",
- "scope": null,
- "spec": "0.3.1",
- "type": "version"
- },
- "_requiredBy": [
- "/express"
- ],
- "_resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
- "_shasum": "e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb",
- "_shrinkwrap": null,
- "_spec": "cookie@0.3.1",
- "_where": "/home/vincent/Bureau/RIA/node_modules/express",
- "author": {
- "email": "shtylman@gmail.com",
- "name": "Roman Shtylman"
- },
- "bugs": {
- "url": "https://github.com/jshttp/cookie/issues"
- },
- "contributors": [
- {
- "email": "doug@somethingdoug.com",
- "name": "Douglas Christopher Wilson"
- }
- ],
- "dependencies": {},
- "description": "HTTP server cookie parsing and serialization",
- "devDependencies": {
- "istanbul": "0.4.3",
- "mocha": "1.21.5"
- },
- "directories": {},
- "dist": {
- "shasum": "e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb",
- "tarball": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz"
- },
- "engines": {
- "node": ">= 0.6"
- },
- "files": [
- "HISTORY.md",
- "LICENSE",
- "README.md",
- "index.js"
- ],
- "gitHead": "e3c77d497d66c8b8d4b677b8954c1b192a09f0b3",
- "homepage": "https://github.com/jshttp/cookie",
- "keywords": [
- "cookie",
- "cookies"
- ],
- "license": "MIT",
- "maintainers": [
- {
- "email": "doug@somethingdoug.com",
- "name": "dougwilson"
- }
- ],
- "name": "cookie",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/jshttp/cookie.git"
- },
- "scripts": {
- "test": "mocha --reporter spec --bail --check-leaks test/",
- "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/",
- "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/"
- },
- "version": "0.3.1"
-}
diff --git a/node_modules/core-js/CHANGELOG.md b/node_modules/core-js/CHANGELOG.md
deleted file mode 100644
index c039e61..0000000
--- a/node_modules/core-js/CHANGELOG.md
+++ /dev/null
@@ -1,406 +0,0 @@
-## Changelog
-##### 1.2.6 - 2015.11.09
-* reject with `TypeError` on attempt resolve promise itself
-* correct behavior with broken `Promise` subclass constructors / methods
-* added `Promise`-based fallback for microtask
-* fixed V8 and FF `Array#{values, @@iterator}.name`
-* fixed IE7- `[1, 2].join(undefined) -> '1,2'`
-* some other fixes / improvements / optimizations
-
-##### 1.2.5 - 2015.11.02
-* some more `Number` constructor fixes:
- * fixed V8 ~ Node 0.8 bug: `Number('+0x1')` should be `NaN`
- * fixed `Number(' 0b1\n')` case, should be `1`
- * fixed `Number()` case, should be `0`
-
-##### 1.2.4 - 2015.11.01
-* fixed `Number('0b12') -> NaN` case in the shim
-* fixed V8 ~ Chromium 40- bug - `Weak(Map|Set)#{delete, get, has}` should not throw errors [#124](https://github.com/zloirock/core-js/issues/124)
-* some other fixes and optimizations
-
-##### 1.2.3 - 2015.10.23
-* fixed some problems related old V8 bug `Object('a').propertyIsEnumerable(0) // => false`, for example, `Object.assign({}, 'qwe')` from the last release
-* fixed `.name` property and `Function#toString` conversion some polyfilled methods
-* fixed `Math.imul` arity in Safari 8-
-
-##### 1.2.2 - 2015.10.18
-* improved optimisations for V8
-* fixed build process from external packages, [#120](https://github.com/zloirock/core-js/pull/120)
-* one more `Object.{assign, values, entries}` fix for [**very** specific case](https://github.com/ljharb/proposal-object-values-entries/issues/5)
-
-##### 1.2.1 - 2015.10.02
-* replaced fix `JSON.stringify` + `Symbol` behavior from `.toJSON` method to wrapping `JSON.stringify` - little more correct, [compat-table/642](https://github.com/kangax/compat-table/pull/642)
-* fixed typo which broke tasks scheduler in WebWorkers in old FF, [#114](https://github.com/zloirock/core-js/pull/114)
-
-##### 1.2.0 - 2015.09.27
-* added browser [`Promise` rejection hook](#unhandled-rejection-tracking), [#106](https://github.com/zloirock/core-js/issues/106)
-* added correct [`IsRegExp`](http://www.ecma-international.org/ecma-262/6.0/#sec-isregexp) logic to [`String#{includes, startsWith, endsWith}`](https://github.com/zloirock/core-js/#ecmascript-6-string) and [`RegExp` constructor](https://github.com/zloirock/core-js/#ecmascript-6-regexp), `@@match` case, [example](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/match#Disabling_the_isRegExp_check)
-* updated [`String#leftPad`](https://github.com/zloirock/core-js/#ecmascript-7) [with proposal](https://github.com/ljharb/proposal-string-pad-left-right/issues/6): string filler truncated from the right side
-* replaced V8 [`Object.assign`](https://github.com/zloirock/core-js/#ecmascript-6-object) - its properties order not only [incorrect](https://github.com/sindresorhus/object-assign/issues/22), it is non-deterministic and it causes some problems
-* fixed behavior with deleted in getters properties for `Object.{`[`assign`](https://github.com/zloirock/core-js/#ecmascript-6-object)`, `[`entries, values`](https://github.com/zloirock/core-js/#ecmascript-7)`}`, [example](http://goo.gl/iQE01c)
-* fixed [`Math.sinh`](https://github.com/zloirock/core-js/#ecmascript-6-math) with very small numbers in V8 near Chromium 38
-* some other fixes and optimizations
-
-##### 1.1.4 - 2015.09.05
-* fixed support symbols in FF34-35 [`Object.assign`](https://github.com/zloirock/core-js/#ecmascript-6-object)
-* fixed [collections iterators](https://github.com/zloirock/core-js/#ecmascript-6-iterators) in FF25-26
-* fixed non-generic WebKit [`Array.of`](https://github.com/zloirock/core-js/#ecmascript-6-array)
-* some other fixes and optimizations
-
-##### 1.1.3 - 2015.08.29
-* fixed support Node.js domains in [`Promise`](https://github.com/zloirock/core-js/#ecmascript-6-promise), [#103](https://github.com/zloirock/core-js/issues/103)
-
-##### 1.1.2 - 2015.08.28
-* added `toJSON` method to [`Symbol`](https://github.com/zloirock/core-js/#ecmascript-6-symbol) polyfill and to MS Edge implementation for expected `JSON.stringify` result w/o patching this method
-* replaced [`Reflect.construct`](https://github.com/zloirock/core-js/#ecmascript-6-reflect) implementations w/o correct support third argument
-* fixed `global` detection with changed `document.domain` in ~IE8, [#100](https://github.com/zloirock/core-js/issues/100)
-
-##### 1.1.1 - 2015.08.20
-* added more correct microtask implementation for [`Promise`](#ecmascript-6-promise)
-
-##### 1.1.0 - 2015.08.17
-* updated [string padding](https://github.com/zloirock/core-js/#ecmascript-7) to [actual proposal](https://github.com/ljharb/proposal-string-pad-left-right) - renamed, minor internal changes:
- * `String#lpad` -> `String#padLeft`
- * `String#rpad` -> `String#padRight`
-* added [string trim functions](#ecmascript-7) - [proposal](https://github.com/sebmarkbage/ecmascript-string-left-right-trim), defacto standard - required only for IE11- and fixed for some old engines:
- * `String#trimLeft`
- * `String#trimRight`
-* [`String#trim`](https://github.com/zloirock/core-js/#ecmascript-6-string) fixed for some engines by es6 spec and moved from `es5` to single `es6` module
-* splitted [`es6.object.statics-accept-primitives`](https://github.com/zloirock/core-js/#ecmascript-6-object)
-* caps for `freeze`-family `Object` methods moved from `es5` to `es6` namespace and joined with [es6 wrappers](https://github.com/zloirock/core-js/#ecmascript-6-object)
-* `es5` [namespace](https://github.com/zloirock/core-js/#commonjs) also includes modules, moved to `es6` namespace - you can use it as before
-* increased `MessageChannel` priority in `$.task`, [#95](https://github.com/zloirock/core-js/issues/95)
-* does not get `global.Symbol` on each getting iterator, if you wanna use alternative `Symbol` shim - add it before `core-js`
-* [`Reflect.construct`](https://github.com/zloirock/core-js/#ecmascript-6-reflect) optimized and fixed for some cases
-* simplified [`Reflect.enumerate`](https://github.com/zloirock/core-js/#ecmascript-6-reflect), see [this question](https://esdiscuss.org/topic/question-about-enumerate-and-property-decision-timing)
-* some corrections in [`Math.acosh`](https://github.com/zloirock/core-js/#ecmascript-6-math)
-* fixed [`Math.imul`](https://github.com/zloirock/core-js/#ecmascript-6-math) for old WebKit
-* some fixes in string / RegExp [well-known symbols](https://github.com/zloirock/core-js/#ecmascript-6-regexp) logic
-* some other fixes and optimizations
-
-##### 1.0.1 - 2015.07.31
-* some fixes for final MS Edge, replaced broken native `Reflect.defineProperty`
-* some minor fixes and optimizations
-* changed compression `client/*.min.js` options for safe `Function#name` and `Function#length`, should be fixed [#92](https://github.com/zloirock/core-js/issues/92)
-
-##### 1.0.0 - 2015.07.22
-* added logic for [well-known symbols](https://github.com/zloirock/core-js/#ecmascript-6-regexp):
- * `Symbol.match`
- * `Symbol.replace`
- * `Symbol.split`
- * `Symbol.search`
-* actualized and optimized work with iterables:
- * optimized [`Map`, `Set`, `WeakMap`, `WeakSet` constructors](https://github.com/zloirock/core-js/#ecmascript-6-collections), [`Promise.all`, `Promise.race`](https://github.com/zloirock/core-js/#ecmascript-6-promise) for default `Array Iterator`
- * optimized [`Array.from`](https://github.com/zloirock/core-js/#ecmascript-6-array) for default `Array Iterator`
- * added [`core.getIteratorMethod`](https://github.com/zloirock/core-js/#ecmascript-6-iterators) helper
-* uses enumerable properties in shimmed instances - collections, iterators, etc for optimize performance
-* added support native constructors to [`Reflect.construct`](https://github.com/zloirock/core-js/#ecmascript-6-reflect) with 2 arguments
-* added support native constructors to [`Function#bind`](https://github.com/zloirock/core-js/#ecmascript-5) shim with `new`
-* removed obsolete `.clear` methods native [`Weak`-collections](https://github.com/zloirock/core-js/#ecmascript-6-collections)
-* maximum modularity, reduced minimal custom build size, separated into submodules:
- * [`es6.reflect`](https://github.com/zloirock/core-js/#ecmascript-6-reflect)
- * [`es6.regexp`](https://github.com/zloirock/core-js/#ecmascript-6-regexp)
- * [`es6.math`](https://github.com/zloirock/core-js/#ecmascript-6-math)
- * [`es6.number`](https://github.com/zloirock/core-js/#ecmascript-6-number)
- * [`es7.object.to-array`](https://github.com/zloirock/core-js/#ecmascript-7)
- * [`core.object`](https://github.com/zloirock/core-js/#object)
- * [`core.string`](https://github.com/zloirock/core-js/#escaping-html)
- * [`core.iter-helpers`](https://github.com/zloirock/core-js/#ecmascript-6-iterators)
- * internal modules (`$`, `$.iter`, etc)
-* many other optimizations
-* final cleaning non-standard features
- * moved `$for` to [separate library](https://github.com/zloirock/forof). This work for syntax - `for-of` loop and comprehensions
- * moved `Date#{format, formatUTC}` to [separate library](https://github.com/zloirock/dtf). Standard way for this - `ECMA-402`
- * removed `Math` methods from `Number.prototype`. Slight sugar for simple `Math` methods calling
- * removed `{Array#, Array, Dict}.turn`
- * removed `core.global`
-* uses `ToNumber` instead of `ToLength` in [`Number Iterator`](https://github.com/zloirock/core-js/#number-iterator), `Array.from(2.5)` will be `[0, 1, 2]` instead of `[0, 1]`
-* fixed [#85](https://github.com/zloirock/core-js/issues/85) - invalid `Promise` unhandled rejection message in nested `setTimeout`
-* fixed [#86](https://github.com/zloirock/core-js/issues/86) - support FF extensions
-* fixed [#89](https://github.com/zloirock/core-js/issues/89) - behavior `Number` constructor in strange case
-
-##### 0.9.18 - 2015.06.17
-* removed `/` from [`RegExp.escape`](https://github.com/zloirock/core-js/#ecmascript-7) escaped characters
-
-##### 0.9.17 - 2015.06.14
-* updated [`RegExp.escape`](https://github.com/zloirock/core-js/#ecmascript-7) to the [latest proposal](https://github.com/benjamingr/RexExp.escape)
-* fixed conflict with webpack dev server + IE buggy behavior
-
-##### 0.9.16 - 2015.06.11
-* more correct order resolving thenable in [`Promise`](https://github.com/zloirock/core-js/#ecmascript-6-promise) polyfill
-* uses polyfill instead of [buggy V8 `Promise`](https://github.com/zloirock/core-js/issues/78)
-
-##### 0.9.15 - 2015.06.09
-* [collections](https://github.com/zloirock/core-js/#ecmascript-6-collections) from `library` version return wrapped native instances
-* fixed collections prototype methods in `library` version
-* optimized [`Math.hypot`](https://github.com/zloirock/core-js/#ecmascript-6-math)
-
-##### 0.9.14 - 2015.06.04
-* updated [`Promise.resolve` behavior](https://esdiscuss.org/topic/fixing-promise-resolve)
-* added fallback for IE11 buggy `Object.getOwnPropertyNames` + iframe
-* some other fixes
-
-##### 0.9.13 - 2015.05.25
-* added fallback for [`Symbol` polyfill](https://github.com/zloirock/core-js/#ecmascript-6-symbol) for old Android
-* some other fixes
-
-##### 0.9.12 - 2015.05.24
-* different instances `core-js` should use / recognize the same symbols
-* some fixes
-
-##### 0.9.11 - 2015.05.18
-* simplified [custom build](https://github.com/zloirock/core-js/#custom-build)
- * add custom build js api
- * added `grunt-cli` to `devDependencies` for `npm run grunt`
-* some fixes
-
-##### 0.9.10 - 2015.05.16
-* wrapped `Function#toString` for correct work wrapped methods / constructors with methods similar to the [`lodash` `isNative`](https://github.com/lodash/lodash/issues/1197)
-* added proto versions of methods to export object in `default` version for consistency with `library` version
-
-##### 0.9.9 - 2015.05.14
-* wrapped `Object#propertyIsEnumerable` for [`Symbol` polyfill](https://github.com/zloirock/core-js/#ecmascript-6-symbol)
-* [added proto versions of methods to `library` for ES7 bind syntax](https://github.com/zloirock/core-js/issues/65)
-* some other fixes
-
-##### 0.9.8 - 2015.05.12
-* fixed [`Math.hypot`](https://github.com/zloirock/core-js/#ecmascript-6-math) with negative arguments
-* added `Object#toString.toString` as fallback for [`lodash` `isNative`](https://github.com/lodash/lodash/issues/1197)
-
-##### 0.9.7 - 2015.05.07
-* added [support DOM collections](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice#Streamlining_cross-browser_behavior) to IE8- `Array#slice`
-
-##### 0.9.6 - 2015.05.01
-* added [`String#lpad`, `String#rpad`](https://github.com/zloirock/core-js/#ecmascript-7)
-
-##### 0.9.5 - 2015.04.30
-* added cap for `Function#@@hasInstance`
-* some fixes and optimizations
-
-##### 0.9.4 - 2015.04.27
-* fixed `RegExp` constructor
-
-##### 0.9.3 - 2015.04.26
-* some fixes and optimizations
-
-##### 0.9.2 - 2015.04.25
-* more correct [`Promise`](https://github.com/zloirock/core-js/#ecmascript-6-promise) unhandled rejection tracking and resolving / rejection priority
-
-##### 0.9.1 - 2015.04.25
-* fixed `__proto__`-based [`Promise`](https://github.com/zloirock/core-js/#ecmascript-6-promise) subclassing in some environments
-
-##### 0.9.0 - 2015.04.24
-* added correct [symbols](https://github.com/zloirock/core-js/#ecmascript-6-symbol) descriptors
- * fixed behavior `Object.{assign, create, defineProperty, defineProperties, getOwnPropertyDescriptor, getOwnPropertyDescriptors}` with symbols
- * added [single entry points](https://github.com/zloirock/core-js/#commonjs) for `Object.{create, defineProperty, defineProperties}`
-* added [`Map#toJSON`](https://github.com/zloirock/core-js/#ecmascript-7)
-* removed non-standard methods `Object#[_]` and `Function#only` - they solves syntax problems, but now in compilers available arrows and ~~in near future will be available~~ [available](http://babeljs.io/blog/2015/05/14/function-bind/) [bind syntax](https://github.com/zenparsing/es-function-bind)
-* removed non-standard undocumented methods `Symbol.{pure, set}`
-* some fixes and internal changes
-
-##### 0.8.4 - 2015.04.18
-* uses `webpack` instead of `browserify` for browser builds - more compression-friendly result
-
-##### 0.8.3 - 2015.04.14
-* fixed `Array` statics with single entry points
-
-##### 0.8.2 - 2015.04.13
-* [`Math.fround`](https://github.com/zloirock/core-js/#ecmascript-6-math) now also works in IE9-
-* added [`Set#toJSON`](https://github.com/zloirock/core-js/#ecmascript-7)
-* some optimizations and fixes
-
-##### 0.8.1 - 2015.04.03
-* fixed `Symbol.keyFor`
-
-##### 0.8.0 - 2015.04.02
-* changed [CommonJS API](https://github.com/zloirock/core-js/#commonjs)
-* splitted and renamed some modules
-* added support ES3 environment (ES5 polyfill) to **all** default versions - size increases slightly (+ ~4kb w/o gzip), many issues disappear, if you don't need it - [simply include only required namespaces / features / modules](https://github.com/zloirock/core-js/#commonjs)
-* removed [abstract references](https://github.com/zenparsing/es-abstract-refs) support - proposal has been superseded =\
-* [`$for.isIterable` -> `core.isIterable`, `$for.getIterator` -> `core.getIterator`](https://github.com/zloirock/core-js/#ecmascript-6-iterators), temporary available in old namespace
-* fixed iterators support in v8 `Promise.all` and `Promise.race`
-* many other fixes
-
-##### 0.7.2 - 2015.03.09
-* some fixes
-
-##### 0.7.1 - 2015.03.07
-* some fixes
-
-##### 0.7.0 - 2015.03.06
-* rewritten and splitted into [CommonJS modules](https://github.com/zloirock/core-js/#commonjs)
-
-##### 0.6.1 - 2015.02.24
-* fixed support [`Object.defineProperty`](https://github.com/zloirock/core-js/#ecmascript-5) with accessors on DOM elements on IE8
-
-##### 0.6.0 - 2015.02.23
-* added support safe closing iteration - calling `iterator.return` on abort iteration, if it exists
-* added basic support [`Promise`](https://github.com/zloirock/core-js/#ecmascript-6-promise) unhandled rejection tracking in shim
-* added [`Object.getOwnPropertyDescriptors`](https://github.com/zloirock/core-js/#ecmascript-7)
-* removed `console` cap - creates too many problems - you can use [`core.log`](https://github.com/zloirock/core-js/#console) module as that
-* restructuring [namespaces](https://github.com/zloirock/core-js/#custom-build)
-* some fixes
-
-##### 0.5.4 - 2015.02.15
-* some fixes
-
-##### 0.5.3 - 2015.02.14
-* added [support binary and octal literals](https://github.com/zloirock/core-js/#ecmascript-6-number) to `Number` constructor
-* added [`Date#toISOString`](https://github.com/zloirock/core-js/#ecmascript-5)
-
-##### 0.5.2 - 2015.02.10
-* some fixes
-
-##### 0.5.1 - 2015.02.09
-* some fixes
-
-##### 0.5.0 - 2015.02.08
-* systematization of modules
-* splitted [`es6` module](https://github.com/zloirock/core-js/#ecmascript-6)
-* splitted [`console` module](https://github.com/zloirock/core-js/#console): `web.console` - only cap for missing methods, `core.log` - bound methods & additional features
-* added [`delay` method](https://github.com/zloirock/core-js/#delay)
-* some fixes
-
-##### 0.4.10 - 2015.01.28
-* [`Object.getOwnPropertySymbols`](https://github.com/zloirock/core-js/#ecmascript-6-symbol) polyfill returns array of wrapped keys
-
-##### 0.4.9 - 2015.01.27
-* FF20-24 fix
-
-##### 0.4.8 - 2015.01.25
-* some [collections](https://github.com/zloirock/core-js/#ecmascript-6-collections) fixes
-
-##### 0.4.7 - 2015.01.25
-* added support frozen objects as [collections](https://github.com/zloirock/core-js/#ecmascript-6-collections) keys
-
-##### 0.4.6 - 2015.01.21
-* added [`Object.getOwnPropertySymbols`](https://github.com/zloirock/core-js/#ecmascript-6-symbol)
-* added [`NodeList.prototype[@@iterator]`](https://github.com/zloirock/core-js/#ecmascript-6-iterators)
-* added basic `@@species` logic - getter in native constructors
-* removed `Function#by`
-* some fixes
-
-##### 0.4.5 - 2015.01.16
-* some fixes
-
-##### 0.4.4 - 2015.01.11
-* enabled CSP support
-
-##### 0.4.3 - 2015.01.10
-* added `Function` instances `name` property for IE9+
-
-##### 0.4.2 - 2015.01.10
-* `Object` static methods accept primitives
-* `RegExp` constructor can alter flags (IE9+)
-* added `Array.prototype[Symbol.unscopables]`
-
-##### 0.4.1 - 2015.01.05
-* some fixes
-
-##### 0.4.0 - 2015.01.03
-* added [`es6.reflect`](https://github.com/zloirock/core-js/#ecmascript-6-reflect) module:
- * added `Reflect.apply`
- * added `Reflect.construct`
- * added `Reflect.defineProperty`
- * added `Reflect.deleteProperty`
- * added `Reflect.enumerate`
- * added `Reflect.get`
- * added `Reflect.getOwnPropertyDescriptor`
- * added `Reflect.getPrototypeOf`
- * added `Reflect.has`
- * added `Reflect.isExtensible`
- * added `Reflect.preventExtensions`
- * added `Reflect.set`
- * added `Reflect.setPrototypeOf`
-* `core-js` methods now can use external `Symbol.iterator` polyfill
-* some fixes
-
-##### 0.3.3 - 2014.12.28
-* [console cap](https://github.com/zloirock/core-js/#console) excluded from node.js default builds
-
-##### 0.3.2 - 2014.12.25
-* added cap for [ES5](https://github.com/zloirock/core-js/#ecmascript-5) freeze-family methods
-* fixed `console` bug
-
-##### 0.3.1 - 2014.12.23
-* some fixes
-
-##### 0.3.0 - 2014.12.23
-* Optimize [`Map` & `Set`](https://github.com/zloirock/core-js/#ecmascript-6-collections):
- * use entries chain on hash table
- * fast & correct iteration
- * iterators moved to [`es6`](https://github.com/zloirock/core-js/#ecmascript-6) and [`es6.collections`](https://github.com/zloirock/core-js/#ecmascript-6-collections) modules
-
-##### 0.2.5 - 2014.12.20
-* `console` no longer shortcut for `console.log` (compatibility problems)
-* some fixes
-
-##### 0.2.4 - 2014.12.17
-* better compliance of ES6
-* added [`Math.fround`](https://github.com/zloirock/core-js/#ecmascript-6-math) (IE10+)
-* some fixes
-
-##### 0.2.3 - 2014.12.15
-* [Symbols](https://github.com/zloirock/core-js/#ecmascript-6-symbol):
- * added option to disable addition setter to `Object.prototype` for Symbol polyfill:
- * added `Symbol.useSimple`
- * added `Symbol.useSetter`
- * added cap for well-known Symbols:
- * added `Symbol.hasInstance`
- * added `Symbol.isConcatSpreadable`
- * added `Symbol.match`
- * added `Symbol.replace`
- * added `Symbol.search`
- * added `Symbol.species`
- * added `Symbol.split`
- * added `Symbol.toPrimitive`
- * added `Symbol.unscopables`
-
-##### 0.2.2 - 2014.12.13
-* added [`RegExp#flags`](https://github.com/zloirock/core-js/#ecmascript-6-regexp) ([December 2014 Draft Rev 29](http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts#december_6_2014_draft_rev_29))
-* added [`String.raw`](https://github.com/zloirock/core-js/#ecmascript-6-string)
-
-##### 0.2.1 - 2014.12.12
-* repair converting -0 to +0 in [native collections](https://github.com/zloirock/core-js/#ecmascript-6-collections)
-
-##### 0.2.0 - 2014.12.06
-* added [`es7.proposals`](https://github.com/zloirock/core-js/#ecmascript-7) and [`es7.abstract-refs`](https://github.com/zenparsing/es-abstract-refs) modules
-* added [`String#at`](https://github.com/zloirock/core-js/#ecmascript-7)
-* added real [`String Iterator`](https://github.com/zloirock/core-js/#ecmascript-6-iterators), older versions used Array Iterator
-* added abstract references support:
- * added `Symbol.referenceGet`
- * added `Symbol.referenceSet`
- * added `Symbol.referenceDelete`
- * added `Function#@@referenceGet`
- * added `Map#@@referenceGet`
- * added `Map#@@referenceSet`
- * added `Map#@@referenceDelete`
- * added `WeakMap#@@referenceGet`
- * added `WeakMap#@@referenceSet`
- * added `WeakMap#@@referenceDelete`
- * added `Dict.{...methods}[@@referenceGet]`
-* removed deprecated `.contains` methods
-* some fixes
-
-##### 0.1.5 - 2014.12.01
-* added [`Array#copyWithin`](https://github.com/zloirock/core-js/#ecmascript-6-array)
-* added [`String#codePointAt`](https://github.com/zloirock/core-js/#ecmascript-6-string)
-* added [`String.fromCodePoint`](https://github.com/zloirock/core-js/#ecmascript-6-string)
-
-##### 0.1.4 - 2014.11.27
-* added [`Dict.mapPairs`](https://github.com/zloirock/core-js/#dict)
-
-##### 0.1.3 - 2014.11.20
-* [TC39 November meeting](https://github.com/rwaldron/tc39-notes/tree/master/es6/2014-11):
- * [`.contains` -> `.includes`](https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-11/nov-18.md#51--44-arrayprototypecontains-and-stringprototypecontains)
- * `String#contains` -> [`String#includes`](https://github.com/zloirock/core-js/#ecmascript-6-string)
- * `Array#contains` -> [`Array#includes`](https://github.com/zloirock/core-js/#ecmascript-7)
- * `Dict.contains` -> [`Dict.includes`](https://github.com/zloirock/core-js/#dict)
- * [removed `WeakMap#clear`](https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-11/nov-19.md#412-should-weakmapweakset-have-a-clear-method-markm)
- * [removed `WeakSet#clear`](https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-11/nov-19.md#412-should-weakmapweakset-have-a-clear-method-markm)
-
-##### 0.1.2 - 2014.11.19
-* `Map` & `Set` bug fix
-
-##### 0.1.1 - 2014.11.18
-* public release
\ No newline at end of file
diff --git a/node_modules/core-js/Gruntfile.js b/node_modules/core-js/Gruntfile.js
deleted file mode 100644
index afbcd94..0000000
--- a/node_modules/core-js/Gruntfile.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('LiveScript');
-module.exports = require('./build/Gruntfile');
\ No newline at end of file
diff --git a/node_modules/core-js/LICENSE b/node_modules/core-js/LICENSE
deleted file mode 100644
index 669bcc9..0000000
--- a/node_modules/core-js/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2015 Denis Pushkarev
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/node_modules/core-js/README.md b/node_modules/core-js/README.md
deleted file mode 100644
index 5ddb8fd..0000000
--- a/node_modules/core-js/README.md
+++ /dev/null
@@ -1,1289 +0,0 @@
-# core-js
-
-[](https://gitter.im/zloirock/core-js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [](https://www.npmjs.com/package/core-js) [](http://npm-stat.com/charts.html?package=core-js&author=&from=2014-11-18&to=2114-11-18) [](https://travis-ci.org/zloirock/core-js) [](https://david-dm.org/zloirock/core-js#info=devDependencies)
-
-Modular compact standard library for JavaScript. Includes polyfills for [ECMAScript 5](#ecmascript-5), [ECMAScript 6](#ecmascript-6): [symbols](#ecmascript-6-symbol), [collections](#ecmascript-6-collections), [iterators](#ecmascript-6-iterators), [promises](#ecmascript-6-promise), [ECMAScript 7 proposals](#ecmascript-7); [setImmediate](#setimmediate), [array generics](#mozilla-javascript-array-generics). Some additional features such as [dictionaries](#dict) or [extended partial application](#partial-application). You can require only standardized features polyfills, use features without global namespace pollution or create a custom build.
-
-[Example](http://goo.gl/mfHYm2):
-```javascript
-Array.from(new Set([1, 2, 3, 2, 1])); // => [1, 2, 3]
-'*'.repeat(10); // => '**********'
-Promise.resolve(32).then(log); // => 32
-setImmediate(log, 42); // => 42
-```
-
-[Without global namespace pollution](http://goo.gl/WBhs43):
-```javascript
-var core = require('core-js/library'); // With a modular system, otherwise use global `core`
-core.Array.from(new core.Set([1, 2, 3, 2, 1])); // => [1, 2, 3]
-core.String.repeat('*', 10); // => '**********'
-core.Promise.resolve(32).then(core.log); // => 32
-core.setImmediate(core.log, 42); // => 42
-```
-
-- [Usage](#usage)
- - [Basic](#basic)
- - [CommonJS](#commonjs)
- - [Custom build](#custom-build)
-- [Features](#features)
- - [ECMAScript 5](#ecmascript-5)
- - [ECMAScript 6](#ecmascript-6)
- - [ECMAScript 6: Object](#ecmascript-6-object)
- - [ECMAScript 6: Function](#ecmascript-6-function)
- - [ECMAScript 6: Array](#ecmascript-6-array)
- - [ECMAScript 6: String](#ecmascript-6-string)
- - [ECMAScript 6: RegExp](#ecmascript-6-regexp)
- - [ECMAScript 6: Number](#ecmascript-6-number)
- - [ECMAScript 6: Math](#ecmascript-6-math)
- - [ECMAScript 6: Symbol](#ecmascript-6-symbol)
- - [ECMAScript 6: Collections](#ecmascript-6-collections)
- - [ECMAScript 6: Iterators](#ecmascript-6-iterators)
- - [ECMAScript 6: Promise](#ecmascript-6-promise)
- - [ECMAScript 6: Reflect](#ecmascript-6-reflect)
- - [ECMAScript 7](#ecmascript-7)
- - [Mozilla JavaScript: Array generics](#mozilla-javascript-array-generics)
- - [Web standards](#web-standards)
- - [setTimeout / setInterval](#settimeout--setinterval)
- - [setImmediate](#setimmediate)
- - [Non-standard](#non-standard)
- - [Object](#object)
- - [Dict](#dict)
- - [Partial application](#partial-application)
- - [Number Iterator](#number-iterator)
- - [Escaping HTML](#escaping-html)
- - [delay](#delay)
- - [console](#console)
-- [Missing polyfills](#missing-polyfills)
-- [Changelog](./CHANGELOG.md)
-
-## Usage
-### Basic
-```
-npm i core-js
-bower install core.js
-```
-
-```javascript
-// Default
-require('core-js');
-// Without global namespace pollution
-var core = require('core-js/library');
-// Shim only
-require('core-js/shim');
-```
-If you need complete build for browser, use builds from `core-js/client` path: [default](https://raw.githack.com/zloirock/core-js/master/client/core.min.js), [without global namespace pollution](https://raw.githack.com/zloirock/core-js/master/client/library.min.js), [shim only](https://raw.githack.com/zloirock/core-js/master/client/shim.min.js).
-
-Warning: if you uses `core-js` with the extension of native objects, require all needed `core-js` modules at the beginning of entry point of your application, otherwise maybe conflicts.
-
-### CommonJS
-You can require only needed modules.
-
-```js
-require('core-js/es5'); // if you need support IE8-
-require('core-js/fn/set');
-require('core-js/fn/array/from');
-require('core-js/fn/array/find-index');
-Array.from(new Set([1, 2, 3, 2, 1])); // => [1, 2, 3]
-[1, 2, NaN, 3, 4].findIndex(isNaN); // => 2
-
-// or, w/o global namespace pollution:
-
-var core = require('core-js/library/es5'); // if you need support IE8-
-var Set = require('core-js/library/fn/set');
-var from = require('core-js/library/fn/array/from');
-var findIndex = require('core-js/library/fn/array/find-index');
-from(new Set([1, 2, 3, 2, 1])); // => [1, 2, 3]
-findIndex([1, 2, NaN, 3, 4], isNaN); // => 2
-```
-Available entry points for methods / constructors, as above examples, excluding features from [`es5`](#ecmascript-5) module (this module requires completely in ES3 environment before all other modules).
-
-Available namespaces: for example, `core-js/es6/array` (`core-js/library/es6/array`) contains all [ES6 `Array` features](#ecmascript-6-array), `core-js/es6` (`core-js/library/es6`) contains all ES6 features.
-
-### Custom build
-```
-npm i core-js && cd node_modules/core-js && npm i
-npm run grunt build:core.dict,es6 -- --blacklist=es6.promise,es6.math --library=on --path=custom uglify
-```
-Where `core.dict` and `es6` are modules (namespaces) names, which will be added to the build, `es6.promise` and `es6.math` are modules (namespaces) names, which will be excluded from the build, `--library=on` is flag for build without global namespace pollution and `custom` is target file name.
-
-Available namespaces: for example, `es6.array` contains [ES6 `Array` features](#ecmascript-6-array), `es6` contains all modules whose names start with `es6`.
-
-Available custom build from js code (required `webpack`):
-```js
-require('core-js/build')({
- modules: ['es6', 'core.dict'], // modules / namespaces
- blacklist: ['es6.reflect'], // blacklist of modules / namespaces
- library: false, // flag for build without global namespace pollution
-}, function(err, code){ // callback
- // ...
-});
-```
-## Features:
-### ECMAScript 5
-Module [`es5`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es5.js), nothing new - without examples.
-```javascript
-Object
- .create(proto | null, descriptors?) -> object
- .getPrototypeOf(object) -> proto | null
- .defineProperty(target, key, desc) -> target, cap for ie8-
- .defineProperties(target, descriptors) -> target, cap for ie8-
- .getOwnPropertyDescriptor(object, key) -> desc
- .getOwnPropertyNames(object) -> array
- .keys(object) -> array
-Array
- .isArray(var) -> bool
- #slice(start?, end?) -> array, fix for ie7-
- #join(string = ',') -> string, fix for ie7-
- #indexOf(var, from?) -> int
- #lastIndexOf(var, from?) -> int
- #every(fn(val, index, @), that) -> bool
- #some(fn(val, index, @), that) -> bool
- #forEach(fn(val, index, @), that) -> void
- #map(fn(val, index, @), that) -> array
- #filter(fn(val, index, @), that) -> array
- #reduce(fn(memo, val, index, @), memo?) -> var
- #reduceRight(fn(memo, val, index, @), memo?) -> var
-Function
- #bind(object, ...args) -> boundFn(...args)
-Date
- .now() -> int
- #toISOString() -> string
-```
-Some features moved to [another modules / namespaces](#ecmascript-6), but available as part of `es5` namespace too:
-```js
-Object
- .seal(object) -> object, cap for ie8-
- .freeze(object) -> object, cap for ie8-
- .preventExtensions(object) -> object, cap for ie8-
- .isSealed(object) -> bool, cap for ie8-
- .isFrozen(object) -> bool, cap for ie8-
- .isExtensible(object) -> bool, cap for ie8-
-String
- #trim() -> str
-```
-
-### ECMAScript 6
-#### ECMAScript 6: Object
-Modules [`es6.object.assign`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.object.assign.js), [`es6.object.is`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.object.is.js), [`es6.object.set-prototype-of`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.object.set-prototype-of.js) and [`es6.object.to-string`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.object.to-string.js).
-```javascript
-Object
- .assign(target, ...src) -> target
- .is(a, b) -> bool
- .setPrototypeOf(target, proto | null) -> target (required __proto__ - IE11+)
- #toString() -> string, ES6 fix: @@toStringTag support
-```
-[Example](http://goo.gl/VzmY3j):
-```javascript
-var foo = {q: 1, w: 2}
- , bar = {e: 3, r: 4}
- , baz = {t: 5, y: 6};
-Object.assign(foo, bar, baz); // => foo = {q: 1, w: 2, e: 3, r: 4, t: 5, y: 6}
-
-Object.is(NaN, NaN); // => true
-Object.is(0, -0); // => false
-Object.is(42, 42); // => true
-Object.is(42, '42'); // => false
-
-function Parent(){}
-function Child(){}
-Object.setPrototypeOf(Child.prototype, Parent.prototype);
-new Child instanceof Child; // => true
-new Child instanceof Parent; // => true
-
-var O = {};
-O[Symbol.toStringTag] = 'Foo';
-'' + O; // => '[object Foo]'
-```
-In ES6 most `Object` static methods should work with primitives. Modules [`es6.object.freeze`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.object.freeze.js), [`es6.object.seal`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.object.seal.js), [`es6.object.prevent-extensions`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.object.prevent-extensions.js), [`es6.object.is-frozen`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.object.is-frozen.js), [`es6.object.is-sealed`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.object.is-sealed.js), [`es6.object.is-extensible`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.object.is-extensible.js), [`es6.object.get-own-property-descriptor`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.object.get-own-property-descriptor.js), [`es6.object.get-prototype-of`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.object.get-prototype-of.js), [`es6.object.keys`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.object.keys.js), [`es6.object.get-own-property-names`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.object.get-own-property-names.js).
-```javascript
-Object
- .freeze(var) -> var
- .seal(var) -> var
- .preventExtensions(var) -> var
- .isFrozen(var) -> bool
- .isSealed(var) -> bool
- .isExtensible(var) -> bool
- .getOwnPropertyDescriptor(var, key) -> desc | undefined
- .getPrototypeOf(var) -> object | null
- .keys(var) -> array
- .getOwnPropertyNames(var) -> array
-```
-[Example](http://goo.gl/35lPSi):
-```javascript
-Object.keys('qwe'); // => ['0', '1', '2']
-Object.getPrototypeOf('qwe') === String.prototype; // => true
-```
-#### ECMAScript 6: Function
-Modules [`es6.function.name`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.function.name.js) and [`es6.function.has-instance`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.function.has-instance.js).
-```javascript
-Function
- #name -> string (IE9+)
- #@@hasInstance(var) -> bool
-```
-[Example](http://goo.gl/zqu3Wp):
-```javascript
-(function foo(){}).name // => 'foo'
-```
-#### ECMAScript 6: Array
-Modules [`es6.array.from`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.array.from.js), [`es6.array.of`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.array.of.js), [`es6.array.copy-within`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.array.copy-within.js), [`es6.array.fill`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.array.fill.js), [`es6.array.find`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.array.find.js) and [`es6.array.find-index`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.array.find-index.js).
-```javascript
-Array
- .from(iterable | array-like, mapFn(val, index)?, that) -> array
- .of(...args) -> array
- #copyWithin(target = 0, start = 0, end = @length) -> @
- #fill(val, start = 0, end = @length) -> @
- #find(fn(val, index, @), that) -> val
- #findIndex(fn(val, index, @), that) -> index
- #@@unscopables -> object (cap)
-```
-[Example](http://goo.gl/nxmJTe):
-```javascript
-Array.from(new Set([1, 2, 3, 2, 1])); // => [1, 2, 3]
-Array.from({0: 1, 1: 2, 2: 3, length: 3}); // => [1, 2, 3]
-Array.from('123', Number); // => [1, 2, 3]
-Array.from('123', function(it){
- return it * it;
-}); // => [1, 4, 9]
-
-Array.of(1); // => [1]
-Array.of(1, 2, 3); // => [1, 2, 3]
-
-function isOdd(val){
- return val % 2;
-}
-[4, 8, 15, 16, 23, 42].find(isOdd); // => 15
-[4, 8, 15, 16, 23, 42].findIndex(isOdd); // => 2
-[4, 8, 15, 16, 23, 42].find(isNaN); // => undefined
-[4, 8, 15, 16, 23, 42].findIndex(isNaN); // => -1
-
-Array(5).fill(42); // => [42, 42, 42, 42, 42]
-
-[1, 2, 3, 4, 5].copyWithin(0, 3); // => [4, 5, 3, 4, 5]
-```
-#### ECMAScript 6: String
-Modules [`es6.string.from-code-point`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.string.from-code-point.js), [`es6.string.raw`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.string.raw.js), [`es6.string.code-point-at`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.string.code-point-at.js), [`es6.string.ends-with`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.string.ends-with.js), [`es6.string.includes`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.string.includes.js), [`es6.string.repeat`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.string.repeat.js), [`es6.string.starts-with`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.string.starts-with.js) and [`es6.string.trim`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.string.trim.js).
-```javascript
-String
- .fromCodePoint(...codePoints) -> str
- .raw({raw}, ...substitutions) -> str
- #includes(str, from?) -> bool
- #startsWith(str, from?) -> bool
- #endsWith(str, from?) -> bool
- #repeat(num) -> str
- #codePointAt(pos) -> uint
- #trim() -> str, ES6 fix
-```
-[Examples](http://goo.gl/RMyFBo):
-```javascript
-'foobarbaz'.includes('bar'); // => true
-'foobarbaz'.includes('bar', 4); // => false
-'foobarbaz'.startsWith('foo'); // => true
-'foobarbaz'.startsWith('bar', 3); // => true
-'foobarbaz'.endsWith('baz'); // => true
-'foobarbaz'.endsWith('bar', 6); // => true
-
-'string'.repeat(3); // => 'stringstringstring'
-
-'𠮷'.codePointAt(0); // => 134071
-String.fromCodePoint(97, 134071, 98); // => 'a𠮷b'
-
-var name = 'Bob';
-String.raw`Hi\n${name}!`; // => 'Hi\\nBob!' (ES6 template string syntax)
-String.raw({raw: 'test'}, 0, 1, 2); // => 't0e1s2t'
-```
-#### ECMAScript 6: RegExp
-Modules [`es6.regexp.constructor`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.regexp.constructor.js) and [`es6.regexp.flags`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.regexp.flags.js).
-
-Support well-known [symbols](#ecmascript-6-symbol) `@@match`, `@@replace`, `@@search` and `@@split`, modules [`es6.regexp.match`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.regexp.match.js), [`es6.regexp.replace`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.regexp.replace.js), [`es6.regexp.search`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.regexp.search.js) and [`es6.regexp.split`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.regexp.split.js).
-```
-String
- #match(tpl) -> var, ES6 fix for support @@match
- #replace(tpl, replacer) -> var, ES6 fix for support @@replace
- #search(tpl) -> var, ES6 fix for support @@search
- #split(tpl, limit) -> var, ES6 fix for support @@split
-[new] RegExp(pattern, flags?) -> regexp, ES6 fix: can alter flags (IE9+)
- #flags -> str (IE9+)
- #@@match(str) -> array | null
- #@@replace(str, replacer) -> string
- #@@search(str) -> index
- #@@split(str, limit) -> array
-```
-[Examples](http://goo.gl/vLV603):
-```javascript
-RegExp(/./g, 'm'); // => /./m
-
-/foo/.flags; // => ''
-/foo/gim.flags; // => 'gim'
-
-'foo'.match({[Symbol.match]: _ => 1}); // => 1
-'foo'.replace({[Symbol.replace]: _ => 2}); // => 2
-'foo'.search({[Symbol.search]: _ => 3}); // => 3
-'foo'.split({[Symbol.split]: _ => 4}); // => 4
-```
-#### ECMAScript 6: Number
-Module [`es6.number.constructor`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.number.constructor.js). `Number` constructor support binary and octal literals, [example](http://goo.gl/jRd6b3):
-```javascript
-Number('0b1010101'); // => 85
-Number('0o7654321'); // => 2054353
-```
-`Number`: modules [`es6.number.epsilon`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.number.epsilon.js), [`es6.number.is-finite`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.number.is-finite.js), [`es6.number.is-integer`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.number.is-integer.js), [`es6.number.is-nan`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.number.is-nan.js), [`es6.number.is-safe-integer`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.number.is-safe-integer.js), [`es6.number.max-safe-integer`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.number.max-safe-integer.js), [`es6.number.min-safe-integer`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.number.min-safe-integer.js), [`es6.number.parse-float`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.number.parse-float.js), [`es6.number.parse-int`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.number.parse-int.js).
-```javascript
-[new] Number(var) -> number | number object
- .EPSILON -> num
- .isFinite(num) -> bool
- .isInteger(num) -> bool
- .isNaN(num) -> bool
- .isSafeInteger(num) -> bool
- .MAX_SAFE_INTEGER -> int
- .MIN_SAFE_INTEGER -> int
- .parseFloat(str) -> num
- .parseInt(str) -> int
-```
-#### ECMAScript 6: Math
-`Math`: modules [`es6.math.acosh`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.math.acosh.js), [`es6.math.asinh`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.math.asinh.js), [`es6.math.atanh`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.math.atanh.js), [`es6.math.cbrt`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.math.cbrt.js), [`es6.math.clz32`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.math.clz32.js), [`es6.math.cosh`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.math.cosh.js), [`es6.math.expm1`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.math.expm1.js), [`es6.math.fround`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.math.fround.js), [`es6.math.hypot`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.math.hypot.js), [`es6.math.imul`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.math.imul.js), [`es6.math.log10`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.math.log10.js), [`es6.math.log1p`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.math.log1p.js), [`es6.math.log2`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.math.log2.js), [`es6.math.sign`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.math.sign.js), [`es6.math.sinh`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.math.sinh.js), [`es6.math.tanh`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.math.tanh.js), [`es6.math.trunc`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.math.trunc.js).
-```javascript
-Math
- .acosh(num) -> num
- .asinh(num) -> num
- .atanh(num) -> num
- .cbrt(num) -> num
- .clz32(num) -> uint
- .cosh(num) -> num
- .expm1(num) -> num
- .fround(num) -> num
- .hypot(...args) -> num
- .imul(num, num) -> int
- .log1p(num) -> num
- .log10(num) -> num
- .log2(num) -> num
- .sign(num) -> 1 | -1 | 0 | -0 | NaN
- .sinh(num) -> num
- .tanh(num) -> num
- .trunc(num) -> num
-```
-
-#### ECMAScript 6: Symbol
-Module [`es6.symbol`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.symbol.js).
-```javascript
-Symbol(description?) -> symbol
- .hasInstance -> @@hasInstance
- .isConcatSpreadable -> @@isConcatSpreadable
- .iterator -> @@iterator
- .match -> @@match
- .replace -> @@replace
- .search -> @@search
- .species -> @@species
- .split -> @@split
- .toPrimitive -> @@toPrimitive
- .toStringTag -> @@toStringTag
- .unscopables -> @@unscopables
- .for(key) -> symbol
- .keyFor(symbol) -> key
- .useSimple() -> void
- .useSetter() -> void
-Object
- .getOwnPropertySymbols(object) -> array
-```
-Also wrapped some methods for correct work with `Symbol` polyfill.
-```js
-Object
- .create(proto | null, descriptors?) -> object
- .defineProperty(target, key, desc) -> target
- .defineProperties(target, descriptors) -> target
- .getOwnPropertyDescriptor(var, key) -> desc | undefined
- .getOwnPropertyNames(var) -> array
- #propertyIsEnumerable(key) -> bool
-JSON
- .stringify(target, replacer?, space?) -> string | undefined
-```
-[Basic example](http://goo.gl/BbvWFc):
-```javascript
-var Person = (function(){
- var NAME = Symbol('name');
- function Person(name){
- this[NAME] = name;
- }
- Person.prototype.getName = function(){
- return this[NAME];
- };
- return Person;
-})();
-
-var person = new Person('Vasya');
-log(person.getName()); // => 'Vasya'
-log(person['name']); // => undefined
-log(person[Symbol('name')]); // => undefined, symbols are uniq
-for(var key in person)log(key); // => only 'getName', symbols are not enumerable
-```
-`Symbol.for` & `Symbol.keyFor` [example](http://goo.gl/0pdJjX):
-```javascript
-var symbol = Symbol.for('key');
-symbol === Symbol.for('key'); // true
-Symbol.keyFor(symbol); // 'key'
-```
-[Example](http://goo.gl/mKVOQJ) with methods for getting own object keys:
-```javascript
-var O = {a: 1};
-Object.defineProperty(O, 'b', {value: 2});
-O[Symbol('c')] = 3;
-Object.keys(O); // => ['a']
-Object.getOwnPropertyNames(O); // => ['a', 'b']
-Object.getOwnPropertySymbols(O); // => [Symbol(c)]
-Reflect.ownKeys(O); // => ['a', 'b', Symbol(c)]
-```
-#### Caveats when using `Symbol` polyfill:
-
-* We can't add new primitive type, `Symbol` returns object.
-* `Symbol.for` and `Symbol.keyFor` can't be shimmed cross-realm.
-* By default, to hide the keys, `Symbol` polyfill defines setter in `Object.prototype`. For this reason, uncontrolled creation of symbols can cause memory leak and the `in` operator is not working correctly with `Symbol` polyfill: `Symbol() in {} // => true`.
-
-You can disable defining setters in `Object.prototype`. [Example](http://goo.gl/N5UD7J):
-```javascript
-Symbol.useSimple();
-var s1 = Symbol('s1')
- , o1 = {};
-o1[s1] = true;
-for(var key in o1)log(key); // => 'Symbol(s1)_t.qamkg9f3q', w/o native Symbol
-
-Symbol.useSetter();
-var s2 = Symbol('s2')
- , o2 = {};
-o2[s2] = true;
-for(var key in o2)log(key); // nothing
-```
-* Currently, `core-js` not adds setters to `Object.prototype` for well-known symbols for correct work something like `Symbol.iterator in foo`. It can cause problems with their enumerability.
-
-#### ECMAScript 6: Collections
-`core-js` uses native collections in most case, just fixes methods / constructor, if it's required, and in old environment uses fast polyfill (O(1) lookup).
-#### Map
-Module [`es6.map`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.map.js). About iterators from this module [here](#ecmascript-6-iterators).
-```javascript
-new Map(iterable (entries) ?) -> map
- #clear() -> void
- #delete(key) -> bool
- #forEach(fn(val, key, @), that) -> void
- #get(key) -> val
- #has(key) -> bool
- #set(key, val) -> @
- #size -> uint
-```
-[Example](http://goo.gl/RDbROF):
-```javascript
-var a = [1];
-
-var map = new Map([['a', 1], [42, 2]]);
-map.set(a, 3).set(true, 4);
-
-log(map.size); // => 4
-log(map.has(a)); // => true
-log(map.has([1])); // => false
-log(map.get(a)); // => 3
-map.forEach(function(val, key){
- log(val); // => 1, 2, 3, 4
- log(key); // => 'a', 42, [1], true
-});
-map.delete(a);
-log(map.size); // => 3
-log(map.get(a)); // => undefined
-log(Array.from(map)); // => [['a', 1], [42, 2], [true, 4]]
-```
-#### Set
-Module [`es6.set`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.set.js). About iterators from this module [here](#ecmascript-6-iterators).
-```javascript
-new Set(iterable?) -> set
- #add(key) -> @
- #clear() -> void
- #delete(key) -> bool
- #forEach(fn(el, el, @), that) -> void
- #has(key) -> bool
- #size -> uint
-```
-[Example](http://goo.gl/7XYya3):
-```javascript
-var set = new Set(['a', 'b', 'a', 'c']);
-set.add('d').add('b').add('e');
-log(set.size); // => 5
-log(set.has('b')); // => true
-set.forEach(function(it){
- log(it); // => 'a', 'b', 'c', 'd', 'e'
-});
-set.delete('b');
-log(set.size); // => 4
-log(set.has('b')); // => false
-log(Array.from(set)); // => ['a', 'c', 'd', 'e']
-```
-#### WeakMap
-Module [`es6.weak-map`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.weak-map.js).
-```javascript
-new WeakMap(iterable (entries) ?) -> weakmap
- #delete(key) -> bool
- #get(key) -> val
- #has(key) -> bool
- #set(key, val) -> @
-```
-[Example](http://goo.gl/SILXyw):
-```javascript
-var a = [1]
- , b = [2]
- , c = [3];
-
-var wmap = new WeakMap([[a, 1], [b, 2]]);
-wmap.set(c, 3).set(b, 4);
-log(wmap.has(a)); // => true
-log(wmap.has([1])); // => false
-log(wmap.get(a)); // => 1
-wmap.delete(a);
-log(wmap.get(a)); // => undefined
-
-// Private properties store:
-var Person = (function(){
- var names = new WeakMap;
- function Person(name){
- names.set(this, name);
- }
- Person.prototype.getName = function(){
- return names.get(this);
- };
- return Person;
-})();
-
-var person = new Person('Vasya');
-log(person.getName()); // => 'Vasya'
-for(var key in person)log(key); // => only 'getName'
-```
-#### WeakSet
-Module [`es6.weak-set`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.weak-set.js).
-```javascript
-new WeakSet(iterable?) -> weakset
- #add(key) -> @
- #delete(key) -> bool
- #has(key) -> bool
-```
-[Example](http://goo.gl/TdFbEx):
-```javascript
-var a = [1]
- , b = [2]
- , c = [3];
-
-var wset = new WeakSet([a, b, a]);
-wset.add(c).add(b).add(c);
-log(wset.has(b)); // => true
-log(wset.has([2])); // => false
-wset.delete(b);
-log(wset.has(b)); // => false
-```
-#### Caveats when using collections polyfill:
-
-* Frozen objects as collection keys are supported, but not recomended - it's slow (O(n) instead of O(1)) and, for weak-collections, leak.
-* Weak-collections polyfill stores values as hidden properties of keys. It works correct and not leak in most cases. However, it is desirable to store a collection longer than its keys.
-
-#### ECMAScript 6: Iterators
-Modules [`es6.string.iterator`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.string.iterator.js) and [`es6.array.iterator`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.array.iterator.js):
-```javascript
-String
- #@@iterator() -> iterator
-Array
- #values() -> iterator
- #keys() -> iterator
- #entries() -> iterator (entries)
- #@@iterator() -> iterator
-Arguments
- #@@iterator() -> iterator (available only in core-js methods)
-```
-Modules [`es6.map`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.map.js) and [`es6.set`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.set.js):
-```javascript
-Map
- #values() -> iterator
- #keys() -> iterator
- #entries() -> iterator (entries)
- #@@iterator() -> iterator (entries)
-Set
- #values() -> iterator
- #keys() -> iterator
- #entries() -> iterator (entries)
- #@@iterator() -> iterator
-```
-Module [`web.dom.iterable`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/web.dom.iterable.js):
-```javascript
-NodeList
- #@@iterator() -> iterator
-```
-[Example](http://goo.gl/nzHVQF):
-```javascript
-var string = 'a𠮷b';
-
-for(var val of string)log(val); // => 'a', '𠮷', 'b'
-
-var array = ['a', 'b', 'c'];
-
-for(var val of array)log(val); // => 'a', 'b', 'c'
-for(var val of array.values())log(val); // => 'a', 'b', 'c'
-for(var key of array.keys())log(key); // => 0, 1, 2
-for(var [key, val] of array.entries()){
- log(key); // => 0, 1, 2
- log(val); // => 'a', 'b', 'c'
-}
-
-var map = new Map([['a', 1], ['b', 2], ['c', 3]]);
-
-for(var [key, val] of map){
- log(key); // => 'a', 'b', 'c'
- log(val); // => 1, 2, 3
-}
-for(var val of map.values())log(val); // => 1, 2, 3
-for(var key of map.keys())log(key); // => 'a', 'b', 'c'
-for(var [key, val] of map.entries()){
- log(key); // => 'a', 'b', 'c'
- log(val); // => 1, 2, 3
-}
-
-var set = new Set([1, 2, 3, 2, 1]);
-
-for(var val of set)log(val); // => 1, 2, 3
-for(var val of set.values())log(val); // => 1, 2, 3
-for(var key of set.keys())log(key); // => 1, 2, 3
-for(var [key, val] of set.entries()){
- log(key); // => 1, 2, 3
- log(val); // => 1, 2, 3
-}
-
-for(var x of document.querySelectorAll('*')){
- log(x.id);
-}
-```
-Modules [`core.is-iterable`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/core.is-iterable.js), [`core.get-iterator`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/core.get-iterator.js), [`core.get-iterator-method`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/core.get-iterator-method.js) - helpers for check iterable / get iterator in `library` version or, for example, for `arguments` object:
-```javascript
-core
- .isIterable(var) -> bool
- .getIterator(iterable) -> iterator
- .getIteratorMethod(var) -> function | undefined
-```
-[Example](http://goo.gl/SXsM6D):
-```js
-var list = (function(){
- return arguments;
-})(1, 2, 3);
-
-log(core.isIterable(list)); // true;
-
-var iter = core.getIterator(list);
-log(iter.next().value); // 1
-log(iter.next().value); // 2
-log(iter.next().value); // 3
-log(iter.next().value); // undefined
-
-core.getIterator({}); // TypeError: [object Object] is not iterable!
-
-var iterFn = core.getIteratorMethod(list);
-log(typeof iterFn); // 'function'
-var iter = iterFn.call(list);
-log(iter.next().value); // 1
-log(iter.next().value); // 2
-log(iter.next().value); // 3
-log(iter.next().value); // undefined
-
-log(core.getIteratorMethod({})); // undefined
-```
-#### ECMAScript 6: Promise
-Module [`es6.promise`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.promise.js).
-```javascript
-new Promise(executor(resolve(var), reject(var))) -> promise
- #then(resolved(var), rejected(var)) -> promise
- #catch(rejected(var)) -> promise
- .resolve(var || promise) -> promise
- .reject(var) -> promise
- .all(iterable) -> promise
- .race(iterable) -> promise
-```
-Basic [example](http://goo.gl/vGrtUC):
-```javascript
-function sleepRandom(time){
- return new Promise(function(resolve, reject){
- setTimeout(resolve, time * 1e3, 0 | Math.random() * 1e3);
- });
-}
-
-log('Run'); // => Run
-sleepRandom(5).then(function(result){
- log(result); // => 869, after 5 sec.
- return sleepRandom(10);
-}).then(function(result){
- log(result); // => 202, after 10 sec.
-}).then(function(){
- log('immediately after'); // => immediately after
- throw Error('Irror!');
-}).then(function(){
- log('will not be displayed');
-}).catch(log); // => => Error: Irror!
-```
-`Promise.resolve` and `Promise.reject` [example](http://goo.gl/vr8TN3):
-```javascript
-Promise.resolve(42).then(log); // => 42
-Promise.reject(42).catch(log); // => 42
-
-Promise.resolve($.getJSON('/data.json')); // => ES6 promise
-```
-`Promise.all` [example](http://goo.gl/RdoDBZ):
-```javascript
-Promise.all([
- 'foo',
- sleepRandom(5),
- sleepRandom(15),
- sleepRandom(10) // after 15 sec:
-]).then(log); // => ['foo', 956, 85, 382]
-```
-`Promise.race` [example](http://goo.gl/L8ovkJ):
-```javascript
-function timeLimit(promise, time){
- return Promise.race([promise, new Promise(function(resolve, reject){
- setTimeout(reject, time * 1e3, Error('Await > ' + time + ' sec'));
- })]);
-}
-
-timeLimit(sleepRandom(5), 10).then(log); // => 853, after 5 sec.
-timeLimit(sleepRandom(15), 10).catch(log); // Error: Await > 10 sec
-```
-ECMAScript 7 [async functions](https://tc39.github.io/ecmascript-asyncawait) [example](http://goo.gl/wnQS4j):
-```javascript
-var delay = time => new Promise(resolve => setTimeout(resolve, time))
-
-async function sleepRandom(time){
- await delay(time * 1e3);
- return 0 | Math.random() * 1e3;
-};
-async function sleepError(time, msg){
- await delay(time * 1e3);
- throw Error(msg);
-};
-
-(async () => {
- try {
- log('Run'); // => Run
- log(await sleepRandom(5)); // => 936, after 5 sec.
- var [a, b, c] = await Promise.all([
- sleepRandom(5),
- sleepRandom(15),
- sleepRandom(10)
- ]);
- log(a, b, c); // => 210 445 71, after 15 sec.
- await sleepError(5, 'Irror!');
- log('Will not be displayed');
- } catch(e){
- log(e); // => Error: 'Irror!', after 5 sec.
- }
-})();
-```
-
-##### Unhandled rejection tracking
-
-`core-js` `Promise` supports (but not adds to native implementations) unhandled rejection tracking.
-
-[Node.js](https://gist.github.com/benjamingr/0237932cee84712951a2):
-```js
-process.on('unhandledRejection', (reason, promise) => console.log(reason, promise));
-Promise.reject(42);
-// 42 [object Promise]
-
-```
-In a browser, by default, you will see notify in the console, or you can add a custom handler, [example](http://goo.gl/izTr2I):
-```js
-window.onunhandledrejection = e => log(e.reason, e.promise);
-Promise.reject(42);
-// 42 [object Promise]
-```
-**Warning**: The problem here - we can't add it to native `Promise` implementations, but by idea `core-js` should use enough correct native implementation if it's available. Currently, most native implementations are buggy and `core-js` uses polyfill, but the situation will be changed. If someone wanna use this hook everywhere - he should delete `window.Promise` before inclusion `core-js`.
-
-
-#### ECMAScript 6: Reflect
-Modules [`es6.reflect.apply`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.reflect.apply.js), [`es6.reflect.construct`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.reflect.construct.js), [`es6.reflect.define-property`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.reflect.define-property.js), [`es6.reflect.delete-property`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.reflect.delete-property.js), [`es6.reflect.enumerate`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.reflect.enumerate.js), [`es6.reflect.get`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.reflect.get.js), [`es6.reflect.get-own-property-descriptor`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.reflect.get-own-property-descriptor.js), [`es6.reflect.get-prototype-of`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.reflect.get-prototype-of.js), [`es6.reflect.has`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.reflect.has.js), [`es6.reflect.is-extensible`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.reflect.is-extensible.js), [`es6.reflect.own-keys`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.reflect.own-keys.js), [`es6.reflect.prevent-extensions`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.reflect.prevent-extensions.js), [`es6.reflect.set`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.reflect.set.js), [`es6.reflect.set-prototype-of`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es6.reflect.set-prototype-of.js).
-```javascript
-Reflect
- .apply(target, thisArgument, argumentsList) -> var
- .construct(target, argumentsList, newTarget?) -> object
- .defineProperty(target, propertyKey, attributes) -> bool
- .deleteProperty(target, propertyKey) -> bool
- .enumerate(target) -> iterator
- .get(target, propertyKey, receiver?) -> var
- .getOwnPropertyDescriptor(target, propertyKey) -> desc
- .getPrototypeOf(target) -> object | null
- .has(target, propertyKey) -> bool
- .isExtensible(target) -> bool
- .ownKeys(target) -> array
- .preventExtensions(target) -> bool
- .set(target, propertyKey, V, receiver?) -> bool
- .setPrototypeOf(target, proto) -> bool (required __proto__ - IE11+)
-```
-[Example](http://goo.gl/gVT0cH):
-```javascript
-var O = {a: 1};
-Object.defineProperty(O, 'b', {value: 2});
-O[Symbol('c')] = 3;
-Reflect.ownKeys(O); // => ['a', 'b', Symbol(c)]
-
-function C(a, b){
- this.c = a + b;
-}
-
-var instance = Reflect.construct(C, [20, 22]);
-instance.c; // => 42
-```
-### ECMAScript 7
-* `Array#includes` [proposal](https://github.com/domenic/Array.prototype.includes) - module [`es7.array.includes`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es7.array.includes.js)
-* `String#at` [proposal](https://github.com/mathiasbynens/String.prototype.at) - module [`es7.string.at`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es7.string.at.js)
-* `String#padLeft`, `String#padRight` [proposal](https://github.com/ljharb/proposal-string-pad-left-right) - modules [`es7.string.pad-left`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es7.string.pad-left.js), [`es7.string.pad-right`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es7.string.pad-right.js)
-* `String#trimLeft`, `String#trimRight` [proposal](https://github.com/sebmarkbage/ecmascript-string-left-right-trim) - modules [`es7.string.trim-left`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es7.string.trim-right.js), [`es7.string.trim-right`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es7.string.trim-right.js)
-* `Object.values`, `Object.entries` [proposal](https://github.com/ljharb/proposal-object-values-entries) - modules [`es7.object.values`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es7.object.values.js), [`es7.object.entries`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es7.object.entries.js)
-* `Object.getOwnPropertyDescriptors` [proposal](https://gist.github.com/WebReflection/9353781) - module [`es7.object.get-own-property-descriptors`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es7.object.get-own-property-descriptors.js)
-* `RegExp.escape` [proposal](https://github.com/benjamingr/RexExp.escape) - module [`es7.regexp.escape`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es7.regexp.escape.js)
-* `Map#toJSON`, `Set#toJSON` [proposal](https://github.com/DavidBruant/Map-Set.prototype.toJSON) - modules [`es7.map.to-json`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es7.map.to-json.js), [`es7.set.to-json`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/es7.set.to-json.js)
-
-```javascript
-Array
- #includes(var, from?) -> bool
-String
- #at(index) -> string
- #padLeft(length, fillStr = ' ') -> string
- #padRight(length, fillStr = ' ') -> string
- #trimLeft() -> string
- #trimRight() -> string
-Object
- .values(object) -> array
- .entries(object) -> array
- .getOwnPropertyDescriptors(object) -> object
-RegExp
- .escape(str) -> str
-Map
- #toJSON() -> array
-Set
- #toJSON() -> array
-```
-[Examples](http://goo.gl/aUZQRH):
-```javascript
-[1, 2, 3].includes(2); // => true
-[1, 2, 3].includes(4); // => false
-[1, 2, 3].includes(2, 2); // => false
-
-[NaN].indexOf(NaN); // => -1
-[NaN].includes(NaN); // => true
-Array(1).indexOf(undefined); // => -1
-Array(1).includes(undefined); // => true
-
-'a𠮷b'.at(1); // => '𠮷'
-'a𠮷b'.at(1).length; // => 2
-
-'hello'.padLeft(10); // => ' hello'
-'hello'.padLeft(10, '1234'); // => '41234hello'
-'hello'.padRight(10); // => 'hello '
-'hello'.padRight(10, '1234'); // => 'hello12341'
-
-' hello '.trimLeft(); // => 'hello '
-' hello '.trimRight(); // => ' hello'
-
-Object.values({a: 1, b: 2, c: 3}); // => [1, 2, 3]
-Object.entries({a: 1, b: 2, c: 3}); // => [['a', 1], ['b', 2], ['c', 3]]
-
-// Shallow object cloning with prototype and descriptors:
-var copy = Object.create(Object.getPrototypeOf(O), Object.getOwnPropertyDescriptors(O));
-// Mixin:
-Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
-
-RegExp.escape('Hello, []{}()*+?.\\^$|!'); // => 'Hello, \[\]\{\}\(\)\*\+\?\.\\\^\$\|!'
-
-JSON.stringify(new Map([['a', 'b'], ['c', 'd']])); // => '[["a","b"],["c","d"]]'
-JSON.stringify(new Set([1, 2, 3, 2, 1])); // => '[1,2,3]'
-```
-### Mozilla JavaScript: Array generics
-Module [`js.array.statics`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/js.array.statics.js).
-```javascript
-Array
- .{...ArrayPrototype methods}
-```
-
-```javascript
-Array.slice(arguments, 1);
-
-Array.join('abcdef', '+'); // => 'a+b+c+d+e+f'
-
-var form = document.getElementsByClassName('form__input');
-Array.reduce(form, function(memo, it){
- memo[it.name] = it.value;
- return memo;
-}, {}); // => {name: 'Vasya', age: '42', sex: 'yes, please'}
-```
-### Web standards
-#### setTimeout / setInterval
-Module [`web.timers`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/web.timers.js). Additional arguments fix for IE9-.
-```javascript
-setTimeout(fn(...args), time, ...args) -> id
-setInterval(fn(...args), time, ...args) -> id
-```
-```javascript
-// Before:
-setTimeout(log.bind(null, 42), 1000);
-// After:
-setTimeout(log, 1000, 42);
-```
-#### setImmediate
-Module [`web.immediate`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/web.immediate.js). [`setImmediate` proposal](https://developer.mozilla.org/en-US/docs/Web/API/Window.setImmediate) polyfill.
-```javascript
-setImmediate(fn(...args), ...args) -> id
-clearImmediate(id) -> void
-```
-[Example](http://goo.gl/6nXGrx):
-```javascript
-setImmediate(function(arg1, arg2){
- log(arg1, arg2); // => Message will be displayed with minimum delay
-}, 'Message will be displayed', 'with minimum delay');
-
-clearImmediate(setImmediate(function(){
- log('Message will not be displayed');
-}));
-```
-### Non-standard
-#### Object
-Modules [`core.object.is-object`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/core.object.is-object.js), [`core.object.classof`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/core.object.classof.js), [`core.object.define`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/core.object.define.js), [`core.object.make`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/core.object.make.js).
-```javascript
-Object
- .isObject(var) -> bool
- .classof(var) -> string
- .define(target, mixin) -> target
- .make(proto | null, mixin?) -> object
-```
-Object classify [examples](http://goo.gl/YZQmGo):
-```javascript
-Object.isObject({}); // => true
-Object.isObject(isNaN); // => true
-Object.isObject(null); // => false
-
-var classof = Object.classof;
-
-classof(null); // => 'Null'
-classof(undefined); // => 'Undefined'
-classof(1); // => 'Number'
-classof(true); // => 'Boolean'
-classof('string'); // => 'String'
-classof(Symbol()); // => 'Symbol'
-
-classof(new Number(1)); // => 'Number'
-classof(new Boolean(true)); // => 'Boolean'
-classof(new String('string')); // => 'String'
-
-var fn = function(){}
- , list = (function(){return arguments})(1, 2, 3);
-
-classof({}); // => 'Object'
-classof(fn); // => 'Function'
-classof([]); // => 'Array'
-classof(list); // => 'Arguments'
-classof(/./); // => 'RegExp'
-classof(new TypeError); // => 'Error'
-
-classof(new Set); // => 'Set'
-classof(new Map); // => 'Map'
-classof(new WeakSet); // => 'WeakSet'
-classof(new WeakMap); // => 'WeakMap'
-classof(new Promise(fn)); // => 'Promise'
-
-classof([].values()); // => 'Array Iterator'
-classof(new Set().values()); // => 'Set Iterator'
-classof(new Map().values()); // => 'Map Iterator'
-
-classof(Math); // => 'Math'
-classof(JSON); // => 'JSON'
-
-function Example(){}
-Example.prototype[Symbol.toStringTag] = 'Example';
-
-classof(new Example); // => 'Example'
-```
-`Object.define` and `Object.make` [examples](http://goo.gl/rtpD5Z):
-```javascript
-// Before:
-Object.defineProperty(target, 'c', {
- enumerable: true,
- configurable: true,
- get: function(){
- return this.a + this.b;
- }
-});
-
-// After:
-Object.define(target, {
- get c(){
- return this.a + this.b;
- }
-});
-
-// Shallow object cloning with prototype and descriptors:
-var copy = Object.make(Object.getPrototypeOf(src), src);
-
-// Simple inheritance:
-function Vector2D(x, y){
- this.x = x;
- this.y = y;
-}
-Object.define(Vector2D.prototype, {
- get xy(){
- return Math.hypot(this.x, this.y);
- }
-});
-function Vector3D(x, y, z){
- Vector2D.apply(this, arguments);
- this.z = z;
-}
-Vector3D.prototype = Object.make(Vector2D.prototype, {
- constructor: Vector3D,
- get xyz(){
- return Math.hypot(this.x, this.y, this.z);
- }
-});
-
-var vector = new Vector3D(9, 12, 20);
-log(vector.xy); // => 15
-log(vector.xyz); // => 25
-vector.y++;
-log(vector.xy); // => 15.811388300841896
-log(vector.xyz); // => 25.495097567963924
-```
-#### Dict
-Module [`core.dict`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/core.dict.js). Based on [TC39 discuss](https://github.com/rwaldron/tc39-notes/blob/master/es6/2012-11/nov-29.md#collection-apis-review) / [strawman](http://wiki.ecmascript.org/doku.php?id=harmony:modules_standard#dictionaries).
-```javascript
-[new] Dict(iterable (entries) | object ?) -> dict
- .isDict(var) -> bool
- .values(object) -> iterator
- .keys(object) -> iterator
- .entries(object) -> iterator (entries)
- .has(object, key) -> bool
- .get(object, key) -> val
- .set(object, key, value) -> object
- .forEach(object, fn(val, key, @), that) -> void
- .map(object, fn(val, key, @), that) -> new @
- .mapPairs(object, fn(val, key, @), that) -> new @
- .filter(object, fn(val, key, @), that) -> new @
- .some(object, fn(val, key, @), that) -> bool
- .every(object, fn(val, key, @), that) -> bool
- .find(object, fn(val, key, @), that) -> val
- .findKey(object, fn(val, key, @), that) -> key
- .keyOf(object, var) -> key
- .includes(object, var) -> bool
- .reduce(object, fn(memo, val, key, @), memo?) -> var
-```
-`Dict` create object without prototype from iterable or simple object. [Example](http://goo.gl/pnp8Vr):
-```javascript
-var map = new Map([['a', 1], ['b', 2], ['c', 3]]);
-
-Dict(); // => {__proto__: null}
-Dict({a: 1, b: 2, c: 3}); // => {__proto__: null, a: 1, b: 2, c: 3}
-Dict(map); // => {__proto__: null, a: 1, b: 2, c: 3}
-Dict([1, 2, 3].entries()); // => {__proto__: null, 0: 1, 1: 2, 2: 3}
-
-var dict = Dict({a: 42});
-dict instanceof Object; // => false
-dict.a; // => 42
-dict.toString; // => undefined
-'a' in dict; // => true
-'hasOwnProperty' in dict; // => false
-
-Dict.isDict({}); // => false
-Dict.isDict(Dict()); // => true
-```
-`Dict.keys`, `Dict.values` and `Dict.entries` returns iterators for objects, [examples](http://goo.gl/xAvECH):
-```javascript
-var dict = {a: 1, b: 2, c: 3};
-
-for(var key of Dict.keys(dict))log(key); // => 'a', 'b', 'c'
-
-for(var val of Dict.values(dict))log(val); // => 1, 2, 3
-
-for(var [key, val] of Dict.entries(dict)){
- log(key); // => 'a', 'b', 'c'
- log(val); // => 1, 2, 3
-}
-
-new Map(Dict.entries(dict)); // => Map {a: 1, b: 2, c: 3}
-```
-Basic dict operations for objects with prototype [example](http://goo.gl/B28UnG):
-```js
-'q' in {q: 1}; // => true
-'toString' in {}; // => true
-
-Dict.has({q: 1}, 'q'); // => true
-Dict.has({}, 'toString'); // => false
-
-({q: 1})['q']; // => 1
-({}).toString; // => function toString(){ [native code] }
-
-Dict.get({q: 1}, 'q'); // => 1
-Dict.get({}, 'toString'); // => undefined
-
-var O = {};
-O['q'] = 1;
-O['q']; // => 1
-O['__proto__'] = {w: 2};
-O['__proto__']; // => {w: 2}
-O['w']; // => 2
-
-var O = {};
-Dict.set(O, 'q', 1);
-O['q']; // => 1
-Dict.set(O, '__proto__', {w: 2});
-O['__proto__']; // => {w: 2}
-O['w']; // => undefined
-```
-Other methods of `Dict` module are static equialents of `Array.prototype` methods for dictionaries, [examples](http://goo.gl/xFi1RH):
-```javascript
-var dict = {a: 1, b: 2, c: 3};
-
-Dict.forEach(dict, console.log, console);
-// => 1, 'a', {a: 1, b: 2, c: 3}
-// => 2, 'b', {a: 1, b: 2, c: 3}
-// => 3, 'c', {a: 1, b: 2, c: 3}
-
-Dict.map(dict, function(it){
- return it * it;
-}); // => {a: 1, b: 4, c: 9}
-
-Dict.mapPairs(dict, function(val, key){
- if(key != 'b')return [key + key, val * val];
-}); // => {aa: 1, cc: 9}
-
-Dict.filter(dict, function(it){
- return it % 2;
-}); // => {a: 1, c: 3}
-
-Dict.some(dict, function(it){
- return it === 2;
-}); // => true
-
-Dict.every(dict, function(it){
- return it === 2;
-}); // => false
-
-Dict.find(dict, function(it){
- return it > 2;
-}); // => 3
-Dict.find(dict, function(it){
- return it > 4;
-}); // => undefined
-
-Dict.findKey(dict, function(it){
- return it > 2;
-}); // => 'c'
-Dict.findKey(dict, function(it){
- return it > 4;
-}); // => undefined
-
-Dict.keyOf(dict, 2); // => 'b'
-Dict.keyOf(dict, 4); // => undefined
-
-Dict.includes(dict, 2); // => true
-Dict.includes(dict, 4); // => false
-
-Dict.reduce(dict, function(memo, it){
- return memo + it;
-}); // => 6
-Dict.reduce(dict, function(memo, it){
- return memo + it;
-}, ''); // => '123'
-```
-#### Partial application
-Module [`core.function.part`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/core.function.part.js).
-```javascript
-Function
- #part(...args | _) -> fn(...args)
-```
-`Function#part` partial apply function without `this` binding. Uses global variable `_` (`core._` for builds without global namespace pollution) as placeholder and not conflict with `Underscore` / `LoDash`. [Examples](http://goo.gl/p9ZJ8K):
-```javascript
-var fn1 = log.part(1, 2);
-fn1(3, 4); // => 1, 2, 3, 4
-
-var fn2 = log.part(_, 2, _, 4);
-fn2(1, 3); // => 1, 2, 3, 4
-
-var fn3 = log.part(1, _, _, 4);
-fn3(2, 3); // => 1, 2, 3, 4
-
-fn2(1, 3, 5); // => 1, 2, 3, 4, 5
-fn2(1); // => 1, 2, undefined, 4
-```
-#### Number Iterator
-Modules [`core.number.iterator`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/core.number.iterator.js).
-```javascript
-Number
- #@@iterator() -> iterator
-```
-[Examples](http://goo.gl/o45pCN):
-```javascript
-for(var i of 3)log(i); // => 0, 1, 2
-
-[...10]; // => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
-
-Array.from(10, Math.random); // => [0.9817775336559862, 0.02720663254149258, ...]
-
-Array.from(10, function(it){
- return this + it * it;
-}, .42); // => [0.42, 1.42, 4.42, 9.42, 16.42, 25.42, 36.42, 49.42, 64.42, 81.42]
-```
-#### Escaping HTML
-Modules [`core.string.escape-html`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/core.string.escape-html.js) and [`core.string.unescape-html`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/core.string.unescape-html.js).
-```javascript
-String
- #escapeHTML() -> str
- #unescapeHTML() -> str
-```
-[Examples](http://goo.gl/6bOvsQ):
-```javascript
-''.escapeHTML(); // => '<script>doSomething();</script>'
-'<script>doSomething();</script>'.unescapeHTML(); // => ''
-```
-#### delay
-Module [`core.delay`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/core.delay.js). [Promise](#ecmascript-6-promise)-returning delay function, [esdiscuss](https://esdiscuss.org/topic/promise-returning-delay-function). [Example](http://goo.gl/lbucba):
-```javascript
-delay(1e3).then(() => log('after 1 sec'));
-
-(async () => {
- await delay(3e3);
- log('after 3 sec');
-
- while(await delay(3e3))log('each 3 sec');
-})();
-```
-#### Console
-Module [`core.log`](https://github.com/zloirock/core-js/blob/v1.2.6/modules/core.log.js). Console cap for old browsers and some additional functionality. In IE, Node.js / IO.js and Firebug `console` methods not require call from `console` object, but in Chromium and V8 this throws error. For some reason, we can't replace `console` methods by their bound versions. Add `log` object with bound console methods. Some more sugar: `log` is shortcut for `log.log`, we can disable output.
-```javascript
-log ==== log.log
- .{...console API}
- .enable() -> void
- .disable() -> void
-```
-```javascript
-// Before:
-if(window.console && console.warn)console.warn(42);
-// After:
-log.warn(42);
-
-// Before:
-setTimeout(console.warn.bind(console, 42), 1000);
-[1, 2, 3].forEach(console.warn, console);
-// After:
-setTimeout(log.warn, 1000, 42);
-[1, 2, 3].forEach(log.warn);
-
-// log is shortcut for log.log
-setImmediate(log, 42); // => 42
-
-log.disable();
-log.warn('Console is disabled, you will not see this message.');
-log.enable();
-log.warn('Console is enabled again.');
-```
-
-## Missing polyfills
-- ES5 `JSON` is missing now only in IE7- and never it will be added to `core-js`, if you need it in these old browsers available many implementations, for example, [json3](https://github.com/bestiejs/json3).
-- ES6 Typed Arrays can be polyfilled without serious problems, but it will be slow - getter / setter for each element and they are missing completely only in IE9-. You can use [this polyfill](https://github.com/inexorabletash/polyfill/blob/master/typedarray.js). *Possible*, it will be added to `core-js` in the future, completely or only missing methods of existing arrays.
-- ES6 `String#normalize` is not very usefull feature, but this polyfill will be very large. If you need it, you can use [unorm](https://github.com/walling/unorm/).
-- ES6 `Proxy` can't be polyfilled, but for Node.js / Chromium with additional flags you can try [harmony-reflect](https://github.com/tvcutsem/harmony-reflect) for adapt old style `Proxy` API to final ES6 version.
-- ES6 logic for `@@isConcatSpreadable` and `@@species` (in most places) can be polyfilled without problems, but it will cause serious slowdown in popular cases in some engines. It will be polyfilled when it will be implemented in modern engines.
-- ES7 `Object.observe` can be polyfilled with many limitations, but it will be very slow - dirty checking on each tick. In nearest future it will not be added to `core-js` - it will cause serious slowdown in applications which uses `Object.observe` and fallback if it's missing. *Possible* it will be added as optional feature then most actual browsers will have this feature. Now you can use [this polyfill](https://github.com/MaxArt2501/object-observe).
-- ES7 `SIMD`. `core-js` doesn't adds polyfill of this feature because of large size and some other reasons. You can use [this polyfill](https://github.com/tc39/ecmascript_simd/blob/master/src/ecmascript_simd.js).
-- `window.fetch` is not crossplatform feature, in some environments it make no sense. For this reason I don't think it should be in `core-js`. Looking at the large number of requests it *maybe* added in the future. Now you can use, for example, [this polyfill](https://github.com/github/fetch).
\ No newline at end of file
diff --git a/node_modules/core-js/bower.json b/node_modules/core-js/bower.json
deleted file mode 100644
index 88929d7..0000000
--- a/node_modules/core-js/bower.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "name": "core.js",
- "main": "client/core.js",
- "version": "1.2.6",
- "description": "Standard Library",
- "keywords": [
- "ES6",
- "ECMAScript 6",
- "ES7",
- "ECMAScript 7",
- "Map",
- "Set",
- "WeakMap",
- "WeakSet",
- "Dict",
- "Promise",
- "Symbol",
- "console"
- ],
- "authors": [
- "Denis Pushkarev (http://zloirock.ru/)"
- ],
- "license": "MIT",
- "homepage": "https://github.com/zloirock/core-js",
- "repository": {
- "type": "git",
- "url": "https://github.com/zloirock/core-js.git"
- },
- "ignore": [
- "build",
- "node_modules",
- "tests"
- ]
-}
diff --git a/node_modules/core-js/build/Gruntfile.ls b/node_modules/core-js/build/Gruntfile.ls
deleted file mode 100644
index 6151842..0000000
--- a/node_modules/core-js/build/Gruntfile.ls
+++ /dev/null
@@ -1,84 +0,0 @@
-require! <[./build fs ./config]>
-library-tests = <[client/library.js tests/helpers.js tests/library.js]>map -> src: it
-module.exports = (grunt)->
- grunt.loadNpmTasks \grunt-contrib-clean
- grunt.loadNpmTasks \grunt-contrib-copy
- grunt.loadNpmTasks \grunt-contrib-uglify
- grunt.loadNpmTasks \grunt-contrib-watch
- grunt.loadNpmTasks \grunt-livescript
- grunt.loadNpmTasks \grunt-karma
- grunt.initConfig do
- pkg: grunt.file.readJSON './package.json'
- uglify: build:
- files: '<%=grunt.option("path")%>.min.js': '<%=grunt.option("path")%>.js'
- options:
- mangle: {+sort, +keep_fnames}
- compress: {+pure_getters, +keep_fargs, +keep_fnames}
- sourceMap: on
- banner: config.banner
- livescript: src: files:
- './tests/helpers.js': './tests/helpers/*'
- './tests/tests.js': './tests/tests/*'
- './tests/library.js': './tests/library/*'
- './tests/es.js': './tests/tests/es*'
- './tests/experimental.js': './tests/experimental/*'
- './build/index.js': './build/build.ls*'
- clean: <[./library]>
- copy: lib: files:
- * expand: on
- cwd: './'
- src: <[es5/** es6/** es7/** js/** web/** core/** fn/** index.js shim.js]>
- dest: './library/'
- * expand: on
- cwd: './'
- src: <[modules/*]>
- dest: './library/'
- filter: \isFile
- * expand: on
- cwd: './modules/library/'
- src: '*'
- dest: './library/modules/'
- watch:
- core:
- files: './modules/*'
- tasks: \default
- tests:
- files: './tests/tests/*'
- tasks: \livescript
- karma:
- 'options':
- configFile: './tests/karma.conf.js'
- browsers: <[PhantomJS]>
- singleRun: on
- 'continuous': {}
- 'continuous-library':
- files: library-tests
- grunt.registerTask \build (options)->
- done = @async!
- err, it <- build {
- modules: (options || 'es5,es6,es7,js,web,core')split \,
- blacklist: (grunt.option(\blacklist) || '')split \,
- library: !!grunt.option \library
- }
- if err
- console.error err
- process.exit 1
- grunt.option(\path) || grunt.option(\path, './custom')
- fs.writeFile grunt.option(\path) + '.js', it, done
- grunt.registerTask \client ->
- grunt.option \library ''
- grunt.option \path './client/core'
- grunt.task.run <[build:es5,es6,es7,js,web,core uglify]>
- grunt.registerTask \library ->
- grunt.option \library 'true'
- grunt.option \path './client/library'
- grunt.task.run <[build:es5,es6,es7,js,web,core uglify]>
- grunt.registerTask \shim ->
- grunt.option \library ''
- grunt.option \path './client/shim'
- grunt.task.run <[build:es5,es6,es7,js,web uglify]>
- grunt.registerTask \e ->
- grunt.option \library ''>
- grunt.option \path './client/core'
- grunt.task.run <[build:es5,es6,es7,js,web,core,exp uglify]>
- grunt.registerTask \default <[clean copy client library shim]>
\ No newline at end of file
diff --git a/node_modules/core-js/build/build.ls b/node_modules/core-js/build/build.ls
deleted file mode 100644
index 274ffc4..0000000
--- a/node_modules/core-js/build/build.ls
+++ /dev/null
@@ -1,218 +0,0 @@
-require! {'./config': {banner}, fs: {readFile, writeFile, unlink}, path, webpack}
-
-list = <[
- es5
- es6.symbol
- es6.object.assign
- es6.object.is
- es6.object.set-prototype-of
- es6.object.to-string
- es6.object.freeze
- es6.object.seal
- es6.object.prevent-extensions
- es6.object.is-frozen
- es6.object.is-sealed
- es6.object.is-extensible
- es6.object.get-own-property-descriptor
- es6.object.get-prototype-of
- es6.object.keys
- es6.object.get-own-property-names
- es6.function.name
- es6.function.has-instance
- es6.number.constructor
- es6.number.epsilon
- es6.number.is-finite
- es6.number.is-integer
- es6.number.is-nan
- es6.number.is-safe-integer
- es6.number.max-safe-integer
- es6.number.min-safe-integer
- es6.number.parse-float
- es6.number.parse-int
- es6.math.acosh
- es6.math.asinh
- es6.math.atanh
- es6.math.cbrt
- es6.math.clz32
- es6.math.cosh
- es6.math.expm1
- es6.math.fround
- es6.math.hypot
- es6.math.imul
- es6.math.log10
- es6.math.log1p
- es6.math.log2
- es6.math.sign
- es6.math.sinh
- es6.math.tanh
- es6.math.trunc
- es6.string.from-code-point
- es6.string.raw
- es6.string.trim
- es6.string.code-point-at
- es6.string.ends-with
- es6.string.includes
- es6.string.repeat
- es6.string.starts-with
- es6.string.iterator
- es6.array.from
- es6.array.of
- es6.array.iterator
- es6.array.species
- es6.array.copy-within
- es6.array.fill
- es6.array.find
- es6.array.find-index
- es6.regexp.constructor
- es6.regexp.flags
- es6.regexp.match
- es6.regexp.replace
- es6.regexp.search
- es6.regexp.split
- es6.promise
- es6.map
- es6.set
- es6.weak-map
- es6.weak-set
- es6.reflect.apply
- es6.reflect.construct
- es6.reflect.define-property
- es6.reflect.delete-property
- es6.reflect.enumerate
- es6.reflect.get
- es6.reflect.get-own-property-descriptor
- es6.reflect.get-prototype-of
- es6.reflect.has
- es6.reflect.is-extensible
- es6.reflect.own-keys
- es6.reflect.prevent-extensions
- es6.reflect.set
- es6.reflect.set-prototype-of
- es6.date.to-string
- es6.typed.array-buffer
- es6.typed.data-view
- es6.typed.int8-array
- es6.typed.uint8-array
- es6.typed.uint8-clamped-array
- es6.typed.int16-array
- es6.typed.uint16-array
- es6.typed.int32-array
- es6.typed.uint32-array
- es6.typed.float32-array
- es6.typed.float64-array
- es7.array.includes
- es7.string.at
- es7.string.pad-left
- es7.string.pad-right
- es7.string.trim-left
- es7.string.trim-right
- es7.regexp.escape
- es7.object.get-own-property-descriptors
- es7.object.values
- es7.object.entries
- es7.map.to-json
- es7.set.to-json
- web.immediate
- web.dom.iterable
- web.timers
- core.dict
- core.get-iterator-method
- core.get-iterator
- core.is-iterable
- core.delay
- core.function.part
- core.object.is-object
- core.object.classof
- core.object.define
- core.object.make
- core.number.iterator
- core.string.escape-html
- core.string.unescape-html
- core.log
- js.array.statics
-]>
-
-experimental = <[
- es6.date.to-string
- es6.typed.array-buffer
- es6.typed.data-view
- es6.typed.int8-array
- es6.typed.uint8-array
- es6.typed.uint8-clamped-array
- es6.typed.int16-array
- es6.typed.uint16-array
- es6.typed.int32-array
- es6.typed.uint32-array
- es6.typed.float32-array
- es6.typed.float64-array
-]>
-
-libraryBlacklist = <[
- es6.object.to-string
- es6.function.name
- es6.regexp.constructor
- es6.regexp.flags
- es6.regexp.match
- es6.regexp.replace
- es6.regexp.search
- es6.regexp.split
- es6.number.constructor
-]>
-
-es5SpecialCase = <[
- es6.object.freeze
- es6.object.seal
- es6.object.prevent-extensions
- es6.object.is-frozen
- es6.object.is-sealed
- es6.object.is-extensible
- es6.string.trim
-]>
-
-module.exports = ({modules = [], blacklist = [], library = no}, next)!->
- let @ = modules.reduce ((memo, it)-> memo[it] = on; memo), {}
- check = (err)->
- if err
- next err, ''
- on
-
- if @exp => for experimental => @[..] = on
- if @es5 => for es5SpecialCase => @[..] = on
- for ns of @
- if @[ns]
- for name in list
- if name.indexOf("#ns.") is 0 and name not in experimental
- @[name] = on
-
- if library => blacklist ++= libraryBlacklist
- for ns in blacklist
- for name in list
- if name is ns or name.indexOf("#ns.") is 0
- @[name] = no
-
- TARGET = "./__tmp#{ Math.random! }__.js"
- err, info <~! webpack do
- entry: list.filter(~> @[it]).map ~>
- path.join(__dirname, '../', "#{ if library => '/library' else '' }/modules/#it")
- output:
- path: ''
- filename: TARGET
- if check err => return
- err, script <~! readFile TARGET
- if check err => return
- err <~! unlink TARGET
- if check err => return
-
- next null """
- #banner
- !function(__e, __g, undefined){
- 'use strict';
- #script
- // CommonJS export
- if(typeof module != 'undefined' && module.exports)module.exports = __e;
- // RequireJS export
- else if(typeof define == 'function' && define.amd)define(function(){return __e});
- // Export to global object
- else __g.core = __e;
- }(1, 1);
- """
diff --git a/node_modules/core-js/build/config.js b/node_modules/core-js/build/config.js
deleted file mode 100644
index 8df3dc6..0000000
--- a/node_modules/core-js/build/config.js
+++ /dev/null
@@ -1,8 +0,0 @@
-module.exports = {
- banner: '/**\n' +
- ' * core-js ' + require('../package').version + '\n' +
- ' * https://github.com/zloirock/core-js\n' +
- ' * License: http://rock.mit-license.org\n' +
- ' * © ' + new Date().getFullYear() + ' Denis Pushkarev\n' +
- ' */'
-};
\ No newline at end of file
diff --git a/node_modules/core-js/build/index.js b/node_modules/core-js/build/index.js
deleted file mode 100644
index d9cf11f..0000000
--- a/node_modules/core-js/build/index.js
+++ /dev/null
@@ -1,98 +0,0 @@
-// Generated by LiveScript 1.3.1
-(function(){
- var banner, ref$, readFile, writeFile, unlink, path, webpack, list, experimental, libraryBlacklist, es5SpecialCase;
- banner = require('./config').banner;
- ref$ = require('fs'), readFile = ref$.readFile, writeFile = ref$.writeFile, unlink = ref$.unlink;
- path = require('path');
- webpack = require('webpack');
- list = ['es5', 'es6.symbol', 'es6.object.assign', 'es6.object.is', 'es6.object.set-prototype-of', 'es6.object.to-string', 'es6.object.freeze', 'es6.object.seal', 'es6.object.prevent-extensions', 'es6.object.is-frozen', 'es6.object.is-sealed', 'es6.object.is-extensible', 'es6.object.get-own-property-descriptor', 'es6.object.get-prototype-of', 'es6.object.keys', 'es6.object.get-own-property-names', 'es6.function.name', 'es6.function.has-instance', 'es6.number.constructor', 'es6.number.epsilon', 'es6.number.is-finite', 'es6.number.is-integer', 'es6.number.is-nan', 'es6.number.is-safe-integer', 'es6.number.max-safe-integer', 'es6.number.min-safe-integer', 'es6.number.parse-float', 'es6.number.parse-int', 'es6.math.acosh', 'es6.math.asinh', 'es6.math.atanh', 'es6.math.cbrt', 'es6.math.clz32', 'es6.math.cosh', 'es6.math.expm1', 'es6.math.fround', 'es6.math.hypot', 'es6.math.imul', 'es6.math.log10', 'es6.math.log1p', 'es6.math.log2', 'es6.math.sign', 'es6.math.sinh', 'es6.math.tanh', 'es6.math.trunc', 'es6.string.from-code-point', 'es6.string.raw', 'es6.string.trim', 'es6.string.code-point-at', 'es6.string.ends-with', 'es6.string.includes', 'es6.string.repeat', 'es6.string.starts-with', 'es6.string.iterator', 'es6.array.from', 'es6.array.of', 'es6.array.iterator', 'es6.array.species', 'es6.array.copy-within', 'es6.array.fill', 'es6.array.find', 'es6.array.find-index', 'es6.regexp.constructor', 'es6.regexp.flags', 'es6.regexp.match', 'es6.regexp.replace', 'es6.regexp.search', 'es6.regexp.split', 'es6.promise', 'es6.map', 'es6.set', 'es6.weak-map', 'es6.weak-set', 'es6.reflect.apply', 'es6.reflect.construct', 'es6.reflect.define-property', 'es6.reflect.delete-property', 'es6.reflect.enumerate', 'es6.reflect.get', 'es6.reflect.get-own-property-descriptor', 'es6.reflect.get-prototype-of', 'es6.reflect.has', 'es6.reflect.is-extensible', 'es6.reflect.own-keys', 'es6.reflect.prevent-extensions', 'es6.reflect.set', 'es6.reflect.set-prototype-of', 'es6.date.to-string', 'es6.typed.array-buffer', 'es6.typed.data-view', 'es6.typed.int8-array', 'es6.typed.uint8-array', 'es6.typed.uint8-clamped-array', 'es6.typed.int16-array', 'es6.typed.uint16-array', 'es6.typed.int32-array', 'es6.typed.uint32-array', 'es6.typed.float32-array', 'es6.typed.float64-array', 'es7.array.includes', 'es7.string.at', 'es7.string.pad-left', 'es7.string.pad-right', 'es7.string.trim-left', 'es7.string.trim-right', 'es7.regexp.escape', 'es7.object.get-own-property-descriptors', 'es7.object.values', 'es7.object.entries', 'es7.map.to-json', 'es7.set.to-json', 'web.immediate', 'web.dom.iterable', 'web.timers', 'core.dict', 'core.get-iterator-method', 'core.get-iterator', 'core.is-iterable', 'core.delay', 'core.function.part', 'core.object.is-object', 'core.object.classof', 'core.object.define', 'core.object.make', 'core.number.iterator', 'core.string.escape-html', 'core.string.unescape-html', 'core.log', 'js.array.statics'];
- experimental = ['es6.date.to-string', 'es6.typed.array-buffer', 'es6.typed.data-view', 'es6.typed.int8-array', 'es6.typed.uint8-array', 'es6.typed.uint8-clamped-array', 'es6.typed.int16-array', 'es6.typed.uint16-array', 'es6.typed.int32-array', 'es6.typed.uint32-array', 'es6.typed.float32-array', 'es6.typed.float64-array'];
- libraryBlacklist = ['es6.object.to-string', 'es6.function.name', 'es6.regexp.constructor', 'es6.regexp.flags', 'es6.regexp.match', 'es6.regexp.replace', 'es6.regexp.search', 'es6.regexp.split', 'es6.number.constructor'];
- es5SpecialCase = ['es6.object.freeze', 'es6.object.seal', 'es6.object.prevent-extensions', 'es6.object.is-frozen', 'es6.object.is-sealed', 'es6.object.is-extensible', 'es6.string.trim'];
- module.exports = function(arg$, next){
- var modules, ref$, blacklist, library;
- modules = (ref$ = arg$.modules) != null
- ? ref$
- : [], blacklist = (ref$ = arg$.blacklist) != null
- ? ref$
- : [], library = (ref$ = arg$.library) != null ? ref$ : false;
- (function(){
- var check, i$, x$, ref$, len$, y$, ns, name, j$, len1$, TARGET, this$ = this;
- check = function(err){
- if (err) {
- next(err, '');
- return true;
- }
- };
- if (this.exp) {
- for (i$ = 0, len$ = (ref$ = experimental).length; i$ < len$; ++i$) {
- x$ = ref$[i$];
- this[x$] = true;
- }
- }
- if (this.es5) {
- for (i$ = 0, len$ = (ref$ = es5SpecialCase).length; i$ < len$; ++i$) {
- y$ = ref$[i$];
- this[y$] = true;
- }
- }
- for (ns in this) {
- if (this[ns]) {
- for (i$ = 0, len$ = (ref$ = list).length; i$ < len$; ++i$) {
- name = ref$[i$];
- if (name.indexOf(ns + ".") === 0 && !in$(name, experimental)) {
- this[name] = true;
- }
- }
- }
- }
- if (library) {
- blacklist = blacklist.concat(libraryBlacklist);
- }
- for (i$ = 0, len$ = blacklist.length; i$ < len$; ++i$) {
- ns = blacklist[i$];
- for (j$ = 0, len1$ = (ref$ = list).length; j$ < len1$; ++j$) {
- name = ref$[j$];
- if (name === ns || name.indexOf(ns + ".") === 0) {
- this[name] = false;
- }
- }
- }
- TARGET = "./__tmp" + Math.random() + "__.js";
- webpack({
- entry: list.filter(function(it){
- return this$[it];
- }).map(function(it){
- return path.join(__dirname, '../', (library ? '/library' : '') + "/modules/" + it);
- }),
- output: {
- path: '',
- filename: TARGET
- }
- }, function(err, info){
- if (check(err)) {
- return;
- }
- readFile(TARGET, function(err, script){
- if (check(err)) {
- return;
- }
- unlink(TARGET, function(err){
- if (check(err)) {
- return;
- }
- next(null, "" + banner + "\n!function(__e, __g, undefined){\n'use strict';\n" + script + "\n// CommonJS export\nif(typeof module != 'undefined' && module.exports)module.exports = __e;\n// RequireJS export\nelse if(typeof define == 'function' && define.amd)define(function(){return __e});\n// Export to global object\nelse __g.core = __e;\n}(1, 1);");
- });
- });
- });
- }.call(modules.reduce(function(memo, it){
- memo[it] = true;
- return memo;
- }, {})));
- };
- function in$(x, xs){
- var i = -1, l = xs.length >>> 0;
- while (++i < l) if (x === xs[i]) return true;
- return false;
- }
-}).call(this);
diff --git a/node_modules/core-js/client/core.js b/node_modules/core-js/client/core.js
deleted file mode 100644
index 101df6f..0000000
--- a/node_modules/core-js/client/core.js
+++ /dev/null
@@ -1,4904 +0,0 @@
-/**
- * core-js 1.2.6
- * https://github.com/zloirock/core-js
- * License: http://rock.mit-license.org
- * © 2015 Denis Pushkarev
- */
-!function(__e, __g, undefined){
-'use strict';
-/******/ (function(modules) { // webpackBootstrap
-/******/ // The module cache
-/******/ var installedModules = {};
-
-/******/ // The require function
-/******/ function __webpack_require__(moduleId) {
-
-/******/ // Check if module is in cache
-/******/ if(installedModules[moduleId])
-/******/ return installedModules[moduleId].exports;
-
-/******/ // Create a new module (and put it into the cache)
-/******/ var module = installedModules[moduleId] = {
-/******/ exports: {},
-/******/ id: moduleId,
-/******/ loaded: false
-/******/ };
-
-/******/ // Execute the module function
-/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-
-/******/ // Flag the module as loaded
-/******/ module.loaded = true;
-
-/******/ // Return the exports of the module
-/******/ return module.exports;
-/******/ }
-
-
-/******/ // expose the modules object (__webpack_modules__)
-/******/ __webpack_require__.m = modules;
-
-/******/ // expose the module cache
-/******/ __webpack_require__.c = installedModules;
-
-/******/ // __webpack_public_path__
-/******/ __webpack_require__.p = "";
-
-/******/ // Load entry module and return exports
-/******/ return __webpack_require__(0);
-/******/ })
-/************************************************************************/
-/******/ ([
-/* 0 */
-/***/ function(module, exports, __webpack_require__) {
-
- __webpack_require__(1);
- __webpack_require__(34);
- __webpack_require__(40);
- __webpack_require__(42);
- __webpack_require__(44);
- __webpack_require__(46);
- __webpack_require__(48);
- __webpack_require__(50);
- __webpack_require__(51);
- __webpack_require__(52);
- __webpack_require__(53);
- __webpack_require__(54);
- __webpack_require__(55);
- __webpack_require__(56);
- __webpack_require__(57);
- __webpack_require__(58);
- __webpack_require__(59);
- __webpack_require__(60);
- __webpack_require__(61);
- __webpack_require__(64);
- __webpack_require__(65);
- __webpack_require__(66);
- __webpack_require__(68);
- __webpack_require__(69);
- __webpack_require__(70);
- __webpack_require__(71);
- __webpack_require__(72);
- __webpack_require__(73);
- __webpack_require__(74);
- __webpack_require__(76);
- __webpack_require__(77);
- __webpack_require__(78);
- __webpack_require__(80);
- __webpack_require__(81);
- __webpack_require__(82);
- __webpack_require__(84);
- __webpack_require__(85);
- __webpack_require__(86);
- __webpack_require__(87);
- __webpack_require__(88);
- __webpack_require__(89);
- __webpack_require__(90);
- __webpack_require__(91);
- __webpack_require__(92);
- __webpack_require__(93);
- __webpack_require__(94);
- __webpack_require__(95);
- __webpack_require__(96);
- __webpack_require__(97);
- __webpack_require__(99);
- __webpack_require__(103);
- __webpack_require__(104);
- __webpack_require__(106);
- __webpack_require__(107);
- __webpack_require__(111);
- __webpack_require__(116);
- __webpack_require__(117);
- __webpack_require__(120);
- __webpack_require__(122);
- __webpack_require__(124);
- __webpack_require__(126);
- __webpack_require__(127);
- __webpack_require__(128);
- __webpack_require__(130);
- __webpack_require__(131);
- __webpack_require__(133);
- __webpack_require__(134);
- __webpack_require__(135);
- __webpack_require__(136);
- __webpack_require__(143);
- __webpack_require__(146);
- __webpack_require__(147);
- __webpack_require__(149);
- __webpack_require__(150);
- __webpack_require__(151);
- __webpack_require__(152);
- __webpack_require__(153);
- __webpack_require__(154);
- __webpack_require__(155);
- __webpack_require__(156);
- __webpack_require__(157);
- __webpack_require__(158);
- __webpack_require__(159);
- __webpack_require__(160);
- __webpack_require__(162);
- __webpack_require__(163);
- __webpack_require__(164);
- __webpack_require__(165);
- __webpack_require__(166);
- __webpack_require__(167);
- __webpack_require__(169);
- __webpack_require__(170);
- __webpack_require__(171);
- __webpack_require__(172);
- __webpack_require__(174);
- __webpack_require__(175);
- __webpack_require__(177);
- __webpack_require__(178);
- __webpack_require__(180);
- __webpack_require__(181);
- __webpack_require__(182);
- __webpack_require__(183);
- __webpack_require__(186);
- __webpack_require__(114);
- __webpack_require__(188);
- __webpack_require__(187);
- __webpack_require__(189);
- __webpack_require__(190);
- __webpack_require__(191);
- __webpack_require__(192);
- __webpack_require__(193);
- __webpack_require__(195);
- __webpack_require__(196);
- __webpack_require__(197);
- __webpack_require__(198);
- __webpack_require__(199);
- module.exports = __webpack_require__(200);
-
-
-/***/ },
-/* 1 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $ = __webpack_require__(2)
- , $export = __webpack_require__(3)
- , DESCRIPTORS = __webpack_require__(8)
- , createDesc = __webpack_require__(7)
- , html = __webpack_require__(14)
- , cel = __webpack_require__(15)
- , has = __webpack_require__(17)
- , cof = __webpack_require__(18)
- , invoke = __webpack_require__(19)
- , fails = __webpack_require__(9)
- , anObject = __webpack_require__(20)
- , aFunction = __webpack_require__(13)
- , isObject = __webpack_require__(16)
- , toObject = __webpack_require__(21)
- , toIObject = __webpack_require__(23)
- , toInteger = __webpack_require__(25)
- , toIndex = __webpack_require__(26)
- , toLength = __webpack_require__(27)
- , IObject = __webpack_require__(24)
- , IE_PROTO = __webpack_require__(11)('__proto__')
- , createArrayMethod = __webpack_require__(28)
- , arrayIndexOf = __webpack_require__(33)(false)
- , ObjectProto = Object.prototype
- , ArrayProto = Array.prototype
- , arraySlice = ArrayProto.slice
- , arrayJoin = ArrayProto.join
- , defineProperty = $.setDesc
- , getOwnDescriptor = $.getDesc
- , defineProperties = $.setDescs
- , factories = {}
- , IE8_DOM_DEFINE;
-
- if(!DESCRIPTORS){
- IE8_DOM_DEFINE = !fails(function(){
- return defineProperty(cel('div'), 'a', {get: function(){ return 7; }}).a != 7;
- });
- $.setDesc = function(O, P, Attributes){
- if(IE8_DOM_DEFINE)try {
- return defineProperty(O, P, Attributes);
- } catch(e){ /* empty */ }
- if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');
- if('value' in Attributes)anObject(O)[P] = Attributes.value;
- return O;
- };
- $.getDesc = function(O, P){
- if(IE8_DOM_DEFINE)try {
- return getOwnDescriptor(O, P);
- } catch(e){ /* empty */ }
- if(has(O, P))return createDesc(!ObjectProto.propertyIsEnumerable.call(O, P), O[P]);
- };
- $.setDescs = defineProperties = function(O, Properties){
- anObject(O);
- var keys = $.getKeys(Properties)
- , length = keys.length
- , i = 0
- , P;
- while(length > i)$.setDesc(O, P = keys[i++], Properties[P]);
- return O;
- };
- }
- $export($export.S + $export.F * !DESCRIPTORS, 'Object', {
- // 19.1.2.6 / 15.2.3.3 Object.getOwnPropertyDescriptor(O, P)
- getOwnPropertyDescriptor: $.getDesc,
- // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
- defineProperty: $.setDesc,
- // 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)
- defineProperties: defineProperties
- });
-
- // IE 8- don't enum bug keys
- var keys1 = ('constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,' +
- 'toLocaleString,toString,valueOf').split(',')
- // Additional keys for getOwnPropertyNames
- , keys2 = keys1.concat('length', 'prototype')
- , keysLen1 = keys1.length;
-
- // Create object with `null` prototype: use iframe Object with cleared prototype
- var createDict = function(){
- // Thrash, waste and sodomy: IE GC bug
- var iframe = cel('iframe')
- , i = keysLen1
- , gt = '>'
- , iframeDocument;
- iframe.style.display = 'none';
- html.appendChild(iframe);
- iframe.src = 'javascript:'; // eslint-disable-line no-script-url
- // createDict = iframe.contentWindow.Object;
- // html.removeChild(iframe);
- iframeDocument = iframe.contentWindow.document;
- iframeDocument.open();
- iframeDocument.write(' i)if(has(O, key = names[i++])){
- ~arrayIndexOf(result, key) || result.push(key);
- }
- return result;
- };
- };
- var Empty = function(){};
- $export($export.S, 'Object', {
- // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
- getPrototypeOf: $.getProto = $.getProto || function(O){
- O = toObject(O);
- if(has(O, IE_PROTO))return O[IE_PROTO];
- if(typeof O.constructor == 'function' && O instanceof O.constructor){
- return O.constructor.prototype;
- } return O instanceof Object ? ObjectProto : null;
- },
- // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
- getOwnPropertyNames: $.getNames = $.getNames || createGetKeys(keys2, keys2.length, true),
- // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
- create: $.create = $.create || function(O, /*?*/Properties){
- var result;
- if(O !== null){
- Empty.prototype = anObject(O);
- result = new Empty();
- Empty.prototype = null;
- // add "__proto__" for Object.getPrototypeOf shim
- result[IE_PROTO] = O;
- } else result = createDict();
- return Properties === undefined ? result : defineProperties(result, Properties);
- },
- // 19.1.2.14 / 15.2.3.14 Object.keys(O)
- keys: $.getKeys = $.getKeys || createGetKeys(keys1, keysLen1, false)
- });
-
- var construct = function(F, len, args){
- if(!(len in factories)){
- for(var n = [], i = 0; i < len; i++)n[i] = 'a[' + i + ']';
- factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');
- }
- return factories[len](F, args);
- };
-
- // 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)
- $export($export.P, 'Function', {
- bind: function bind(that /*, args... */){
- var fn = aFunction(this)
- , partArgs = arraySlice.call(arguments, 1);
- var bound = function(/* args... */){
- var args = partArgs.concat(arraySlice.call(arguments));
- return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);
- };
- if(isObject(fn.prototype))bound.prototype = fn.prototype;
- return bound;
- }
- });
-
- // fallback for not array-like ES3 strings and DOM objects
- $export($export.P + $export.F * fails(function(){
- if(html)arraySlice.call(html);
- }), 'Array', {
- slice: function(begin, end){
- var len = toLength(this.length)
- , klass = cof(this);
- end = end === undefined ? len : end;
- if(klass == 'Array')return arraySlice.call(this, begin, end);
- var start = toIndex(begin, len)
- , upTo = toIndex(end, len)
- , size = toLength(upTo - start)
- , cloned = Array(size)
- , i = 0;
- for(; i < size; i++)cloned[i] = klass == 'String'
- ? this.charAt(start + i)
- : this[start + i];
- return cloned;
- }
- });
- $export($export.P + $export.F * (IObject != Object), 'Array', {
- join: function join(separator){
- return arrayJoin.call(IObject(this), separator === undefined ? ',' : separator);
- }
- });
-
- // 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
- $export($export.S, 'Array', {isArray: __webpack_require__(30)});
-
- var createArrayReduce = function(isRight){
- return function(callbackfn, memo){
- aFunction(callbackfn);
- var O = IObject(this)
- , length = toLength(O.length)
- , index = isRight ? length - 1 : 0
- , i = isRight ? -1 : 1;
- if(arguments.length < 2)for(;;){
- if(index in O){
- memo = O[index];
- index += i;
- break;
- }
- index += i;
- if(isRight ? index < 0 : length <= index){
- throw TypeError('Reduce of empty array with no initial value');
- }
- }
- for(;isRight ? index >= 0 : length > index; index += i)if(index in O){
- memo = callbackfn(memo, O[index], index, this);
- }
- return memo;
- };
- };
-
- var methodize = function($fn){
- return function(arg1/*, arg2 = undefined */){
- return $fn(this, arg1, arguments[1]);
- };
- };
-
- $export($export.P, 'Array', {
- // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])
- forEach: $.each = $.each || methodize(createArrayMethod(0)),
- // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])
- map: methodize(createArrayMethod(1)),
- // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])
- filter: methodize(createArrayMethod(2)),
- // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])
- some: methodize(createArrayMethod(3)),
- // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])
- every: methodize(createArrayMethod(4)),
- // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])
- reduce: createArrayReduce(false),
- // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])
- reduceRight: createArrayReduce(true),
- // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])
- indexOf: methodize(arrayIndexOf),
- // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])
- lastIndexOf: function(el, fromIndex /* = @[*-1] */){
- var O = toIObject(this)
- , length = toLength(O.length)
- , index = length - 1;
- if(arguments.length > 1)index = Math.min(index, toInteger(fromIndex));
- if(index < 0)index = toLength(length + index);
- for(;index >= 0; index--)if(index in O)if(O[index] === el)return index;
- return -1;
- }
- });
-
- // 20.3.3.1 / 15.9.4.4 Date.now()
- $export($export.S, 'Date', {now: function(){ return +new Date; }});
-
- var lz = function(num){
- return num > 9 ? num : '0' + num;
- };
-
- // 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()
- // PhantomJS / old WebKit has a broken implementations
- $export($export.P + $export.F * (fails(function(){
- return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z';
- }) || !fails(function(){
- new Date(NaN).toISOString();
- })), 'Date', {
- toISOString: function toISOString(){
- if(!isFinite(this))throw RangeError('Invalid time value');
- var d = this
- , y = d.getUTCFullYear()
- , m = d.getUTCMilliseconds()
- , s = y < 0 ? '-' : y > 9999 ? '+' : '';
- return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +
- '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +
- 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +
- ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';
- }
- });
-
-/***/ },
-/* 2 */
-/***/ function(module, exports) {
-
- var $Object = Object;
- module.exports = {
- create: $Object.create,
- getProto: $Object.getPrototypeOf,
- isEnum: {}.propertyIsEnumerable,
- getDesc: $Object.getOwnPropertyDescriptor,
- setDesc: $Object.defineProperty,
- setDescs: $Object.defineProperties,
- getKeys: $Object.keys,
- getNames: $Object.getOwnPropertyNames,
- getSymbols: $Object.getOwnPropertySymbols,
- each: [].forEach
- };
-
-/***/ },
-/* 3 */
-/***/ function(module, exports, __webpack_require__) {
-
- var global = __webpack_require__(4)
- , core = __webpack_require__(5)
- , hide = __webpack_require__(6)
- , redefine = __webpack_require__(10)
- , ctx = __webpack_require__(12)
- , PROTOTYPE = 'prototype';
-
- var $export = function(type, name, source){
- var IS_FORCED = type & $export.F
- , IS_GLOBAL = type & $export.G
- , IS_STATIC = type & $export.S
- , IS_PROTO = type & $export.P
- , IS_BIND = type & $export.B
- , target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]
- , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})
- , expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {})
- , key, own, out, exp;
- if(IS_GLOBAL)source = name;
- for(key in source){
- // contains in native
- own = !IS_FORCED && target && key in target;
- // export native or passed
- out = (own ? target : source)[key];
- // bind timers to global for call from export context
- exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
- // extend global
- if(target && !own)redefine(target, key, out);
- // export
- if(exports[key] != out)hide(exports, key, exp);
- if(IS_PROTO && expProto[key] != out)expProto[key] = out;
- }
- };
- global.core = core;
- // type bitmap
- $export.F = 1; // forced
- $export.G = 2; // global
- $export.S = 4; // static
- $export.P = 8; // proto
- $export.B = 16; // bind
- $export.W = 32; // wrap
- module.exports = $export;
-
-/***/ },
-/* 4 */
-/***/ function(module, exports) {
-
- // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
- var global = module.exports = typeof window != 'undefined' && window.Math == Math
- ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();
- if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef
-
-/***/ },
-/* 5 */
-/***/ function(module, exports) {
-
- var core = module.exports = {version: '1.2.6'};
- if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef
-
-/***/ },
-/* 6 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $ = __webpack_require__(2)
- , createDesc = __webpack_require__(7);
- module.exports = __webpack_require__(8) ? function(object, key, value){
- return $.setDesc(object, key, createDesc(1, value));
- } : function(object, key, value){
- object[key] = value;
- return object;
- };
-
-/***/ },
-/* 7 */
-/***/ function(module, exports) {
-
- module.exports = function(bitmap, value){
- return {
- enumerable : !(bitmap & 1),
- configurable: !(bitmap & 2),
- writable : !(bitmap & 4),
- value : value
- };
- };
-
-/***/ },
-/* 8 */
-/***/ function(module, exports, __webpack_require__) {
-
- // Thank's IE8 for his funny defineProperty
- module.exports = !__webpack_require__(9)(function(){
- return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;
- });
-
-/***/ },
-/* 9 */
-/***/ function(module, exports) {
-
- module.exports = function(exec){
- try {
- return !!exec();
- } catch(e){
- return true;
- }
- };
-
-/***/ },
-/* 10 */
-/***/ function(module, exports, __webpack_require__) {
-
- // add fake Function#toString
- // for correct work wrapped methods / constructors with methods like LoDash isNative
- var global = __webpack_require__(4)
- , hide = __webpack_require__(6)
- , SRC = __webpack_require__(11)('src')
- , TO_STRING = 'toString'
- , $toString = Function[TO_STRING]
- , TPL = ('' + $toString).split(TO_STRING);
-
- __webpack_require__(5).inspectSource = function(it){
- return $toString.call(it);
- };
-
- (module.exports = function(O, key, val, safe){
- if(typeof val == 'function'){
- val.hasOwnProperty(SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));
- val.hasOwnProperty('name') || hide(val, 'name', key);
- }
- if(O === global){
- O[key] = val;
- } else {
- if(!safe)delete O[key];
- hide(O, key, val);
- }
- })(Function.prototype, TO_STRING, function toString(){
- return typeof this == 'function' && this[SRC] || $toString.call(this);
- });
-
-/***/ },
-/* 11 */
-/***/ function(module, exports) {
-
- var id = 0
- , px = Math.random();
- module.exports = function(key){
- return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
- };
-
-/***/ },
-/* 12 */
-/***/ function(module, exports, __webpack_require__) {
-
- // optional / simple context binding
- var aFunction = __webpack_require__(13);
- module.exports = function(fn, that, length){
- aFunction(fn);
- if(that === undefined)return fn;
- switch(length){
- case 1: return function(a){
- return fn.call(that, a);
- };
- case 2: return function(a, b){
- return fn.call(that, a, b);
- };
- case 3: return function(a, b, c){
- return fn.call(that, a, b, c);
- };
- }
- return function(/* ...args */){
- return fn.apply(that, arguments);
- };
- };
-
-/***/ },
-/* 13 */
-/***/ function(module, exports) {
-
- module.exports = function(it){
- if(typeof it != 'function')throw TypeError(it + ' is not a function!');
- return it;
- };
-
-/***/ },
-/* 14 */
-/***/ function(module, exports, __webpack_require__) {
-
- module.exports = __webpack_require__(4).document && document.documentElement;
-
-/***/ },
-/* 15 */
-/***/ function(module, exports, __webpack_require__) {
-
- var isObject = __webpack_require__(16)
- , document = __webpack_require__(4).document
- // in old IE typeof document.createElement is 'object'
- , is = isObject(document) && isObject(document.createElement);
- module.exports = function(it){
- return is ? document.createElement(it) : {};
- };
-
-/***/ },
-/* 16 */
-/***/ function(module, exports) {
-
- module.exports = function(it){
- return typeof it === 'object' ? it !== null : typeof it === 'function';
- };
-
-/***/ },
-/* 17 */
-/***/ function(module, exports) {
-
- var hasOwnProperty = {}.hasOwnProperty;
- module.exports = function(it, key){
- return hasOwnProperty.call(it, key);
- };
-
-/***/ },
-/* 18 */
-/***/ function(module, exports) {
-
- var toString = {}.toString;
-
- module.exports = function(it){
- return toString.call(it).slice(8, -1);
- };
-
-/***/ },
-/* 19 */
-/***/ function(module, exports) {
-
- // fast apply, http://jsperf.lnkit.com/fast-apply/5
- module.exports = function(fn, args, that){
- var un = that === undefined;
- switch(args.length){
- case 0: return un ? fn()
- : fn.call(that);
- case 1: return un ? fn(args[0])
- : fn.call(that, args[0]);
- case 2: return un ? fn(args[0], args[1])
- : fn.call(that, args[0], args[1]);
- case 3: return un ? fn(args[0], args[1], args[2])
- : fn.call(that, args[0], args[1], args[2]);
- case 4: return un ? fn(args[0], args[1], args[2], args[3])
- : fn.call(that, args[0], args[1], args[2], args[3]);
- } return fn.apply(that, args);
- };
-
-/***/ },
-/* 20 */
-/***/ function(module, exports, __webpack_require__) {
-
- var isObject = __webpack_require__(16);
- module.exports = function(it){
- if(!isObject(it))throw TypeError(it + ' is not an object!');
- return it;
- };
-
-/***/ },
-/* 21 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 7.1.13 ToObject(argument)
- var defined = __webpack_require__(22);
- module.exports = function(it){
- return Object(defined(it));
- };
-
-/***/ },
-/* 22 */
-/***/ function(module, exports) {
-
- // 7.2.1 RequireObjectCoercible(argument)
- module.exports = function(it){
- if(it == undefined)throw TypeError("Can't call method on " + it);
- return it;
- };
-
-/***/ },
-/* 23 */
-/***/ function(module, exports, __webpack_require__) {
-
- // to indexed object, toObject with fallback for non-array-like ES3 strings
- var IObject = __webpack_require__(24)
- , defined = __webpack_require__(22);
- module.exports = function(it){
- return IObject(defined(it));
- };
-
-/***/ },
-/* 24 */
-/***/ function(module, exports, __webpack_require__) {
-
- // fallback for non-array-like ES3 and non-enumerable old V8 strings
- var cof = __webpack_require__(18);
- module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){
- return cof(it) == 'String' ? it.split('') : Object(it);
- };
-
-/***/ },
-/* 25 */
-/***/ function(module, exports) {
-
- // 7.1.4 ToInteger
- var ceil = Math.ceil
- , floor = Math.floor;
- module.exports = function(it){
- return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
- };
-
-/***/ },
-/* 26 */
-/***/ function(module, exports, __webpack_require__) {
-
- var toInteger = __webpack_require__(25)
- , max = Math.max
- , min = Math.min;
- module.exports = function(index, length){
- index = toInteger(index);
- return index < 0 ? max(index + length, 0) : min(index, length);
- };
-
-/***/ },
-/* 27 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 7.1.15 ToLength
- var toInteger = __webpack_require__(25)
- , min = Math.min;
- module.exports = function(it){
- return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
- };
-
-/***/ },
-/* 28 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 0 -> Array#forEach
- // 1 -> Array#map
- // 2 -> Array#filter
- // 3 -> Array#some
- // 4 -> Array#every
- // 5 -> Array#find
- // 6 -> Array#findIndex
- var ctx = __webpack_require__(12)
- , IObject = __webpack_require__(24)
- , toObject = __webpack_require__(21)
- , toLength = __webpack_require__(27)
- , asc = __webpack_require__(29);
- module.exports = function(TYPE){
- var IS_MAP = TYPE == 1
- , IS_FILTER = TYPE == 2
- , IS_SOME = TYPE == 3
- , IS_EVERY = TYPE == 4
- , IS_FIND_INDEX = TYPE == 6
- , NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
- return function($this, callbackfn, that){
- var O = toObject($this)
- , self = IObject(O)
- , f = ctx(callbackfn, that, 3)
- , length = toLength(self.length)
- , index = 0
- , result = IS_MAP ? asc($this, length) : IS_FILTER ? asc($this, 0) : undefined
- , val, res;
- for(;length > index; index++)if(NO_HOLES || index in self){
- val = self[index];
- res = f(val, index, O);
- if(TYPE){
- if(IS_MAP)result[index] = res; // map
- else if(res)switch(TYPE){
- case 3: return true; // some
- case 5: return val; // find
- case 6: return index; // findIndex
- case 2: result.push(val); // filter
- } else if(IS_EVERY)return false; // every
- }
- }
- return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
- };
- };
-
-/***/ },
-/* 29 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 9.4.2.3 ArraySpeciesCreate(originalArray, length)
- var isObject = __webpack_require__(16)
- , isArray = __webpack_require__(30)
- , SPECIES = __webpack_require__(31)('species');
- module.exports = function(original, length){
- var C;
- if(isArray(original)){
- C = original.constructor;
- // cross-realm fallback
- if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined;
- if(isObject(C)){
- C = C[SPECIES];
- if(C === null)C = undefined;
- }
- } return new (C === undefined ? Array : C)(length);
- };
-
-/***/ },
-/* 30 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 7.2.2 IsArray(argument)
- var cof = __webpack_require__(18);
- module.exports = Array.isArray || function(arg){
- return cof(arg) == 'Array';
- };
-
-/***/ },
-/* 31 */
-/***/ function(module, exports, __webpack_require__) {
-
- var store = __webpack_require__(32)('wks')
- , uid = __webpack_require__(11)
- , Symbol = __webpack_require__(4).Symbol;
- module.exports = function(name){
- return store[name] || (store[name] =
- Symbol && Symbol[name] || (Symbol || uid)('Symbol.' + name));
- };
-
-/***/ },
-/* 32 */
-/***/ function(module, exports, __webpack_require__) {
-
- var global = __webpack_require__(4)
- , SHARED = '__core-js_shared__'
- , store = global[SHARED] || (global[SHARED] = {});
- module.exports = function(key){
- return store[key] || (store[key] = {});
- };
-
-/***/ },
-/* 33 */
-/***/ function(module, exports, __webpack_require__) {
-
- // false -> Array#indexOf
- // true -> Array#includes
- var toIObject = __webpack_require__(23)
- , toLength = __webpack_require__(27)
- , toIndex = __webpack_require__(26);
- module.exports = function(IS_INCLUDES){
- return function($this, el, fromIndex){
- var O = toIObject($this)
- , length = toLength(O.length)
- , index = toIndex(fromIndex, length)
- , value;
- // Array#includes uses SameValueZero equality algorithm
- if(IS_INCLUDES && el != el)while(length > index){
- value = O[index++];
- if(value != value)return true;
- // Array#toIndex ignores holes, Array#includes - not
- } else for(;length > index; index++)if(IS_INCLUDES || index in O){
- if(O[index] === el)return IS_INCLUDES || index;
- } return !IS_INCLUDES && -1;
- };
- };
-
-/***/ },
-/* 34 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // ECMAScript 6 symbols shim
- var $ = __webpack_require__(2)
- , global = __webpack_require__(4)
- , has = __webpack_require__(17)
- , DESCRIPTORS = __webpack_require__(8)
- , $export = __webpack_require__(3)
- , redefine = __webpack_require__(10)
- , $fails = __webpack_require__(9)
- , shared = __webpack_require__(32)
- , setToStringTag = __webpack_require__(35)
- , uid = __webpack_require__(11)
- , wks = __webpack_require__(31)
- , keyOf = __webpack_require__(36)
- , $names = __webpack_require__(37)
- , enumKeys = __webpack_require__(38)
- , isArray = __webpack_require__(30)
- , anObject = __webpack_require__(20)
- , toIObject = __webpack_require__(23)
- , createDesc = __webpack_require__(7)
- , getDesc = $.getDesc
- , setDesc = $.setDesc
- , _create = $.create
- , getNames = $names.get
- , $Symbol = global.Symbol
- , $JSON = global.JSON
- , _stringify = $JSON && $JSON.stringify
- , setter = false
- , HIDDEN = wks('_hidden')
- , isEnum = $.isEnum
- , SymbolRegistry = shared('symbol-registry')
- , AllSymbols = shared('symbols')
- , useNative = typeof $Symbol == 'function'
- , ObjectProto = Object.prototype;
-
- // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
- var setSymbolDesc = DESCRIPTORS && $fails(function(){
- return _create(setDesc({}, 'a', {
- get: function(){ return setDesc(this, 'a', {value: 7}).a; }
- })).a != 7;
- }) ? function(it, key, D){
- var protoDesc = getDesc(ObjectProto, key);
- if(protoDesc)delete ObjectProto[key];
- setDesc(it, key, D);
- if(protoDesc && it !== ObjectProto)setDesc(ObjectProto, key, protoDesc);
- } : setDesc;
-
- var wrap = function(tag){
- var sym = AllSymbols[tag] = _create($Symbol.prototype);
- sym._k = tag;
- DESCRIPTORS && setter && setSymbolDesc(ObjectProto, tag, {
- configurable: true,
- set: function(value){
- if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;
- setSymbolDesc(this, tag, createDesc(1, value));
- }
- });
- return sym;
- };
-
- var isSymbol = function(it){
- return typeof it == 'symbol';
- };
-
- var $defineProperty = function defineProperty(it, key, D){
- if(D && has(AllSymbols, key)){
- if(!D.enumerable){
- if(!has(it, HIDDEN))setDesc(it, HIDDEN, createDesc(1, {}));
- it[HIDDEN][key] = true;
- } else {
- if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;
- D = _create(D, {enumerable: createDesc(0, false)});
- } return setSymbolDesc(it, key, D);
- } return setDesc(it, key, D);
- };
- var $defineProperties = function defineProperties(it, P){
- anObject(it);
- var keys = enumKeys(P = toIObject(P))
- , i = 0
- , l = keys.length
- , key;
- while(l > i)$defineProperty(it, key = keys[i++], P[key]);
- return it;
- };
- var $create = function create(it, P){
- return P === undefined ? _create(it) : $defineProperties(_create(it), P);
- };
- var $propertyIsEnumerable = function propertyIsEnumerable(key){
- var E = isEnum.call(this, key);
- return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key]
- ? E : true;
- };
- var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){
- var D = getDesc(it = toIObject(it), key);
- if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;
- return D;
- };
- var $getOwnPropertyNames = function getOwnPropertyNames(it){
- var names = getNames(toIObject(it))
- , result = []
- , i = 0
- , key;
- while(names.length > i)if(!has(AllSymbols, key = names[i++]) && key != HIDDEN)result.push(key);
- return result;
- };
- var $getOwnPropertySymbols = function getOwnPropertySymbols(it){
- var names = getNames(toIObject(it))
- , result = []
- , i = 0
- , key;
- while(names.length > i)if(has(AllSymbols, key = names[i++]))result.push(AllSymbols[key]);
- return result;
- };
- var $stringify = function stringify(it){
- if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined
- var args = [it]
- , i = 1
- , $$ = arguments
- , replacer, $replacer;
- while($$.length > i)args.push($$[i++]);
- replacer = args[1];
- if(typeof replacer == 'function')$replacer = replacer;
- if($replacer || !isArray(replacer))replacer = function(key, value){
- if($replacer)value = $replacer.call(this, key, value);
- if(!isSymbol(value))return value;
- };
- args[1] = replacer;
- return _stringify.apply($JSON, args);
- };
- var buggyJSON = $fails(function(){
- var S = $Symbol();
- // MS Edge converts symbol values to JSON as {}
- // WebKit converts symbol values to JSON as null
- // V8 throws on boxed symbols
- return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';
- });
-
- // 19.4.1.1 Symbol([description])
- if(!useNative){
- $Symbol = function Symbol(){
- if(isSymbol(this))throw TypeError('Symbol is not a constructor');
- return wrap(uid(arguments.length > 0 ? arguments[0] : undefined));
- };
- redefine($Symbol.prototype, 'toString', function toString(){
- return this._k;
- });
-
- isSymbol = function(it){
- return it instanceof $Symbol;
- };
-
- $.create = $create;
- $.isEnum = $propertyIsEnumerable;
- $.getDesc = $getOwnPropertyDescriptor;
- $.setDesc = $defineProperty;
- $.setDescs = $defineProperties;
- $.getNames = $names.get = $getOwnPropertyNames;
- $.getSymbols = $getOwnPropertySymbols;
-
- if(DESCRIPTORS && !__webpack_require__(39)){
- redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
- }
- }
-
- var symbolStatics = {
- // 19.4.2.1 Symbol.for(key)
- 'for': function(key){
- return has(SymbolRegistry, key += '')
- ? SymbolRegistry[key]
- : SymbolRegistry[key] = $Symbol(key);
- },
- // 19.4.2.5 Symbol.keyFor(sym)
- keyFor: function keyFor(key){
- return keyOf(SymbolRegistry, key);
- },
- useSetter: function(){ setter = true; },
- useSimple: function(){ setter = false; }
- };
- // 19.4.2.2 Symbol.hasInstance
- // 19.4.2.3 Symbol.isConcatSpreadable
- // 19.4.2.4 Symbol.iterator
- // 19.4.2.6 Symbol.match
- // 19.4.2.8 Symbol.replace
- // 19.4.2.9 Symbol.search
- // 19.4.2.10 Symbol.species
- // 19.4.2.11 Symbol.split
- // 19.4.2.12 Symbol.toPrimitive
- // 19.4.2.13 Symbol.toStringTag
- // 19.4.2.14 Symbol.unscopables
- $.each.call((
- 'hasInstance,isConcatSpreadable,iterator,match,replace,search,' +
- 'species,split,toPrimitive,toStringTag,unscopables'
- ).split(','), function(it){
- var sym = wks(it);
- symbolStatics[it] = useNative ? sym : wrap(sym);
- });
-
- setter = true;
-
- $export($export.G + $export.W, {Symbol: $Symbol});
-
- $export($export.S, 'Symbol', symbolStatics);
-
- $export($export.S + $export.F * !useNative, 'Object', {
- // 19.1.2.2 Object.create(O [, Properties])
- create: $create,
- // 19.1.2.4 Object.defineProperty(O, P, Attributes)
- defineProperty: $defineProperty,
- // 19.1.2.3 Object.defineProperties(O, Properties)
- defineProperties: $defineProperties,
- // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
- getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
- // 19.1.2.7 Object.getOwnPropertyNames(O)
- getOwnPropertyNames: $getOwnPropertyNames,
- // 19.1.2.8 Object.getOwnPropertySymbols(O)
- getOwnPropertySymbols: $getOwnPropertySymbols
- });
-
- // 24.3.2 JSON.stringify(value [, replacer [, space]])
- $JSON && $export($export.S + $export.F * (!useNative || buggyJSON), 'JSON', {stringify: $stringify});
-
- // 19.4.3.5 Symbol.prototype[@@toStringTag]
- setToStringTag($Symbol, 'Symbol');
- // 20.2.1.9 Math[@@toStringTag]
- setToStringTag(Math, 'Math', true);
- // 24.3.3 JSON[@@toStringTag]
- setToStringTag(global.JSON, 'JSON', true);
-
-/***/ },
-/* 35 */
-/***/ function(module, exports, __webpack_require__) {
-
- var def = __webpack_require__(2).setDesc
- , has = __webpack_require__(17)
- , TAG = __webpack_require__(31)('toStringTag');
-
- module.exports = function(it, tag, stat){
- if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});
- };
-
-/***/ },
-/* 36 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $ = __webpack_require__(2)
- , toIObject = __webpack_require__(23);
- module.exports = function(object, el){
- var O = toIObject(object)
- , keys = $.getKeys(O)
- , length = keys.length
- , index = 0
- , key;
- while(length > index)if(O[key = keys[index++]] === el)return key;
- };
-
-/***/ },
-/* 37 */
-/***/ function(module, exports, __webpack_require__) {
-
- // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
- var toIObject = __webpack_require__(23)
- , getNames = __webpack_require__(2).getNames
- , toString = {}.toString;
-
- var windowNames = typeof window == 'object' && Object.getOwnPropertyNames
- ? Object.getOwnPropertyNames(window) : [];
-
- var getWindowNames = function(it){
- try {
- return getNames(it);
- } catch(e){
- return windowNames.slice();
- }
- };
-
- module.exports.get = function getOwnPropertyNames(it){
- if(windowNames && toString.call(it) == '[object Window]')return getWindowNames(it);
- return getNames(toIObject(it));
- };
-
-/***/ },
-/* 38 */
-/***/ function(module, exports, __webpack_require__) {
-
- // all enumerable object keys, includes symbols
- var $ = __webpack_require__(2);
- module.exports = function(it){
- var keys = $.getKeys(it)
- , getSymbols = $.getSymbols;
- if(getSymbols){
- var symbols = getSymbols(it)
- , isEnum = $.isEnum
- , i = 0
- , key;
- while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))keys.push(key);
- }
- return keys;
- };
-
-/***/ },
-/* 39 */
-/***/ function(module, exports) {
-
- module.exports = false;
-
-/***/ },
-/* 40 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.3.1 Object.assign(target, source)
- var $export = __webpack_require__(3);
-
- $export($export.S + $export.F, 'Object', {assign: __webpack_require__(41)});
-
-/***/ },
-/* 41 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.1 Object.assign(target, source, ...)
- var $ = __webpack_require__(2)
- , toObject = __webpack_require__(21)
- , IObject = __webpack_require__(24);
-
- // should work with symbols and should have deterministic property order (V8 bug)
- module.exports = __webpack_require__(9)(function(){
- var a = Object.assign
- , A = {}
- , B = {}
- , S = Symbol()
- , K = 'abcdefghijklmnopqrst';
- A[S] = 7;
- K.split('').forEach(function(k){ B[k] = k; });
- return a({}, A)[S] != 7 || Object.keys(a({}, B)).join('') != K;
- }) ? function assign(target, source){ // eslint-disable-line no-unused-vars
- var T = toObject(target)
- , $$ = arguments
- , $$len = $$.length
- , index = 1
- , getKeys = $.getKeys
- , getSymbols = $.getSymbols
- , isEnum = $.isEnum;
- while($$len > index){
- var S = IObject($$[index++])
- , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)
- , length = keys.length
- , j = 0
- , key;
- while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];
- }
- return T;
- } : Object.assign;
-
-/***/ },
-/* 42 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.3.10 Object.is(value1, value2)
- var $export = __webpack_require__(3);
- $export($export.S, 'Object', {is: __webpack_require__(43)});
-
-/***/ },
-/* 43 */
-/***/ function(module, exports) {
-
- // 7.2.9 SameValue(x, y)
- module.exports = Object.is || function is(x, y){
- return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
- };
-
-/***/ },
-/* 44 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.3.19 Object.setPrototypeOf(O, proto)
- var $export = __webpack_require__(3);
- $export($export.S, 'Object', {setPrototypeOf: __webpack_require__(45).set});
-
-/***/ },
-/* 45 */
-/***/ function(module, exports, __webpack_require__) {
-
- // Works with __proto__ only. Old v8 can't work with null proto objects.
- /* eslint-disable no-proto */
- var getDesc = __webpack_require__(2).getDesc
- , isObject = __webpack_require__(16)
- , anObject = __webpack_require__(20);
- var check = function(O, proto){
- anObject(O);
- if(!isObject(proto) && proto !== null)throw TypeError(proto + ": can't set as prototype!");
- };
- module.exports = {
- set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
- function(test, buggy, set){
- try {
- set = __webpack_require__(12)(Function.call, getDesc(Object.prototype, '__proto__').set, 2);
- set(test, []);
- buggy = !(test instanceof Array);
- } catch(e){ buggy = true; }
- return function setPrototypeOf(O, proto){
- check(O, proto);
- if(buggy)O.__proto__ = proto;
- else set(O, proto);
- return O;
- };
- }({}, false) : undefined),
- check: check
- };
-
-/***/ },
-/* 46 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // 19.1.3.6 Object.prototype.toString()
- var classof = __webpack_require__(47)
- , test = {};
- test[__webpack_require__(31)('toStringTag')] = 'z';
- if(test + '' != '[object z]'){
- __webpack_require__(10)(Object.prototype, 'toString', function toString(){
- return '[object ' + classof(this) + ']';
- }, true);
- }
-
-/***/ },
-/* 47 */
-/***/ function(module, exports, __webpack_require__) {
-
- // getting tag from 19.1.3.6 Object.prototype.toString()
- var cof = __webpack_require__(18)
- , TAG = __webpack_require__(31)('toStringTag')
- // ES3 wrong here
- , ARG = cof(function(){ return arguments; }()) == 'Arguments';
-
- module.exports = function(it){
- var O, T, B;
- return it === undefined ? 'Undefined' : it === null ? 'Null'
- // @@toStringTag case
- : typeof (T = (O = Object(it))[TAG]) == 'string' ? T
- // builtinTag case
- : ARG ? cof(O)
- // ES3 arguments fallback
- : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
- };
-
-/***/ },
-/* 48 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.5 Object.freeze(O)
- var isObject = __webpack_require__(16);
-
- __webpack_require__(49)('freeze', function($freeze){
- return function freeze(it){
- return $freeze && isObject(it) ? $freeze(it) : it;
- };
- });
-
-/***/ },
-/* 49 */
-/***/ function(module, exports, __webpack_require__) {
-
- // most Object methods by ES6 should accept primitives
- var $export = __webpack_require__(3)
- , core = __webpack_require__(5)
- , fails = __webpack_require__(9);
- module.exports = function(KEY, exec){
- var fn = (core.Object || {})[KEY] || Object[KEY]
- , exp = {};
- exp[KEY] = exec(fn);
- $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);
- };
-
-/***/ },
-/* 50 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.17 Object.seal(O)
- var isObject = __webpack_require__(16);
-
- __webpack_require__(49)('seal', function($seal){
- return function seal(it){
- return $seal && isObject(it) ? $seal(it) : it;
- };
- });
-
-/***/ },
-/* 51 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.15 Object.preventExtensions(O)
- var isObject = __webpack_require__(16);
-
- __webpack_require__(49)('preventExtensions', function($preventExtensions){
- return function preventExtensions(it){
- return $preventExtensions && isObject(it) ? $preventExtensions(it) : it;
- };
- });
-
-/***/ },
-/* 52 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.12 Object.isFrozen(O)
- var isObject = __webpack_require__(16);
-
- __webpack_require__(49)('isFrozen', function($isFrozen){
- return function isFrozen(it){
- return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;
- };
- });
-
-/***/ },
-/* 53 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.13 Object.isSealed(O)
- var isObject = __webpack_require__(16);
-
- __webpack_require__(49)('isSealed', function($isSealed){
- return function isSealed(it){
- return isObject(it) ? $isSealed ? $isSealed(it) : false : true;
- };
- });
-
-/***/ },
-/* 54 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.11 Object.isExtensible(O)
- var isObject = __webpack_require__(16);
-
- __webpack_require__(49)('isExtensible', function($isExtensible){
- return function isExtensible(it){
- return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;
- };
- });
-
-/***/ },
-/* 55 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
- var toIObject = __webpack_require__(23);
-
- __webpack_require__(49)('getOwnPropertyDescriptor', function($getOwnPropertyDescriptor){
- return function getOwnPropertyDescriptor(it, key){
- return $getOwnPropertyDescriptor(toIObject(it), key);
- };
- });
-
-/***/ },
-/* 56 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.9 Object.getPrototypeOf(O)
- var toObject = __webpack_require__(21);
-
- __webpack_require__(49)('getPrototypeOf', function($getPrototypeOf){
- return function getPrototypeOf(it){
- return $getPrototypeOf(toObject(it));
- };
- });
-
-/***/ },
-/* 57 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.14 Object.keys(O)
- var toObject = __webpack_require__(21);
-
- __webpack_require__(49)('keys', function($keys){
- return function keys(it){
- return $keys(toObject(it));
- };
- });
-
-/***/ },
-/* 58 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.7 Object.getOwnPropertyNames(O)
- __webpack_require__(49)('getOwnPropertyNames', function(){
- return __webpack_require__(37).get;
- });
-
-/***/ },
-/* 59 */
-/***/ function(module, exports, __webpack_require__) {
-
- var setDesc = __webpack_require__(2).setDesc
- , createDesc = __webpack_require__(7)
- , has = __webpack_require__(17)
- , FProto = Function.prototype
- , nameRE = /^\s*function ([^ (]*)/
- , NAME = 'name';
- // 19.2.4.2 name
- NAME in FProto || __webpack_require__(8) && setDesc(FProto, NAME, {
- configurable: true,
- get: function(){
- var match = ('' + this).match(nameRE)
- , name = match ? match[1] : '';
- has(this, NAME) || setDesc(this, NAME, createDesc(5, name));
- return name;
- }
- });
-
-/***/ },
-/* 60 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $ = __webpack_require__(2)
- , isObject = __webpack_require__(16)
- , HAS_INSTANCE = __webpack_require__(31)('hasInstance')
- , FunctionProto = Function.prototype;
- // 19.2.3.6 Function.prototype[@@hasInstance](V)
- if(!(HAS_INSTANCE in FunctionProto))$.setDesc(FunctionProto, HAS_INSTANCE, {value: function(O){
- if(typeof this != 'function' || !isObject(O))return false;
- if(!isObject(this.prototype))return O instanceof this;
- // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:
- while(O = $.getProto(O))if(this.prototype === O)return true;
- return false;
- }});
-
-/***/ },
-/* 61 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $ = __webpack_require__(2)
- , global = __webpack_require__(4)
- , has = __webpack_require__(17)
- , cof = __webpack_require__(18)
- , toPrimitive = __webpack_require__(62)
- , fails = __webpack_require__(9)
- , $trim = __webpack_require__(63).trim
- , NUMBER = 'Number'
- , $Number = global[NUMBER]
- , Base = $Number
- , proto = $Number.prototype
- // Opera ~12 has broken Object#toString
- , BROKEN_COF = cof($.create(proto)) == NUMBER
- , TRIM = 'trim' in String.prototype;
-
- // 7.1.3 ToNumber(argument)
- var toNumber = function(argument){
- var it = toPrimitive(argument, false);
- if(typeof it == 'string' && it.length > 2){
- it = TRIM ? it.trim() : $trim(it, 3);
- var first = it.charCodeAt(0)
- , third, radix, maxCode;
- if(first === 43 || first === 45){
- third = it.charCodeAt(2);
- if(third === 88 || third === 120)return NaN; // Number('+0x1') should be NaN, old V8 fix
- } else if(first === 48){
- switch(it.charCodeAt(1)){
- case 66 : case 98 : radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i
- case 79 : case 111 : radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i
- default : return +it;
- }
- for(var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++){
- code = digits.charCodeAt(i);
- // parseInt parses a string to a first unavailable symbol
- // but ToNumber should return NaN if a string contains unavailable symbols
- if(code < 48 || code > maxCode)return NaN;
- } return parseInt(digits, radix);
- }
- } return +it;
- };
-
- if(!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')){
- $Number = function Number(value){
- var it = arguments.length < 1 ? 0 : value
- , that = this;
- return that instanceof $Number
- // check on 1..constructor(foo) case
- && (BROKEN_COF ? fails(function(){ proto.valueOf.call(that); }) : cof(that) != NUMBER)
- ? new Base(toNumber(it)) : toNumber(it);
- };
- $.each.call(__webpack_require__(8) ? $.getNames(Base) : (
- // ES3:
- 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
- // ES6 (in case, if modules with ES6 Number statics required before):
- 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +
- 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'
- ).split(','), function(key){
- if(has(Base, key) && !has($Number, key)){
- $.setDesc($Number, key, $.getDesc(Base, key));
- }
- });
- $Number.prototype = proto;
- proto.constructor = $Number;
- __webpack_require__(10)(global, NUMBER, $Number);
- }
-
-/***/ },
-/* 62 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 7.1.1 ToPrimitive(input [, PreferredType])
- var isObject = __webpack_require__(16);
- // instead of the ES6 spec version, we didn't implement @@toPrimitive case
- // and the second argument - flag - preferred type is a string
- module.exports = function(it, S){
- if(!isObject(it))return it;
- var fn, val;
- if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;
- if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;
- if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;
- throw TypeError("Can't convert object to primitive value");
- };
-
-/***/ },
-/* 63 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $export = __webpack_require__(3)
- , defined = __webpack_require__(22)
- , fails = __webpack_require__(9)
- , spaces = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' +
- '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'
- , space = '[' + spaces + ']'
- , non = '\u200b\u0085'
- , ltrim = RegExp('^' + space + space + '*')
- , rtrim = RegExp(space + space + '*$');
-
- var exporter = function(KEY, exec){
- var exp = {};
- exp[KEY] = exec(trim);
- $export($export.P + $export.F * fails(function(){
- return !!spaces[KEY]() || non[KEY]() != non;
- }), 'String', exp);
- };
-
- // 1 -> String#trimLeft
- // 2 -> String#trimRight
- // 3 -> String#trim
- var trim = exporter.trim = function(string, TYPE){
- string = String(defined(string));
- if(TYPE & 1)string = string.replace(ltrim, '');
- if(TYPE & 2)string = string.replace(rtrim, '');
- return string;
- };
-
- module.exports = exporter;
-
-/***/ },
-/* 64 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.1 Number.EPSILON
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Number', {EPSILON: Math.pow(2, -52)});
-
-/***/ },
-/* 65 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.2 Number.isFinite(number)
- var $export = __webpack_require__(3)
- , _isFinite = __webpack_require__(4).isFinite;
-
- $export($export.S, 'Number', {
- isFinite: function isFinite(it){
- return typeof it == 'number' && _isFinite(it);
- }
- });
-
-/***/ },
-/* 66 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.3 Number.isInteger(number)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Number', {isInteger: __webpack_require__(67)});
-
-/***/ },
-/* 67 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.3 Number.isInteger(number)
- var isObject = __webpack_require__(16)
- , floor = Math.floor;
- module.exports = function isInteger(it){
- return !isObject(it) && isFinite(it) && floor(it) === it;
- };
-
-/***/ },
-/* 68 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.4 Number.isNaN(number)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Number', {
- isNaN: function isNaN(number){
- return number != number;
- }
- });
-
-/***/ },
-/* 69 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.5 Number.isSafeInteger(number)
- var $export = __webpack_require__(3)
- , isInteger = __webpack_require__(67)
- , abs = Math.abs;
-
- $export($export.S, 'Number', {
- isSafeInteger: function isSafeInteger(number){
- return isInteger(number) && abs(number) <= 0x1fffffffffffff;
- }
- });
-
-/***/ },
-/* 70 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.6 Number.MAX_SAFE_INTEGER
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff});
-
-/***/ },
-/* 71 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.10 Number.MIN_SAFE_INTEGER
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff});
-
-/***/ },
-/* 72 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.12 Number.parseFloat(string)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Number', {parseFloat: parseFloat});
-
-/***/ },
-/* 73 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.13 Number.parseInt(string, radix)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Number', {parseInt: parseInt});
-
-/***/ },
-/* 74 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.3 Math.acosh(x)
- var $export = __webpack_require__(3)
- , log1p = __webpack_require__(75)
- , sqrt = Math.sqrt
- , $acosh = Math.acosh;
-
- // V8 bug https://code.google.com/p/v8/issues/detail?id=3509
- $export($export.S + $export.F * !($acosh && Math.floor($acosh(Number.MAX_VALUE)) == 710), 'Math', {
- acosh: function acosh(x){
- return (x = +x) < 1 ? NaN : x > 94906265.62425156
- ? Math.log(x) + Math.LN2
- : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));
- }
- });
-
-/***/ },
-/* 75 */
-/***/ function(module, exports) {
-
- // 20.2.2.20 Math.log1p(x)
- module.exports = Math.log1p || function log1p(x){
- return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);
- };
-
-/***/ },
-/* 76 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.5 Math.asinh(x)
- var $export = __webpack_require__(3);
-
- function asinh(x){
- return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));
- }
-
- $export($export.S, 'Math', {asinh: asinh});
-
-/***/ },
-/* 77 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.7 Math.atanh(x)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Math', {
- atanh: function atanh(x){
- return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;
- }
- });
-
-/***/ },
-/* 78 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.9 Math.cbrt(x)
- var $export = __webpack_require__(3)
- , sign = __webpack_require__(79);
-
- $export($export.S, 'Math', {
- cbrt: function cbrt(x){
- return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);
- }
- });
-
-/***/ },
-/* 79 */
-/***/ function(module, exports) {
-
- // 20.2.2.28 Math.sign(x)
- module.exports = Math.sign || function sign(x){
- return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;
- };
-
-/***/ },
-/* 80 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.11 Math.clz32(x)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Math', {
- clz32: function clz32(x){
- return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;
- }
- });
-
-/***/ },
-/* 81 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.12 Math.cosh(x)
- var $export = __webpack_require__(3)
- , exp = Math.exp;
-
- $export($export.S, 'Math', {
- cosh: function cosh(x){
- return (exp(x = +x) + exp(-x)) / 2;
- }
- });
-
-/***/ },
-/* 82 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.14 Math.expm1(x)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Math', {expm1: __webpack_require__(83)});
-
-/***/ },
-/* 83 */
-/***/ function(module, exports) {
-
- // 20.2.2.14 Math.expm1(x)
- module.exports = Math.expm1 || function expm1(x){
- return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;
- };
-
-/***/ },
-/* 84 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.16 Math.fround(x)
- var $export = __webpack_require__(3)
- , sign = __webpack_require__(79)
- , pow = Math.pow
- , EPSILON = pow(2, -52)
- , EPSILON32 = pow(2, -23)
- , MAX32 = pow(2, 127) * (2 - EPSILON32)
- , MIN32 = pow(2, -126);
-
- var roundTiesToEven = function(n){
- return n + 1 / EPSILON - 1 / EPSILON;
- };
-
-
- $export($export.S, 'Math', {
- fround: function fround(x){
- var $abs = Math.abs(x)
- , $sign = sign(x)
- , a, result;
- if($abs < MIN32)return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;
- a = (1 + EPSILON32 / EPSILON) * $abs;
- result = a - (a - $abs);
- if(result > MAX32 || result != result)return $sign * Infinity;
- return $sign * result;
- }
- });
-
-/***/ },
-/* 85 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.17 Math.hypot([value1[, value2[, … ]]])
- var $export = __webpack_require__(3)
- , abs = Math.abs;
-
- $export($export.S, 'Math', {
- hypot: function hypot(value1, value2){ // eslint-disable-line no-unused-vars
- var sum = 0
- , i = 0
- , $$ = arguments
- , $$len = $$.length
- , larg = 0
- , arg, div;
- while(i < $$len){
- arg = abs($$[i++]);
- if(larg < arg){
- div = larg / arg;
- sum = sum * div * div + 1;
- larg = arg;
- } else if(arg > 0){
- div = arg / larg;
- sum += div * div;
- } else sum += arg;
- }
- return larg === Infinity ? Infinity : larg * Math.sqrt(sum);
- }
- });
-
-/***/ },
-/* 86 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.18 Math.imul(x, y)
- var $export = __webpack_require__(3)
- , $imul = Math.imul;
-
- // some WebKit versions fails with big numbers, some has wrong arity
- $export($export.S + $export.F * __webpack_require__(9)(function(){
- return $imul(0xffffffff, 5) != -5 || $imul.length != 2;
- }), 'Math', {
- imul: function imul(x, y){
- var UINT16 = 0xffff
- , xn = +x
- , yn = +y
- , xl = UINT16 & xn
- , yl = UINT16 & yn;
- return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);
- }
- });
-
-/***/ },
-/* 87 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.21 Math.log10(x)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Math', {
- log10: function log10(x){
- return Math.log(x) / Math.LN10;
- }
- });
-
-/***/ },
-/* 88 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.20 Math.log1p(x)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Math', {log1p: __webpack_require__(75)});
-
-/***/ },
-/* 89 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.22 Math.log2(x)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Math', {
- log2: function log2(x){
- return Math.log(x) / Math.LN2;
- }
- });
-
-/***/ },
-/* 90 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.28 Math.sign(x)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Math', {sign: __webpack_require__(79)});
-
-/***/ },
-/* 91 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.30 Math.sinh(x)
- var $export = __webpack_require__(3)
- , expm1 = __webpack_require__(83)
- , exp = Math.exp;
-
- // V8 near Chromium 38 has a problem with very small numbers
- $export($export.S + $export.F * __webpack_require__(9)(function(){
- return !Math.sinh(-2e-17) != -2e-17;
- }), 'Math', {
- sinh: function sinh(x){
- return Math.abs(x = +x) < 1
- ? (expm1(x) - expm1(-x)) / 2
- : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);
- }
- });
-
-/***/ },
-/* 92 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.33 Math.tanh(x)
- var $export = __webpack_require__(3)
- , expm1 = __webpack_require__(83)
- , exp = Math.exp;
-
- $export($export.S, 'Math', {
- tanh: function tanh(x){
- var a = expm1(x = +x)
- , b = expm1(-x);
- return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));
- }
- });
-
-/***/ },
-/* 93 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.34 Math.trunc(x)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Math', {
- trunc: function trunc(it){
- return (it > 0 ? Math.floor : Math.ceil)(it);
- }
- });
-
-/***/ },
-/* 94 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $export = __webpack_require__(3)
- , toIndex = __webpack_require__(26)
- , fromCharCode = String.fromCharCode
- , $fromCodePoint = String.fromCodePoint;
-
- // length should be 1, old FF problem
- $export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {
- // 21.1.2.2 String.fromCodePoint(...codePoints)
- fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars
- var res = []
- , $$ = arguments
- , $$len = $$.length
- , i = 0
- , code;
- while($$len > i){
- code = +$$[i++];
- if(toIndex(code, 0x10ffff) !== code)throw RangeError(code + ' is not a valid code point');
- res.push(code < 0x10000
- ? fromCharCode(code)
- : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)
- );
- } return res.join('');
- }
- });
-
-/***/ },
-/* 95 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $export = __webpack_require__(3)
- , toIObject = __webpack_require__(23)
- , toLength = __webpack_require__(27);
-
- $export($export.S, 'String', {
- // 21.1.2.4 String.raw(callSite, ...substitutions)
- raw: function raw(callSite){
- var tpl = toIObject(callSite.raw)
- , len = toLength(tpl.length)
- , $$ = arguments
- , $$len = $$.length
- , res = []
- , i = 0;
- while(len > i){
- res.push(String(tpl[i++]));
- if(i < $$len)res.push(String($$[i]));
- } return res.join('');
- }
- });
-
-/***/ },
-/* 96 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // 21.1.3.25 String.prototype.trim()
- __webpack_require__(63)('trim', function($trim){
- return function trim(){
- return $trim(this, 3);
- };
- });
-
-/***/ },
-/* 97 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $export = __webpack_require__(3)
- , $at = __webpack_require__(98)(false);
- $export($export.P, 'String', {
- // 21.1.3.3 String.prototype.codePointAt(pos)
- codePointAt: function codePointAt(pos){
- return $at(this, pos);
- }
- });
-
-/***/ },
-/* 98 */
-/***/ function(module, exports, __webpack_require__) {
-
- var toInteger = __webpack_require__(25)
- , defined = __webpack_require__(22);
- // true -> String#at
- // false -> String#codePointAt
- module.exports = function(TO_STRING){
- return function(that, pos){
- var s = String(defined(that))
- , i = toInteger(pos)
- , l = s.length
- , a, b;
- if(i < 0 || i >= l)return TO_STRING ? '' : undefined;
- a = s.charCodeAt(i);
- return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
- ? TO_STRING ? s.charAt(i) : a
- : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
- };
- };
-
-/***/ },
-/* 99 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])
- 'use strict';
- var $export = __webpack_require__(3)
- , toLength = __webpack_require__(27)
- , context = __webpack_require__(100)
- , ENDS_WITH = 'endsWith'
- , $endsWith = ''[ENDS_WITH];
-
- $export($export.P + $export.F * __webpack_require__(102)(ENDS_WITH), 'String', {
- endsWith: function endsWith(searchString /*, endPosition = @length */){
- var that = context(this, searchString, ENDS_WITH)
- , $$ = arguments
- , endPosition = $$.length > 1 ? $$[1] : undefined
- , len = toLength(that.length)
- , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len)
- , search = String(searchString);
- return $endsWith
- ? $endsWith.call(that, search, end)
- : that.slice(end - search.length, end) === search;
- }
- });
-
-/***/ },
-/* 100 */
-/***/ function(module, exports, __webpack_require__) {
-
- // helper for String#{startsWith, endsWith, includes}
- var isRegExp = __webpack_require__(101)
- , defined = __webpack_require__(22);
-
- module.exports = function(that, searchString, NAME){
- if(isRegExp(searchString))throw TypeError('String#' + NAME + " doesn't accept regex!");
- return String(defined(that));
- };
-
-/***/ },
-/* 101 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 7.2.8 IsRegExp(argument)
- var isObject = __webpack_require__(16)
- , cof = __webpack_require__(18)
- , MATCH = __webpack_require__(31)('match');
- module.exports = function(it){
- var isRegExp;
- return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');
- };
-
-/***/ },
-/* 102 */
-/***/ function(module, exports, __webpack_require__) {
-
- var MATCH = __webpack_require__(31)('match');
- module.exports = function(KEY){
- var re = /./;
- try {
- '/./'[KEY](re);
- } catch(e){
- try {
- re[MATCH] = false;
- return !'/./'[KEY](re);
- } catch(f){ /* empty */ }
- } return true;
- };
-
-/***/ },
-/* 103 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 21.1.3.7 String.prototype.includes(searchString, position = 0)
- 'use strict';
- var $export = __webpack_require__(3)
- , context = __webpack_require__(100)
- , INCLUDES = 'includes';
-
- $export($export.P + $export.F * __webpack_require__(102)(INCLUDES), 'String', {
- includes: function includes(searchString /*, position = 0 */){
- return !!~context(this, searchString, INCLUDES)
- .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
-
-/***/ },
-/* 104 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $export = __webpack_require__(3);
-
- $export($export.P, 'String', {
- // 21.1.3.13 String.prototype.repeat(count)
- repeat: __webpack_require__(105)
- });
-
-/***/ },
-/* 105 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var toInteger = __webpack_require__(25)
- , defined = __webpack_require__(22);
-
- module.exports = function repeat(count){
- var str = String(defined(this))
- , res = ''
- , n = toInteger(count);
- if(n < 0 || n == Infinity)throw RangeError("Count can't be negative");
- for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str;
- return res;
- };
-
-/***/ },
-/* 106 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 21.1.3.18 String.prototype.startsWith(searchString [, position ])
- 'use strict';
- var $export = __webpack_require__(3)
- , toLength = __webpack_require__(27)
- , context = __webpack_require__(100)
- , STARTS_WITH = 'startsWith'
- , $startsWith = ''[STARTS_WITH];
-
- $export($export.P + $export.F * __webpack_require__(102)(STARTS_WITH), 'String', {
- startsWith: function startsWith(searchString /*, position = 0 */){
- var that = context(this, searchString, STARTS_WITH)
- , $$ = arguments
- , index = toLength(Math.min($$.length > 1 ? $$[1] : undefined, that.length))
- , search = String(searchString);
- return $startsWith
- ? $startsWith.call(that, search, index)
- : that.slice(index, index + search.length) === search;
- }
- });
-
-/***/ },
-/* 107 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $at = __webpack_require__(98)(true);
-
- // 21.1.3.27 String.prototype[@@iterator]()
- __webpack_require__(108)(String, 'String', function(iterated){
- this._t = String(iterated); // target
- this._i = 0; // next index
- // 21.1.5.2.1 %StringIteratorPrototype%.next()
- }, function(){
- var O = this._t
- , index = this._i
- , point;
- if(index >= O.length)return {value: undefined, done: true};
- point = $at(O, index);
- this._i += point.length;
- return {value: point, done: false};
- });
-
-/***/ },
-/* 108 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var LIBRARY = __webpack_require__(39)
- , $export = __webpack_require__(3)
- , redefine = __webpack_require__(10)
- , hide = __webpack_require__(6)
- , has = __webpack_require__(17)
- , Iterators = __webpack_require__(109)
- , $iterCreate = __webpack_require__(110)
- , setToStringTag = __webpack_require__(35)
- , getProto = __webpack_require__(2).getProto
- , ITERATOR = __webpack_require__(31)('iterator')
- , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`
- , FF_ITERATOR = '@@iterator'
- , KEYS = 'keys'
- , VALUES = 'values';
-
- var returnThis = function(){ return this; };
-
- module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){
- $iterCreate(Constructor, NAME, next);
- var getMethod = function(kind){
- if(!BUGGY && kind in proto)return proto[kind];
- switch(kind){
- case KEYS: return function keys(){ return new Constructor(this, kind); };
- case VALUES: return function values(){ return new Constructor(this, kind); };
- } return function entries(){ return new Constructor(this, kind); };
- };
- var TAG = NAME + ' Iterator'
- , DEF_VALUES = DEFAULT == VALUES
- , VALUES_BUG = false
- , proto = Base.prototype
- , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]
- , $default = $native || getMethod(DEFAULT)
- , methods, key;
- // Fix native
- if($native){
- var IteratorPrototype = getProto($default.call(new Base));
- // Set @@toStringTag to native iterators
- setToStringTag(IteratorPrototype, TAG, true);
- // FF fix
- if(!LIBRARY && has(proto, FF_ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);
- // fix Array#{values, @@iterator}.name in V8 / FF
- if(DEF_VALUES && $native.name !== VALUES){
- VALUES_BUG = true;
- $default = function values(){ return $native.call(this); };
- }
- }
- // Define iterator
- if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){
- hide(proto, ITERATOR, $default);
- }
- // Plug for library
- Iterators[NAME] = $default;
- Iterators[TAG] = returnThis;
- if(DEFAULT){
- methods = {
- values: DEF_VALUES ? $default : getMethod(VALUES),
- keys: IS_SET ? $default : getMethod(KEYS),
- entries: !DEF_VALUES ? $default : getMethod('entries')
- };
- if(FORCED)for(key in methods){
- if(!(key in proto))redefine(proto, key, methods[key]);
- } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
- }
- return methods;
- };
-
-/***/ },
-/* 109 */
-/***/ function(module, exports) {
-
- module.exports = {};
-
-/***/ },
-/* 110 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $ = __webpack_require__(2)
- , descriptor = __webpack_require__(7)
- , setToStringTag = __webpack_require__(35)
- , IteratorPrototype = {};
-
- // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
- __webpack_require__(6)(IteratorPrototype, __webpack_require__(31)('iterator'), function(){ return this; });
-
- module.exports = function(Constructor, NAME, next){
- Constructor.prototype = $.create(IteratorPrototype, {next: descriptor(1, next)});
- setToStringTag(Constructor, NAME + ' Iterator');
- };
-
-/***/ },
-/* 111 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var ctx = __webpack_require__(12)
- , $export = __webpack_require__(3)
- , toObject = __webpack_require__(21)
- , call = __webpack_require__(112)
- , isArrayIter = __webpack_require__(113)
- , toLength = __webpack_require__(27)
- , getIterFn = __webpack_require__(114);
- $export($export.S + $export.F * !__webpack_require__(115)(function(iter){ Array.from(iter); }), 'Array', {
- // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
- from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){
- var O = toObject(arrayLike)
- , C = typeof this == 'function' ? this : Array
- , $$ = arguments
- , $$len = $$.length
- , mapfn = $$len > 1 ? $$[1] : undefined
- , mapping = mapfn !== undefined
- , index = 0
- , iterFn = getIterFn(O)
- , length, result, step, iterator;
- if(mapping)mapfn = ctx(mapfn, $$len > 2 ? $$[2] : undefined, 2);
- // if object isn't iterable or it's array with default iterator - use simple case
- if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){
- for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){
- result[index] = mapping ? call(iterator, mapfn, [step.value, index], true) : step.value;
- }
- } else {
- length = toLength(O.length);
- for(result = new C(length); length > index; index++){
- result[index] = mapping ? mapfn(O[index], index) : O[index];
- }
- }
- result.length = index;
- return result;
- }
- });
-
-
-/***/ },
-/* 112 */
-/***/ function(module, exports, __webpack_require__) {
-
- // call something on iterator step with safe closing on error
- var anObject = __webpack_require__(20);
- module.exports = function(iterator, fn, value, entries){
- try {
- return entries ? fn(anObject(value)[0], value[1]) : fn(value);
- // 7.4.6 IteratorClose(iterator, completion)
- } catch(e){
- var ret = iterator['return'];
- if(ret !== undefined)anObject(ret.call(iterator));
- throw e;
- }
- };
-
-/***/ },
-/* 113 */
-/***/ function(module, exports, __webpack_require__) {
-
- // check on default Array iterator
- var Iterators = __webpack_require__(109)
- , ITERATOR = __webpack_require__(31)('iterator')
- , ArrayProto = Array.prototype;
-
- module.exports = function(it){
- return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
- };
-
-/***/ },
-/* 114 */
-/***/ function(module, exports, __webpack_require__) {
-
- var classof = __webpack_require__(47)
- , ITERATOR = __webpack_require__(31)('iterator')
- , Iterators = __webpack_require__(109);
- module.exports = __webpack_require__(5).getIteratorMethod = function(it){
- if(it != undefined)return it[ITERATOR]
- || it['@@iterator']
- || Iterators[classof(it)];
- };
-
-/***/ },
-/* 115 */
-/***/ function(module, exports, __webpack_require__) {
-
- var ITERATOR = __webpack_require__(31)('iterator')
- , SAFE_CLOSING = false;
-
- try {
- var riter = [7][ITERATOR]();
- riter['return'] = function(){ SAFE_CLOSING = true; };
- Array.from(riter, function(){ throw 2; });
- } catch(e){ /* empty */ }
-
- module.exports = function(exec, skipClosing){
- if(!skipClosing && !SAFE_CLOSING)return false;
- var safe = false;
- try {
- var arr = [7]
- , iter = arr[ITERATOR]();
- iter.next = function(){ safe = true; };
- arr[ITERATOR] = function(){ return iter; };
- exec(arr);
- } catch(e){ /* empty */ }
- return safe;
- };
-
-/***/ },
-/* 116 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $export = __webpack_require__(3);
-
- // WebKit Array.of isn't generic
- $export($export.S + $export.F * __webpack_require__(9)(function(){
- function F(){}
- return !(Array.of.call(F) instanceof F);
- }), 'Array', {
- // 22.1.2.3 Array.of( ...items)
- of: function of(/* ...args */){
- var index = 0
- , $$ = arguments
- , $$len = $$.length
- , result = new (typeof this == 'function' ? this : Array)($$len);
- while($$len > index)result[index] = $$[index++];
- result.length = $$len;
- return result;
- }
- });
-
-/***/ },
-/* 117 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var addToUnscopables = __webpack_require__(118)
- , step = __webpack_require__(119)
- , Iterators = __webpack_require__(109)
- , toIObject = __webpack_require__(23);
-
- // 22.1.3.4 Array.prototype.entries()
- // 22.1.3.13 Array.prototype.keys()
- // 22.1.3.29 Array.prototype.values()
- // 22.1.3.30 Array.prototype[@@iterator]()
- module.exports = __webpack_require__(108)(Array, 'Array', function(iterated, kind){
- this._t = toIObject(iterated); // target
- this._i = 0; // next index
- this._k = kind; // kind
- // 22.1.5.2.1 %ArrayIteratorPrototype%.next()
- }, function(){
- var O = this._t
- , kind = this._k
- , index = this._i++;
- if(!O || index >= O.length){
- this._t = undefined;
- return step(1);
- }
- if(kind == 'keys' )return step(0, index);
- if(kind == 'values')return step(0, O[index]);
- return step(0, [index, O[index]]);
- }, 'values');
-
- // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
- Iterators.Arguments = Iterators.Array;
-
- addToUnscopables('keys');
- addToUnscopables('values');
- addToUnscopables('entries');
-
-/***/ },
-/* 118 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 22.1.3.31 Array.prototype[@@unscopables]
- var UNSCOPABLES = __webpack_require__(31)('unscopables')
- , ArrayProto = Array.prototype;
- if(ArrayProto[UNSCOPABLES] == undefined)__webpack_require__(6)(ArrayProto, UNSCOPABLES, {});
- module.exports = function(key){
- ArrayProto[UNSCOPABLES][key] = true;
- };
-
-/***/ },
-/* 119 */
-/***/ function(module, exports) {
-
- module.exports = function(done, value){
- return {value: value, done: !!done};
- };
-
-/***/ },
-/* 120 */
-/***/ function(module, exports, __webpack_require__) {
-
- __webpack_require__(121)('Array');
-
-/***/ },
-/* 121 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var global = __webpack_require__(4)
- , $ = __webpack_require__(2)
- , DESCRIPTORS = __webpack_require__(8)
- , SPECIES = __webpack_require__(31)('species');
-
- module.exports = function(KEY){
- var C = global[KEY];
- if(DESCRIPTORS && C && !C[SPECIES])$.setDesc(C, SPECIES, {
- configurable: true,
- get: function(){ return this; }
- });
- };
-
-/***/ },
-/* 122 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
- var $export = __webpack_require__(3);
-
- $export($export.P, 'Array', {copyWithin: __webpack_require__(123)});
-
- __webpack_require__(118)('copyWithin');
-
-/***/ },
-/* 123 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
- 'use strict';
- var toObject = __webpack_require__(21)
- , toIndex = __webpack_require__(26)
- , toLength = __webpack_require__(27);
-
- module.exports = [].copyWithin || function copyWithin(target/*= 0*/, start/*= 0, end = @length*/){
- var O = toObject(this)
- , len = toLength(O.length)
- , to = toIndex(target, len)
- , from = toIndex(start, len)
- , $$ = arguments
- , end = $$.length > 2 ? $$[2] : undefined
- , count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to)
- , inc = 1;
- if(from < to && to < from + count){
- inc = -1;
- from += count - 1;
- to += count - 1;
- }
- while(count-- > 0){
- if(from in O)O[to] = O[from];
- else delete O[to];
- to += inc;
- from += inc;
- } return O;
- };
-
-/***/ },
-/* 124 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
- var $export = __webpack_require__(3);
-
- $export($export.P, 'Array', {fill: __webpack_require__(125)});
-
- __webpack_require__(118)('fill');
-
-/***/ },
-/* 125 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
- 'use strict';
- var toObject = __webpack_require__(21)
- , toIndex = __webpack_require__(26)
- , toLength = __webpack_require__(27);
- module.exports = [].fill || function fill(value /*, start = 0, end = @length */){
- var O = toObject(this)
- , length = toLength(O.length)
- , $$ = arguments
- , $$len = $$.length
- , index = toIndex($$len > 1 ? $$[1] : undefined, length)
- , end = $$len > 2 ? $$[2] : undefined
- , endPos = end === undefined ? length : toIndex(end, length);
- while(endPos > index)O[index++] = value;
- return O;
- };
-
-/***/ },
-/* 126 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)
- var $export = __webpack_require__(3)
- , $find = __webpack_require__(28)(5)
- , KEY = 'find'
- , forced = true;
- // Shouldn't skip holes
- if(KEY in [])Array(1)[KEY](function(){ forced = false; });
- $export($export.P + $export.F * forced, 'Array', {
- find: function find(callbackfn/*, that = undefined */){
- return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
- __webpack_require__(118)(KEY);
-
-/***/ },
-/* 127 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)
- var $export = __webpack_require__(3)
- , $find = __webpack_require__(28)(6)
- , KEY = 'findIndex'
- , forced = true;
- // Shouldn't skip holes
- if(KEY in [])Array(1)[KEY](function(){ forced = false; });
- $export($export.P + $export.F * forced, 'Array', {
- findIndex: function findIndex(callbackfn/*, that = undefined */){
- return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
- __webpack_require__(118)(KEY);
-
-/***/ },
-/* 128 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $ = __webpack_require__(2)
- , global = __webpack_require__(4)
- , isRegExp = __webpack_require__(101)
- , $flags = __webpack_require__(129)
- , $RegExp = global.RegExp
- , Base = $RegExp
- , proto = $RegExp.prototype
- , re1 = /a/g
- , re2 = /a/g
- // "new" creates a new object, old webkit buggy here
- , CORRECT_NEW = new $RegExp(re1) !== re1;
-
- if(__webpack_require__(8) && (!CORRECT_NEW || __webpack_require__(9)(function(){
- re2[__webpack_require__(31)('match')] = false;
- // RegExp constructor can alter flags and IsRegExp works correct with @@match
- return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';
- }))){
- $RegExp = function RegExp(p, f){
- var piRE = isRegExp(p)
- , fiU = f === undefined;
- return !(this instanceof $RegExp) && piRE && p.constructor === $RegExp && fiU ? p
- : CORRECT_NEW
- ? new Base(piRE && !fiU ? p.source : p, f)
- : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f);
- };
- $.each.call($.getNames(Base), function(key){
- key in $RegExp || $.setDesc($RegExp, key, {
- configurable: true,
- get: function(){ return Base[key]; },
- set: function(it){ Base[key] = it; }
- });
- });
- proto.constructor = $RegExp;
- $RegExp.prototype = proto;
- __webpack_require__(10)(global, 'RegExp', $RegExp);
- }
-
- __webpack_require__(121)('RegExp');
-
-/***/ },
-/* 129 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // 21.2.5.3 get RegExp.prototype.flags
- var anObject = __webpack_require__(20);
- module.exports = function(){
- var that = anObject(this)
- , result = '';
- if(that.global) result += 'g';
- if(that.ignoreCase) result += 'i';
- if(that.multiline) result += 'm';
- if(that.unicode) result += 'u';
- if(that.sticky) result += 'y';
- return result;
- };
-
-/***/ },
-/* 130 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 21.2.5.3 get RegExp.prototype.flags()
- var $ = __webpack_require__(2);
- if(__webpack_require__(8) && /./g.flags != 'g')$.setDesc(RegExp.prototype, 'flags', {
- configurable: true,
- get: __webpack_require__(129)
- });
-
-/***/ },
-/* 131 */
-/***/ function(module, exports, __webpack_require__) {
-
- // @@match logic
- __webpack_require__(132)('match', 1, function(defined, MATCH){
- // 21.1.3.11 String.prototype.match(regexp)
- return function match(regexp){
- 'use strict';
- var O = defined(this)
- , fn = regexp == undefined ? undefined : regexp[MATCH];
- return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
- };
- });
-
-/***/ },
-/* 132 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var hide = __webpack_require__(6)
- , redefine = __webpack_require__(10)
- , fails = __webpack_require__(9)
- , defined = __webpack_require__(22)
- , wks = __webpack_require__(31);
-
- module.exports = function(KEY, length, exec){
- var SYMBOL = wks(KEY)
- , original = ''[KEY];
- if(fails(function(){
- var O = {};
- O[SYMBOL] = function(){ return 7; };
- return ''[KEY](O) != 7;
- })){
- redefine(String.prototype, KEY, exec(defined, SYMBOL, original));
- hide(RegExp.prototype, SYMBOL, length == 2
- // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
- // 21.2.5.11 RegExp.prototype[@@split](string, limit)
- ? function(string, arg){ return original.call(string, this, arg); }
- // 21.2.5.6 RegExp.prototype[@@match](string)
- // 21.2.5.9 RegExp.prototype[@@search](string)
- : function(string){ return original.call(string, this); }
- );
- }
- };
-
-/***/ },
-/* 133 */
-/***/ function(module, exports, __webpack_require__) {
-
- // @@replace logic
- __webpack_require__(132)('replace', 2, function(defined, REPLACE, $replace){
- // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)
- return function replace(searchValue, replaceValue){
- 'use strict';
- var O = defined(this)
- , fn = searchValue == undefined ? undefined : searchValue[REPLACE];
- return fn !== undefined
- ? fn.call(searchValue, O, replaceValue)
- : $replace.call(String(O), searchValue, replaceValue);
- };
- });
-
-/***/ },
-/* 134 */
-/***/ function(module, exports, __webpack_require__) {
-
- // @@search logic
- __webpack_require__(132)('search', 1, function(defined, SEARCH){
- // 21.1.3.15 String.prototype.search(regexp)
- return function search(regexp){
- 'use strict';
- var O = defined(this)
- , fn = regexp == undefined ? undefined : regexp[SEARCH];
- return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
- };
- });
-
-/***/ },
-/* 135 */
-/***/ function(module, exports, __webpack_require__) {
-
- // @@split logic
- __webpack_require__(132)('split', 2, function(defined, SPLIT, $split){
- // 21.1.3.17 String.prototype.split(separator, limit)
- return function split(separator, limit){
- 'use strict';
- var O = defined(this)
- , fn = separator == undefined ? undefined : separator[SPLIT];
- return fn !== undefined
- ? fn.call(separator, O, limit)
- : $split.call(String(O), separator, limit);
- };
- });
-
-/***/ },
-/* 136 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $ = __webpack_require__(2)
- , LIBRARY = __webpack_require__(39)
- , global = __webpack_require__(4)
- , ctx = __webpack_require__(12)
- , classof = __webpack_require__(47)
- , $export = __webpack_require__(3)
- , isObject = __webpack_require__(16)
- , anObject = __webpack_require__(20)
- , aFunction = __webpack_require__(13)
- , strictNew = __webpack_require__(137)
- , forOf = __webpack_require__(138)
- , setProto = __webpack_require__(45).set
- , same = __webpack_require__(43)
- , SPECIES = __webpack_require__(31)('species')
- , speciesConstructor = __webpack_require__(139)
- , asap = __webpack_require__(140)
- , PROMISE = 'Promise'
- , process = global.process
- , isNode = classof(process) == 'process'
- , P = global[PROMISE]
- , Wrapper;
-
- var testResolve = function(sub){
- var test = new P(function(){});
- if(sub)test.constructor = Object;
- return P.resolve(test) === test;
- };
-
- var USE_NATIVE = function(){
- var works = false;
- function P2(x){
- var self = new P(x);
- setProto(self, P2.prototype);
- return self;
- }
- try {
- works = P && P.resolve && testResolve();
- setProto(P2, P);
- P2.prototype = $.create(P.prototype, {constructor: {value: P2}});
- // actual Firefox has broken subclass support, test that
- if(!(P2.resolve(5).then(function(){}) instanceof P2)){
- works = false;
- }
- // actual V8 bug, https://code.google.com/p/v8/issues/detail?id=4162
- if(works && __webpack_require__(8)){
- var thenableThenGotten = false;
- P.resolve($.setDesc({}, 'then', {
- get: function(){ thenableThenGotten = true; }
- }));
- works = thenableThenGotten;
- }
- } catch(e){ works = false; }
- return works;
- }();
-
- // helpers
- var sameConstructor = function(a, b){
- // library wrapper special case
- if(LIBRARY && a === P && b === Wrapper)return true;
- return same(a, b);
- };
- var getConstructor = function(C){
- var S = anObject(C)[SPECIES];
- return S != undefined ? S : C;
- };
- var isThenable = function(it){
- var then;
- return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
- };
- var PromiseCapability = function(C){
- var resolve, reject;
- this.promise = new C(function($$resolve, $$reject){
- if(resolve !== undefined || reject !== undefined)throw TypeError('Bad Promise constructor');
- resolve = $$resolve;
- reject = $$reject;
- });
- this.resolve = aFunction(resolve),
- this.reject = aFunction(reject)
- };
- var perform = function(exec){
- try {
- exec();
- } catch(e){
- return {error: e};
- }
- };
- var notify = function(record, isReject){
- if(record.n)return;
- record.n = true;
- var chain = record.c;
- asap(function(){
- var value = record.v
- , ok = record.s == 1
- , i = 0;
- var run = function(reaction){
- var handler = ok ? reaction.ok : reaction.fail
- , resolve = reaction.resolve
- , reject = reaction.reject
- , result, then;
- try {
- if(handler){
- if(!ok)record.h = true;
- result = handler === true ? value : handler(value);
- if(result === reaction.promise){
- reject(TypeError('Promise-chain cycle'));
- } else if(then = isThenable(result)){
- then.call(result, resolve, reject);
- } else resolve(result);
- } else reject(value);
- } catch(e){
- reject(e);
- }
- };
- while(chain.length > i)run(chain[i++]); // variable length - can't use forEach
- chain.length = 0;
- record.n = false;
- if(isReject)setTimeout(function(){
- var promise = record.p
- , handler, console;
- if(isUnhandled(promise)){
- if(isNode){
- process.emit('unhandledRejection', value, promise);
- } else if(handler = global.onunhandledrejection){
- handler({promise: promise, reason: value});
- } else if((console = global.console) && console.error){
- console.error('Unhandled promise rejection', value);
- }
- } record.a = undefined;
- }, 1);
- });
- };
- var isUnhandled = function(promise){
- var record = promise._d
- , chain = record.a || record.c
- , i = 0
- , reaction;
- if(record.h)return false;
- while(chain.length > i){
- reaction = chain[i++];
- if(reaction.fail || !isUnhandled(reaction.promise))return false;
- } return true;
- };
- var $reject = function(value){
- var record = this;
- if(record.d)return;
- record.d = true;
- record = record.r || record; // unwrap
- record.v = value;
- record.s = 2;
- record.a = record.c.slice();
- notify(record, true);
- };
- var $resolve = function(value){
- var record = this
- , then;
- if(record.d)return;
- record.d = true;
- record = record.r || record; // unwrap
- try {
- if(record.p === value)throw TypeError("Promise can't be resolved itself");
- if(then = isThenable(value)){
- asap(function(){
- var wrapper = {r: record, d: false}; // wrap
- try {
- then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));
- } catch(e){
- $reject.call(wrapper, e);
- }
- });
- } else {
- record.v = value;
- record.s = 1;
- notify(record, false);
- }
- } catch(e){
- $reject.call({r: record, d: false}, e); // wrap
- }
- };
-
- // constructor polyfill
- if(!USE_NATIVE){
- // 25.4.3.1 Promise(executor)
- P = function Promise(executor){
- aFunction(executor);
- var record = this._d = {
- p: strictNew(this, P, PROMISE), // <- promise
- c: [], // <- awaiting reactions
- a: undefined, // <- checked in isUnhandled reactions
- s: 0, // <- state
- d: false, // <- done
- v: undefined, // <- value
- h: false, // <- handled rejection
- n: false // <- notify
- };
- try {
- executor(ctx($resolve, record, 1), ctx($reject, record, 1));
- } catch(err){
- $reject.call(record, err);
- }
- };
- __webpack_require__(142)(P.prototype, {
- // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)
- then: function then(onFulfilled, onRejected){
- var reaction = new PromiseCapability(speciesConstructor(this, P))
- , promise = reaction.promise
- , record = this._d;
- reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
- reaction.fail = typeof onRejected == 'function' && onRejected;
- record.c.push(reaction);
- if(record.a)record.a.push(reaction);
- if(record.s)notify(record, false);
- return promise;
- },
- // 25.4.5.1 Promise.prototype.catch(onRejected)
- 'catch': function(onRejected){
- return this.then(undefined, onRejected);
- }
- });
- }
-
- $export($export.G + $export.W + $export.F * !USE_NATIVE, {Promise: P});
- __webpack_require__(35)(P, PROMISE);
- __webpack_require__(121)(PROMISE);
- Wrapper = __webpack_require__(5)[PROMISE];
-
- // statics
- $export($export.S + $export.F * !USE_NATIVE, PROMISE, {
- // 25.4.4.5 Promise.reject(r)
- reject: function reject(r){
- var capability = new PromiseCapability(this)
- , $$reject = capability.reject;
- $$reject(r);
- return capability.promise;
- }
- });
- $export($export.S + $export.F * (!USE_NATIVE || testResolve(true)), PROMISE, {
- // 25.4.4.6 Promise.resolve(x)
- resolve: function resolve(x){
- // instanceof instead of internal slot check because we should fix it without replacement native Promise core
- if(x instanceof P && sameConstructor(x.constructor, this))return x;
- var capability = new PromiseCapability(this)
- , $$resolve = capability.resolve;
- $$resolve(x);
- return capability.promise;
- }
- });
- $export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(115)(function(iter){
- P.all(iter)['catch'](function(){});
- })), PROMISE, {
- // 25.4.4.1 Promise.all(iterable)
- all: function all(iterable){
- var C = getConstructor(this)
- , capability = new PromiseCapability(C)
- , resolve = capability.resolve
- , reject = capability.reject
- , values = [];
- var abrupt = perform(function(){
- forOf(iterable, false, values.push, values);
- var remaining = values.length
- , results = Array(remaining);
- if(remaining)$.each.call(values, function(promise, index){
- var alreadyCalled = false;
- C.resolve(promise).then(function(value){
- if(alreadyCalled)return;
- alreadyCalled = true;
- results[index] = value;
- --remaining || resolve(results);
- }, reject);
- });
- else resolve(results);
- });
- if(abrupt)reject(abrupt.error);
- return capability.promise;
- },
- // 25.4.4.4 Promise.race(iterable)
- race: function race(iterable){
- var C = getConstructor(this)
- , capability = new PromiseCapability(C)
- , reject = capability.reject;
- var abrupt = perform(function(){
- forOf(iterable, false, function(promise){
- C.resolve(promise).then(capability.resolve, reject);
- });
- });
- if(abrupt)reject(abrupt.error);
- return capability.promise;
- }
- });
-
-/***/ },
-/* 137 */
-/***/ function(module, exports) {
-
- module.exports = function(it, Constructor, name){
- if(!(it instanceof Constructor))throw TypeError(name + ": use the 'new' operator!");
- return it;
- };
-
-/***/ },
-/* 138 */
-/***/ function(module, exports, __webpack_require__) {
-
- var ctx = __webpack_require__(12)
- , call = __webpack_require__(112)
- , isArrayIter = __webpack_require__(113)
- , anObject = __webpack_require__(20)
- , toLength = __webpack_require__(27)
- , getIterFn = __webpack_require__(114);
- module.exports = function(iterable, entries, fn, that){
- var iterFn = getIterFn(iterable)
- , f = ctx(fn, that, entries ? 2 : 1)
- , index = 0
- , length, step, iterator;
- if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!');
- // fast case for arrays with default iterator
- if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){
- entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
- } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){
- call(iterator, f, step.value, entries);
- }
- };
-
-/***/ },
-/* 139 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 7.3.20 SpeciesConstructor(O, defaultConstructor)
- var anObject = __webpack_require__(20)
- , aFunction = __webpack_require__(13)
- , SPECIES = __webpack_require__(31)('species');
- module.exports = function(O, D){
- var C = anObject(O).constructor, S;
- return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);
- };
-
-/***/ },
-/* 140 */
-/***/ function(module, exports, __webpack_require__) {
-
- var global = __webpack_require__(4)
- , macrotask = __webpack_require__(141).set
- , Observer = global.MutationObserver || global.WebKitMutationObserver
- , process = global.process
- , Promise = global.Promise
- , isNode = __webpack_require__(18)(process) == 'process'
- , head, last, notify;
-
- var flush = function(){
- var parent, domain, fn;
- if(isNode && (parent = process.domain)){
- process.domain = null;
- parent.exit();
- }
- while(head){
- domain = head.domain;
- fn = head.fn;
- if(domain)domain.enter();
- fn(); // <- currently we use it only for Promise - try / catch not required
- if(domain)domain.exit();
- head = head.next;
- } last = undefined;
- if(parent)parent.enter();
- };
-
- // Node.js
- if(isNode){
- notify = function(){
- process.nextTick(flush);
- };
- // browsers with MutationObserver
- } else if(Observer){
- var toggle = 1
- , node = document.createTextNode('');
- new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new
- notify = function(){
- node.data = toggle = -toggle;
- };
- // environments with maybe non-completely correct, but existent Promise
- } else if(Promise && Promise.resolve){
- notify = function(){
- Promise.resolve().then(flush);
- };
- // for other environments - macrotask based on:
- // - setImmediate
- // - MessageChannel
- // - window.postMessag
- // - onreadystatechange
- // - setTimeout
- } else {
- notify = function(){
- // strange IE + webpack dev server bug - use .call(global)
- macrotask.call(global, flush);
- };
- }
-
- module.exports = function asap(fn){
- var task = {fn: fn, next: undefined, domain: isNode && process.domain};
- if(last)last.next = task;
- if(!head){
- head = task;
- notify();
- } last = task;
- };
-
-/***/ },
-/* 141 */
-/***/ function(module, exports, __webpack_require__) {
-
- var ctx = __webpack_require__(12)
- , invoke = __webpack_require__(19)
- , html = __webpack_require__(14)
- , cel = __webpack_require__(15)
- , global = __webpack_require__(4)
- , process = global.process
- , setTask = global.setImmediate
- , clearTask = global.clearImmediate
- , MessageChannel = global.MessageChannel
- , counter = 0
- , queue = {}
- , ONREADYSTATECHANGE = 'onreadystatechange'
- , defer, channel, port;
- var run = function(){
- var id = +this;
- if(queue.hasOwnProperty(id)){
- var fn = queue[id];
- delete queue[id];
- fn();
- }
- };
- var listner = function(event){
- run.call(event.data);
- };
- // Node.js 0.9+ & IE10+ has setImmediate, otherwise:
- if(!setTask || !clearTask){
- setTask = function setImmediate(fn){
- var args = [], i = 1;
- while(arguments.length > i)args.push(arguments[i++]);
- queue[++counter] = function(){
- invoke(typeof fn == 'function' ? fn : Function(fn), args);
- };
- defer(counter);
- return counter;
- };
- clearTask = function clearImmediate(id){
- delete queue[id];
- };
- // Node.js 0.8-
- if(__webpack_require__(18)(process) == 'process'){
- defer = function(id){
- process.nextTick(ctx(run, id, 1));
- };
- // Browsers with MessageChannel, includes WebWorkers
- } else if(MessageChannel){
- channel = new MessageChannel;
- port = channel.port2;
- channel.port1.onmessage = listner;
- defer = ctx(port.postMessage, port, 1);
- // Browsers with postMessage, skip WebWorkers
- // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
- } else if(global.addEventListener && typeof postMessage == 'function' && !global.importScripts){
- defer = function(id){
- global.postMessage(id + '', '*');
- };
- global.addEventListener('message', listner, false);
- // IE8-
- } else if(ONREADYSTATECHANGE in cel('script')){
- defer = function(id){
- html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function(){
- html.removeChild(this);
- run.call(id);
- };
- };
- // Rest old browsers
- } else {
- defer = function(id){
- setTimeout(ctx(run, id, 1), 0);
- };
- }
- }
- module.exports = {
- set: setTask,
- clear: clearTask
- };
-
-/***/ },
-/* 142 */
-/***/ function(module, exports, __webpack_require__) {
-
- var redefine = __webpack_require__(10);
- module.exports = function(target, src){
- for(var key in src)redefine(target, key, src[key]);
- return target;
- };
-
-/***/ },
-/* 143 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var strong = __webpack_require__(144);
-
- // 23.1 Map Objects
- __webpack_require__(145)('Map', function(get){
- return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };
- }, {
- // 23.1.3.6 Map.prototype.get(key)
- get: function get(key){
- var entry = strong.getEntry(this, key);
- return entry && entry.v;
- },
- // 23.1.3.9 Map.prototype.set(key, value)
- set: function set(key, value){
- return strong.def(this, key === 0 ? 0 : key, value);
- }
- }, strong, true);
-
-/***/ },
-/* 144 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $ = __webpack_require__(2)
- , hide = __webpack_require__(6)
- , redefineAll = __webpack_require__(142)
- , ctx = __webpack_require__(12)
- , strictNew = __webpack_require__(137)
- , defined = __webpack_require__(22)
- , forOf = __webpack_require__(138)
- , $iterDefine = __webpack_require__(108)
- , step = __webpack_require__(119)
- , ID = __webpack_require__(11)('id')
- , $has = __webpack_require__(17)
- , isObject = __webpack_require__(16)
- , setSpecies = __webpack_require__(121)
- , DESCRIPTORS = __webpack_require__(8)
- , isExtensible = Object.isExtensible || isObject
- , SIZE = DESCRIPTORS ? '_s' : 'size'
- , id = 0;
-
- var fastKey = function(it, create){
- // return primitive with prefix
- if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
- if(!$has(it, ID)){
- // can't set id to frozen object
- if(!isExtensible(it))return 'F';
- // not necessary to add id
- if(!create)return 'E';
- // add missing object id
- hide(it, ID, ++id);
- // return object id with prefix
- } return 'O' + it[ID];
- };
-
- var getEntry = function(that, key){
- // fast case
- var index = fastKey(key), entry;
- if(index !== 'F')return that._i[index];
- // frozen object case
- for(entry = that._f; entry; entry = entry.n){
- if(entry.k == key)return entry;
- }
- };
-
- module.exports = {
- getConstructor: function(wrapper, NAME, IS_MAP, ADDER){
- var C = wrapper(function(that, iterable){
- strictNew(that, C, NAME);
- that._i = $.create(null); // index
- that._f = undefined; // first entry
- that._l = undefined; // last entry
- that[SIZE] = 0; // size
- if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
- });
- redefineAll(C.prototype, {
- // 23.1.3.1 Map.prototype.clear()
- // 23.2.3.2 Set.prototype.clear()
- clear: function clear(){
- for(var that = this, data = that._i, entry = that._f; entry; entry = entry.n){
- entry.r = true;
- if(entry.p)entry.p = entry.p.n = undefined;
- delete data[entry.i];
- }
- that._f = that._l = undefined;
- that[SIZE] = 0;
- },
- // 23.1.3.3 Map.prototype.delete(key)
- // 23.2.3.4 Set.prototype.delete(value)
- 'delete': function(key){
- var that = this
- , entry = getEntry(that, key);
- if(entry){
- var next = entry.n
- , prev = entry.p;
- delete that._i[entry.i];
- entry.r = true;
- if(prev)prev.n = next;
- if(next)next.p = prev;
- if(that._f == entry)that._f = next;
- if(that._l == entry)that._l = prev;
- that[SIZE]--;
- } return !!entry;
- },
- // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
- // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
- forEach: function forEach(callbackfn /*, that = undefined */){
- var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3)
- , entry;
- while(entry = entry ? entry.n : this._f){
- f(entry.v, entry.k, this);
- // revert to the last existing entry
- while(entry && entry.r)entry = entry.p;
- }
- },
- // 23.1.3.7 Map.prototype.has(key)
- // 23.2.3.7 Set.prototype.has(value)
- has: function has(key){
- return !!getEntry(this, key);
- }
- });
- if(DESCRIPTORS)$.setDesc(C.prototype, 'size', {
- get: function(){
- return defined(this[SIZE]);
- }
- });
- return C;
- },
- def: function(that, key, value){
- var entry = getEntry(that, key)
- , prev, index;
- // change existing entry
- if(entry){
- entry.v = value;
- // create new entry
- } else {
- that._l = entry = {
- i: index = fastKey(key, true), // <- index
- k: key, // <- key
- v: value, // <- value
- p: prev = that._l, // <- previous entry
- n: undefined, // <- next entry
- r: false // <- removed
- };
- if(!that._f)that._f = entry;
- if(prev)prev.n = entry;
- that[SIZE]++;
- // add to index
- if(index !== 'F')that._i[index] = entry;
- } return that;
- },
- getEntry: getEntry,
- setStrong: function(C, NAME, IS_MAP){
- // add .keys, .values, .entries, [@@iterator]
- // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
- $iterDefine(C, NAME, function(iterated, kind){
- this._t = iterated; // target
- this._k = kind; // kind
- this._l = undefined; // previous
- }, function(){
- var that = this
- , kind = that._k
- , entry = that._l;
- // revert to the last existing entry
- while(entry && entry.r)entry = entry.p;
- // get next entry
- if(!that._t || !(that._l = entry = entry ? entry.n : that._t._f)){
- // or finish the iteration
- that._t = undefined;
- return step(1);
- }
- // return step by kind
- if(kind == 'keys' )return step(0, entry.k);
- if(kind == 'values')return step(0, entry.v);
- return step(0, [entry.k, entry.v]);
- }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true);
-
- // add [@@species], 23.1.2.2, 23.2.2.2
- setSpecies(NAME);
- }
- };
-
-/***/ },
-/* 145 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var global = __webpack_require__(4)
- , $export = __webpack_require__(3)
- , redefine = __webpack_require__(10)
- , redefineAll = __webpack_require__(142)
- , forOf = __webpack_require__(138)
- , strictNew = __webpack_require__(137)
- , isObject = __webpack_require__(16)
- , fails = __webpack_require__(9)
- , $iterDetect = __webpack_require__(115)
- , setToStringTag = __webpack_require__(35);
-
- module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){
- var Base = global[NAME]
- , C = Base
- , ADDER = IS_MAP ? 'set' : 'add'
- , proto = C && C.prototype
- , O = {};
- var fixMethod = function(KEY){
- var fn = proto[KEY];
- redefine(proto, KEY,
- KEY == 'delete' ? function(a){
- return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);
- } : KEY == 'has' ? function has(a){
- return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);
- } : KEY == 'get' ? function get(a){
- return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);
- } : KEY == 'add' ? function add(a){ fn.call(this, a === 0 ? 0 : a); return this; }
- : function set(a, b){ fn.call(this, a === 0 ? 0 : a, b); return this; }
- );
- };
- if(typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){
- new C().entries().next();
- }))){
- // create collection constructor
- C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
- redefineAll(C.prototype, methods);
- } else {
- var instance = new C
- // early implementations not supports chaining
- , HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance
- // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false
- , THROWS_ON_PRIMITIVES = fails(function(){ instance.has(1); })
- // most early implementations doesn't supports iterables, most modern - not close it correctly
- , ACCEPT_ITERABLES = $iterDetect(function(iter){ new C(iter); }) // eslint-disable-line no-new
- // for early implementations -0 and +0 not the same
- , BUGGY_ZERO;
- if(!ACCEPT_ITERABLES){
- C = wrapper(function(target, iterable){
- strictNew(target, C, NAME);
- var that = new Base;
- if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
- return that;
- });
- C.prototype = proto;
- proto.constructor = C;
- }
- IS_WEAK || instance.forEach(function(val, key){
- BUGGY_ZERO = 1 / key === -Infinity;
- });
- if(THROWS_ON_PRIMITIVES || BUGGY_ZERO){
- fixMethod('delete');
- fixMethod('has');
- IS_MAP && fixMethod('get');
- }
- if(BUGGY_ZERO || HASNT_CHAINING)fixMethod(ADDER);
- // weak collections should not contains .clear method
- if(IS_WEAK && proto.clear)delete proto.clear;
- }
-
- setToStringTag(C, NAME);
-
- O[NAME] = C;
- $export($export.G + $export.W + $export.F * (C != Base), O);
-
- if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP);
-
- return C;
- };
-
-/***/ },
-/* 146 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var strong = __webpack_require__(144);
-
- // 23.2 Set Objects
- __webpack_require__(145)('Set', function(get){
- return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };
- }, {
- // 23.2.3.1 Set.prototype.add(value)
- add: function add(value){
- return strong.def(this, value = value === 0 ? 0 : value, value);
- }
- }, strong);
-
-/***/ },
-/* 147 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $ = __webpack_require__(2)
- , redefine = __webpack_require__(10)
- , weak = __webpack_require__(148)
- , isObject = __webpack_require__(16)
- , has = __webpack_require__(17)
- , frozenStore = weak.frozenStore
- , WEAK = weak.WEAK
- , isExtensible = Object.isExtensible || isObject
- , tmp = {};
-
- // 23.3 WeakMap Objects
- var $WeakMap = __webpack_require__(145)('WeakMap', function(get){
- return function WeakMap(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };
- }, {
- // 23.3.3.3 WeakMap.prototype.get(key)
- get: function get(key){
- if(isObject(key)){
- if(!isExtensible(key))return frozenStore(this).get(key);
- if(has(key, WEAK))return key[WEAK][this._i];
- }
- },
- // 23.3.3.5 WeakMap.prototype.set(key, value)
- set: function set(key, value){
- return weak.def(this, key, value);
- }
- }, weak, true, true);
-
- // IE11 WeakMap frozen keys fix
- if(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){
- $.each.call(['delete', 'has', 'get', 'set'], function(key){
- var proto = $WeakMap.prototype
- , method = proto[key];
- redefine(proto, key, function(a, b){
- // store frozen objects on leaky map
- if(isObject(a) && !isExtensible(a)){
- var result = frozenStore(this)[key](a, b);
- return key == 'set' ? this : result;
- // store all the rest on native weakmap
- } return method.call(this, a, b);
- });
- });
- }
-
-/***/ },
-/* 148 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var hide = __webpack_require__(6)
- , redefineAll = __webpack_require__(142)
- , anObject = __webpack_require__(20)
- , isObject = __webpack_require__(16)
- , strictNew = __webpack_require__(137)
- , forOf = __webpack_require__(138)
- , createArrayMethod = __webpack_require__(28)
- , $has = __webpack_require__(17)
- , WEAK = __webpack_require__(11)('weak')
- , isExtensible = Object.isExtensible || isObject
- , arrayFind = createArrayMethod(5)
- , arrayFindIndex = createArrayMethod(6)
- , id = 0;
-
- // fallback for frozen keys
- var frozenStore = function(that){
- return that._l || (that._l = new FrozenStore);
- };
- var FrozenStore = function(){
- this.a = [];
- };
- var findFrozen = function(store, key){
- return arrayFind(store.a, function(it){
- return it[0] === key;
- });
- };
- FrozenStore.prototype = {
- get: function(key){
- var entry = findFrozen(this, key);
- if(entry)return entry[1];
- },
- has: function(key){
- return !!findFrozen(this, key);
- },
- set: function(key, value){
- var entry = findFrozen(this, key);
- if(entry)entry[1] = value;
- else this.a.push([key, value]);
- },
- 'delete': function(key){
- var index = arrayFindIndex(this.a, function(it){
- return it[0] === key;
- });
- if(~index)this.a.splice(index, 1);
- return !!~index;
- }
- };
-
- module.exports = {
- getConstructor: function(wrapper, NAME, IS_MAP, ADDER){
- var C = wrapper(function(that, iterable){
- strictNew(that, C, NAME);
- that._i = id++; // collection id
- that._l = undefined; // leak store for frozen objects
- if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
- });
- redefineAll(C.prototype, {
- // 23.3.3.2 WeakMap.prototype.delete(key)
- // 23.4.3.3 WeakSet.prototype.delete(value)
- 'delete': function(key){
- if(!isObject(key))return false;
- if(!isExtensible(key))return frozenStore(this)['delete'](key);
- return $has(key, WEAK) && $has(key[WEAK], this._i) && delete key[WEAK][this._i];
- },
- // 23.3.3.4 WeakMap.prototype.has(key)
- // 23.4.3.4 WeakSet.prototype.has(value)
- has: function has(key){
- if(!isObject(key))return false;
- if(!isExtensible(key))return frozenStore(this).has(key);
- return $has(key, WEAK) && $has(key[WEAK], this._i);
- }
- });
- return C;
- },
- def: function(that, key, value){
- if(!isExtensible(anObject(key))){
- frozenStore(that).set(key, value);
- } else {
- $has(key, WEAK) || hide(key, WEAK, {});
- key[WEAK][that._i] = value;
- } return that;
- },
- frozenStore: frozenStore,
- WEAK: WEAK
- };
-
-/***/ },
-/* 149 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var weak = __webpack_require__(148);
-
- // 23.4 WeakSet Objects
- __webpack_require__(145)('WeakSet', function(get){
- return function WeakSet(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };
- }, {
- // 23.4.3.1 WeakSet.prototype.add(value)
- add: function add(value){
- return weak.def(this, value, true);
- }
- }, weak, false, true);
-
-/***/ },
-/* 150 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.1 Reflect.apply(target, thisArgument, argumentsList)
- var $export = __webpack_require__(3)
- , _apply = Function.apply;
-
- $export($export.S, 'Reflect', {
- apply: function apply(target, thisArgument, argumentsList){
- return _apply.call(target, thisArgument, argumentsList);
- }
- });
-
-/***/ },
-/* 151 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.2 Reflect.construct(target, argumentsList [, newTarget])
- var $ = __webpack_require__(2)
- , $export = __webpack_require__(3)
- , aFunction = __webpack_require__(13)
- , anObject = __webpack_require__(20)
- , isObject = __webpack_require__(16)
- , bind = Function.bind || __webpack_require__(5).Function.prototype.bind;
-
- // MS Edge supports only 2 arguments
- // FF Nightly sets third argument as `new.target`, but does not create `this` from it
- $export($export.S + $export.F * __webpack_require__(9)(function(){
- function F(){}
- return !(Reflect.construct(function(){}, [], F) instanceof F);
- }), 'Reflect', {
- construct: function construct(Target, args /*, newTarget*/){
- aFunction(Target);
- var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);
- if(Target == newTarget){
- // w/o altered newTarget, optimization for 0-4 arguments
- if(args != undefined)switch(anObject(args).length){
- case 0: return new Target;
- case 1: return new Target(args[0]);
- case 2: return new Target(args[0], args[1]);
- case 3: return new Target(args[0], args[1], args[2]);
- case 4: return new Target(args[0], args[1], args[2], args[3]);
- }
- // w/o altered newTarget, lot of arguments case
- var $args = [null];
- $args.push.apply($args, args);
- return new (bind.apply(Target, $args));
- }
- // with altered newTarget, not support built-in constructors
- var proto = newTarget.prototype
- , instance = $.create(isObject(proto) ? proto : Object.prototype)
- , result = Function.apply.call(Target, instance, args);
- return isObject(result) ? result : instance;
- }
- });
-
-/***/ },
-/* 152 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)
- var $ = __webpack_require__(2)
- , $export = __webpack_require__(3)
- , anObject = __webpack_require__(20);
-
- // MS Edge has broken Reflect.defineProperty - throwing instead of returning false
- $export($export.S + $export.F * __webpack_require__(9)(function(){
- Reflect.defineProperty($.setDesc({}, 1, {value: 1}), 1, {value: 2});
- }), 'Reflect', {
- defineProperty: function defineProperty(target, propertyKey, attributes){
- anObject(target);
- try {
- $.setDesc(target, propertyKey, attributes);
- return true;
- } catch(e){
- return false;
- }
- }
- });
-
-/***/ },
-/* 153 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.4 Reflect.deleteProperty(target, propertyKey)
- var $export = __webpack_require__(3)
- , getDesc = __webpack_require__(2).getDesc
- , anObject = __webpack_require__(20);
-
- $export($export.S, 'Reflect', {
- deleteProperty: function deleteProperty(target, propertyKey){
- var desc = getDesc(anObject(target), propertyKey);
- return desc && !desc.configurable ? false : delete target[propertyKey];
- }
- });
-
-/***/ },
-/* 154 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // 26.1.5 Reflect.enumerate(target)
- var $export = __webpack_require__(3)
- , anObject = __webpack_require__(20);
- var Enumerate = function(iterated){
- this._t = anObject(iterated); // target
- this._i = 0; // next index
- var keys = this._k = [] // keys
- , key;
- for(key in iterated)keys.push(key);
- };
- __webpack_require__(110)(Enumerate, 'Object', function(){
- var that = this
- , keys = that._k
- , key;
- do {
- if(that._i >= keys.length)return {value: undefined, done: true};
- } while(!((key = keys[that._i++]) in that._t));
- return {value: key, done: false};
- });
-
- $export($export.S, 'Reflect', {
- enumerate: function enumerate(target){
- return new Enumerate(target);
- }
- });
-
-/***/ },
-/* 155 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.6 Reflect.get(target, propertyKey [, receiver])
- var $ = __webpack_require__(2)
- , has = __webpack_require__(17)
- , $export = __webpack_require__(3)
- , isObject = __webpack_require__(16)
- , anObject = __webpack_require__(20);
-
- function get(target, propertyKey/*, receiver*/){
- var receiver = arguments.length < 3 ? target : arguments[2]
- , desc, proto;
- if(anObject(target) === receiver)return target[propertyKey];
- if(desc = $.getDesc(target, propertyKey))return has(desc, 'value')
- ? desc.value
- : desc.get !== undefined
- ? desc.get.call(receiver)
- : undefined;
- if(isObject(proto = $.getProto(target)))return get(proto, propertyKey, receiver);
- }
-
- $export($export.S, 'Reflect', {get: get});
-
-/***/ },
-/* 156 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)
- var $ = __webpack_require__(2)
- , $export = __webpack_require__(3)
- , anObject = __webpack_require__(20);
-
- $export($export.S, 'Reflect', {
- getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey){
- return $.getDesc(anObject(target), propertyKey);
- }
- });
-
-/***/ },
-/* 157 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.8 Reflect.getPrototypeOf(target)
- var $export = __webpack_require__(3)
- , getProto = __webpack_require__(2).getProto
- , anObject = __webpack_require__(20);
-
- $export($export.S, 'Reflect', {
- getPrototypeOf: function getPrototypeOf(target){
- return getProto(anObject(target));
- }
- });
-
-/***/ },
-/* 158 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.9 Reflect.has(target, propertyKey)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Reflect', {
- has: function has(target, propertyKey){
- return propertyKey in target;
- }
- });
-
-/***/ },
-/* 159 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.10 Reflect.isExtensible(target)
- var $export = __webpack_require__(3)
- , anObject = __webpack_require__(20)
- , $isExtensible = Object.isExtensible;
-
- $export($export.S, 'Reflect', {
- isExtensible: function isExtensible(target){
- anObject(target);
- return $isExtensible ? $isExtensible(target) : true;
- }
- });
-
-/***/ },
-/* 160 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.11 Reflect.ownKeys(target)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Reflect', {ownKeys: __webpack_require__(161)});
-
-/***/ },
-/* 161 */
-/***/ function(module, exports, __webpack_require__) {
-
- // all object keys, includes non-enumerable and symbols
- var $ = __webpack_require__(2)
- , anObject = __webpack_require__(20)
- , Reflect = __webpack_require__(4).Reflect;
- module.exports = Reflect && Reflect.ownKeys || function ownKeys(it){
- var keys = $.getNames(anObject(it))
- , getSymbols = $.getSymbols;
- return getSymbols ? keys.concat(getSymbols(it)) : keys;
- };
-
-/***/ },
-/* 162 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.12 Reflect.preventExtensions(target)
- var $export = __webpack_require__(3)
- , anObject = __webpack_require__(20)
- , $preventExtensions = Object.preventExtensions;
-
- $export($export.S, 'Reflect', {
- preventExtensions: function preventExtensions(target){
- anObject(target);
- try {
- if($preventExtensions)$preventExtensions(target);
- return true;
- } catch(e){
- return false;
- }
- }
- });
-
-/***/ },
-/* 163 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.13 Reflect.set(target, propertyKey, V [, receiver])
- var $ = __webpack_require__(2)
- , has = __webpack_require__(17)
- , $export = __webpack_require__(3)
- , createDesc = __webpack_require__(7)
- , anObject = __webpack_require__(20)
- , isObject = __webpack_require__(16);
-
- function set(target, propertyKey, V/*, receiver*/){
- var receiver = arguments.length < 4 ? target : arguments[3]
- , ownDesc = $.getDesc(anObject(target), propertyKey)
- , existingDescriptor, proto;
- if(!ownDesc){
- if(isObject(proto = $.getProto(target))){
- return set(proto, propertyKey, V, receiver);
- }
- ownDesc = createDesc(0);
- }
- if(has(ownDesc, 'value')){
- if(ownDesc.writable === false || !isObject(receiver))return false;
- existingDescriptor = $.getDesc(receiver, propertyKey) || createDesc(0);
- existingDescriptor.value = V;
- $.setDesc(receiver, propertyKey, existingDescriptor);
- return true;
- }
- return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);
- }
-
- $export($export.S, 'Reflect', {set: set});
-
-/***/ },
-/* 164 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.14 Reflect.setPrototypeOf(target, proto)
- var $export = __webpack_require__(3)
- , setProto = __webpack_require__(45);
-
- if(setProto)$export($export.S, 'Reflect', {
- setPrototypeOf: function setPrototypeOf(target, proto){
- setProto.check(target, proto);
- try {
- setProto.set(target, proto);
- return true;
- } catch(e){
- return false;
- }
- }
- });
-
-/***/ },
-/* 165 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $export = __webpack_require__(3)
- , $includes = __webpack_require__(33)(true);
-
- $export($export.P, 'Array', {
- // https://github.com/domenic/Array.prototype.includes
- includes: function includes(el /*, fromIndex = 0 */){
- return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
-
- __webpack_require__(118)('includes');
-
-/***/ },
-/* 166 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // https://github.com/mathiasbynens/String.prototype.at
- var $export = __webpack_require__(3)
- , $at = __webpack_require__(98)(true);
-
- $export($export.P, 'String', {
- at: function at(pos){
- return $at(this, pos);
- }
- });
-
-/***/ },
-/* 167 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $export = __webpack_require__(3)
- , $pad = __webpack_require__(168);
-
- $export($export.P, 'String', {
- padLeft: function padLeft(maxLength /*, fillString = ' ' */){
- return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);
- }
- });
-
-/***/ },
-/* 168 */
-/***/ function(module, exports, __webpack_require__) {
-
- // https://github.com/ljharb/proposal-string-pad-left-right
- var toLength = __webpack_require__(27)
- , repeat = __webpack_require__(105)
- , defined = __webpack_require__(22);
-
- module.exports = function(that, maxLength, fillString, left){
- var S = String(defined(that))
- , stringLength = S.length
- , fillStr = fillString === undefined ? ' ' : String(fillString)
- , intMaxLength = toLength(maxLength);
- if(intMaxLength <= stringLength)return S;
- if(fillStr == '')fillStr = ' ';
- var fillLen = intMaxLength - stringLength
- , stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));
- if(stringFiller.length > fillLen)stringFiller = stringFiller.slice(0, fillLen);
- return left ? stringFiller + S : S + stringFiller;
- };
-
-/***/ },
-/* 169 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $export = __webpack_require__(3)
- , $pad = __webpack_require__(168);
-
- $export($export.P, 'String', {
- padRight: function padRight(maxLength /*, fillString = ' ' */){
- return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);
- }
- });
-
-/***/ },
-/* 170 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // https://github.com/sebmarkbage/ecmascript-string-left-right-trim
- __webpack_require__(63)('trimLeft', function($trim){
- return function trimLeft(){
- return $trim(this, 1);
- };
- });
-
-/***/ },
-/* 171 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // https://github.com/sebmarkbage/ecmascript-string-left-right-trim
- __webpack_require__(63)('trimRight', function($trim){
- return function trimRight(){
- return $trim(this, 2);
- };
- });
-
-/***/ },
-/* 172 */
-/***/ function(module, exports, __webpack_require__) {
-
- // https://github.com/benjamingr/RexExp.escape
- var $export = __webpack_require__(3)
- , $re = __webpack_require__(173)(/[\\^$*+?.()|[\]{}]/g, '\\$&');
-
- $export($export.S, 'RegExp', {escape: function escape(it){ return $re(it); }});
-
-
-/***/ },
-/* 173 */
-/***/ function(module, exports) {
-
- module.exports = function(regExp, replace){
- var replacer = replace === Object(replace) ? function(part){
- return replace[part];
- } : replace;
- return function(it){
- return String(it).replace(regExp, replacer);
- };
- };
-
-/***/ },
-/* 174 */
-/***/ function(module, exports, __webpack_require__) {
-
- // https://gist.github.com/WebReflection/9353781
- var $ = __webpack_require__(2)
- , $export = __webpack_require__(3)
- , ownKeys = __webpack_require__(161)
- , toIObject = __webpack_require__(23)
- , createDesc = __webpack_require__(7);
-
- $export($export.S, 'Object', {
- getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){
- var O = toIObject(object)
- , setDesc = $.setDesc
- , getDesc = $.getDesc
- , keys = ownKeys(O)
- , result = {}
- , i = 0
- , key, D;
- while(keys.length > i){
- D = getDesc(O, key = keys[i++]);
- if(key in result)setDesc(result, key, createDesc(0, D));
- else result[key] = D;
- } return result;
- }
- });
-
-/***/ },
-/* 175 */
-/***/ function(module, exports, __webpack_require__) {
-
- // http://goo.gl/XkBrjD
- var $export = __webpack_require__(3)
- , $values = __webpack_require__(176)(false);
-
- $export($export.S, 'Object', {
- values: function values(it){
- return $values(it);
- }
- });
-
-/***/ },
-/* 176 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $ = __webpack_require__(2)
- , toIObject = __webpack_require__(23)
- , isEnum = $.isEnum;
- module.exports = function(isEntries){
- return function(it){
- var O = toIObject(it)
- , keys = $.getKeys(O)
- , length = keys.length
- , i = 0
- , result = []
- , key;
- while(length > i)if(isEnum.call(O, key = keys[i++])){
- result.push(isEntries ? [key, O[key]] : O[key]);
- } return result;
- };
- };
-
-/***/ },
-/* 177 */
-/***/ function(module, exports, __webpack_require__) {
-
- // http://goo.gl/XkBrjD
- var $export = __webpack_require__(3)
- , $entries = __webpack_require__(176)(true);
-
- $export($export.S, 'Object', {
- entries: function entries(it){
- return $entries(it);
- }
- });
-
-/***/ },
-/* 178 */
-/***/ function(module, exports, __webpack_require__) {
-
- // https://github.com/DavidBruant/Map-Set.prototype.toJSON
- var $export = __webpack_require__(3);
-
- $export($export.P, 'Map', {toJSON: __webpack_require__(179)('Map')});
-
-/***/ },
-/* 179 */
-/***/ function(module, exports, __webpack_require__) {
-
- // https://github.com/DavidBruant/Map-Set.prototype.toJSON
- var forOf = __webpack_require__(138)
- , classof = __webpack_require__(47);
- module.exports = function(NAME){
- return function toJSON(){
- if(classof(this) != NAME)throw TypeError(NAME + "#toJSON isn't generic");
- var arr = [];
- forOf(this, false, arr.push, arr);
- return arr;
- };
- };
-
-/***/ },
-/* 180 */
-/***/ function(module, exports, __webpack_require__) {
-
- // https://github.com/DavidBruant/Map-Set.prototype.toJSON
- var $export = __webpack_require__(3);
-
- $export($export.P, 'Set', {toJSON: __webpack_require__(179)('Set')});
-
-/***/ },
-/* 181 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $export = __webpack_require__(3)
- , $task = __webpack_require__(141);
- $export($export.G + $export.B, {
- setImmediate: $task.set,
- clearImmediate: $task.clear
- });
-
-/***/ },
-/* 182 */
-/***/ function(module, exports, __webpack_require__) {
-
- __webpack_require__(117);
- var global = __webpack_require__(4)
- , hide = __webpack_require__(6)
- , Iterators = __webpack_require__(109)
- , ITERATOR = __webpack_require__(31)('iterator')
- , NL = global.NodeList
- , HTC = global.HTMLCollection
- , NLProto = NL && NL.prototype
- , HTCProto = HTC && HTC.prototype
- , ArrayValues = Iterators.NodeList = Iterators.HTMLCollection = Iterators.Array;
- if(NLProto && !NLProto[ITERATOR])hide(NLProto, ITERATOR, ArrayValues);
- if(HTCProto && !HTCProto[ITERATOR])hide(HTCProto, ITERATOR, ArrayValues);
-
-/***/ },
-/* 183 */
-/***/ function(module, exports, __webpack_require__) {
-
- // ie9- setTimeout & setInterval additional parameters fix
- var global = __webpack_require__(4)
- , $export = __webpack_require__(3)
- , invoke = __webpack_require__(19)
- , partial = __webpack_require__(184)
- , navigator = global.navigator
- , MSIE = !!navigator && /MSIE .\./.test(navigator.userAgent); // <- dirty ie9- check
- var wrap = function(set){
- return MSIE ? function(fn, time /*, ...args */){
- return set(invoke(
- partial,
- [].slice.call(arguments, 2),
- typeof fn == 'function' ? fn : Function(fn)
- ), time);
- } : set;
- };
- $export($export.G + $export.B + $export.F * MSIE, {
- setTimeout: wrap(global.setTimeout),
- setInterval: wrap(global.setInterval)
- });
-
-/***/ },
-/* 184 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var path = __webpack_require__(185)
- , invoke = __webpack_require__(19)
- , aFunction = __webpack_require__(13);
- module.exports = function(/* ...pargs */){
- var fn = aFunction(this)
- , length = arguments.length
- , pargs = Array(length)
- , i = 0
- , _ = path._
- , holder = false;
- while(length > i)if((pargs[i] = arguments[i++]) === _)holder = true;
- return function(/* ...args */){
- var that = this
- , $$ = arguments
- , $$len = $$.length
- , j = 0, k = 0, args;
- if(!holder && !$$len)return invoke(fn, pargs, that);
- args = pargs.slice();
- if(holder)for(;length > j; j++)if(args[j] === _)args[j] = $$[k++];
- while($$len > k)args.push($$[k++]);
- return invoke(fn, args, that);
- };
- };
-
-/***/ },
-/* 185 */
-/***/ function(module, exports, __webpack_require__) {
-
- module.exports = __webpack_require__(4);
-
-/***/ },
-/* 186 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $ = __webpack_require__(2)
- , ctx = __webpack_require__(12)
- , $export = __webpack_require__(3)
- , createDesc = __webpack_require__(7)
- , assign = __webpack_require__(41)
- , keyOf = __webpack_require__(36)
- , aFunction = __webpack_require__(13)
- , forOf = __webpack_require__(138)
- , isIterable = __webpack_require__(187)
- , $iterCreate = __webpack_require__(110)
- , step = __webpack_require__(119)
- , isObject = __webpack_require__(16)
- , toIObject = __webpack_require__(23)
- , DESCRIPTORS = __webpack_require__(8)
- , has = __webpack_require__(17)
- , getKeys = $.getKeys;
-
- // 0 -> Dict.forEach
- // 1 -> Dict.map
- // 2 -> Dict.filter
- // 3 -> Dict.some
- // 4 -> Dict.every
- // 5 -> Dict.find
- // 6 -> Dict.findKey
- // 7 -> Dict.mapPairs
- var createDictMethod = function(TYPE){
- var IS_MAP = TYPE == 1
- , IS_EVERY = TYPE == 4;
- return function(object, callbackfn, that /* = undefined */){
- var f = ctx(callbackfn, that, 3)
- , O = toIObject(object)
- , result = IS_MAP || TYPE == 7 || TYPE == 2
- ? new (typeof this == 'function' ? this : Dict) : undefined
- , key, val, res;
- for(key in O)if(has(O, key)){
- val = O[key];
- res = f(val, key, object);
- if(TYPE){
- if(IS_MAP)result[key] = res; // map
- else if(res)switch(TYPE){
- case 2: result[key] = val; break; // filter
- case 3: return true; // some
- case 5: return val; // find
- case 6: return key; // findKey
- case 7: result[res[0]] = res[1]; // mapPairs
- } else if(IS_EVERY)return false; // every
- }
- }
- return TYPE == 3 || IS_EVERY ? IS_EVERY : result;
- };
- };
- var findKey = createDictMethod(6);
-
- var createDictIter = function(kind){
- return function(it){
- return new DictIterator(it, kind);
- };
- };
- var DictIterator = function(iterated, kind){
- this._t = toIObject(iterated); // target
- this._a = getKeys(iterated); // keys
- this._i = 0; // next index
- this._k = kind; // kind
- };
- $iterCreate(DictIterator, 'Dict', function(){
- var that = this
- , O = that._t
- , keys = that._a
- , kind = that._k
- , key;
- do {
- if(that._i >= keys.length){
- that._t = undefined;
- return step(1);
- }
- } while(!has(O, key = keys[that._i++]));
- if(kind == 'keys' )return step(0, key);
- if(kind == 'values')return step(0, O[key]);
- return step(0, [key, O[key]]);
- });
-
- function Dict(iterable){
- var dict = $.create(null);
- if(iterable != undefined){
- if(isIterable(iterable)){
- forOf(iterable, true, function(key, value){
- dict[key] = value;
- });
- } else assign(dict, iterable);
- }
- return dict;
- }
- Dict.prototype = null;
-
- function reduce(object, mapfn, init){
- aFunction(mapfn);
- var O = toIObject(object)
- , keys = getKeys(O)
- , length = keys.length
- , i = 0
- , memo, key;
- if(arguments.length < 3){
- if(!length)throw TypeError('Reduce of empty object with no initial value');
- memo = O[keys[i++]];
- } else memo = Object(init);
- while(length > i)if(has(O, key = keys[i++])){
- memo = mapfn(memo, O[key], key, object);
- }
- return memo;
- }
-
- function includes(object, el){
- return (el == el ? keyOf(object, el) : findKey(object, function(it){
- return it != it;
- })) !== undefined;
- }
-
- function get(object, key){
- if(has(object, key))return object[key];
- }
- function set(object, key, value){
- if(DESCRIPTORS && key in Object)$.setDesc(object, key, createDesc(0, value));
- else object[key] = value;
- return object;
- }
-
- function isDict(it){
- return isObject(it) && $.getProto(it) === Dict.prototype;
- }
-
- $export($export.G + $export.F, {Dict: Dict});
-
- $export($export.S, 'Dict', {
- keys: createDictIter('keys'),
- values: createDictIter('values'),
- entries: createDictIter('entries'),
- forEach: createDictMethod(0),
- map: createDictMethod(1),
- filter: createDictMethod(2),
- some: createDictMethod(3),
- every: createDictMethod(4),
- find: createDictMethod(5),
- findKey: findKey,
- mapPairs: createDictMethod(7),
- reduce: reduce,
- keyOf: keyOf,
- includes: includes,
- has: has,
- get: get,
- set: set,
- isDict: isDict
- });
-
-/***/ },
-/* 187 */
-/***/ function(module, exports, __webpack_require__) {
-
- var classof = __webpack_require__(47)
- , ITERATOR = __webpack_require__(31)('iterator')
- , Iterators = __webpack_require__(109);
- module.exports = __webpack_require__(5).isIterable = function(it){
- var O = Object(it);
- return O[ITERATOR] !== undefined
- || '@@iterator' in O
- || Iterators.hasOwnProperty(classof(O));
- };
-
-/***/ },
-/* 188 */
-/***/ function(module, exports, __webpack_require__) {
-
- var anObject = __webpack_require__(20)
- , get = __webpack_require__(114);
- module.exports = __webpack_require__(5).getIterator = function(it){
- var iterFn = get(it);
- if(typeof iterFn != 'function')throw TypeError(it + ' is not iterable!');
- return anObject(iterFn.call(it));
- };
-
-/***/ },
-/* 189 */
-/***/ function(module, exports, __webpack_require__) {
-
- var global = __webpack_require__(4)
- , core = __webpack_require__(5)
- , $export = __webpack_require__(3)
- , partial = __webpack_require__(184);
- // https://esdiscuss.org/topic/promise-returning-delay-function
- $export($export.G + $export.F, {
- delay: function delay(time){
- return new (core.Promise || global.Promise)(function(resolve){
- setTimeout(partial.call(resolve, true), time);
- });
- }
- });
-
-/***/ },
-/* 190 */
-/***/ function(module, exports, __webpack_require__) {
-
- var path = __webpack_require__(185)
- , $export = __webpack_require__(3);
-
- // Placeholder
- __webpack_require__(5)._ = path._ = path._ || {};
-
- $export($export.P + $export.F, 'Function', {part: __webpack_require__(184)});
-
-/***/ },
-/* 191 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $export = __webpack_require__(3);
-
- $export($export.S + $export.F, 'Object', {isObject: __webpack_require__(16)});
-
-/***/ },
-/* 192 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $export = __webpack_require__(3);
-
- $export($export.S + $export.F, 'Object', {classof: __webpack_require__(47)});
-
-/***/ },
-/* 193 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $export = __webpack_require__(3)
- , define = __webpack_require__(194);
-
- $export($export.S + $export.F, 'Object', {define: define});
-
-/***/ },
-/* 194 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $ = __webpack_require__(2)
- , ownKeys = __webpack_require__(161)
- , toIObject = __webpack_require__(23);
-
- module.exports = function define(target, mixin){
- var keys = ownKeys(toIObject(mixin))
- , length = keys.length
- , i = 0, key;
- while(length > i)$.setDesc(target, key = keys[i++], $.getDesc(mixin, key));
- return target;
- };
-
-/***/ },
-/* 195 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $export = __webpack_require__(3)
- , define = __webpack_require__(194)
- , create = __webpack_require__(2).create;
-
- $export($export.S + $export.F, 'Object', {
- make: function(proto, mixin){
- return define(create(proto), mixin);
- }
- });
-
-/***/ },
-/* 196 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- __webpack_require__(108)(Number, 'Number', function(iterated){
- this._l = +iterated;
- this._i = 0;
- }, function(){
- var i = this._i++
- , done = !(i < this._l);
- return {done: done, value: done ? undefined : i};
- });
-
-/***/ },
-/* 197 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $export = __webpack_require__(3);
- var $re = __webpack_require__(173)(/[&<>"']/g, {
- '&': '&',
- '<': '<',
- '>': '>',
- '"': '"',
- "'": '''
- });
-
- $export($export.P + $export.F, 'String', {escapeHTML: function escapeHTML(){ return $re(this); }});
-
-/***/ },
-/* 198 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $export = __webpack_require__(3);
- var $re = __webpack_require__(173)(/&(?:amp|lt|gt|quot|apos);/g, {
- '&': '&',
- '<': '<',
- '>': '>',
- '"': '"',
- ''': "'"
- });
-
- $export($export.P + $export.F, 'String', {unescapeHTML: function unescapeHTML(){ return $re(this); }});
-
-/***/ },
-/* 199 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $ = __webpack_require__(2)
- , global = __webpack_require__(4)
- , $export = __webpack_require__(3)
- , log = {}
- , enabled = true;
- // Methods from https://github.com/DeveloperToolsWG/console-object/blob/master/api.md
- $.each.call((
- 'assert,clear,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,' +
- 'info,isIndependentlyComposed,log,markTimeline,profile,profileEnd,table,' +
- 'time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn'
- ).split(','), function(key){
- log[key] = function(){
- var $console = global.console;
- if(enabled && $console && $console[key]){
- return Function.apply.call($console[key], $console, arguments);
- }
- };
- });
- $export($export.G + $export.F, {log: __webpack_require__(41)(log.log, log, {
- enable: function(){
- enabled = true;
- },
- disable: function(){
- enabled = false;
- }
- })});
-
-/***/ },
-/* 200 */
-/***/ function(module, exports, __webpack_require__) {
-
- // JavaScript 1.6 / Strawman array statics shim
- var $ = __webpack_require__(2)
- , $export = __webpack_require__(3)
- , $ctx = __webpack_require__(12)
- , $Array = __webpack_require__(5).Array || Array
- , statics = {};
- var setStatics = function(keys, length){
- $.each.call(keys.split(','), function(key){
- if(length == undefined && key in $Array)statics[key] = $Array[key];
- else if(key in [])statics[key] = $ctx(Function.call, [][key], length);
- });
- };
- setStatics('pop,reverse,shift,keys,values,entries', 1);
- setStatics('indexOf,every,some,forEach,map,filter,find,findIndex,includes', 3);
- setStatics('join,slice,concat,push,splice,unshift,sort,lastIndexOf,' +
- 'reduce,reduceRight,copyWithin,fill');
- $export($export.S, 'Array', statics);
-
-/***/ }
-/******/ ]);
-// CommonJS export
-if(typeof module != 'undefined' && module.exports)module.exports = __e;
-// RequireJS export
-else if(typeof define == 'function' && define.amd)define(function(){return __e});
-// Export to global object
-else __g.core = __e;
-}(1, 1);
\ No newline at end of file
diff --git a/node_modules/core-js/client/core.min.js b/node_modules/core-js/client/core.min.js
deleted file mode 100644
index f10b051..0000000
--- a/node_modules/core-js/client/core.min.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/**
- * core-js 1.2.6
- * https://github.com/zloirock/core-js
- * License: http://rock.mit-license.org
- * © 2015 Denis Pushkarev
- */
-!function(b,c,a){"use strict";!function(b){function __webpack_require__(c){if(a[c])return a[c].exports;var d=a[c]={exports:{},id:c,loaded:!1};return b[c].call(d.exports,d,d.exports,__webpack_require__),d.loaded=!0,d.exports}var a={};return __webpack_require__.m=b,__webpack_require__.c=a,__webpack_require__.p="",__webpack_require__(0)}([function(b,c,a){a(1),a(34),a(40),a(42),a(44),a(46),a(48),a(50),a(51),a(52),a(53),a(54),a(55),a(56),a(57),a(58),a(59),a(60),a(61),a(64),a(65),a(66),a(68),a(69),a(70),a(71),a(72),a(73),a(74),a(76),a(77),a(78),a(80),a(81),a(82),a(84),a(85),a(86),a(87),a(88),a(89),a(90),a(91),a(92),a(93),a(94),a(95),a(96),a(97),a(99),a(103),a(104),a(106),a(107),a(111),a(116),a(117),a(120),a(122),a(124),a(126),a(127),a(128),a(130),a(131),a(133),a(134),a(135),a(136),a(143),a(146),a(147),a(149),a(150),a(151),a(152),a(153),a(154),a(155),a(156),a(157),a(158),a(159),a(160),a(162),a(163),a(164),a(165),a(166),a(167),a(169),a(170),a(171),a(172),a(174),a(175),a(177),a(178),a(180),a(181),a(182),a(183),a(186),a(114),a(188),a(187),a(189),a(190),a(191),a(192),a(193),a(195),a(196),a(197),a(198),a(199),b.exports=a(200)},function(S,R,b){var r,d=b(2),c=b(3),x=b(8),O=b(7),o=b(14),E=b(15),n=b(17),N=b(18),J=b(19),j=b(9),p=b(20),v=b(13),I=b(16),Q=b(21),y=b(23),K=b(25),w=b(26),h=b(27),s=b(24),m=b(11)("__proto__"),g=b(28),A=b(33)(!1),B=Object.prototype,C=Array.prototype,k=C.slice,M=C.join,F=d.setDesc,L=d.getDesc,q=d.setDescs,u={};x||(r=!j(function(){return 7!=F(E("div"),"a",{get:function(){return 7}}).a}),d.setDesc=function(b,c,a){if(r)try{return F(b,c,a)}catch(d){}if("get"in a||"set"in a)throw TypeError("Accessors not supported!");return"value"in a&&(p(b)[c]=a.value),b},d.getDesc=function(a,b){if(r)try{return L(a,b)}catch(c){}return n(a,b)?O(!B.propertyIsEnumerable.call(a,b),a[b]):void 0},d.setDescs=q=function(a,b){p(a);for(var c,e=d.getKeys(b),g=e.length,f=0;g>f;)d.setDesc(a,c=e[f++],b[c]);return a}),c(c.S+c.F*!x,"Object",{getOwnPropertyDescriptor:d.getDesc,defineProperty:d.setDesc,defineProperties:q});var i="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),H=i.concat("length","prototype"),G=i.length,l=function(){var a,b=E("iframe"),c=G,d=">";for(b.style.display="none",o.appendChild(b),b.src="javascript:",a=b.contentWindow.document,a.open(),a.write("f;)n(e,c=a[f++])&&(~A(d,c)||d.push(c));return d}},t=function(){};c(c.S,"Object",{getPrototypeOf:d.getProto=d.getProto||function(a){return a=Q(a),n(a,m)?a[m]:"function"==typeof a.constructor&&a instanceof a.constructor?a.constructor.prototype:a instanceof Object?B:null},getOwnPropertyNames:d.getNames=d.getNames||D(H,H.length,!0),create:d.create=d.create||function(c,d){var b;return null!==c?(t.prototype=p(c),b=new t,t.prototype=null,b[m]=c):b=l(),d===a?b:q(b,d)},keys:d.getKeys=d.getKeys||D(i,G,!1)});var P=function(d,a,e){if(!(a in u)){for(var c=[],b=0;a>b;b++)c[b]="a["+b+"]";u[a]=Function("F,a","return new F("+c.join(",")+")")}return u[a](d,e)};c(c.P,"Function",{bind:function bind(c){var a=v(this),d=k.call(arguments,1),b=function(){var e=d.concat(k.call(arguments));return this instanceof b?P(a,e.length,e):J(a,e,c)};return I(a.prototype)&&(b.prototype=a.prototype),b}}),c(c.P+c.F*j(function(){o&&k.call(o)}),"Array",{slice:function(f,b){var d=h(this.length),g=N(this);if(b=b===a?d:b,"Array"==g)return k.call(this,f,b);for(var e=w(f,d),l=w(b,d),i=h(l-e),j=Array(i),c=0;i>c;c++)j[c]="String"==g?this.charAt(e+c):this[e+c];return j}}),c(c.P+c.F*(s!=Object),"Array",{join:function join(b){return M.call(s(this),b===a?",":b)}}),c(c.S,"Array",{isArray:b(30)});var z=function(a){return function(g,d){v(g);var c=s(this),e=h(c.length),b=a?e-1:0,f=a?-1:1;if(arguments.length<2)for(;;){if(b in c){d=c[b],b+=f;break}if(b+=f,a?0>b:b>=e)throw TypeError("Reduce of empty array with no initial value")}for(;a?b>=0:e>b;b+=f)b in c&&(d=g(d,c[b],b,this));return d}},f=function(a){return function(b){return a(this,b,arguments[1])}};c(c.P,"Array",{forEach:d.each=d.each||f(g(0)),map:f(g(1)),filter:f(g(2)),some:f(g(3)),every:f(g(4)),reduce:z(!1),reduceRight:z(!0),indexOf:f(A),lastIndexOf:function(d,e){var b=y(this),c=h(b.length),a=c-1;for(arguments.length>1&&(a=Math.min(a,K(e))),0>a&&(a=h(c+a));a>=0;a--)if(a in b&&b[a]===d)return a;return-1}}),c(c.S,"Date",{now:function(){return+new Date}});var e=function(a){return a>9?a:"0"+a};c(c.P+c.F*(j(function(){return"0385-07-25T07:06:39.999Z"!=new Date(-5e13-1).toISOString()})||!j(function(){new Date(NaN).toISOString()})),"Date",{toISOString:function toISOString(){if(!isFinite(this))throw RangeError("Invalid time value");var a=this,b=a.getUTCFullYear(),c=a.getUTCMilliseconds(),d=0>b?"-":b>9999?"+":"";return d+("00000"+Math.abs(b)).slice(d?-6:-4)+"-"+e(a.getUTCMonth()+1)+"-"+e(a.getUTCDate())+"T"+e(a.getUTCHours())+":"+e(a.getUTCMinutes())+":"+e(a.getUTCSeconds())+"."+(c>99?c:"0"+e(c))+"Z"}})},function(b,c){var a=Object;b.exports={create:a.create,getProto:a.getPrototypeOf,isEnum:{}.propertyIsEnumerable,getDesc:a.getOwnPropertyDescriptor,setDesc:a.defineProperty,setDescs:a.defineProperties,getKeys:a.keys,getNames:a.getOwnPropertyNames,getSymbols:a.getOwnPropertySymbols,each:[].forEach}},function(g,j,c){var b=c(4),d=c(5),h=c(6),i=c(10),f=c(12),e="prototype",a=function(k,j,o){var g,m,c,s,v=k&a.F,p=k&a.G,u=k&a.S,r=k&a.P,t=k&a.B,l=p?b:u?b[j]||(b[j]={}):(b[j]||{})[e],n=p?d:d[j]||(d[j]={}),q=n[e]||(n[e]={});p&&(o=j);for(g in o)m=!v&&l&&g in l,c=(m?l:o)[g],s=t&&m?f(c,b):r&&"function"==typeof c?f(Function.call,c):c,l&&!m&&i(l,g,c),n[g]!=c&&h(n,g,s),r&&q[g]!=c&&(q[g]=c)};b.core=d,a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,g.exports=a},function(a,d){var b=a.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof c&&(c=b)},function(a,d){var c=a.exports={version:"1.2.6"};"number"==typeof b&&(b=c)},function(b,e,a){var c=a(2),d=a(7);b.exports=a(8)?function(a,b,e){return c.setDesc(a,b,d(1,e))}:function(a,b,c){return a[b]=c,a}},function(a,b){a.exports=function(a,b){return{enumerable:!(1&a),configurable:!(2&a),writable:!(4&a),value:b}}},function(a,c,b){a.exports=!b(9)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(a,b){a.exports=function(a){try{return!!a()}catch(b){return!0}}},function(f,i,a){var g=a(4),b=a(6),c=a(11)("src"),d="toString",e=Function[d],h=(""+e).split(d);a(5).inspectSource=function(a){return e.call(a)},(f.exports=function(e,a,d,f){"function"==typeof d&&(d.hasOwnProperty(c)||b(d,c,e[a]?""+e[a]:h.join(String(a))),d.hasOwnProperty("name")||b(d,"name",a)),e===g?e[a]=d:(f||delete e[a],b(e,a,d))})(Function.prototype,d,function toString(){return"function"==typeof this&&this[c]||e.call(this)})},function(b,e){var c=0,d=Math.random();b.exports=function(b){return"Symbol(".concat(b===a?"":b,")_",(++c+d).toString(36))}},function(b,e,c){var d=c(13);b.exports=function(b,c,e){if(d(b),c===a)return b;switch(e){case 1:return function(a){return b.call(c,a)};case 2:return function(a,d){return b.call(c,a,d)};case 3:return function(a,d,e){return b.call(c,a,d,e)}}return function(){return b.apply(c,arguments)}}},function(a,b){a.exports=function(a){if("function"!=typeof a)throw TypeError(a+" is not a function!");return a}},function(a,c,b){a.exports=b(4).document&&document.documentElement},function(d,f,b){var c=b(16),a=b(4).document,e=c(a)&&c(a.createElement);d.exports=function(b){return e?a.createElement(b):{}}},function(a,b){a.exports=function(a){return"object"==typeof a?null!==a:"function"==typeof a}},function(a,c){var b={}.hasOwnProperty;a.exports=function(a,c){return b.call(a,c)}},function(a,c){var b={}.toString;a.exports=function(a){return b.call(a).slice(8,-1)}},function(b,c){b.exports=function(c,b,d){var e=d===a;switch(b.length){case 0:return e?c():c.call(d);case 1:return e?c(b[0]):c.call(d,b[0]);case 2:return e?c(b[0],b[1]):c.call(d,b[0],b[1]);case 3:return e?c(b[0],b[1],b[2]):c.call(d,b[0],b[1],b[2]);case 4:return e?c(b[0],b[1],b[2],b[3]):c.call(d,b[0],b[1],b[2],b[3])}return c.apply(d,b)}},function(a,d,b){var c=b(16);a.exports=function(a){if(!c(a))throw TypeError(a+" is not an object!");return a}},function(a,d,b){var c=b(22);a.exports=function(a){return Object(c(a))}},function(b,c){b.exports=function(b){if(b==a)throw TypeError("Can't call method on "+b);return b}},function(b,e,a){var c=a(24),d=a(22);b.exports=function(a){return c(d(a))}},function(a,d,b){var c=b(18);a.exports=Object("z").propertyIsEnumerable(0)?Object:function(a){return"String"==c(a)?a.split(""):Object(a)}},function(a,d){var b=Math.ceil,c=Math.floor;a.exports=function(a){return isNaN(a=+a)?0:(a>0?c:b)(a)}},function(a,f,b){var c=b(25),d=Math.max,e=Math.min;a.exports=function(a,b){return a=c(a),0>a?d(a+b,0):e(a,b)}},function(a,e,b){var c=b(25),d=Math.min;a.exports=function(a){return a>0?d(c(a),9007199254740991):0}},function(d,i,b){var e=b(12),f=b(24),g=b(21),h=b(27),c=b(29);d.exports=function(b){var i=1==b,k=2==b,l=3==b,d=4==b,j=6==b,m=5==b||j;return function(p,v,x){for(var o,r,u=g(p),s=f(u),w=e(v,x,3),t=h(s.length),n=0,q=i?c(p,t):k?c(p,0):a;t>n;n++)if((m||n in s)&&(o=s[n],r=w(o,n,u),b))if(i)q[n]=r;else if(r)switch(b){case 3:return!0;case 5:return o;case 6:return n;case 2:q.push(o)}else if(d)return!1;return j?-1:l||d?d:q}}},function(d,g,b){var e=b(16),c=b(30),f=b(31)("species");d.exports=function(d,g){var b;return c(d)&&(b=d.constructor,"function"!=typeof b||b!==Array&&!c(b.prototype)||(b=a),e(b)&&(b=b[f],null===b&&(b=a))),new(b===a?Array:b)(g)}},function(a,d,b){var c=b(18);a.exports=Array.isArray||function(a){return"Array"==c(a)}},function(d,f,a){var c=a(32)("wks"),e=a(11),b=a(4).Symbol;d.exports=function(a){return c[a]||(c[a]=b&&b[a]||(b||e)("Symbol."+a))}},function(d,f,e){var a=e(4),b="__core-js_shared__",c=a[b]||(a[b]={});d.exports=function(a){return c[a]||(c[a]={})}},function(b,f,a){var c=a(23),d=a(27),e=a(26);b.exports=function(a){return function(j,g,k){var h,f=c(j),i=d(f.length),b=e(k,i);if(a&&g!=g){for(;i>b;)if(h=f[b++],h!=h)return!0}else for(;i>b;b++)if((a||b in f)&&f[b]===g)return a||b;return!a&&-1}}},function(W,V,b){var e=b(2),x=b(4),d=b(17),w=b(8),f=b(3),G=b(10),H=b(9),J=b(32),s=b(35),S=b(11),A=b(31),R=b(36),C=b(37),Q=b(38),P=b(30),O=b(20),p=b(23),v=b(7),I=e.getDesc,i=e.setDesc,k=e.create,z=C.get,g=x.Symbol,l=x.JSON,m=l&&l.stringify,n=!1,c=A("_hidden"),N=e.isEnum,o=J("symbol-registry"),h=J("symbols"),q="function"==typeof g,j=Object.prototype,y=w&&H(function(){return 7!=k(i({},"a",{get:function(){return i(this,"a",{value:7}).a}})).a})?function(c,a,d){var b=I(j,a);b&&delete j[a],i(c,a,d),b&&c!==j&&i(j,a,b)}:i,L=function(a){var b=h[a]=k(g.prototype);return b._k=a,w&&n&&y(j,a,{configurable:!0,set:function(b){d(this,c)&&d(this[c],a)&&(this[c][a]=!1),y(this,a,v(1,b))}}),b},r=function(a){return"symbol"==typeof a},t=function defineProperty(a,b,e){return e&&d(h,b)?(e.enumerable?(d(a,c)&&a[c][b]&&(a[c][b]=!1),e=k(e,{enumerable:v(0,!1)})):(d(a,c)||i(a,c,v(1,{})),a[c][b]=!0),y(a,b,e)):i(a,b,e)},u=function defineProperties(a,b){O(a);for(var c,d=Q(b=p(b)),e=0,f=d.length;f>e;)t(a,c=d[e++],b[c]);return a},F=function create(b,c){return c===a?k(b):u(k(b),c)},E=function propertyIsEnumerable(a){var b=N.call(this,a);return b||!d(this,a)||!d(h,a)||d(this,c)&&this[c][a]?b:!0},D=function getOwnPropertyDescriptor(a,b){var e=I(a=p(a),b);return!e||!d(h,b)||d(a,c)&&a[c][b]||(e.enumerable=!0),e},B=function getOwnPropertyNames(g){for(var a,b=z(p(g)),e=[],f=0;b.length>f;)d(h,a=b[f++])||a==c||e.push(a);return e},M=function getOwnPropertySymbols(f){for(var a,b=z(p(f)),c=[],e=0;b.length>e;)d(h,a=b[e++])&&c.push(h[a]);return c},T=function stringify(e){if(e!==a&&!r(e)){for(var b,c,d=[e],f=1,g=arguments;g.length>f;)d.push(g[f++]);return b=d[1],"function"==typeof b&&(c=b),(c||!P(b))&&(b=function(b,a){return c&&(a=c.call(this,b,a)),r(a)?void 0:a}),d[1]=b,m.apply(l,d)}},U=H(function(){var a=g();return"[null]"!=m([a])||"{}"!=m({a:a})||"{}"!=m(Object(a))});q||(g=function Symbol(){if(r(this))throw TypeError("Symbol is not a constructor");return L(S(arguments.length>0?arguments[0]:a))},G(g.prototype,"toString",function toString(){return this._k}),r=function(a){return a instanceof g},e.create=F,e.isEnum=E,e.getDesc=D,e.setDesc=t,e.setDescs=u,e.getNames=C.get=B,e.getSymbols=M,w&&!b(39)&&G(j,"propertyIsEnumerable",E,!0));var K={"for":function(a){return d(o,a+="")?o[a]:o[a]=g(a)},keyFor:function keyFor(a){return R(o,a)},useSetter:function(){n=!0},useSimple:function(){n=!1}};e.each.call("hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),function(a){var b=A(a);K[a]=q?b:L(b)}),n=!0,f(f.G+f.W,{Symbol:g}),f(f.S,"Symbol",K),f(f.S+f.F*!q,"Object",{create:F,defineProperty:t,defineProperties:u,getOwnPropertyDescriptor:D,getOwnPropertyNames:B,getOwnPropertySymbols:M}),l&&f(f.S+f.F*(!q||U),"JSON",{stringify:T}),s(g,"Symbol"),s(Math,"Math",!0),s(x.JSON,"JSON",!0)},function(c,f,a){var d=a(2).setDesc,e=a(17),b=a(31)("toStringTag");c.exports=function(a,c,f){a&&!e(a=f?a:a.prototype,b)&&d(a,b,{configurable:!0,value:c})}},function(b,e,a){var c=a(2),d=a(23);b.exports=function(g,h){for(var a,b=d(g),e=c.getKeys(b),i=e.length,f=0;i>f;)if(b[a=e[f++]]===h)return a}},function(d,h,a){var e=a(23),b=a(2).getNames,f={}.toString,c="object"==typeof window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],g=function(a){try{return b(a)}catch(d){return c.slice()}};d.exports.get=function getOwnPropertyNames(a){return c&&"[object Window]"==f.call(a)?g(a):b(e(a))}},function(b,d,c){var a=c(2);b.exports=function(b){var c=a.getKeys(b),d=a.getSymbols;if(d)for(var e,f=d(b),h=a.isEnum,g=0;f.length>g;)h.call(b,e=f[g++])&&c.push(e);return c}},function(a,b){a.exports=!1},function(c,d,b){var a=b(3);a(a.S+a.F,"Object",{assign:b(41)})},function(c,f,a){var b=a(2),d=a(21),e=a(24);c.exports=a(9)(function(){var a=Object.assign,b={},c={},d=Symbol(),e="abcdefghijklmnopqrst";return b[d]=7,e.split("").forEach(function(a){c[a]=a}),7!=a({},b)[d]||Object.keys(a({},c)).join("")!=e})?function assign(n,q){for(var g=d(n),h=arguments,o=h.length,j=1,f=b.getKeys,l=b.getSymbols,m=b.isEnum;o>j;)for(var c,a=e(h[j++]),k=l?f(a).concat(l(a)):f(a),p=k.length,i=0;p>i;)m.call(a,c=k[i++])&&(g[c]=a[c]);return g}:Object.assign},function(c,d,a){var b=a(3);b(b.S,"Object",{is:a(43)})},function(a,b){a.exports=Object.is||function is(a,b){return a===b?0!==a||1/a===1/b:a!=a&&b!=b}},function(c,d,a){var b=a(3);b(b.S,"Object",{setPrototypeOf:a(45).set})},function(d,h,b){var e=b(2).getDesc,f=b(16),g=b(20),c=function(b,a){if(g(b),!f(a)&&null!==a)throw TypeError(a+": can't set as prototype!")};d.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(f,a,d){try{d=b(12)(Function.call,e(Object.prototype,"__proto__").set,2),d(f,[]),a=!(f instanceof Array)}catch(g){a=!0}return function setPrototypeOf(b,e){return c(b,e),a?b.__proto__=e:d(b,e),b}}({},!1):a),check:c}},function(d,e,a){var c=a(47),b={};b[a(31)("toStringTag")]="z",b+""!="[object z]"&&a(10)(Object.prototype,"toString",function toString(){return"[object "+c(this)+"]"},!0)},function(d,g,c){var b=c(18),e=c(31)("toStringTag"),f="Arguments"==b(function(){return arguments}());d.exports=function(d){var c,g,h;return d===a?"Undefined":null===d?"Null":"string"==typeof(g=(c=Object(d))[e])?g:f?b(c):"Object"==(h=b(c))&&"function"==typeof c.callee?"Arguments":h}},function(c,d,a){var b=a(16);a(49)("freeze",function(a){return function freeze(c){return a&&b(c)?a(c):c}})},function(c,f,a){var b=a(3),d=a(5),e=a(9);c.exports=function(a,g){var c=(d.Object||{})[a]||Object[a],f={};f[a]=g(c),b(b.S+b.F*e(function(){c(1)}),"Object",f)}},function(c,d,a){var b=a(16);a(49)("seal",function(a){return function seal(c){return a&&b(c)?a(c):c}})},function(c,d,a){var b=a(16);a(49)("preventExtensions",function(a){return function preventExtensions(c){return a&&b(c)?a(c):c}})},function(c,d,a){var b=a(16);a(49)("isFrozen",function(a){return function isFrozen(c){return b(c)?a?a(c):!1:!0}})},function(c,d,a){var b=a(16);a(49)("isSealed",function(a){return function isSealed(c){return b(c)?a?a(c):!1:!0}})},function(c,d,a){var b=a(16);a(49)("isExtensible",function(a){return function isExtensible(c){return b(c)?a?a(c):!0:!1}})},function(c,d,a){var b=a(23);a(49)("getOwnPropertyDescriptor",function(a){return function getOwnPropertyDescriptor(c,d){return a(b(c),d)}})},function(c,d,a){var b=a(21);a(49)("getPrototypeOf",function(a){return function getPrototypeOf(c){return a(b(c))}})},function(c,d,a){var b=a(21);a(49)("keys",function(a){return function keys(c){return a(b(c))}})},function(b,c,a){a(49)("getOwnPropertyNames",function(){return a(37).get})},function(h,i,a){var c=a(2).setDesc,e=a(7),f=a(17),d=Function.prototype,g=/^\s*function ([^ (]*)/,b="name";b in d||a(8)&&c(d,b,{configurable:!0,get:function(){var a=(""+this).match(g),d=a?a[1]:"";return f(this,b)||c(this,b,e(5,d)),d}})},function(f,g,a){var b=a(2),c=a(16),d=a(31)("hasInstance"),e=Function.prototype;d in e||b.setDesc(e,d,{value:function(a){if("function"!=typeof this||!c(a))return!1;if(!c(this.prototype))return a instanceof this;for(;a=b.getProto(a);)if(this.prototype===a)return!0;return!1}})},function(q,p,b){var c=b(2),h=b(4),i=b(17),j=b(18),l=b(62),k=b(9),n=b(63).trim,d="Number",a=h[d],e=a,f=a.prototype,o=j(c.create(f))==d,m="trim"in String.prototype,g=function(i){var a=l(i,!1);if("string"==typeof a&&a.length>2){a=m?a.trim():n(a,3);var b,c,d,e=a.charCodeAt(0);if(43===e||45===e){if(b=a.charCodeAt(2),88===b||120===b)return NaN}else if(48===e){switch(a.charCodeAt(1)){case 66:case 98:c=2,d=49;break;case 79:case 111:c=8,d=55;break;default:return+a}for(var f,g=a.slice(2),h=0,j=g.length;j>h;h++)if(f=g.charCodeAt(h),48>f||f>d)return NaN;return parseInt(g,c)}}return+a};a(" 0o1")&&a("0b1")&&!a("+0x1")||(a=function Number(h){var c=arguments.length<1?0:h,b=this;return b instanceof a&&(o?k(function(){f.valueOf.call(b)}):j(b)!=d)?new e(g(c)):g(c)},c.each.call(b(8)?c.getNames(e):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),function(b){i(e,b)&&!i(a,b)&&c.setDesc(a,b,c.getDesc(e,b))}),a.prototype=f,f.constructor=a,b(10)(h,d,a))},function(b,d,c){var a=c(16);b.exports=function(b,e){if(!a(b))return b;var c,d;if(e&&"function"==typeof(c=b.toString)&&!a(d=c.call(b)))return d;if("function"==typeof(c=b.valueOf)&&!a(d=c.call(b)))return d;if(!e&&"function"==typeof(c=b.toString)&&!a(d=c.call(b)))return d;throw TypeError("Can't convert object to primitive value")}},function(g,m,b){var c=b(3),h=b(22),i=b(9),d=" \n\f\r \u2028\u2029\ufeff",a="["+d+"]",f="
",j=RegExp("^"+a+a+"*"),k=RegExp(a+a+"*$"),e=function(a,e){var b={};b[a]=e(l),c(c.P+c.F*i(function(){return!!d[a]()||f[a]()!=f}),"String",b)},l=e.trim=function(a,b){return a=String(h(a)),1&b&&(a=a.replace(j,"")),2&b&&(a=a.replace(k,"")),a};g.exports=e},function(c,d,b){var a=b(3);a(a.S,"Number",{EPSILON:Math.pow(2,-52)})},function(d,e,a){var b=a(3),c=a(4).isFinite;b(b.S,"Number",{isFinite:function isFinite(a){return"number"==typeof a&&c(a)}})},function(c,d,a){var b=a(3);b(b.S,"Number",{isInteger:a(67)})},function(a,e,b){var c=b(16),d=Math.floor;a.exports=function isInteger(a){return!c(a)&&isFinite(a)&&d(a)===a}},function(c,d,b){var a=b(3);a(a.S,"Number",{isNaN:function isNaN(a){return a!=a}})},function(e,f,a){var b=a(3),c=a(67),d=Math.abs;b(b.S,"Number",{isSafeInteger:function isSafeInteger(a){return c(a)&&d(a)<=9007199254740991}})},function(c,d,b){var a=b(3);a(a.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(c,d,b){var a=b(3);a(a.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(c,d,b){var a=b(3);a(a.S,"Number",{parseFloat:parseFloat})},function(c,d,b){var a=b(3);a(a.S,"Number",{parseInt:parseInt})},function(f,g,b){var a=b(3),e=b(75),c=Math.sqrt,d=Math.acosh;a(a.S+a.F*!(d&&710==Math.floor(d(Number.MAX_VALUE))),"Math",{acosh:function acosh(a){return(a=+a)<1?NaN:a>94906265.62425156?Math.log(a)+Math.LN2:e(a-1+c(a-1)*c(a+1))}})},function(a,b){a.exports=Math.log1p||function log1p(a){return(a=+a)>-1e-8&&1e-8>a?a-a*a/2:Math.log(1+a)}},function(c,d,b){function asinh(a){return isFinite(a=+a)&&0!=a?0>a?-asinh(-a):Math.log(a+Math.sqrt(a*a+1)):a}var a=b(3);a(a.S,"Math",{asinh:asinh})},function(c,d,b){var a=b(3);a(a.S,"Math",{atanh:function atanh(a){return 0==(a=+a)?a:Math.log((1+a)/(1-a))/2}})},function(d,e,a){var b=a(3),c=a(79);b(b.S,"Math",{cbrt:function cbrt(a){return c(a=+a)*Math.pow(Math.abs(a),1/3)}})},function(a,b){a.exports=Math.sign||function sign(a){return 0==(a=+a)||a!=a?a:0>a?-1:1}},function(c,d,b){var a=b(3);a(a.S,"Math",{clz32:function clz32(a){return(a>>>=0)?31-Math.floor(Math.log(a+.5)*Math.LOG2E):32}})},function(d,e,c){var a=c(3),b=Math.exp;a(a.S,"Math",{cosh:function cosh(a){return(b(a=+a)+b(-a))/2}})},function(c,d,a){var b=a(3);b(b.S,"Math",{expm1:a(83)})},function(a,b){a.exports=Math.expm1||function expm1(a){return 0==(a=+a)?a:a>-1e-6&&1e-6>a?a+a*a/2:Math.exp(a)-1}},function(k,j,e){var f=e(3),g=e(79),a=Math.pow,d=a(2,-52),b=a(2,-23),i=a(2,127)*(2-b),c=a(2,-126),h=function(a){return a+1/d-1/d};f(f.S,"Math",{fround:function fround(k){var f,a,e=Math.abs(k),j=g(k);return c>e?j*h(e/c/b)*c*b:(f=(1+b/d)*e,a=f-(f-e),a>i||a!=a?j*(1/0):j*a)}})},function(d,e,b){var a=b(3),c=Math.abs;a(a.S,"Math",{hypot:function hypot(i,j){for(var a,b,e=0,f=0,g=arguments,h=g.length,d=0;h>f;)a=c(g[f++]),a>d?(b=d/a,e=e*b*b+1,d=a):a>0?(b=a/d,e+=b*b):e+=a;return d===1/0?1/0:d*Math.sqrt(e)}})},function(d,e,b){var a=b(3),c=Math.imul;a(a.S+a.F*b(9)(function(){return-5!=c(4294967295,5)||2!=c.length}),"Math",{imul:function imul(f,g){var a=65535,b=+f,c=+g,d=a&b,e=a&c;return 0|d*e+((a&b>>>16)*e+d*(a&c>>>16)<<16>>>0)}})},function(c,d,b){var a=b(3);a(a.S,"Math",{log10:function log10(a){return Math.log(a)/Math.LN10}})},function(c,d,a){var b=a(3);b(b.S,"Math",{log1p:a(75)})},function(c,d,b){var a=b(3);a(a.S,"Math",{log2:function log2(a){return Math.log(a)/Math.LN2}})},function(c,d,a){var b=a(3);b(b.S,"Math",{sign:a(79)})},function(e,f,a){var b=a(3),c=a(83),d=Math.exp;b(b.S+b.F*a(9)(function(){return-2e-17!=!Math.sinh(-2e-17)}),"Math",{sinh:function sinh(a){return Math.abs(a=+a)<1?(c(a)-c(-a))/2:(d(a-1)-d(-a-1))*(Math.E/2)}})},function(e,f,a){var b=a(3),c=a(83),d=Math.exp;b(b.S,"Math",{tanh:function tanh(a){var b=c(a=+a),e=c(-a);return b==1/0?1:e==1/0?-1:(b-e)/(d(a)+d(-a))}})},function(c,d,b){var a=b(3);a(a.S,"Math",{trunc:function trunc(a){return(a>0?Math.floor:Math.ceil)(a)}})},function(f,g,b){var a=b(3),e=b(26),c=String.fromCharCode,d=String.fromCodePoint;a(a.S+a.F*(!!d&&1!=d.length),"String",{fromCodePoint:function fromCodePoint(h){for(var a,b=[],d=arguments,g=d.length,f=0;g>f;){if(a=+d[f++],e(a,1114111)!==a)throw RangeError(a+" is not a valid code point");b.push(65536>a?c(a):c(((a-=65536)>>10)+55296,a%1024+56320))}return b.join("")}})},function(e,f,a){var b=a(3),c=a(23),d=a(27);b(b.S,"String",{raw:function raw(g){for(var e=c(g.raw),h=d(e.length),f=arguments,i=f.length,b=[],a=0;h>a;)b.push(String(e[a++])),i>a&&b.push(String(f[a]));return b.join("")}})},function(b,c,a){a(63)("trim",function(a){return function trim(){return a(this,3)}})},function(d,e,a){var b=a(3),c=a(98)(!1);b(b.P,"String",{codePointAt:function codePointAt(a){return c(this,a)}})},function(c,f,b){var d=b(25),e=b(22);c.exports=function(b){return function(j,k){var f,h,g=String(e(j)),c=d(k),i=g.length;return 0>c||c>=i?b?"":a:(f=g.charCodeAt(c),55296>f||f>56319||c+1===i||(h=g.charCodeAt(c+1))<56320||h>57343?b?g.charAt(c):f:b?g.slice(c,c+2):(f-55296<<10)+(h-56320)+65536)}}},function(h,i,b){var c=b(3),e=b(27),g=b(100),d="endsWith",f=""[d];c(c.P+c.F*b(102)(d),"String",{endsWith:function endsWith(i){var b=g(this,i,d),j=arguments,k=j.length>1?j[1]:a,l=e(b.length),c=k===a?l:Math.min(e(k),l),h=String(i);return f?f.call(b,h,c):b.slice(c-h.length,c)===h}})},function(b,e,a){var c=a(101),d=a(22);b.exports=function(a,b,e){if(c(b))throw TypeError("String#"+e+" doesn't accept regex!");return String(d(a))}},function(c,g,b){var d=b(16),e=b(18),f=b(31)("match");c.exports=function(b){var c;return d(b)&&((c=b[f])!==a?!!c:"RegExp"==e(b))}},function(a,d,b){var c=b(31)("match");a.exports=function(b){var a=/./;try{"/./"[b](a)}catch(d){try{return a[c]=!1,!"/./"[b](a)}catch(e){}}return!0}},function(f,g,b){var c=b(3),e=b(100),d="includes";c(c.P+c.F*b(102)(d),"String",{includes:function includes(b){return!!~e(this,b,d).indexOf(b,arguments.length>1?arguments[1]:a)}})},function(c,d,a){var b=a(3);b(b.P,"String",{repeat:a(105)})},function(b,e,a){var c=a(25),d=a(22);b.exports=function repeat(f){var b=String(d(this)),e="",a=c(f);if(0>a||a==1/0)throw RangeError("Count can't be negative");for(;a>0;(a>>>=1)&&(b+=b))1&a&&(e+=b);return e}},function(h,i,b){var c=b(3),f=b(27),g=b(100),d="startsWith",e=""[d];c(c.P+c.F*b(102)(d),"String",{startsWith:function startsWith(i){var b=g(this,i,d),j=arguments,c=f(Math.min(j.length>1?j[1]:a,b.length)),h=String(i);return e?e.call(b,h,c):b.slice(c,c+h.length)===h}})},function(d,e,b){var c=b(98)(!0);b(108)(String,"String",function(a){this._t=String(a),this._i=0},function(){var b,d=this._t,e=this._i;return e>=d.length?{value:a,done:!0}:(b=c(d,e),this._i+=b.length,{value:b,done:!1})})},function(o,r,a){var i=a(39),d=a(3),n=a(10),h=a(6),m=a(17),f=a(109),q=a(110),p=a(35),l=a(2).getProto,c=a(31)("iterator"),e=!([].keys&&"next"in[].keys()),j="@@iterator",k="keys",b="values",g=function(){return this};o.exports=function(B,v,u,F,s,E,A){q(u,v,F);var r,x,w=function(c){if(!e&&c in a)return a[c];switch(c){case k:return function keys(){return new u(this,c)};case b:return function values(){return new u(this,c)}}return function entries(){return new u(this,c)}},C=v+" Iterator",y=s==b,z=!1,a=B.prototype,t=a[c]||a[j]||s&&a[s],o=t||w(s);if(t){var D=l(o.call(new B));p(D,C,!0),!i&&m(a,j)&&h(D,c,g),y&&t.name!==b&&(z=!0,o=function values(){return t.call(this)})}if(i&&!A||!e&&!z&&a[c]||h(a,c,o),f[v]=o,f[C]=g,s)if(r={values:y?o:w(b),keys:E?o:w(k),entries:y?w("entries"):o},A)for(x in r)x in a||n(a,x,r[x]);else d(d.P+d.F*(e||z),v,r);return r}},function(a,b){a.exports={}},function(c,g,a){var d=a(2),e=a(7),f=a(35),b={};a(6)(b,a(31)("iterator"),function(){return this}),c.exports=function(a,c,g){a.prototype=d.create(b,{next:e(1,g)}),f(a,c+" Iterator")}},function(j,k,b){var d=b(12),c=b(3),e=b(21),f=b(112),g=b(113),h=b(27),i=b(114);c(c.S+c.F*!b(115)(function(a){Array.from(a)}),"Array",{from:function from(t){var n,c,r,m,j=e(t),l="function"==typeof this?this:Array,p=arguments,s=p.length,k=s>1?p[1]:a,q=k!==a,b=0,o=i(j);if(q&&(k=d(k,s>2?p[2]:a,2)),o==a||l==Array&&g(o))for(n=h(j.length),c=new l(n);n>b;b++)c[b]=q?k(j[b],b):j[b];else for(m=o.call(j),c=new l;!(r=m.next()).done;b++)c[b]=q?f(m,k,[r.value,b],!0):r.value;return c.length=b,c}})},function(c,e,d){var b=d(20);c.exports=function(d,e,c,g){try{return g?e(b(c)[0],c[1]):e(c)}catch(h){var f=d["return"];throw f!==a&&b(f.call(d)),h}}},function(c,g,b){var d=b(109),e=b(31)("iterator"),f=Array.prototype;c.exports=function(b){return b!==a&&(d.Array===b||f[e]===b)}},function(c,g,b){var d=b(47),e=b(31)("iterator"),f=b(109);c.exports=b(5).getIteratorMethod=function(b){return b!=a?b[e]||b["@@iterator"]||f[d(b)]:void 0}},function(d,f,e){var a=e(31)("iterator"),b=!1;try{var c=[7][a]();c["return"]=function(){b=!0},Array.from(c,function(){throw 2})}catch(g){}d.exports=function(f,g){if(!g&&!b)return!1;var d=!1;try{var c=[7],e=c[a]();e.next=function(){d=!0},c[a]=function(){return e},f(c)}catch(h){}return d}},function(c,d,b){var a=b(3);a(a.S+a.F*b(9)(function(){function F(){}return!(Array.of.call(F)instanceof F)}),"Array",{of:function of(){for(var a=0,d=arguments,b=d.length,c=new("function"==typeof this?this:Array)(b);b>a;)c[a]=d[a++];return c.length=b,c}})},function(f,h,b){var d=b(118),c=b(119),e=b(109),g=b(23);f.exports=b(108)(Array,"Array",function(a,b){this._t=g(a),this._i=0,this._k=b},function(){var d=this._t,e=this._k,b=this._i++;return!d||b>=d.length?(this._t=a,c(1)):"keys"==e?c(0,b):"values"==e?c(0,d[b]):c(0,[b,d[b]])},"values"),e.Arguments=e.Array,d("keys"),d("values"),d("entries")},function(e,f,d){var b=d(31)("unscopables"),c=Array.prototype;c[b]==a&&d(6)(c,b,{}),e.exports=function(a){c[b][a]=!0}},function(a,b){a.exports=function(a,b){return{value:b,done:!!a}}},function(b,c,a){a(121)("Array")},function(c,g,a){var d=a(4),e=a(2),f=a(8),b=a(31)("species");c.exports=function(c){var a=d[c];f&&a&&!a[b]&&e.setDesc(a,b,{configurable:!0,get:function(){return this}})}},function(c,d,a){var b=a(3);b(b.P,"Array",{copyWithin:a(123)}),a(118)("copyWithin")},function(d,g,b){var e=b(21),c=b(26),f=b(27);d.exports=[].copyWithin||function copyWithin(m,n){var g=e(this),h=f(g.length),b=c(m,h),d=c(n,h),k=arguments,l=k.length>2?k[2]:a,i=Math.min((l===a?h:c(l,h))-d,h-b),j=1;for(b>d&&d+i>b&&(j=-1,d+=i-1,b+=i-1);i-->0;)d in g?g[b]=g[d]:delete g[b],b+=j,d+=j;return g}},function(c,d,a){var b=a(3);b(b.P,"Array",{fill:a(125)}),a(118)("fill")},function(d,g,b){var e=b(21),c=b(26),f=b(27);d.exports=[].fill||function fill(k){for(var b=e(this),d=f(b.length),g=arguments,h=g.length,i=c(h>1?g[1]:a,d),j=h>2?g[2]:a,l=j===a?d:c(j,d);l>i;)b[i++]=k;return b}},function(g,h,b){var c=b(3),f=b(28)(5),d="find",e=!0;d in[]&&Array(1)[d](function(){e=!1}),c(c.P+c.F*e,"Array",{find:function find(b){return f(this,b,arguments.length>1?arguments[1]:a)}}),b(118)(d)},function(g,h,b){var c=b(3),f=b(28)(6),d="findIndex",e=!0;d in[]&&Array(1)[d](function(){e=!1}),c(c.P+c.F*e,"Array",{findIndex:function findIndex(b){return f(this,b,arguments.length>1?arguments[1]:a)}}),b(118)(d)},function(n,m,c){var f=c(2),i=c(4),k=c(101),l=c(129),b=i.RegExp,d=b,j=b.prototype,e=/a/g,g=/a/g,h=new b(e)!==e;!c(8)||h&&!c(9)(function(){return g[c(31)("match")]=!1,b(e)!=e||b(g)==g||"/a/i"!=b(e,"i")})||(b=function RegExp(c,f){var e=k(c),g=f===a;return this instanceof b||!e||c.constructor!==b||!g?h?new d(e&&!g?c.source:c,f):d((e=c instanceof b)?c.source:c,e&&g?l.call(c):f):c},f.each.call(f.getNames(d),function(a){a in b||f.setDesc(b,a,{configurable:!0,get:function(){return d[a]},set:function(b){d[a]=b}})}),j.constructor=b,b.prototype=j,c(10)(i,"RegExp",b)),c(121)("RegExp")},function(a,d,b){var c=b(20);a.exports=function(){var b=c(this),a="";return b.global&&(a+="g"),b.ignoreCase&&(a+="i"),b.multiline&&(a+="m"),b.unicode&&(a+="u"),b.sticky&&(a+="y"),a}},function(c,d,a){var b=a(2);a(8)&&"g"!=/./g.flags&&b.setDesc(RegExp.prototype,"flags",{configurable:!0,get:a(129)})},function(c,d,b){b(132)("match",1,function(c,b){return function match(d){var e=c(this),f=d==a?a:d[b];return f!==a?f.call(d,e):new RegExp(d)[b](String(e))}})},function(b,h,a){var c=a(6),d=a(10),e=a(9),f=a(22),g=a(31);b.exports=function(a,i,j){var b=g(a),h=""[a];e(function(){var c={};return c[b]=function(){return 7},7!=""[a](c)})&&(d(String.prototype,a,j(f,b,h)),c(RegExp.prototype,b,2==i?function(a,b){return h.call(a,this,b)}:function(a){return h.call(a,this)}))}},function(c,d,b){b(132)("replace",2,function(b,c,d){return function replace(e,f){var g=b(this),h=e==a?a:e[c];return h!==a?h.call(e,g,f):d.call(String(g),e,f)}})},function(c,d,b){b(132)("search",1,function(c,b){return function search(d){var e=c(this),f=d==a?a:d[b];return f!==a?f.call(d,e):new RegExp(d)[b](String(e))}})},function(c,d,b){b(132)("split",2,function(b,c,d){return function split(e,f){var g=b(this),h=e==a?a:e[c];return h!==a?h.call(e,g,f):d.call(String(g),e,f)}})},function(J,I,b){var r,k=b(2),F=b(39),i=b(4),j=b(12),y=b(47),d=b(3),C=b(16),E=b(20),m=b(13),G=b(137),w=b(138),p=b(45).set,A=b(43),z=b(31)("species"),D=b(139),n=b(140),e="Promise",o=i.process,H="process"==y(o),c=i[e],q=function(b){var a=new c(function(){});return b&&(a.constructor=Object),c.resolve(a)===a},g=function(){function P2(b){var a=new c(b);return p(a,P2.prototype),a}var a=!1;try{if(a=c&&c.resolve&&q(),p(P2,c),P2.prototype=k.create(c.prototype,{constructor:{
-value:P2}}),P2.resolve(5).then(function(){})instanceof P2||(a=!1),a&&b(8)){var d=!1;c.resolve(k.setDesc({},"then",{get:function(){d=!0}})),a=d}}catch(e){a=!1}return a}(),B=function(a,b){return F&&a===c&&b===r?!0:A(a,b)},s=function(b){var c=E(b)[z];return c!=a?c:b},t=function(a){var b;return C(a)&&"function"==typeof(b=a.then)?b:!1},h=function(d){var b,c;this.promise=new d(function(d,e){if(b!==a||c!==a)throw TypeError("Bad Promise constructor");b=d,c=e}),this.resolve=m(b),this.reject=m(c)},v=function(a){try{a()}catch(b){return{error:b}}},l=function(b,d){if(!b.n){b.n=!0;var c=b.c;n(function(){for(var e=b.v,f=1==b.s,g=0,h=function(a){var c,h,g=f?a.ok:a.fail,i=a.resolve,d=a.reject;try{g?(f||(b.h=!0),c=g===!0?e:g(e),c===a.promise?d(TypeError("Promise-chain cycle")):(h=t(c))?h.call(c,i,d):i(c)):d(e)}catch(j){d(j)}};c.length>g;)h(c[g++]);c.length=0,b.n=!1,d&&setTimeout(function(){var f,c,d=b.p;x(d)&&(H?o.emit("unhandledRejection",e,d):(f=i.onunhandledrejection)?f({promise:d,reason:e}):(c=i.console)&&c.error&&c.error("Unhandled promise rejection",e)),b.a=a},1)})}},x=function(e){var a,b=e._d,c=b.a||b.c,d=0;if(b.h)return!1;for(;c.length>d;)if(a=c[d++],a.fail||!x(a.promise))return!1;return!0},f=function(b){var a=this;a.d||(a.d=!0,a=a.r||a,a.v=b,a.s=2,a.a=a.c.slice(),l(a,!0))},u=function(b){var c,a=this;if(!a.d){a.d=!0,a=a.r||a;try{if(a.p===b)throw TypeError("Promise can't be resolved itself");(c=t(b))?n(function(){var d={r:a,d:!1};try{c.call(b,j(u,d,1),j(f,d,1))}catch(e){f.call(d,e)}}):(a.v=b,a.s=1,l(a,!1))}catch(d){f.call({r:a,d:!1},d)}}};g||(c=function Promise(d){m(d);var b=this._d={p:G(this,c,e),c:[],a:a,s:0,d:!1,v:a,h:!1,n:!1};try{d(j(u,b,1),j(f,b,1))}catch(g){f.call(b,g)}},b(142)(c.prototype,{then:function then(d,e){var a=new h(D(this,c)),f=a.promise,b=this._d;return a.ok="function"==typeof d?d:!0,a.fail="function"==typeof e&&e,b.c.push(a),b.a&&b.a.push(a),b.s&&l(b,!1),f},"catch":function(b){return this.then(a,b)}})),d(d.G+d.W+d.F*!g,{Promise:c}),b(35)(c,e),b(121)(e),r=b(5)[e],d(d.S+d.F*!g,e,{reject:function reject(b){var a=new h(this),c=a.reject;return c(b),a.promise}}),d(d.S+d.F*(!g||q(!0)),e,{resolve:function resolve(a){if(a instanceof c&&B(a.constructor,this))return a;var b=new h(this),d=b.resolve;return d(a),b.promise}}),d(d.S+d.F*!(g&&b(115)(function(a){c.all(a)["catch"](function(){})})),e,{all:function all(g){var c=s(this),b=new h(c),d=b.resolve,e=b.reject,a=[],f=v(function(){w(g,!1,a.push,a);var b=a.length,f=Array(b);b?k.each.call(a,function(g,h){var a=!1;c.resolve(g).then(function(c){a||(a=!0,f[h]=c,--b||d(f))},e)}):d(f)});return f&&e(f.error),b.promise},race:function race(e){var b=s(this),a=new h(b),c=a.reject,d=v(function(){w(e,!1,function(d){b.resolve(d).then(a.resolve,c)})});return d&&c(d.error),a.promise}})},function(a,b){a.exports=function(a,b,c){if(!(a instanceof b))throw TypeError(c+": use the 'new' operator!");return a}},function(b,i,a){var c=a(12),d=a(112),e=a(113),f=a(20),g=a(27),h=a(114);b.exports=function(a,j,o,p){var n,b,k,l=h(a),m=c(o,p,j?2:1),i=0;if("function"!=typeof l)throw TypeError(a+" is not iterable!");if(e(l))for(n=g(a.length);n>i;i++)j?m(f(b=a[i])[0],b[1]):m(a[i]);else for(k=l.call(a);!(b=k.next()).done;)d(k,m,b.value,j)}},function(d,g,b){var c=b(20),e=b(13),f=b(31)("species");d.exports=function(g,h){var b,d=c(g).constructor;return d===a||(b=c(d)[f])==a?h:e(b)}},function(n,p,h){var b,f,g,c=h(4),o=h(141).set,k=c.MutationObserver||c.WebKitMutationObserver,d=c.process,i=c.Promise,j="process"==h(18)(d),e=function(){var e,c,g;for(j&&(e=d.domain)&&(d.domain=null,e.exit());b;)c=b.domain,g=b.fn,c&&c.enter(),g(),c&&c.exit(),b=b.next;f=a,e&&e.enter()};if(j)g=function(){d.nextTick(e)};else if(k){var m=1,l=document.createTextNode("");new k(e).observe(l,{characterData:!0}),g=function(){l.data=m=-m}}else g=i&&i.resolve?function(){i.resolve().then(e)}:function(){o.call(c,e)};n.exports=function asap(e){var c={fn:e,next:a,domain:j&&d.domain};f&&(f.next=c),b||(b=c,g()),f=c}},function(s,t,b){var c,g,f,k=b(12),r=b(19),n=b(14),p=b(15),a=b(4),l=a.process,h=a.setImmediate,i=a.clearImmediate,o=a.MessageChannel,j=0,d={},q="onreadystatechange",e=function(){var a=+this;if(d.hasOwnProperty(a)){var b=d[a];delete d[a],b()}},m=function(a){e.call(a.data)};h&&i||(h=function setImmediate(a){for(var b=[],e=1;arguments.length>e;)b.push(arguments[e++]);return d[++j]=function(){r("function"==typeof a?a:Function(a),b)},c(j),j},i=function clearImmediate(a){delete d[a]},"process"==b(18)(l)?c=function(a){l.nextTick(k(e,a,1))}:o?(g=new o,f=g.port2,g.port1.onmessage=m,c=k(f.postMessage,f,1)):a.addEventListener&&"function"==typeof postMessage&&!a.importScripts?(c=function(b){a.postMessage(b+"","*")},a.addEventListener("message",m,!1)):c=q in p("script")?function(a){n.appendChild(p("script"))[q]=function(){n.removeChild(this),e.call(a)}}:function(a){setTimeout(k(e,a,1),0)}),s.exports={set:h,clear:i}},function(a,d,b){var c=b(10);a.exports=function(a,b){for(var d in b)c(a,d,b[d]);return a}},function(d,e,c){var b=c(144);c(145)("Map",function(b){return function Map(){return b(this,arguments.length>0?arguments[0]:a)}},{get:function get(c){var a=b.getEntry(this,c);return a&&a.v},set:function set(a,c){return b.def(this,0===a?0:a,c)}},b,!0)},function(v,w,b){var j=b(2),m=b(6),o=b(142),n=b(12),p=b(137),r=b(22),t=b(138),l=b(108),d=b(119),f=b(11)("id"),k=b(17),h=b(16),q=b(121),i=b(8),s=Object.isExtensible||h,c=i?"_s":"size",u=0,g=function(a,b){if(!h(a))return"symbol"==typeof a?a:("string"==typeof a?"S":"P")+a;if(!k(a,f)){if(!s(a))return"F";if(!b)return"E";m(a,f,++u)}return"O"+a[f]},e=function(b,c){var a,d=g(c);if("F"!==d)return b._i[d];for(a=b._f;a;a=a.n)if(a.k==c)return a};v.exports={getConstructor:function(d,f,g,h){var b=d(function(d,e){p(d,b,f),d._i=j.create(null),d._f=a,d._l=a,d[c]=0,e!=a&&t(e,g,d[h],d)});return o(b.prototype,{clear:function clear(){for(var d=this,e=d._i,b=d._f;b;b=b.n)b.r=!0,b.p&&(b.p=b.p.n=a),delete e[b.i];d._f=d._l=a,d[c]=0},"delete":function(g){var b=this,a=e(b,g);if(a){var d=a.n,f=a.p;delete b._i[a.i],a.r=!0,f&&(f.n=d),d&&(d.p=f),b._f==a&&(b._f=d),b._l==a&&(b._l=f),b[c]--}return!!a},forEach:function forEach(c){for(var b,d=n(c,arguments.length>1?arguments[1]:a,3);b=b?b.n:this._f;)for(d(b.v,b.k,this);b&&b.r;)b=b.p},has:function has(a){return!!e(this,a)}}),i&&j.setDesc(b.prototype,"size",{get:function(){return r(this[c])}}),b},def:function(b,f,j){var h,i,d=e(b,f);return d?d.v=j:(b._l=d={i:i=g(f,!0),k:f,v:j,p:h=b._l,n:a,r:!1},b._f||(b._f=d),h&&(h.n=d),b[c]++,"F"!==i&&(b._i[i]=d)),b},getEntry:e,setStrong:function(e,b,c){l(e,b,function(b,c){this._t=b,this._k=c,this._l=a},function(){for(var c=this,e=c._k,b=c._l;b&&b.r;)b=b.p;return c._t&&(c._l=b=b?b.n:c._t._f)?"keys"==e?d(0,b.k):"values"==e?d(0,b.v):d(0,[b.k,b.v]):(c._t=a,d(1))},c?"entries":"values",!c,!0),q(b)}}},function(l,n,b){var k=b(4),c=b(3),g=b(10),f=b(142),i=b(138),j=b(137),d=b(16),e=b(9),h=b(115),m=b(35);l.exports=function(o,v,y,x,p,l){var t=k[o],b=t,s=p?"set":"add",n=b&&b.prototype,w={},r=function(b){var c=n[b];g(n,b,"delete"==b?function(a){return l&&!d(a)?!1:c.call(this,0===a?0:a)}:"has"==b?function has(a){return l&&!d(a)?!1:c.call(this,0===a?0:a)}:"get"==b?function get(b){return l&&!d(b)?a:c.call(this,0===b?0:b)}:"add"==b?function add(a){return c.call(this,0===a?0:a),this}:function set(a,b){return c.call(this,0===a?0:a,b),this})};if("function"==typeof b&&(l||n.forEach&&!e(function(){(new b).entries().next()}))){var u,q=new b,z=q[s](l?{}:-0,1)!=q,A=e(function(){q.has(1)}),B=h(function(a){new b(a)});B||(b=v(function(e,d){j(e,b,o);var c=new t;return d!=a&&i(d,p,c[s],c),c}),b.prototype=n,n.constructor=b),l||q.forEach(function(b,a){u=1/a===-(1/0)}),(A||u)&&(r("delete"),r("has"),p&&r("get")),(u||z)&&r(s),l&&n.clear&&delete n.clear}else b=x.getConstructor(v,o,p,s),f(b.prototype,y);return m(b,o),w[o]=b,c(c.G+c.W+c.F*(b!=t),w),l||x.setStrong(b,o,p),b}},function(d,e,b){var c=b(144);b(145)("Set",function(b){return function Set(){return b(this,arguments.length>0?arguments[0]:a)}},{add:function add(a){return c.def(this,a=0===a?0:a,a)}},c)},function(n,m,b){var l=b(2),k=b(10),c=b(148),d=b(16),j=b(17),i=c.frozenStore,h=c.WEAK,f=Object.isExtensible||d,e={},g=b(145)("WeakMap",function(b){return function WeakMap(){return b(this,arguments.length>0?arguments[0]:a)}},{get:function get(a){if(d(a)){if(!f(a))return i(this).get(a);if(j(a,h))return a[h][this._i]}},set:function set(a,b){return c.def(this,a,b)}},c,!0,!0);7!=(new g).set((Object.freeze||Object)(e),7).get(e)&&l.each.call(["delete","has","get","set"],function(a){var b=g.prototype,c=b[a];k(b,a,function(b,e){if(d(b)&&!f(b)){var g=i(this)[a](b,e);return"set"==a?this:g}return c.call(this,b,e)})})},function(s,t,b){var r=b(6),q=b(142),m=b(20),h=b(16),l=b(137),k=b(138),j=b(28),d=b(17),c=b(11)("weak"),g=Object.isExtensible||h,n=j(5),o=j(6),p=0,e=function(a){return a._l||(a._l=new i)},i=function(){this.a=[]},f=function(a,b){return n(a.a,function(a){return a[0]===b})};i.prototype={get:function(b){var a=f(this,b);return a?a[1]:void 0},has:function(a){return!!f(this,a)},set:function(a,b){var c=f(this,a);c?c[1]=b:this.a.push([a,b])},"delete":function(b){var a=o(this.a,function(a){return a[0]===b});return~a&&this.a.splice(a,1),!!~a}},s.exports={getConstructor:function(f,i,j,m){var b=f(function(c,d){l(c,b,i),c._i=p++,c._l=a,d!=a&&k(d,j,c[m],c)});return q(b.prototype,{"delete":function(a){return h(a)?g(a)?d(a,c)&&d(a[c],this._i)&&delete a[c][this._i]:e(this)["delete"](a):!1},has:function has(a){return h(a)?g(a)?d(a,c)&&d(a[c],this._i):e(this).has(a):!1}}),b},def:function(b,a,f){return g(m(a))?(d(a,c)||r(a,c,{}),a[c][b._i]=f):e(b).set(a,f),b},frozenStore:e,WEAK:c}},function(d,e,b){var c=b(148);b(145)("WeakSet",function(b){return function WeakSet(){return b(this,arguments.length>0?arguments[0]:a)}},{add:function add(a){return c.def(this,a,!0)}},c,!1,!0)},function(d,e,b){var a=b(3),c=Function.apply;a(a.S,"Reflect",{apply:function apply(a,b,d){return c.call(a,b,d)}})},function(i,j,b){var f=b(2),c=b(3),d=b(13),g=b(20),e=b(16),h=Function.bind||b(5).Function.prototype.bind;c(c.S+c.F*b(9)(function(){function F(){}return!(Reflect.construct(function(){},[],F)instanceof F)}),"Reflect",{construct:function construct(c,b){d(c);var j=arguments.length<3?c:d(arguments[2]);if(c==j){if(b!=a)switch(g(b).length){case 0:return new c;case 1:return new c(b[0]);case 2:return new c(b[0],b[1]);case 3:return new c(b[0],b[1],b[2]);case 4:return new c(b[0],b[1],b[2],b[3])}var i=[null];return i.push.apply(i,b),new(h.apply(c,i))}var k=j.prototype,l=f.create(e(k)?k:Object.prototype),m=Function.apply.call(c,l,b);return e(m)?m:l}})},function(e,f,a){var c=a(2),b=a(3),d=a(20);b(b.S+b.F*a(9)(function(){Reflect.defineProperty(c.setDesc({},1,{value:1}),1,{value:2})}),"Reflect",{defineProperty:function defineProperty(a,b,e){d(a);try{return c.setDesc(a,b,e),!0}catch(f){return!1}}})},function(e,f,a){var b=a(3),c=a(2).getDesc,d=a(20);b(b.S,"Reflect",{deleteProperty:function deleteProperty(a,b){var e=c(d(a),b);return e&&!e.configurable?!1:delete a[b]}})},function(f,g,b){var c=b(3),e=b(20),d=function(a){this._t=e(a),this._i=0;var b,c=this._k=[];for(b in a)c.push(b)};b(110)(d,"Object",function(){var c,b=this,d=b._k;do if(b._i>=d.length)return{value:a,done:!0};while(!((c=d[b._i++])in b._t));return{value:c,done:!1}}),c(c.S,"Reflect",{enumerate:function enumerate(a){return new d(a)}})},function(h,i,b){function get(b,h){var d,j,i=arguments.length<3?b:arguments[2];return g(b)===i?b[h]:(d=c.getDesc(b,h))?e(d,"value")?d.value:d.get!==a?d.get.call(i):a:f(j=c.getProto(b))?get(j,h,i):void 0}var c=b(2),e=b(17),d=b(3),f=b(16),g=b(20);d(d.S,"Reflect",{get:get})},function(e,f,a){var c=a(2),b=a(3),d=a(20);b(b.S,"Reflect",{getOwnPropertyDescriptor:function getOwnPropertyDescriptor(a,b){return c.getDesc(d(a),b)}})},function(e,f,a){var b=a(3),c=a(2).getProto,d=a(20);b(b.S,"Reflect",{getPrototypeOf:function getPrototypeOf(a){return c(d(a))}})},function(c,d,b){var a=b(3);a(a.S,"Reflect",{has:function has(a,b){return b in a}})},function(e,f,a){var b=a(3),d=a(20),c=Object.isExtensible;b(b.S,"Reflect",{isExtensible:function isExtensible(a){return d(a),c?c(a):!0}})},function(c,d,a){var b=a(3);b(b.S,"Reflect",{ownKeys:a(161)})},function(d,f,a){var b=a(2),e=a(20),c=a(4).Reflect;d.exports=c&&c.ownKeys||function ownKeys(a){var c=b.getNames(e(a)),d=b.getSymbols;return d?c.concat(d(a)):c}},function(e,f,a){var b=a(3),d=a(20),c=Object.preventExtensions;b(b.S,"Reflect",{preventExtensions:function preventExtensions(a){d(a);try{return c&&c(a),!0}catch(b){return!1}}})},function(i,j,b){function set(j,i,k){var l,m,d=arguments.length<4?j:arguments[3],b=c.getDesc(h(j),i);if(!b){if(f(m=c.getProto(j)))return set(m,i,k,d);b=e(0)}return g(b,"value")?b.writable!==!1&&f(d)?(l=c.getDesc(d,i)||e(0),l.value=k,c.setDesc(d,i,l),!0):!1:b.set===a?!1:(b.set.call(d,k),!0)}var c=b(2),g=b(17),d=b(3),e=b(7),h=b(20),f=b(16);d(d.S,"Reflect",{set:set})},function(d,e,b){var c=b(3),a=b(45);a&&c(c.S,"Reflect",{setPrototypeOf:function setPrototypeOf(b,c){a.check(b,c);try{return a.set(b,c),!0}catch(d){return!1}}})},function(e,f,b){var c=b(3),d=b(33)(!0);c(c.P,"Array",{includes:function includes(b){return d(this,b,arguments.length>1?arguments[1]:a)}}),b(118)("includes")},function(d,e,a){var b=a(3),c=a(98)(!0);b(b.P,"String",{at:function at(a){return c(this,a)}})},function(e,f,b){var c=b(3),d=b(168);c(c.P,"String",{padLeft:function padLeft(b){return d(this,b,arguments.length>1?arguments[1]:a,!0)}})},function(c,g,b){var d=b(27),e=b(105),f=b(22);c.exports=function(l,m,i,n){var c=String(f(l)),j=c.length,g=i===a?" ":String(i),k=d(m);if(j>=k)return c;""==g&&(g=" ");var h=k-j,b=e.call(g,Math.ceil(h/g.length));return b.length>h&&(b=b.slice(0,h)),n?b+c:c+b}},function(e,f,b){var c=b(3),d=b(168);c(c.P,"String",{padRight:function padRight(b){return d(this,b,arguments.length>1?arguments[1]:a,!1)}})},function(b,c,a){a(63)("trimLeft",function(a){return function trimLeft(){return a(this,1)}})},function(b,c,a){a(63)("trimRight",function(a){return function trimRight(){return a(this,2)}})},function(d,e,a){var b=a(3),c=a(173)(/[\\^$*+?.()|[\]{}]/g,"\\$&");b(b.S,"RegExp",{escape:function escape(a){return c(a)}})},function(a,b){a.exports=function(b,a){var c=a===Object(a)?function(b){return a[b]}:a;return function(a){return String(a).replace(b,c)}}},function(g,h,a){var b=a(2),c=a(3),d=a(161),e=a(23),f=a(7);c(c.S,"Object",{getOwnPropertyDescriptors:function getOwnPropertyDescriptors(k){for(var a,g,h=e(k),l=b.setDesc,m=b.getDesc,i=d(h),c={},j=0;i.length>j;)g=m(h,a=i[j++]),a in c?l(c,a,f(0,g)):c[a]=g;return c}})},function(d,e,a){var b=a(3),c=a(176)(!1);b(b.S,"Object",{values:function values(a){return c(a)}})},function(c,f,a){var b=a(2),d=a(23),e=b.isEnum;c.exports=function(a){return function(j){for(var c,f=d(j),g=b.getKeys(f),k=g.length,h=0,i=[];k>h;)e.call(f,c=g[h++])&&i.push(a?[c,f[c]]:f[c]);return i}}},function(d,e,a){var b=a(3),c=a(176)(!0);b(b.S,"Object",{entries:function entries(a){return c(a)}})},function(c,d,a){var b=a(3);b(b.P,"Map",{toJSON:a(179)("Map")})},function(b,e,a){var c=a(138),d=a(47);b.exports=function(a){return function toJSON(){if(d(this)!=a)throw TypeError(a+"#toJSON isn't generic");var b=[];return c(this,!1,b.push,b),b}}},function(c,d,a){var b=a(3);b(b.P,"Set",{toJSON:a(179)("Set")})},function(d,e,b){var a=b(3),c=b(141);a(a.G+a.B,{setImmediate:c.set,clearImmediate:c.clear})},function(l,k,a){a(117);var g=a(4),j=a(6),c=a(109),b=a(31)("iterator"),h=g.NodeList,i=g.HTMLCollection,e=h&&h.prototype,d=i&&i.prototype,f=c.NodeList=c.HTMLCollection=c.Array;e&&!e[b]&&j(e,b,f),d&&!d[b]&&j(d,b,f)},function(i,j,a){var c=a(4),b=a(3),g=a(19),h=a(184),d=c.navigator,e=!!d&&/MSIE .\./.test(d.userAgent),f=function(a){return e?function(b,c){return a(g(h,[].slice.call(arguments,2),"function"==typeof b?b:Function(b)),c)}:a};b(b.G+b.B+b.F*e,{setTimeout:f(c.setTimeout),setInterval:f(c.setInterval)})},function(c,f,a){var d=a(185),b=a(19),e=a(13);c.exports=function(){for(var h=e(this),a=arguments.length,c=Array(a),f=0,i=d._,g=!1;a>f;)(c[f]=arguments[f++])===i&&(g=!0);return function(){var d,k=this,f=arguments,l=f.length,e=0,j=0;if(!g&&!l)return b(h,c,k);if(d=c.slice(),g)for(;a>e;e++)d[e]===i&&(d[e]=f[j++]);for(;l>j;)d.push(f[j++]);return b(h,d,k)}}},function(a,c,b){a.exports=b(4)},function(x,w,b){function Dict(b){var c=f.create(null);return b!=a&&(r(b)?q(b,!0,function(a,b){c[a]=b}):o(c,b)),c}function reduce(g,h,l){p(h);var a,c,b=i(g),e=k(b),j=e.length,f=0;if(arguments.length<3){if(!j)throw TypeError("Reduce of empty object with no initial value");a=b[e[f++]]}else a=Object(l);for(;j>f;)d(b,c=e[f++])&&(a=h(a,b[c],c,g));return a}function includes(c,b){return(b==b?j(c,b):l(c,function(a){return a!=a}))!==a}function get(a,b){return d(a,b)?a[b]:void 0}function set(a,b,c){return v&&b in Object?f.setDesc(a,b,t(0,c)):a[b]=c,a}function isDict(a){return u(a)&&f.getProto(a)===Dict.prototype}var f=b(2),n=b(12),e=b(3),t=b(7),o=b(41),j=b(36),p=b(13),q=b(138),r=b(187),s=b(110),g=b(119),u=b(16),i=b(23),v=b(8),d=b(17),k=f.getKeys,c=function(b){var e=1==b,c=4==b;return function(l,m,o){var f,h,g,p=n(m,o,3),k=i(l),j=e||7==b||2==b?new("function"==typeof this?this:Dict):a;for(f in k)if(d(k,f)&&(h=k[f],g=p(h,f,l),b))if(e)j[f]=g;else if(g)switch(b){case 2:j[f]=h;break;case 3:return!0;case 5:return h;case 6:return f;case 7:j[g[0]]=g[1]}else if(c)return!1;return 3==b||c?c:j}},l=c(6),h=function(a){return function(b){return new m(b,a)}},m=function(a,b){this._t=i(a),this._a=k(a),this._i=0,this._k=b};s(m,"Dict",function(){var c,b=this,e=b._t,f=b._a,h=b._k;do if(b._i>=f.length)return b._t=a,g(1);while(!d(e,c=f[b._i++]));return"keys"==h?g(0,c):"values"==h?g(0,e[c]):g(0,[c,e[c]])}),Dict.prototype=null,e(e.G+e.F,{Dict:Dict}),e(e.S,"Dict",{keys:h("keys"),values:h("values"),entries:h("entries"),forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findKey:l,mapPairs:c(7),reduce:reduce,keyOf:j,includes:includes,has:d,get:get,set:set,isDict:isDict})},function(c,g,b){var d=b(47),e=b(31)("iterator"),f=b(109);c.exports=b(5).isIterable=function(c){var b=Object(c);return b[e]!==a||"@@iterator"in b||f.hasOwnProperty(d(b))}},function(b,e,a){var c=a(20),d=a(114);b.exports=a(5).getIterator=function(a){var b=d(a);if("function"!=typeof b)throw TypeError(a+" is not iterable!");return c(b.call(a))}},function(f,g,a){var c=a(4),d=a(5),b=a(3),e=a(184);b(b.G+b.F,{delay:function delay(a){return new(d.Promise||c.Promise)(function(b){setTimeout(e.call(b,!0),a)})}})},function(d,e,a){var c=a(185),b=a(3);a(5)._=c._=c._||{},b(b.P+b.F,"Function",{part:a(184)})},function(c,d,b){var a=b(3);a(a.S+a.F,"Object",{isObject:b(16)})},function(c,d,b){var a=b(3);a(a.S+a.F,"Object",{classof:b(47)})},function(d,e,b){var a=b(3),c=b(194);a(a.S+a.F,"Object",{define:c})},function(c,f,a){var b=a(2),d=a(161),e=a(23);c.exports=function define(a,c){for(var f,g=d(e(c)),i=g.length,h=0;i>h;)b.setDesc(a,f=g[h++],b.getDesc(c,f));return a}},function(e,f,a){var b=a(3),c=a(194),d=a(2).create;b(b.S+b.F,"Object",{make:function(a,b){return c(d(a),b)}})},function(c,d,b){b(108)(Number,"Number",function(a){this._l=+a,this._i=0},function(){var b=this._i++,c=!(this._l>b);return{done:c,value:c?a:b}})},function(d,e,b){var a=b(3),c=b(173)(/[&<>"']/g,{"&":"&","<":"<",">":">",'"':""","'":"'"});a(a.P+a.F,"String",{escapeHTML:function escapeHTML(){return c(this)}})},function(d,e,b){var a=b(3),c=b(173)(/&(?:amp|lt|gt|quot|apos);/g,{"&":"&","<":"<",">":">",""":'"',"'":"'"});a(a.P+a.F,"String",{unescapeHTML:function unescapeHTML(){return c(this)}})},function(g,h,a){var e=a(2),f=a(4),b=a(3),c={},d=!0;e.each.call("assert,clear,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,isIndependentlyComposed,log,markTimeline,profile,profileEnd,table,time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn".split(","),function(a){c[a]=function(){var b=f.console;return d&&b&&b[a]?Function.apply.call(b[a],b,arguments):void 0}}),b(b.G+b.F,{log:a(41)(c.log,c,{enable:function(){d=!0},disable:function(){d=!1}})})},function(i,j,b){var g=b(2),e=b(3),h=b(12),f=b(5).Array||Array,c={},d=function(d,b){g.each.call(d.split(","),function(d){b==a&&d in f?c[d]=f[d]:d in[]&&(c[d]=h(Function.call,[][d],b))})};d("pop,reverse,shift,keys,values,entries",1),d("indexOf,every,some,forEach,map,filter,find,findIndex,includes",3),d("join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill"),e(e.S,"Array",c)}]),"undefined"!=typeof module&&module.exports?module.exports=b:"function"==typeof define&&define.amd?define(function(){return b}):c.core=b}(1,1);
-//# sourceMappingURL=core.min.js.map
\ No newline at end of file
diff --git a/node_modules/core-js/client/core.min.js.map b/node_modules/core-js/client/core.min.js.map
deleted file mode 100644
index eaa2482..0000000
--- a/node_modules/core-js/client/core.min.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["core.js"],"names":["__e","__g","undefined","modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","m","c","p","IE8_DOM_DEFINE","$","$export","DESCRIPTORS","createDesc","html","cel","has","cof","invoke","fails","anObject","aFunction","isObject","toObject","toIObject","toInteger","toIndex","toLength","IObject","IE_PROTO","createArrayMethod","arrayIndexOf","ObjectProto","Object","prototype","ArrayProto","Array","arraySlice","slice","arrayJoin","join","defineProperty","setDesc","getOwnDescriptor","getDesc","defineProperties","setDescs","factories","get","a","O","P","Attributes","e","TypeError","value","propertyIsEnumerable","Properties","keys","getKeys","length","i","S","F","getOwnPropertyDescriptor","keys1","split","keys2","concat","keysLen1","createDict","iframeDocument","iframe","gt","style","display","appendChild","src","contentWindow","document","open","write","close","createGetKeys","names","object","key","result","push","Empty","getPrototypeOf","getProto","constructor","getOwnPropertyNames","getNames","create","construct","len","args","n","Function","bind","that","fn","this","partArgs","arguments","bound","begin","end","klass","start","upTo","size","cloned","charAt","separator","isArray","createArrayReduce","isRight","callbackfn","memo","index","methodize","$fn","arg1","forEach","each","map","filter","some","every","reduce","reduceRight","indexOf","lastIndexOf","el","fromIndex","Math","min","now","Date","lz","num","toISOString","NaN","isFinite","RangeError","d","y","getUTCFullYear","getUTCMilliseconds","s","abs","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","$Object","isEnum","getSymbols","getOwnPropertySymbols","global","core","hide","redefine","ctx","PROTOTYPE","type","name","source","own","out","exp","IS_FORCED","IS_GLOBAL","G","IS_STATIC","IS_PROTO","IS_BIND","B","target","expProto","W","window","self","version","bitmap","enumerable","configurable","writable","exec","SRC","TO_STRING","$toString","TPL","inspectSource","it","val","safe","hasOwnProperty","String","toString","px","random","b","apply","documentElement","is","createElement","un","defined","ceil","floor","isNaN","max","asc","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","res","f","SPECIES","original","C","arg","store","uid","Symbol","SHARED","IS_INCLUDES","$fails","shared","setToStringTag","wks","keyOf","$names","enumKeys","_create","$Symbol","$JSON","JSON","_stringify","stringify","setter","HIDDEN","SymbolRegistry","AllSymbols","useNative","setSymbolDesc","D","protoDesc","wrap","tag","sym","_k","set","isSymbol","$defineProperty","$defineProperties","l","$create","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","$stringify","replacer","$replacer","$$","buggyJSON","symbolStatics","for","keyFor","useSetter","useSimple","def","TAG","stat","windowNames","getWindowNames","symbols","assign","A","K","k","T","$$len","j","x","setPrototypeOf","check","proto","test","buggy","__proto__","classof","ARG","callee","$freeze","freeze","KEY","$seal","seal","$preventExtensions","preventExtensions","$isFrozen","isFrozen","$isSealed","isSealed","$isExtensible","isExtensible","$getPrototypeOf","$keys","FProto","nameRE","NAME","match","HAS_INSTANCE","FunctionProto","toPrimitive","$trim","trim","NUMBER","$Number","Base","BROKEN_COF","TRIM","toNumber","argument","third","radix","maxCode","first","charCodeAt","code","digits","parseInt","Number","valueOf","spaces","space","non","ltrim","RegExp","rtrim","exporter","string","replace","EPSILON","pow","_isFinite","isInteger","number","isSafeInteger","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","parseFloat","log1p","sqrt","$acosh","acosh","MAX_VALUE","log","LN2","asinh","atanh","sign","cbrt","clz32","LOG2E","cosh","expm1","EPSILON32","MAX32","MIN32","roundTiesToEven","fround","$abs","$sign","Infinity","hypot","value1","value2","div","sum","larg","$imul","imul","UINT16","xn","yn","xl","yl","log10","LN10","log2","sinh","tanh","trunc","fromCharCode","$fromCodePoint","fromCodePoint","raw","callSite","tpl","$at","codePointAt","pos","context","ENDS_WITH","$endsWith","endsWith","searchString","endPosition","search","isRegExp","MATCH","re","INCLUDES","includes","repeat","count","str","STARTS_WITH","$startsWith","startsWith","iterated","_t","_i","point","done","LIBRARY","Iterators","$iterCreate","ITERATOR","BUGGY","FF_ITERATOR","KEYS","VALUES","returnThis","Constructor","next","DEFAULT","IS_SET","FORCED","methods","getMethod","kind","values","entries","DEF_VALUES","VALUES_BUG","$native","$default","IteratorPrototype","descriptor","isArrayIter","getIterFn","iter","from","arrayLike","step","iterator","mapfn","mapping","iterFn","ret","getIteratorMethod","SAFE_CLOSING","riter","skipClosing","arr","of","addToUnscopables","Arguments","UNSCOPABLES","copyWithin","to","inc","fill","endPos","$find","forced","find","findIndex","$flags","$RegExp","re1","re2","CORRECT_NEW","piRE","fiU","ignoreCase","multiline","unicode","sticky","flags","regexp","SYMBOL","REPLACE","$replace","searchValue","replaceValue","SEARCH","SPLIT","$split","limit","Wrapper","strictNew","forOf","setProto","same","speciesConstructor","asap","PROMISE","process","isNode","testResolve","sub","resolve","USE_NATIVE","P2","works","then","thenableThenGotten","sameConstructor","getConstructor","isThenable","PromiseCapability","reject","promise","$$resolve","$$reject","perform","error","notify","record","isReject","chain","v","ok","run","reaction","handler","fail","h","setTimeout","console","isUnhandled","emit","onunhandledrejection","reason","_d","$reject","r","$resolve","wrapper","Promise","executor","err","onFulfilled","onRejected","catch","capability","all","iterable","abrupt","remaining","results","alreadyCalled","race","head","last","macrotask","Observer","MutationObserver","WebKitMutationObserver","flush","parent","domain","exit","enter","nextTick","toggle","node","createTextNode","observe","characterData","data","task","defer","channel","port","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","counter","queue","ONREADYSTATECHANGE","listner","event","port2","port1","onmessage","postMessage","addEventListener","importScripts","removeChild","clear","strong","Map","entry","getEntry","redefineAll","$iterDefine","ID","$has","setSpecies","SIZE","fastKey","_f","ADDER","_l","delete","prev","setStrong","$iterDetect","common","IS_WEAK","fixMethod","add","BUGGY_ZERO","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","Set","weak","frozenStore","WEAK","tmp","$WeakMap","WeakMap","method","arrayFind","arrayFindIndex","FrozenStore","findFrozen","splice","WeakSet","_apply","thisArgument","argumentsList","Reflect","Target","newTarget","$args","propertyKey","attributes","deleteProperty","desc","Enumerate","enumerate","receiver","ownKeys","V","existingDescriptor","ownDesc","$includes","at","$pad","padLeft","maxLength","fillString","left","stringLength","fillStr","intMaxLength","fillLen","stringFiller","padRight","trimLeft","trimRight","$re","escape","regExp","part","getOwnPropertyDescriptors","$values","isEntries","$entries","toJSON","$task","NL","NodeList","HTC","HTMLCollection","NLProto","HTCProto","ArrayValues","partial","navigator","MSIE","userAgent","time","setInterval","path","pargs","_","holder","Dict","dict","isIterable","init","findKey","isDict","createDictMethod","createDictIter","DictIterator","_a","mapPairs","getIterator","delay","define","mixin","make","&","<",">","\"","'","escapeHTML","&","<",">",""","'","unescapeHTML","enabled","$console","enable","disable","$ctx","$Array","statics","setStatics","amd"],"mappings":"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","file":"core.min.js"}
\ No newline at end of file
diff --git a/node_modules/core-js/client/library.js b/node_modules/core-js/client/library.js
deleted file mode 100644
index f54e39c..0000000
--- a/node_modules/core-js/client/library.js
+++ /dev/null
@@ -1,4544 +0,0 @@
-/**
- * core-js 1.2.6
- * https://github.com/zloirock/core-js
- * License: http://rock.mit-license.org
- * © 2015 Denis Pushkarev
- */
-!function(__e, __g, undefined){
-'use strict';
-/******/ (function(modules) { // webpackBootstrap
-/******/ // The module cache
-/******/ var installedModules = {};
-
-/******/ // The require function
-/******/ function __webpack_require__(moduleId) {
-
-/******/ // Check if module is in cache
-/******/ if(installedModules[moduleId])
-/******/ return installedModules[moduleId].exports;
-
-/******/ // Create a new module (and put it into the cache)
-/******/ var module = installedModules[moduleId] = {
-/******/ exports: {},
-/******/ id: moduleId,
-/******/ loaded: false
-/******/ };
-
-/******/ // Execute the module function
-/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-
-/******/ // Flag the module as loaded
-/******/ module.loaded = true;
-
-/******/ // Return the exports of the module
-/******/ return module.exports;
-/******/ }
-
-
-/******/ // expose the modules object (__webpack_modules__)
-/******/ __webpack_require__.m = modules;
-
-/******/ // expose the module cache
-/******/ __webpack_require__.c = installedModules;
-
-/******/ // __webpack_public_path__
-/******/ __webpack_require__.p = "";
-
-/******/ // Load entry module and return exports
-/******/ return __webpack_require__(0);
-/******/ })
-/************************************************************************/
-/******/ ([
-/* 0 */
-/***/ function(module, exports, __webpack_require__) {
-
- __webpack_require__(1);
- __webpack_require__(32);
- __webpack_require__(40);
- __webpack_require__(42);
- __webpack_require__(44);
- __webpack_require__(46);
- __webpack_require__(48);
- __webpack_require__(49);
- __webpack_require__(50);
- __webpack_require__(51);
- __webpack_require__(52);
- __webpack_require__(53);
- __webpack_require__(54);
- __webpack_require__(55);
- __webpack_require__(56);
- __webpack_require__(57);
- __webpack_require__(58);
- __webpack_require__(59);
- __webpack_require__(60);
- __webpack_require__(62);
- __webpack_require__(63);
- __webpack_require__(64);
- __webpack_require__(65);
- __webpack_require__(66);
- __webpack_require__(67);
- __webpack_require__(68);
- __webpack_require__(70);
- __webpack_require__(71);
- __webpack_require__(72);
- __webpack_require__(74);
- __webpack_require__(75);
- __webpack_require__(76);
- __webpack_require__(78);
- __webpack_require__(79);
- __webpack_require__(80);
- __webpack_require__(81);
- __webpack_require__(82);
- __webpack_require__(83);
- __webpack_require__(84);
- __webpack_require__(85);
- __webpack_require__(86);
- __webpack_require__(87);
- __webpack_require__(88);
- __webpack_require__(89);
- __webpack_require__(90);
- __webpack_require__(92);
- __webpack_require__(94);
- __webpack_require__(98);
- __webpack_require__(99);
- __webpack_require__(101);
- __webpack_require__(102);
- __webpack_require__(106);
- __webpack_require__(112);
- __webpack_require__(113);
- __webpack_require__(116);
- __webpack_require__(118);
- __webpack_require__(120);
- __webpack_require__(122);
- __webpack_require__(123);
- __webpack_require__(124);
- __webpack_require__(131);
- __webpack_require__(134);
- __webpack_require__(135);
- __webpack_require__(137);
- __webpack_require__(138);
- __webpack_require__(139);
- __webpack_require__(140);
- __webpack_require__(141);
- __webpack_require__(142);
- __webpack_require__(143);
- __webpack_require__(144);
- __webpack_require__(145);
- __webpack_require__(146);
- __webpack_require__(147);
- __webpack_require__(148);
- __webpack_require__(150);
- __webpack_require__(151);
- __webpack_require__(152);
- __webpack_require__(153);
- __webpack_require__(154);
- __webpack_require__(155);
- __webpack_require__(157);
- __webpack_require__(158);
- __webpack_require__(159);
- __webpack_require__(160);
- __webpack_require__(162);
- __webpack_require__(163);
- __webpack_require__(165);
- __webpack_require__(166);
- __webpack_require__(168);
- __webpack_require__(169);
- __webpack_require__(170);
- __webpack_require__(171);
- __webpack_require__(174);
- __webpack_require__(109);
- __webpack_require__(176);
- __webpack_require__(175);
- __webpack_require__(177);
- __webpack_require__(178);
- __webpack_require__(179);
- __webpack_require__(180);
- __webpack_require__(181);
- __webpack_require__(183);
- __webpack_require__(184);
- __webpack_require__(185);
- __webpack_require__(186);
- __webpack_require__(187);
- module.exports = __webpack_require__(188);
-
-
-/***/ },
-/* 1 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $ = __webpack_require__(2)
- , $export = __webpack_require__(3)
- , DESCRIPTORS = __webpack_require__(8)
- , createDesc = __webpack_require__(10)
- , html = __webpack_require__(11)
- , cel = __webpack_require__(12)
- , has = __webpack_require__(14)
- , cof = __webpack_require__(15)
- , invoke = __webpack_require__(16)
- , fails = __webpack_require__(9)
- , anObject = __webpack_require__(17)
- , aFunction = __webpack_require__(7)
- , isObject = __webpack_require__(13)
- , toObject = __webpack_require__(18)
- , toIObject = __webpack_require__(20)
- , toInteger = __webpack_require__(22)
- , toIndex = __webpack_require__(23)
- , toLength = __webpack_require__(24)
- , IObject = __webpack_require__(21)
- , IE_PROTO = __webpack_require__(25)('__proto__')
- , createArrayMethod = __webpack_require__(26)
- , arrayIndexOf = __webpack_require__(31)(false)
- , ObjectProto = Object.prototype
- , ArrayProto = Array.prototype
- , arraySlice = ArrayProto.slice
- , arrayJoin = ArrayProto.join
- , defineProperty = $.setDesc
- , getOwnDescriptor = $.getDesc
- , defineProperties = $.setDescs
- , factories = {}
- , IE8_DOM_DEFINE;
-
- if(!DESCRIPTORS){
- IE8_DOM_DEFINE = !fails(function(){
- return defineProperty(cel('div'), 'a', {get: function(){ return 7; }}).a != 7;
- });
- $.setDesc = function(O, P, Attributes){
- if(IE8_DOM_DEFINE)try {
- return defineProperty(O, P, Attributes);
- } catch(e){ /* empty */ }
- if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');
- if('value' in Attributes)anObject(O)[P] = Attributes.value;
- return O;
- };
- $.getDesc = function(O, P){
- if(IE8_DOM_DEFINE)try {
- return getOwnDescriptor(O, P);
- } catch(e){ /* empty */ }
- if(has(O, P))return createDesc(!ObjectProto.propertyIsEnumerable.call(O, P), O[P]);
- };
- $.setDescs = defineProperties = function(O, Properties){
- anObject(O);
- var keys = $.getKeys(Properties)
- , length = keys.length
- , i = 0
- , P;
- while(length > i)$.setDesc(O, P = keys[i++], Properties[P]);
- return O;
- };
- }
- $export($export.S + $export.F * !DESCRIPTORS, 'Object', {
- // 19.1.2.6 / 15.2.3.3 Object.getOwnPropertyDescriptor(O, P)
- getOwnPropertyDescriptor: $.getDesc,
- // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
- defineProperty: $.setDesc,
- // 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)
- defineProperties: defineProperties
- });
-
- // IE 8- don't enum bug keys
- var keys1 = ('constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,' +
- 'toLocaleString,toString,valueOf').split(',')
- // Additional keys for getOwnPropertyNames
- , keys2 = keys1.concat('length', 'prototype')
- , keysLen1 = keys1.length;
-
- // Create object with `null` prototype: use iframe Object with cleared prototype
- var createDict = function(){
- // Thrash, waste and sodomy: IE GC bug
- var iframe = cel('iframe')
- , i = keysLen1
- , gt = '>'
- , iframeDocument;
- iframe.style.display = 'none';
- html.appendChild(iframe);
- iframe.src = 'javascript:'; // eslint-disable-line no-script-url
- // createDict = iframe.contentWindow.Object;
- // html.removeChild(iframe);
- iframeDocument = iframe.contentWindow.document;
- iframeDocument.open();
- iframeDocument.write(' i)if(has(O, key = names[i++])){
- ~arrayIndexOf(result, key) || result.push(key);
- }
- return result;
- };
- };
- var Empty = function(){};
- $export($export.S, 'Object', {
- // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
- getPrototypeOf: $.getProto = $.getProto || function(O){
- O = toObject(O);
- if(has(O, IE_PROTO))return O[IE_PROTO];
- if(typeof O.constructor == 'function' && O instanceof O.constructor){
- return O.constructor.prototype;
- } return O instanceof Object ? ObjectProto : null;
- },
- // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
- getOwnPropertyNames: $.getNames = $.getNames || createGetKeys(keys2, keys2.length, true),
- // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
- create: $.create = $.create || function(O, /*?*/Properties){
- var result;
- if(O !== null){
- Empty.prototype = anObject(O);
- result = new Empty();
- Empty.prototype = null;
- // add "__proto__" for Object.getPrototypeOf shim
- result[IE_PROTO] = O;
- } else result = createDict();
- return Properties === undefined ? result : defineProperties(result, Properties);
- },
- // 19.1.2.14 / 15.2.3.14 Object.keys(O)
- keys: $.getKeys = $.getKeys || createGetKeys(keys1, keysLen1, false)
- });
-
- var construct = function(F, len, args){
- if(!(len in factories)){
- for(var n = [], i = 0; i < len; i++)n[i] = 'a[' + i + ']';
- factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');
- }
- return factories[len](F, args);
- };
-
- // 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)
- $export($export.P, 'Function', {
- bind: function bind(that /*, args... */){
- var fn = aFunction(this)
- , partArgs = arraySlice.call(arguments, 1);
- var bound = function(/* args... */){
- var args = partArgs.concat(arraySlice.call(arguments));
- return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);
- };
- if(isObject(fn.prototype))bound.prototype = fn.prototype;
- return bound;
- }
- });
-
- // fallback for not array-like ES3 strings and DOM objects
- $export($export.P + $export.F * fails(function(){
- if(html)arraySlice.call(html);
- }), 'Array', {
- slice: function(begin, end){
- var len = toLength(this.length)
- , klass = cof(this);
- end = end === undefined ? len : end;
- if(klass == 'Array')return arraySlice.call(this, begin, end);
- var start = toIndex(begin, len)
- , upTo = toIndex(end, len)
- , size = toLength(upTo - start)
- , cloned = Array(size)
- , i = 0;
- for(; i < size; i++)cloned[i] = klass == 'String'
- ? this.charAt(start + i)
- : this[start + i];
- return cloned;
- }
- });
- $export($export.P + $export.F * (IObject != Object), 'Array', {
- join: function join(separator){
- return arrayJoin.call(IObject(this), separator === undefined ? ',' : separator);
- }
- });
-
- // 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
- $export($export.S, 'Array', {isArray: __webpack_require__(28)});
-
- var createArrayReduce = function(isRight){
- return function(callbackfn, memo){
- aFunction(callbackfn);
- var O = IObject(this)
- , length = toLength(O.length)
- , index = isRight ? length - 1 : 0
- , i = isRight ? -1 : 1;
- if(arguments.length < 2)for(;;){
- if(index in O){
- memo = O[index];
- index += i;
- break;
- }
- index += i;
- if(isRight ? index < 0 : length <= index){
- throw TypeError('Reduce of empty array with no initial value');
- }
- }
- for(;isRight ? index >= 0 : length > index; index += i)if(index in O){
- memo = callbackfn(memo, O[index], index, this);
- }
- return memo;
- };
- };
-
- var methodize = function($fn){
- return function(arg1/*, arg2 = undefined */){
- return $fn(this, arg1, arguments[1]);
- };
- };
-
- $export($export.P, 'Array', {
- // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])
- forEach: $.each = $.each || methodize(createArrayMethod(0)),
- // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])
- map: methodize(createArrayMethod(1)),
- // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])
- filter: methodize(createArrayMethod(2)),
- // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])
- some: methodize(createArrayMethod(3)),
- // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])
- every: methodize(createArrayMethod(4)),
- // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])
- reduce: createArrayReduce(false),
- // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])
- reduceRight: createArrayReduce(true),
- // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])
- indexOf: methodize(arrayIndexOf),
- // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])
- lastIndexOf: function(el, fromIndex /* = @[*-1] */){
- var O = toIObject(this)
- , length = toLength(O.length)
- , index = length - 1;
- if(arguments.length > 1)index = Math.min(index, toInteger(fromIndex));
- if(index < 0)index = toLength(length + index);
- for(;index >= 0; index--)if(index in O)if(O[index] === el)return index;
- return -1;
- }
- });
-
- // 20.3.3.1 / 15.9.4.4 Date.now()
- $export($export.S, 'Date', {now: function(){ return +new Date; }});
-
- var lz = function(num){
- return num > 9 ? num : '0' + num;
- };
-
- // 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()
- // PhantomJS / old WebKit has a broken implementations
- $export($export.P + $export.F * (fails(function(){
- return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z';
- }) || !fails(function(){
- new Date(NaN).toISOString();
- })), 'Date', {
- toISOString: function toISOString(){
- if(!isFinite(this))throw RangeError('Invalid time value');
- var d = this
- , y = d.getUTCFullYear()
- , m = d.getUTCMilliseconds()
- , s = y < 0 ? '-' : y > 9999 ? '+' : '';
- return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +
- '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +
- 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +
- ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';
- }
- });
-
-/***/ },
-/* 2 */
-/***/ function(module, exports) {
-
- var $Object = Object;
- module.exports = {
- create: $Object.create,
- getProto: $Object.getPrototypeOf,
- isEnum: {}.propertyIsEnumerable,
- getDesc: $Object.getOwnPropertyDescriptor,
- setDesc: $Object.defineProperty,
- setDescs: $Object.defineProperties,
- getKeys: $Object.keys,
- getNames: $Object.getOwnPropertyNames,
- getSymbols: $Object.getOwnPropertySymbols,
- each: [].forEach
- };
-
-/***/ },
-/* 3 */
-/***/ function(module, exports, __webpack_require__) {
-
- var global = __webpack_require__(4)
- , core = __webpack_require__(5)
- , ctx = __webpack_require__(6)
- , PROTOTYPE = 'prototype';
-
- var $export = function(type, name, source){
- var IS_FORCED = type & $export.F
- , IS_GLOBAL = type & $export.G
- , IS_STATIC = type & $export.S
- , IS_PROTO = type & $export.P
- , IS_BIND = type & $export.B
- , IS_WRAP = type & $export.W
- , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})
- , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]
- , key, own, out;
- if(IS_GLOBAL)source = name;
- for(key in source){
- // contains in native
- own = !IS_FORCED && target && key in target;
- if(own && key in exports)continue;
- // export native or passed
- out = own ? target[key] : source[key];
- // prevent global pollution for namespaces
- exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
- // bind timers to global for call from export context
- : IS_BIND && own ? ctx(out, global)
- // wrap global constructors for prevent change them in library
- : IS_WRAP && target[key] == out ? (function(C){
- var F = function(param){
- return this instanceof C ? new C(param) : C(param);
- };
- F[PROTOTYPE] = C[PROTOTYPE];
- return F;
- // make static versions for prototype methods
- })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
- if(IS_PROTO)(exports[PROTOTYPE] || (exports[PROTOTYPE] = {}))[key] = out;
- }
- };
- // type bitmap
- $export.F = 1; // forced
- $export.G = 2; // global
- $export.S = 4; // static
- $export.P = 8; // proto
- $export.B = 16; // bind
- $export.W = 32; // wrap
- module.exports = $export;
-
-/***/ },
-/* 4 */
-/***/ function(module, exports) {
-
- // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
- var global = module.exports = typeof window != 'undefined' && window.Math == Math
- ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();
- if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef
-
-/***/ },
-/* 5 */
-/***/ function(module, exports) {
-
- var core = module.exports = {version: '1.2.6'};
- if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef
-
-/***/ },
-/* 6 */
-/***/ function(module, exports, __webpack_require__) {
-
- // optional / simple context binding
- var aFunction = __webpack_require__(7);
- module.exports = function(fn, that, length){
- aFunction(fn);
- if(that === undefined)return fn;
- switch(length){
- case 1: return function(a){
- return fn.call(that, a);
- };
- case 2: return function(a, b){
- return fn.call(that, a, b);
- };
- case 3: return function(a, b, c){
- return fn.call(that, a, b, c);
- };
- }
- return function(/* ...args */){
- return fn.apply(that, arguments);
- };
- };
-
-/***/ },
-/* 7 */
-/***/ function(module, exports) {
-
- module.exports = function(it){
- if(typeof it != 'function')throw TypeError(it + ' is not a function!');
- return it;
- };
-
-/***/ },
-/* 8 */
-/***/ function(module, exports, __webpack_require__) {
-
- // Thank's IE8 for his funny defineProperty
- module.exports = !__webpack_require__(9)(function(){
- return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;
- });
-
-/***/ },
-/* 9 */
-/***/ function(module, exports) {
-
- module.exports = function(exec){
- try {
- return !!exec();
- } catch(e){
- return true;
- }
- };
-
-/***/ },
-/* 10 */
-/***/ function(module, exports) {
-
- module.exports = function(bitmap, value){
- return {
- enumerable : !(bitmap & 1),
- configurable: !(bitmap & 2),
- writable : !(bitmap & 4),
- value : value
- };
- };
-
-/***/ },
-/* 11 */
-/***/ function(module, exports, __webpack_require__) {
-
- module.exports = __webpack_require__(4).document && document.documentElement;
-
-/***/ },
-/* 12 */
-/***/ function(module, exports, __webpack_require__) {
-
- var isObject = __webpack_require__(13)
- , document = __webpack_require__(4).document
- // in old IE typeof document.createElement is 'object'
- , is = isObject(document) && isObject(document.createElement);
- module.exports = function(it){
- return is ? document.createElement(it) : {};
- };
-
-/***/ },
-/* 13 */
-/***/ function(module, exports) {
-
- module.exports = function(it){
- return typeof it === 'object' ? it !== null : typeof it === 'function';
- };
-
-/***/ },
-/* 14 */
-/***/ function(module, exports) {
-
- var hasOwnProperty = {}.hasOwnProperty;
- module.exports = function(it, key){
- return hasOwnProperty.call(it, key);
- };
-
-/***/ },
-/* 15 */
-/***/ function(module, exports) {
-
- var toString = {}.toString;
-
- module.exports = function(it){
- return toString.call(it).slice(8, -1);
- };
-
-/***/ },
-/* 16 */
-/***/ function(module, exports) {
-
- // fast apply, http://jsperf.lnkit.com/fast-apply/5
- module.exports = function(fn, args, that){
- var un = that === undefined;
- switch(args.length){
- case 0: return un ? fn()
- : fn.call(that);
- case 1: return un ? fn(args[0])
- : fn.call(that, args[0]);
- case 2: return un ? fn(args[0], args[1])
- : fn.call(that, args[0], args[1]);
- case 3: return un ? fn(args[0], args[1], args[2])
- : fn.call(that, args[0], args[1], args[2]);
- case 4: return un ? fn(args[0], args[1], args[2], args[3])
- : fn.call(that, args[0], args[1], args[2], args[3]);
- } return fn.apply(that, args);
- };
-
-/***/ },
-/* 17 */
-/***/ function(module, exports, __webpack_require__) {
-
- var isObject = __webpack_require__(13);
- module.exports = function(it){
- if(!isObject(it))throw TypeError(it + ' is not an object!');
- return it;
- };
-
-/***/ },
-/* 18 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 7.1.13 ToObject(argument)
- var defined = __webpack_require__(19);
- module.exports = function(it){
- return Object(defined(it));
- };
-
-/***/ },
-/* 19 */
-/***/ function(module, exports) {
-
- // 7.2.1 RequireObjectCoercible(argument)
- module.exports = function(it){
- if(it == undefined)throw TypeError("Can't call method on " + it);
- return it;
- };
-
-/***/ },
-/* 20 */
-/***/ function(module, exports, __webpack_require__) {
-
- // to indexed object, toObject with fallback for non-array-like ES3 strings
- var IObject = __webpack_require__(21)
- , defined = __webpack_require__(19);
- module.exports = function(it){
- return IObject(defined(it));
- };
-
-/***/ },
-/* 21 */
-/***/ function(module, exports, __webpack_require__) {
-
- // fallback for non-array-like ES3 and non-enumerable old V8 strings
- var cof = __webpack_require__(15);
- module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){
- return cof(it) == 'String' ? it.split('') : Object(it);
- };
-
-/***/ },
-/* 22 */
-/***/ function(module, exports) {
-
- // 7.1.4 ToInteger
- var ceil = Math.ceil
- , floor = Math.floor;
- module.exports = function(it){
- return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
- };
-
-/***/ },
-/* 23 */
-/***/ function(module, exports, __webpack_require__) {
-
- var toInteger = __webpack_require__(22)
- , max = Math.max
- , min = Math.min;
- module.exports = function(index, length){
- index = toInteger(index);
- return index < 0 ? max(index + length, 0) : min(index, length);
- };
-
-/***/ },
-/* 24 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 7.1.15 ToLength
- var toInteger = __webpack_require__(22)
- , min = Math.min;
- module.exports = function(it){
- return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
- };
-
-/***/ },
-/* 25 */
-/***/ function(module, exports) {
-
- var id = 0
- , px = Math.random();
- module.exports = function(key){
- return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
- };
-
-/***/ },
-/* 26 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 0 -> Array#forEach
- // 1 -> Array#map
- // 2 -> Array#filter
- // 3 -> Array#some
- // 4 -> Array#every
- // 5 -> Array#find
- // 6 -> Array#findIndex
- var ctx = __webpack_require__(6)
- , IObject = __webpack_require__(21)
- , toObject = __webpack_require__(18)
- , toLength = __webpack_require__(24)
- , asc = __webpack_require__(27);
- module.exports = function(TYPE){
- var IS_MAP = TYPE == 1
- , IS_FILTER = TYPE == 2
- , IS_SOME = TYPE == 3
- , IS_EVERY = TYPE == 4
- , IS_FIND_INDEX = TYPE == 6
- , NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
- return function($this, callbackfn, that){
- var O = toObject($this)
- , self = IObject(O)
- , f = ctx(callbackfn, that, 3)
- , length = toLength(self.length)
- , index = 0
- , result = IS_MAP ? asc($this, length) : IS_FILTER ? asc($this, 0) : undefined
- , val, res;
- for(;length > index; index++)if(NO_HOLES || index in self){
- val = self[index];
- res = f(val, index, O);
- if(TYPE){
- if(IS_MAP)result[index] = res; // map
- else if(res)switch(TYPE){
- case 3: return true; // some
- case 5: return val; // find
- case 6: return index; // findIndex
- case 2: result.push(val); // filter
- } else if(IS_EVERY)return false; // every
- }
- }
- return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
- };
- };
-
-/***/ },
-/* 27 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 9.4.2.3 ArraySpeciesCreate(originalArray, length)
- var isObject = __webpack_require__(13)
- , isArray = __webpack_require__(28)
- , SPECIES = __webpack_require__(29)('species');
- module.exports = function(original, length){
- var C;
- if(isArray(original)){
- C = original.constructor;
- // cross-realm fallback
- if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined;
- if(isObject(C)){
- C = C[SPECIES];
- if(C === null)C = undefined;
- }
- } return new (C === undefined ? Array : C)(length);
- };
-
-/***/ },
-/* 28 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 7.2.2 IsArray(argument)
- var cof = __webpack_require__(15);
- module.exports = Array.isArray || function(arg){
- return cof(arg) == 'Array';
- };
-
-/***/ },
-/* 29 */
-/***/ function(module, exports, __webpack_require__) {
-
- var store = __webpack_require__(30)('wks')
- , uid = __webpack_require__(25)
- , Symbol = __webpack_require__(4).Symbol;
- module.exports = function(name){
- return store[name] || (store[name] =
- Symbol && Symbol[name] || (Symbol || uid)('Symbol.' + name));
- };
-
-/***/ },
-/* 30 */
-/***/ function(module, exports, __webpack_require__) {
-
- var global = __webpack_require__(4)
- , SHARED = '__core-js_shared__'
- , store = global[SHARED] || (global[SHARED] = {});
- module.exports = function(key){
- return store[key] || (store[key] = {});
- };
-
-/***/ },
-/* 31 */
-/***/ function(module, exports, __webpack_require__) {
-
- // false -> Array#indexOf
- // true -> Array#includes
- var toIObject = __webpack_require__(20)
- , toLength = __webpack_require__(24)
- , toIndex = __webpack_require__(23);
- module.exports = function(IS_INCLUDES){
- return function($this, el, fromIndex){
- var O = toIObject($this)
- , length = toLength(O.length)
- , index = toIndex(fromIndex, length)
- , value;
- // Array#includes uses SameValueZero equality algorithm
- if(IS_INCLUDES && el != el)while(length > index){
- value = O[index++];
- if(value != value)return true;
- // Array#toIndex ignores holes, Array#includes - not
- } else for(;length > index; index++)if(IS_INCLUDES || index in O){
- if(O[index] === el)return IS_INCLUDES || index;
- } return !IS_INCLUDES && -1;
- };
- };
-
-/***/ },
-/* 32 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // ECMAScript 6 symbols shim
- var $ = __webpack_require__(2)
- , global = __webpack_require__(4)
- , has = __webpack_require__(14)
- , DESCRIPTORS = __webpack_require__(8)
- , $export = __webpack_require__(3)
- , redefine = __webpack_require__(33)
- , $fails = __webpack_require__(9)
- , shared = __webpack_require__(30)
- , setToStringTag = __webpack_require__(35)
- , uid = __webpack_require__(25)
- , wks = __webpack_require__(29)
- , keyOf = __webpack_require__(36)
- , $names = __webpack_require__(37)
- , enumKeys = __webpack_require__(38)
- , isArray = __webpack_require__(28)
- , anObject = __webpack_require__(17)
- , toIObject = __webpack_require__(20)
- , createDesc = __webpack_require__(10)
- , getDesc = $.getDesc
- , setDesc = $.setDesc
- , _create = $.create
- , getNames = $names.get
- , $Symbol = global.Symbol
- , $JSON = global.JSON
- , _stringify = $JSON && $JSON.stringify
- , setter = false
- , HIDDEN = wks('_hidden')
- , isEnum = $.isEnum
- , SymbolRegistry = shared('symbol-registry')
- , AllSymbols = shared('symbols')
- , useNative = typeof $Symbol == 'function'
- , ObjectProto = Object.prototype;
-
- // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
- var setSymbolDesc = DESCRIPTORS && $fails(function(){
- return _create(setDesc({}, 'a', {
- get: function(){ return setDesc(this, 'a', {value: 7}).a; }
- })).a != 7;
- }) ? function(it, key, D){
- var protoDesc = getDesc(ObjectProto, key);
- if(protoDesc)delete ObjectProto[key];
- setDesc(it, key, D);
- if(protoDesc && it !== ObjectProto)setDesc(ObjectProto, key, protoDesc);
- } : setDesc;
-
- var wrap = function(tag){
- var sym = AllSymbols[tag] = _create($Symbol.prototype);
- sym._k = tag;
- DESCRIPTORS && setter && setSymbolDesc(ObjectProto, tag, {
- configurable: true,
- set: function(value){
- if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;
- setSymbolDesc(this, tag, createDesc(1, value));
- }
- });
- return sym;
- };
-
- var isSymbol = function(it){
- return typeof it == 'symbol';
- };
-
- var $defineProperty = function defineProperty(it, key, D){
- if(D && has(AllSymbols, key)){
- if(!D.enumerable){
- if(!has(it, HIDDEN))setDesc(it, HIDDEN, createDesc(1, {}));
- it[HIDDEN][key] = true;
- } else {
- if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;
- D = _create(D, {enumerable: createDesc(0, false)});
- } return setSymbolDesc(it, key, D);
- } return setDesc(it, key, D);
- };
- var $defineProperties = function defineProperties(it, P){
- anObject(it);
- var keys = enumKeys(P = toIObject(P))
- , i = 0
- , l = keys.length
- , key;
- while(l > i)$defineProperty(it, key = keys[i++], P[key]);
- return it;
- };
- var $create = function create(it, P){
- return P === undefined ? _create(it) : $defineProperties(_create(it), P);
- };
- var $propertyIsEnumerable = function propertyIsEnumerable(key){
- var E = isEnum.call(this, key);
- return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key]
- ? E : true;
- };
- var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){
- var D = getDesc(it = toIObject(it), key);
- if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;
- return D;
- };
- var $getOwnPropertyNames = function getOwnPropertyNames(it){
- var names = getNames(toIObject(it))
- , result = []
- , i = 0
- , key;
- while(names.length > i)if(!has(AllSymbols, key = names[i++]) && key != HIDDEN)result.push(key);
- return result;
- };
- var $getOwnPropertySymbols = function getOwnPropertySymbols(it){
- var names = getNames(toIObject(it))
- , result = []
- , i = 0
- , key;
- while(names.length > i)if(has(AllSymbols, key = names[i++]))result.push(AllSymbols[key]);
- return result;
- };
- var $stringify = function stringify(it){
- if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined
- var args = [it]
- , i = 1
- , $$ = arguments
- , replacer, $replacer;
- while($$.length > i)args.push($$[i++]);
- replacer = args[1];
- if(typeof replacer == 'function')$replacer = replacer;
- if($replacer || !isArray(replacer))replacer = function(key, value){
- if($replacer)value = $replacer.call(this, key, value);
- if(!isSymbol(value))return value;
- };
- args[1] = replacer;
- return _stringify.apply($JSON, args);
- };
- var buggyJSON = $fails(function(){
- var S = $Symbol();
- // MS Edge converts symbol values to JSON as {}
- // WebKit converts symbol values to JSON as null
- // V8 throws on boxed symbols
- return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';
- });
-
- // 19.4.1.1 Symbol([description])
- if(!useNative){
- $Symbol = function Symbol(){
- if(isSymbol(this))throw TypeError('Symbol is not a constructor');
- return wrap(uid(arguments.length > 0 ? arguments[0] : undefined));
- };
- redefine($Symbol.prototype, 'toString', function toString(){
- return this._k;
- });
-
- isSymbol = function(it){
- return it instanceof $Symbol;
- };
-
- $.create = $create;
- $.isEnum = $propertyIsEnumerable;
- $.getDesc = $getOwnPropertyDescriptor;
- $.setDesc = $defineProperty;
- $.setDescs = $defineProperties;
- $.getNames = $names.get = $getOwnPropertyNames;
- $.getSymbols = $getOwnPropertySymbols;
-
- if(DESCRIPTORS && !__webpack_require__(39)){
- redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
- }
- }
-
- var symbolStatics = {
- // 19.4.2.1 Symbol.for(key)
- 'for': function(key){
- return has(SymbolRegistry, key += '')
- ? SymbolRegistry[key]
- : SymbolRegistry[key] = $Symbol(key);
- },
- // 19.4.2.5 Symbol.keyFor(sym)
- keyFor: function keyFor(key){
- return keyOf(SymbolRegistry, key);
- },
- useSetter: function(){ setter = true; },
- useSimple: function(){ setter = false; }
- };
- // 19.4.2.2 Symbol.hasInstance
- // 19.4.2.3 Symbol.isConcatSpreadable
- // 19.4.2.4 Symbol.iterator
- // 19.4.2.6 Symbol.match
- // 19.4.2.8 Symbol.replace
- // 19.4.2.9 Symbol.search
- // 19.4.2.10 Symbol.species
- // 19.4.2.11 Symbol.split
- // 19.4.2.12 Symbol.toPrimitive
- // 19.4.2.13 Symbol.toStringTag
- // 19.4.2.14 Symbol.unscopables
- $.each.call((
- 'hasInstance,isConcatSpreadable,iterator,match,replace,search,' +
- 'species,split,toPrimitive,toStringTag,unscopables'
- ).split(','), function(it){
- var sym = wks(it);
- symbolStatics[it] = useNative ? sym : wrap(sym);
- });
-
- setter = true;
-
- $export($export.G + $export.W, {Symbol: $Symbol});
-
- $export($export.S, 'Symbol', symbolStatics);
-
- $export($export.S + $export.F * !useNative, 'Object', {
- // 19.1.2.2 Object.create(O [, Properties])
- create: $create,
- // 19.1.2.4 Object.defineProperty(O, P, Attributes)
- defineProperty: $defineProperty,
- // 19.1.2.3 Object.defineProperties(O, Properties)
- defineProperties: $defineProperties,
- // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
- getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
- // 19.1.2.7 Object.getOwnPropertyNames(O)
- getOwnPropertyNames: $getOwnPropertyNames,
- // 19.1.2.8 Object.getOwnPropertySymbols(O)
- getOwnPropertySymbols: $getOwnPropertySymbols
- });
-
- // 24.3.2 JSON.stringify(value [, replacer [, space]])
- $JSON && $export($export.S + $export.F * (!useNative || buggyJSON), 'JSON', {stringify: $stringify});
-
- // 19.4.3.5 Symbol.prototype[@@toStringTag]
- setToStringTag($Symbol, 'Symbol');
- // 20.2.1.9 Math[@@toStringTag]
- setToStringTag(Math, 'Math', true);
- // 24.3.3 JSON[@@toStringTag]
- setToStringTag(global.JSON, 'JSON', true);
-
-/***/ },
-/* 33 */
-/***/ function(module, exports, __webpack_require__) {
-
- module.exports = __webpack_require__(34);
-
-/***/ },
-/* 34 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $ = __webpack_require__(2)
- , createDesc = __webpack_require__(10);
- module.exports = __webpack_require__(8) ? function(object, key, value){
- return $.setDesc(object, key, createDesc(1, value));
- } : function(object, key, value){
- object[key] = value;
- return object;
- };
-
-/***/ },
-/* 35 */
-/***/ function(module, exports, __webpack_require__) {
-
- var def = __webpack_require__(2).setDesc
- , has = __webpack_require__(14)
- , TAG = __webpack_require__(29)('toStringTag');
-
- module.exports = function(it, tag, stat){
- if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});
- };
-
-/***/ },
-/* 36 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $ = __webpack_require__(2)
- , toIObject = __webpack_require__(20);
- module.exports = function(object, el){
- var O = toIObject(object)
- , keys = $.getKeys(O)
- , length = keys.length
- , index = 0
- , key;
- while(length > index)if(O[key = keys[index++]] === el)return key;
- };
-
-/***/ },
-/* 37 */
-/***/ function(module, exports, __webpack_require__) {
-
- // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
- var toIObject = __webpack_require__(20)
- , getNames = __webpack_require__(2).getNames
- , toString = {}.toString;
-
- var windowNames = typeof window == 'object' && Object.getOwnPropertyNames
- ? Object.getOwnPropertyNames(window) : [];
-
- var getWindowNames = function(it){
- try {
- return getNames(it);
- } catch(e){
- return windowNames.slice();
- }
- };
-
- module.exports.get = function getOwnPropertyNames(it){
- if(windowNames && toString.call(it) == '[object Window]')return getWindowNames(it);
- return getNames(toIObject(it));
- };
-
-/***/ },
-/* 38 */
-/***/ function(module, exports, __webpack_require__) {
-
- // all enumerable object keys, includes symbols
- var $ = __webpack_require__(2);
- module.exports = function(it){
- var keys = $.getKeys(it)
- , getSymbols = $.getSymbols;
- if(getSymbols){
- var symbols = getSymbols(it)
- , isEnum = $.isEnum
- , i = 0
- , key;
- while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))keys.push(key);
- }
- return keys;
- };
-
-/***/ },
-/* 39 */
-/***/ function(module, exports) {
-
- module.exports = true;
-
-/***/ },
-/* 40 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.3.1 Object.assign(target, source)
- var $export = __webpack_require__(3);
-
- $export($export.S + $export.F, 'Object', {assign: __webpack_require__(41)});
-
-/***/ },
-/* 41 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.1 Object.assign(target, source, ...)
- var $ = __webpack_require__(2)
- , toObject = __webpack_require__(18)
- , IObject = __webpack_require__(21);
-
- // should work with symbols and should have deterministic property order (V8 bug)
- module.exports = __webpack_require__(9)(function(){
- var a = Object.assign
- , A = {}
- , B = {}
- , S = Symbol()
- , K = 'abcdefghijklmnopqrst';
- A[S] = 7;
- K.split('').forEach(function(k){ B[k] = k; });
- return a({}, A)[S] != 7 || Object.keys(a({}, B)).join('') != K;
- }) ? function assign(target, source){ // eslint-disable-line no-unused-vars
- var T = toObject(target)
- , $$ = arguments
- , $$len = $$.length
- , index = 1
- , getKeys = $.getKeys
- , getSymbols = $.getSymbols
- , isEnum = $.isEnum;
- while($$len > index){
- var S = IObject($$[index++])
- , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)
- , length = keys.length
- , j = 0
- , key;
- while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];
- }
- return T;
- } : Object.assign;
-
-/***/ },
-/* 42 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.3.10 Object.is(value1, value2)
- var $export = __webpack_require__(3);
- $export($export.S, 'Object', {is: __webpack_require__(43)});
-
-/***/ },
-/* 43 */
-/***/ function(module, exports) {
-
- // 7.2.9 SameValue(x, y)
- module.exports = Object.is || function is(x, y){
- return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
- };
-
-/***/ },
-/* 44 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.3.19 Object.setPrototypeOf(O, proto)
- var $export = __webpack_require__(3);
- $export($export.S, 'Object', {setPrototypeOf: __webpack_require__(45).set});
-
-/***/ },
-/* 45 */
-/***/ function(module, exports, __webpack_require__) {
-
- // Works with __proto__ only. Old v8 can't work with null proto objects.
- /* eslint-disable no-proto */
- var getDesc = __webpack_require__(2).getDesc
- , isObject = __webpack_require__(13)
- , anObject = __webpack_require__(17);
- var check = function(O, proto){
- anObject(O);
- if(!isObject(proto) && proto !== null)throw TypeError(proto + ": can't set as prototype!");
- };
- module.exports = {
- set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
- function(test, buggy, set){
- try {
- set = __webpack_require__(6)(Function.call, getDesc(Object.prototype, '__proto__').set, 2);
- set(test, []);
- buggy = !(test instanceof Array);
- } catch(e){ buggy = true; }
- return function setPrototypeOf(O, proto){
- check(O, proto);
- if(buggy)O.__proto__ = proto;
- else set(O, proto);
- return O;
- };
- }({}, false) : undefined),
- check: check
- };
-
-/***/ },
-/* 46 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.5 Object.freeze(O)
- var isObject = __webpack_require__(13);
-
- __webpack_require__(47)('freeze', function($freeze){
- return function freeze(it){
- return $freeze && isObject(it) ? $freeze(it) : it;
- };
- });
-
-/***/ },
-/* 47 */
-/***/ function(module, exports, __webpack_require__) {
-
- // most Object methods by ES6 should accept primitives
- var $export = __webpack_require__(3)
- , core = __webpack_require__(5)
- , fails = __webpack_require__(9);
- module.exports = function(KEY, exec){
- var fn = (core.Object || {})[KEY] || Object[KEY]
- , exp = {};
- exp[KEY] = exec(fn);
- $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);
- };
-
-/***/ },
-/* 48 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.17 Object.seal(O)
- var isObject = __webpack_require__(13);
-
- __webpack_require__(47)('seal', function($seal){
- return function seal(it){
- return $seal && isObject(it) ? $seal(it) : it;
- };
- });
-
-/***/ },
-/* 49 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.15 Object.preventExtensions(O)
- var isObject = __webpack_require__(13);
-
- __webpack_require__(47)('preventExtensions', function($preventExtensions){
- return function preventExtensions(it){
- return $preventExtensions && isObject(it) ? $preventExtensions(it) : it;
- };
- });
-
-/***/ },
-/* 50 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.12 Object.isFrozen(O)
- var isObject = __webpack_require__(13);
-
- __webpack_require__(47)('isFrozen', function($isFrozen){
- return function isFrozen(it){
- return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;
- };
- });
-
-/***/ },
-/* 51 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.13 Object.isSealed(O)
- var isObject = __webpack_require__(13);
-
- __webpack_require__(47)('isSealed', function($isSealed){
- return function isSealed(it){
- return isObject(it) ? $isSealed ? $isSealed(it) : false : true;
- };
- });
-
-/***/ },
-/* 52 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.11 Object.isExtensible(O)
- var isObject = __webpack_require__(13);
-
- __webpack_require__(47)('isExtensible', function($isExtensible){
- return function isExtensible(it){
- return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;
- };
- });
-
-/***/ },
-/* 53 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
- var toIObject = __webpack_require__(20);
-
- __webpack_require__(47)('getOwnPropertyDescriptor', function($getOwnPropertyDescriptor){
- return function getOwnPropertyDescriptor(it, key){
- return $getOwnPropertyDescriptor(toIObject(it), key);
- };
- });
-
-/***/ },
-/* 54 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.9 Object.getPrototypeOf(O)
- var toObject = __webpack_require__(18);
-
- __webpack_require__(47)('getPrototypeOf', function($getPrototypeOf){
- return function getPrototypeOf(it){
- return $getPrototypeOf(toObject(it));
- };
- });
-
-/***/ },
-/* 55 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.14 Object.keys(O)
- var toObject = __webpack_require__(18);
-
- __webpack_require__(47)('keys', function($keys){
- return function keys(it){
- return $keys(toObject(it));
- };
- });
-
-/***/ },
-/* 56 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.7 Object.getOwnPropertyNames(O)
- __webpack_require__(47)('getOwnPropertyNames', function(){
- return __webpack_require__(37).get;
- });
-
-/***/ },
-/* 57 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $ = __webpack_require__(2)
- , isObject = __webpack_require__(13)
- , HAS_INSTANCE = __webpack_require__(29)('hasInstance')
- , FunctionProto = Function.prototype;
- // 19.2.3.6 Function.prototype[@@hasInstance](V)
- if(!(HAS_INSTANCE in FunctionProto))$.setDesc(FunctionProto, HAS_INSTANCE, {value: function(O){
- if(typeof this != 'function' || !isObject(O))return false;
- if(!isObject(this.prototype))return O instanceof this;
- // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:
- while(O = $.getProto(O))if(this.prototype === O)return true;
- return false;
- }});
-
-/***/ },
-/* 58 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.1 Number.EPSILON
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Number', {EPSILON: Math.pow(2, -52)});
-
-/***/ },
-/* 59 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.2 Number.isFinite(number)
- var $export = __webpack_require__(3)
- , _isFinite = __webpack_require__(4).isFinite;
-
- $export($export.S, 'Number', {
- isFinite: function isFinite(it){
- return typeof it == 'number' && _isFinite(it);
- }
- });
-
-/***/ },
-/* 60 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.3 Number.isInteger(number)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Number', {isInteger: __webpack_require__(61)});
-
-/***/ },
-/* 61 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.3 Number.isInteger(number)
- var isObject = __webpack_require__(13)
- , floor = Math.floor;
- module.exports = function isInteger(it){
- return !isObject(it) && isFinite(it) && floor(it) === it;
- };
-
-/***/ },
-/* 62 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.4 Number.isNaN(number)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Number', {
- isNaN: function isNaN(number){
- return number != number;
- }
- });
-
-/***/ },
-/* 63 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.5 Number.isSafeInteger(number)
- var $export = __webpack_require__(3)
- , isInteger = __webpack_require__(61)
- , abs = Math.abs;
-
- $export($export.S, 'Number', {
- isSafeInteger: function isSafeInteger(number){
- return isInteger(number) && abs(number) <= 0x1fffffffffffff;
- }
- });
-
-/***/ },
-/* 64 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.6 Number.MAX_SAFE_INTEGER
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff});
-
-/***/ },
-/* 65 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.10 Number.MIN_SAFE_INTEGER
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff});
-
-/***/ },
-/* 66 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.12 Number.parseFloat(string)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Number', {parseFloat: parseFloat});
-
-/***/ },
-/* 67 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.13 Number.parseInt(string, radix)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Number', {parseInt: parseInt});
-
-/***/ },
-/* 68 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.3 Math.acosh(x)
- var $export = __webpack_require__(3)
- , log1p = __webpack_require__(69)
- , sqrt = Math.sqrt
- , $acosh = Math.acosh;
-
- // V8 bug https://code.google.com/p/v8/issues/detail?id=3509
- $export($export.S + $export.F * !($acosh && Math.floor($acosh(Number.MAX_VALUE)) == 710), 'Math', {
- acosh: function acosh(x){
- return (x = +x) < 1 ? NaN : x > 94906265.62425156
- ? Math.log(x) + Math.LN2
- : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));
- }
- });
-
-/***/ },
-/* 69 */
-/***/ function(module, exports) {
-
- // 20.2.2.20 Math.log1p(x)
- module.exports = Math.log1p || function log1p(x){
- return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);
- };
-
-/***/ },
-/* 70 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.5 Math.asinh(x)
- var $export = __webpack_require__(3);
-
- function asinh(x){
- return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));
- }
-
- $export($export.S, 'Math', {asinh: asinh});
-
-/***/ },
-/* 71 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.7 Math.atanh(x)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Math', {
- atanh: function atanh(x){
- return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;
- }
- });
-
-/***/ },
-/* 72 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.9 Math.cbrt(x)
- var $export = __webpack_require__(3)
- , sign = __webpack_require__(73);
-
- $export($export.S, 'Math', {
- cbrt: function cbrt(x){
- return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);
- }
- });
-
-/***/ },
-/* 73 */
-/***/ function(module, exports) {
-
- // 20.2.2.28 Math.sign(x)
- module.exports = Math.sign || function sign(x){
- return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;
- };
-
-/***/ },
-/* 74 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.11 Math.clz32(x)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Math', {
- clz32: function clz32(x){
- return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;
- }
- });
-
-/***/ },
-/* 75 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.12 Math.cosh(x)
- var $export = __webpack_require__(3)
- , exp = Math.exp;
-
- $export($export.S, 'Math', {
- cosh: function cosh(x){
- return (exp(x = +x) + exp(-x)) / 2;
- }
- });
-
-/***/ },
-/* 76 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.14 Math.expm1(x)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Math', {expm1: __webpack_require__(77)});
-
-/***/ },
-/* 77 */
-/***/ function(module, exports) {
-
- // 20.2.2.14 Math.expm1(x)
- module.exports = Math.expm1 || function expm1(x){
- return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;
- };
-
-/***/ },
-/* 78 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.16 Math.fround(x)
- var $export = __webpack_require__(3)
- , sign = __webpack_require__(73)
- , pow = Math.pow
- , EPSILON = pow(2, -52)
- , EPSILON32 = pow(2, -23)
- , MAX32 = pow(2, 127) * (2 - EPSILON32)
- , MIN32 = pow(2, -126);
-
- var roundTiesToEven = function(n){
- return n + 1 / EPSILON - 1 / EPSILON;
- };
-
-
- $export($export.S, 'Math', {
- fround: function fround(x){
- var $abs = Math.abs(x)
- , $sign = sign(x)
- , a, result;
- if($abs < MIN32)return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;
- a = (1 + EPSILON32 / EPSILON) * $abs;
- result = a - (a - $abs);
- if(result > MAX32 || result != result)return $sign * Infinity;
- return $sign * result;
- }
- });
-
-/***/ },
-/* 79 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.17 Math.hypot([value1[, value2[, … ]]])
- var $export = __webpack_require__(3)
- , abs = Math.abs;
-
- $export($export.S, 'Math', {
- hypot: function hypot(value1, value2){ // eslint-disable-line no-unused-vars
- var sum = 0
- , i = 0
- , $$ = arguments
- , $$len = $$.length
- , larg = 0
- , arg, div;
- while(i < $$len){
- arg = abs($$[i++]);
- if(larg < arg){
- div = larg / arg;
- sum = sum * div * div + 1;
- larg = arg;
- } else if(arg > 0){
- div = arg / larg;
- sum += div * div;
- } else sum += arg;
- }
- return larg === Infinity ? Infinity : larg * Math.sqrt(sum);
- }
- });
-
-/***/ },
-/* 80 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.18 Math.imul(x, y)
- var $export = __webpack_require__(3)
- , $imul = Math.imul;
-
- // some WebKit versions fails with big numbers, some has wrong arity
- $export($export.S + $export.F * __webpack_require__(9)(function(){
- return $imul(0xffffffff, 5) != -5 || $imul.length != 2;
- }), 'Math', {
- imul: function imul(x, y){
- var UINT16 = 0xffff
- , xn = +x
- , yn = +y
- , xl = UINT16 & xn
- , yl = UINT16 & yn;
- return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);
- }
- });
-
-/***/ },
-/* 81 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.21 Math.log10(x)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Math', {
- log10: function log10(x){
- return Math.log(x) / Math.LN10;
- }
- });
-
-/***/ },
-/* 82 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.20 Math.log1p(x)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Math', {log1p: __webpack_require__(69)});
-
-/***/ },
-/* 83 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.22 Math.log2(x)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Math', {
- log2: function log2(x){
- return Math.log(x) / Math.LN2;
- }
- });
-
-/***/ },
-/* 84 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.28 Math.sign(x)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Math', {sign: __webpack_require__(73)});
-
-/***/ },
-/* 85 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.30 Math.sinh(x)
- var $export = __webpack_require__(3)
- , expm1 = __webpack_require__(77)
- , exp = Math.exp;
-
- // V8 near Chromium 38 has a problem with very small numbers
- $export($export.S + $export.F * __webpack_require__(9)(function(){
- return !Math.sinh(-2e-17) != -2e-17;
- }), 'Math', {
- sinh: function sinh(x){
- return Math.abs(x = +x) < 1
- ? (expm1(x) - expm1(-x)) / 2
- : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);
- }
- });
-
-/***/ },
-/* 86 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.33 Math.tanh(x)
- var $export = __webpack_require__(3)
- , expm1 = __webpack_require__(77)
- , exp = Math.exp;
-
- $export($export.S, 'Math', {
- tanh: function tanh(x){
- var a = expm1(x = +x)
- , b = expm1(-x);
- return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));
- }
- });
-
-/***/ },
-/* 87 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.34 Math.trunc(x)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Math', {
- trunc: function trunc(it){
- return (it > 0 ? Math.floor : Math.ceil)(it);
- }
- });
-
-/***/ },
-/* 88 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $export = __webpack_require__(3)
- , toIndex = __webpack_require__(23)
- , fromCharCode = String.fromCharCode
- , $fromCodePoint = String.fromCodePoint;
-
- // length should be 1, old FF problem
- $export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {
- // 21.1.2.2 String.fromCodePoint(...codePoints)
- fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars
- var res = []
- , $$ = arguments
- , $$len = $$.length
- , i = 0
- , code;
- while($$len > i){
- code = +$$[i++];
- if(toIndex(code, 0x10ffff) !== code)throw RangeError(code + ' is not a valid code point');
- res.push(code < 0x10000
- ? fromCharCode(code)
- : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)
- );
- } return res.join('');
- }
- });
-
-/***/ },
-/* 89 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $export = __webpack_require__(3)
- , toIObject = __webpack_require__(20)
- , toLength = __webpack_require__(24);
-
- $export($export.S, 'String', {
- // 21.1.2.4 String.raw(callSite, ...substitutions)
- raw: function raw(callSite){
- var tpl = toIObject(callSite.raw)
- , len = toLength(tpl.length)
- , $$ = arguments
- , $$len = $$.length
- , res = []
- , i = 0;
- while(len > i){
- res.push(String(tpl[i++]));
- if(i < $$len)res.push(String($$[i]));
- } return res.join('');
- }
- });
-
-/***/ },
-/* 90 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // 21.1.3.25 String.prototype.trim()
- __webpack_require__(91)('trim', function($trim){
- return function trim(){
- return $trim(this, 3);
- };
- });
-
-/***/ },
-/* 91 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $export = __webpack_require__(3)
- , defined = __webpack_require__(19)
- , fails = __webpack_require__(9)
- , spaces = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' +
- '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'
- , space = '[' + spaces + ']'
- , non = '\u200b\u0085'
- , ltrim = RegExp('^' + space + space + '*')
- , rtrim = RegExp(space + space + '*$');
-
- var exporter = function(KEY, exec){
- var exp = {};
- exp[KEY] = exec(trim);
- $export($export.P + $export.F * fails(function(){
- return !!spaces[KEY]() || non[KEY]() != non;
- }), 'String', exp);
- };
-
- // 1 -> String#trimLeft
- // 2 -> String#trimRight
- // 3 -> String#trim
- var trim = exporter.trim = function(string, TYPE){
- string = String(defined(string));
- if(TYPE & 1)string = string.replace(ltrim, '');
- if(TYPE & 2)string = string.replace(rtrim, '');
- return string;
- };
-
- module.exports = exporter;
-
-/***/ },
-/* 92 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $export = __webpack_require__(3)
- , $at = __webpack_require__(93)(false);
- $export($export.P, 'String', {
- // 21.1.3.3 String.prototype.codePointAt(pos)
- codePointAt: function codePointAt(pos){
- return $at(this, pos);
- }
- });
-
-/***/ },
-/* 93 */
-/***/ function(module, exports, __webpack_require__) {
-
- var toInteger = __webpack_require__(22)
- , defined = __webpack_require__(19);
- // true -> String#at
- // false -> String#codePointAt
- module.exports = function(TO_STRING){
- return function(that, pos){
- var s = String(defined(that))
- , i = toInteger(pos)
- , l = s.length
- , a, b;
- if(i < 0 || i >= l)return TO_STRING ? '' : undefined;
- a = s.charCodeAt(i);
- return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
- ? TO_STRING ? s.charAt(i) : a
- : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
- };
- };
-
-/***/ },
-/* 94 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])
- 'use strict';
- var $export = __webpack_require__(3)
- , toLength = __webpack_require__(24)
- , context = __webpack_require__(95)
- , ENDS_WITH = 'endsWith'
- , $endsWith = ''[ENDS_WITH];
-
- $export($export.P + $export.F * __webpack_require__(97)(ENDS_WITH), 'String', {
- endsWith: function endsWith(searchString /*, endPosition = @length */){
- var that = context(this, searchString, ENDS_WITH)
- , $$ = arguments
- , endPosition = $$.length > 1 ? $$[1] : undefined
- , len = toLength(that.length)
- , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len)
- , search = String(searchString);
- return $endsWith
- ? $endsWith.call(that, search, end)
- : that.slice(end - search.length, end) === search;
- }
- });
-
-/***/ },
-/* 95 */
-/***/ function(module, exports, __webpack_require__) {
-
- // helper for String#{startsWith, endsWith, includes}
- var isRegExp = __webpack_require__(96)
- , defined = __webpack_require__(19);
-
- module.exports = function(that, searchString, NAME){
- if(isRegExp(searchString))throw TypeError('String#' + NAME + " doesn't accept regex!");
- return String(defined(that));
- };
-
-/***/ },
-/* 96 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 7.2.8 IsRegExp(argument)
- var isObject = __webpack_require__(13)
- , cof = __webpack_require__(15)
- , MATCH = __webpack_require__(29)('match');
- module.exports = function(it){
- var isRegExp;
- return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');
- };
-
-/***/ },
-/* 97 */
-/***/ function(module, exports, __webpack_require__) {
-
- var MATCH = __webpack_require__(29)('match');
- module.exports = function(KEY){
- var re = /./;
- try {
- '/./'[KEY](re);
- } catch(e){
- try {
- re[MATCH] = false;
- return !'/./'[KEY](re);
- } catch(f){ /* empty */ }
- } return true;
- };
-
-/***/ },
-/* 98 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 21.1.3.7 String.prototype.includes(searchString, position = 0)
- 'use strict';
- var $export = __webpack_require__(3)
- , context = __webpack_require__(95)
- , INCLUDES = 'includes';
-
- $export($export.P + $export.F * __webpack_require__(97)(INCLUDES), 'String', {
- includes: function includes(searchString /*, position = 0 */){
- return !!~context(this, searchString, INCLUDES)
- .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
-
-/***/ },
-/* 99 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $export = __webpack_require__(3);
-
- $export($export.P, 'String', {
- // 21.1.3.13 String.prototype.repeat(count)
- repeat: __webpack_require__(100)
- });
-
-/***/ },
-/* 100 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var toInteger = __webpack_require__(22)
- , defined = __webpack_require__(19);
-
- module.exports = function repeat(count){
- var str = String(defined(this))
- , res = ''
- , n = toInteger(count);
- if(n < 0 || n == Infinity)throw RangeError("Count can't be negative");
- for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str;
- return res;
- };
-
-/***/ },
-/* 101 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 21.1.3.18 String.prototype.startsWith(searchString [, position ])
- 'use strict';
- var $export = __webpack_require__(3)
- , toLength = __webpack_require__(24)
- , context = __webpack_require__(95)
- , STARTS_WITH = 'startsWith'
- , $startsWith = ''[STARTS_WITH];
-
- $export($export.P + $export.F * __webpack_require__(97)(STARTS_WITH), 'String', {
- startsWith: function startsWith(searchString /*, position = 0 */){
- var that = context(this, searchString, STARTS_WITH)
- , $$ = arguments
- , index = toLength(Math.min($$.length > 1 ? $$[1] : undefined, that.length))
- , search = String(searchString);
- return $startsWith
- ? $startsWith.call(that, search, index)
- : that.slice(index, index + search.length) === search;
- }
- });
-
-/***/ },
-/* 102 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $at = __webpack_require__(93)(true);
-
- // 21.1.3.27 String.prototype[@@iterator]()
- __webpack_require__(103)(String, 'String', function(iterated){
- this._t = String(iterated); // target
- this._i = 0; // next index
- // 21.1.5.2.1 %StringIteratorPrototype%.next()
- }, function(){
- var O = this._t
- , index = this._i
- , point;
- if(index >= O.length)return {value: undefined, done: true};
- point = $at(O, index);
- this._i += point.length;
- return {value: point, done: false};
- });
-
-/***/ },
-/* 103 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var LIBRARY = __webpack_require__(39)
- , $export = __webpack_require__(3)
- , redefine = __webpack_require__(33)
- , hide = __webpack_require__(34)
- , has = __webpack_require__(14)
- , Iterators = __webpack_require__(104)
- , $iterCreate = __webpack_require__(105)
- , setToStringTag = __webpack_require__(35)
- , getProto = __webpack_require__(2).getProto
- , ITERATOR = __webpack_require__(29)('iterator')
- , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`
- , FF_ITERATOR = '@@iterator'
- , KEYS = 'keys'
- , VALUES = 'values';
-
- var returnThis = function(){ return this; };
-
- module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){
- $iterCreate(Constructor, NAME, next);
- var getMethod = function(kind){
- if(!BUGGY && kind in proto)return proto[kind];
- switch(kind){
- case KEYS: return function keys(){ return new Constructor(this, kind); };
- case VALUES: return function values(){ return new Constructor(this, kind); };
- } return function entries(){ return new Constructor(this, kind); };
- };
- var TAG = NAME + ' Iterator'
- , DEF_VALUES = DEFAULT == VALUES
- , VALUES_BUG = false
- , proto = Base.prototype
- , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]
- , $default = $native || getMethod(DEFAULT)
- , methods, key;
- // Fix native
- if($native){
- var IteratorPrototype = getProto($default.call(new Base));
- // Set @@toStringTag to native iterators
- setToStringTag(IteratorPrototype, TAG, true);
- // FF fix
- if(!LIBRARY && has(proto, FF_ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);
- // fix Array#{values, @@iterator}.name in V8 / FF
- if(DEF_VALUES && $native.name !== VALUES){
- VALUES_BUG = true;
- $default = function values(){ return $native.call(this); };
- }
- }
- // Define iterator
- if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){
- hide(proto, ITERATOR, $default);
- }
- // Plug for library
- Iterators[NAME] = $default;
- Iterators[TAG] = returnThis;
- if(DEFAULT){
- methods = {
- values: DEF_VALUES ? $default : getMethod(VALUES),
- keys: IS_SET ? $default : getMethod(KEYS),
- entries: !DEF_VALUES ? $default : getMethod('entries')
- };
- if(FORCED)for(key in methods){
- if(!(key in proto))redefine(proto, key, methods[key]);
- } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
- }
- return methods;
- };
-
-/***/ },
-/* 104 */
-/***/ function(module, exports) {
-
- module.exports = {};
-
-/***/ },
-/* 105 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $ = __webpack_require__(2)
- , descriptor = __webpack_require__(10)
- , setToStringTag = __webpack_require__(35)
- , IteratorPrototype = {};
-
- // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
- __webpack_require__(34)(IteratorPrototype, __webpack_require__(29)('iterator'), function(){ return this; });
-
- module.exports = function(Constructor, NAME, next){
- Constructor.prototype = $.create(IteratorPrototype, {next: descriptor(1, next)});
- setToStringTag(Constructor, NAME + ' Iterator');
- };
-
-/***/ },
-/* 106 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var ctx = __webpack_require__(6)
- , $export = __webpack_require__(3)
- , toObject = __webpack_require__(18)
- , call = __webpack_require__(107)
- , isArrayIter = __webpack_require__(108)
- , toLength = __webpack_require__(24)
- , getIterFn = __webpack_require__(109);
- $export($export.S + $export.F * !__webpack_require__(111)(function(iter){ Array.from(iter); }), 'Array', {
- // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
- from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){
- var O = toObject(arrayLike)
- , C = typeof this == 'function' ? this : Array
- , $$ = arguments
- , $$len = $$.length
- , mapfn = $$len > 1 ? $$[1] : undefined
- , mapping = mapfn !== undefined
- , index = 0
- , iterFn = getIterFn(O)
- , length, result, step, iterator;
- if(mapping)mapfn = ctx(mapfn, $$len > 2 ? $$[2] : undefined, 2);
- // if object isn't iterable or it's array with default iterator - use simple case
- if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){
- for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){
- result[index] = mapping ? call(iterator, mapfn, [step.value, index], true) : step.value;
- }
- } else {
- length = toLength(O.length);
- for(result = new C(length); length > index; index++){
- result[index] = mapping ? mapfn(O[index], index) : O[index];
- }
- }
- result.length = index;
- return result;
- }
- });
-
-
-/***/ },
-/* 107 */
-/***/ function(module, exports, __webpack_require__) {
-
- // call something on iterator step with safe closing on error
- var anObject = __webpack_require__(17);
- module.exports = function(iterator, fn, value, entries){
- try {
- return entries ? fn(anObject(value)[0], value[1]) : fn(value);
- // 7.4.6 IteratorClose(iterator, completion)
- } catch(e){
- var ret = iterator['return'];
- if(ret !== undefined)anObject(ret.call(iterator));
- throw e;
- }
- };
-
-/***/ },
-/* 108 */
-/***/ function(module, exports, __webpack_require__) {
-
- // check on default Array iterator
- var Iterators = __webpack_require__(104)
- , ITERATOR = __webpack_require__(29)('iterator')
- , ArrayProto = Array.prototype;
-
- module.exports = function(it){
- return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
- };
-
-/***/ },
-/* 109 */
-/***/ function(module, exports, __webpack_require__) {
-
- var classof = __webpack_require__(110)
- , ITERATOR = __webpack_require__(29)('iterator')
- , Iterators = __webpack_require__(104);
- module.exports = __webpack_require__(5).getIteratorMethod = function(it){
- if(it != undefined)return it[ITERATOR]
- || it['@@iterator']
- || Iterators[classof(it)];
- };
-
-/***/ },
-/* 110 */
-/***/ function(module, exports, __webpack_require__) {
-
- // getting tag from 19.1.3.6 Object.prototype.toString()
- var cof = __webpack_require__(15)
- , TAG = __webpack_require__(29)('toStringTag')
- // ES3 wrong here
- , ARG = cof(function(){ return arguments; }()) == 'Arguments';
-
- module.exports = function(it){
- var O, T, B;
- return it === undefined ? 'Undefined' : it === null ? 'Null'
- // @@toStringTag case
- : typeof (T = (O = Object(it))[TAG]) == 'string' ? T
- // builtinTag case
- : ARG ? cof(O)
- // ES3 arguments fallback
- : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
- };
-
-/***/ },
-/* 111 */
-/***/ function(module, exports, __webpack_require__) {
-
- var ITERATOR = __webpack_require__(29)('iterator')
- , SAFE_CLOSING = false;
-
- try {
- var riter = [7][ITERATOR]();
- riter['return'] = function(){ SAFE_CLOSING = true; };
- Array.from(riter, function(){ throw 2; });
- } catch(e){ /* empty */ }
-
- module.exports = function(exec, skipClosing){
- if(!skipClosing && !SAFE_CLOSING)return false;
- var safe = false;
- try {
- var arr = [7]
- , iter = arr[ITERATOR]();
- iter.next = function(){ safe = true; };
- arr[ITERATOR] = function(){ return iter; };
- exec(arr);
- } catch(e){ /* empty */ }
- return safe;
- };
-
-/***/ },
-/* 112 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $export = __webpack_require__(3);
-
- // WebKit Array.of isn't generic
- $export($export.S + $export.F * __webpack_require__(9)(function(){
- function F(){}
- return !(Array.of.call(F) instanceof F);
- }), 'Array', {
- // 22.1.2.3 Array.of( ...items)
- of: function of(/* ...args */){
- var index = 0
- , $$ = arguments
- , $$len = $$.length
- , result = new (typeof this == 'function' ? this : Array)($$len);
- while($$len > index)result[index] = $$[index++];
- result.length = $$len;
- return result;
- }
- });
-
-/***/ },
-/* 113 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var addToUnscopables = __webpack_require__(114)
- , step = __webpack_require__(115)
- , Iterators = __webpack_require__(104)
- , toIObject = __webpack_require__(20);
-
- // 22.1.3.4 Array.prototype.entries()
- // 22.1.3.13 Array.prototype.keys()
- // 22.1.3.29 Array.prototype.values()
- // 22.1.3.30 Array.prototype[@@iterator]()
- module.exports = __webpack_require__(103)(Array, 'Array', function(iterated, kind){
- this._t = toIObject(iterated); // target
- this._i = 0; // next index
- this._k = kind; // kind
- // 22.1.5.2.1 %ArrayIteratorPrototype%.next()
- }, function(){
- var O = this._t
- , kind = this._k
- , index = this._i++;
- if(!O || index >= O.length){
- this._t = undefined;
- return step(1);
- }
- if(kind == 'keys' )return step(0, index);
- if(kind == 'values')return step(0, O[index]);
- return step(0, [index, O[index]]);
- }, 'values');
-
- // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
- Iterators.Arguments = Iterators.Array;
-
- addToUnscopables('keys');
- addToUnscopables('values');
- addToUnscopables('entries');
-
-/***/ },
-/* 114 */
-/***/ function(module, exports) {
-
- module.exports = function(){ /* empty */ };
-
-/***/ },
-/* 115 */
-/***/ function(module, exports) {
-
- module.exports = function(done, value){
- return {value: value, done: !!done};
- };
-
-/***/ },
-/* 116 */
-/***/ function(module, exports, __webpack_require__) {
-
- __webpack_require__(117)('Array');
-
-/***/ },
-/* 117 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var core = __webpack_require__(5)
- , $ = __webpack_require__(2)
- , DESCRIPTORS = __webpack_require__(8)
- , SPECIES = __webpack_require__(29)('species');
-
- module.exports = function(KEY){
- var C = core[KEY];
- if(DESCRIPTORS && C && !C[SPECIES])$.setDesc(C, SPECIES, {
- configurable: true,
- get: function(){ return this; }
- });
- };
-
-/***/ },
-/* 118 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
- var $export = __webpack_require__(3);
-
- $export($export.P, 'Array', {copyWithin: __webpack_require__(119)});
-
- __webpack_require__(114)('copyWithin');
-
-/***/ },
-/* 119 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
- 'use strict';
- var toObject = __webpack_require__(18)
- , toIndex = __webpack_require__(23)
- , toLength = __webpack_require__(24);
-
- module.exports = [].copyWithin || function copyWithin(target/*= 0*/, start/*= 0, end = @length*/){
- var O = toObject(this)
- , len = toLength(O.length)
- , to = toIndex(target, len)
- , from = toIndex(start, len)
- , $$ = arguments
- , end = $$.length > 2 ? $$[2] : undefined
- , count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to)
- , inc = 1;
- if(from < to && to < from + count){
- inc = -1;
- from += count - 1;
- to += count - 1;
- }
- while(count-- > 0){
- if(from in O)O[to] = O[from];
- else delete O[to];
- to += inc;
- from += inc;
- } return O;
- };
-
-/***/ },
-/* 120 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
- var $export = __webpack_require__(3);
-
- $export($export.P, 'Array', {fill: __webpack_require__(121)});
-
- __webpack_require__(114)('fill');
-
-/***/ },
-/* 121 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
- 'use strict';
- var toObject = __webpack_require__(18)
- , toIndex = __webpack_require__(23)
- , toLength = __webpack_require__(24);
- module.exports = [].fill || function fill(value /*, start = 0, end = @length */){
- var O = toObject(this)
- , length = toLength(O.length)
- , $$ = arguments
- , $$len = $$.length
- , index = toIndex($$len > 1 ? $$[1] : undefined, length)
- , end = $$len > 2 ? $$[2] : undefined
- , endPos = end === undefined ? length : toIndex(end, length);
- while(endPos > index)O[index++] = value;
- return O;
- };
-
-/***/ },
-/* 122 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)
- var $export = __webpack_require__(3)
- , $find = __webpack_require__(26)(5)
- , KEY = 'find'
- , forced = true;
- // Shouldn't skip holes
- if(KEY in [])Array(1)[KEY](function(){ forced = false; });
- $export($export.P + $export.F * forced, 'Array', {
- find: function find(callbackfn/*, that = undefined */){
- return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
- __webpack_require__(114)(KEY);
-
-/***/ },
-/* 123 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)
- var $export = __webpack_require__(3)
- , $find = __webpack_require__(26)(6)
- , KEY = 'findIndex'
- , forced = true;
- // Shouldn't skip holes
- if(KEY in [])Array(1)[KEY](function(){ forced = false; });
- $export($export.P + $export.F * forced, 'Array', {
- findIndex: function findIndex(callbackfn/*, that = undefined */){
- return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
- __webpack_require__(114)(KEY);
-
-/***/ },
-/* 124 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $ = __webpack_require__(2)
- , LIBRARY = __webpack_require__(39)
- , global = __webpack_require__(4)
- , ctx = __webpack_require__(6)
- , classof = __webpack_require__(110)
- , $export = __webpack_require__(3)
- , isObject = __webpack_require__(13)
- , anObject = __webpack_require__(17)
- , aFunction = __webpack_require__(7)
- , strictNew = __webpack_require__(125)
- , forOf = __webpack_require__(126)
- , setProto = __webpack_require__(45).set
- , same = __webpack_require__(43)
- , SPECIES = __webpack_require__(29)('species')
- , speciesConstructor = __webpack_require__(127)
- , asap = __webpack_require__(128)
- , PROMISE = 'Promise'
- , process = global.process
- , isNode = classof(process) == 'process'
- , P = global[PROMISE]
- , Wrapper;
-
- var testResolve = function(sub){
- var test = new P(function(){});
- if(sub)test.constructor = Object;
- return P.resolve(test) === test;
- };
-
- var USE_NATIVE = function(){
- var works = false;
- function P2(x){
- var self = new P(x);
- setProto(self, P2.prototype);
- return self;
- }
- try {
- works = P && P.resolve && testResolve();
- setProto(P2, P);
- P2.prototype = $.create(P.prototype, {constructor: {value: P2}});
- // actual Firefox has broken subclass support, test that
- if(!(P2.resolve(5).then(function(){}) instanceof P2)){
- works = false;
- }
- // actual V8 bug, https://code.google.com/p/v8/issues/detail?id=4162
- if(works && __webpack_require__(8)){
- var thenableThenGotten = false;
- P.resolve($.setDesc({}, 'then', {
- get: function(){ thenableThenGotten = true; }
- }));
- works = thenableThenGotten;
- }
- } catch(e){ works = false; }
- return works;
- }();
-
- // helpers
- var sameConstructor = function(a, b){
- // library wrapper special case
- if(LIBRARY && a === P && b === Wrapper)return true;
- return same(a, b);
- };
- var getConstructor = function(C){
- var S = anObject(C)[SPECIES];
- return S != undefined ? S : C;
- };
- var isThenable = function(it){
- var then;
- return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
- };
- var PromiseCapability = function(C){
- var resolve, reject;
- this.promise = new C(function($$resolve, $$reject){
- if(resolve !== undefined || reject !== undefined)throw TypeError('Bad Promise constructor');
- resolve = $$resolve;
- reject = $$reject;
- });
- this.resolve = aFunction(resolve),
- this.reject = aFunction(reject)
- };
- var perform = function(exec){
- try {
- exec();
- } catch(e){
- return {error: e};
- }
- };
- var notify = function(record, isReject){
- if(record.n)return;
- record.n = true;
- var chain = record.c;
- asap(function(){
- var value = record.v
- , ok = record.s == 1
- , i = 0;
- var run = function(reaction){
- var handler = ok ? reaction.ok : reaction.fail
- , resolve = reaction.resolve
- , reject = reaction.reject
- , result, then;
- try {
- if(handler){
- if(!ok)record.h = true;
- result = handler === true ? value : handler(value);
- if(result === reaction.promise){
- reject(TypeError('Promise-chain cycle'));
- } else if(then = isThenable(result)){
- then.call(result, resolve, reject);
- } else resolve(result);
- } else reject(value);
- } catch(e){
- reject(e);
- }
- };
- while(chain.length > i)run(chain[i++]); // variable length - can't use forEach
- chain.length = 0;
- record.n = false;
- if(isReject)setTimeout(function(){
- var promise = record.p
- , handler, console;
- if(isUnhandled(promise)){
- if(isNode){
- process.emit('unhandledRejection', value, promise);
- } else if(handler = global.onunhandledrejection){
- handler({promise: promise, reason: value});
- } else if((console = global.console) && console.error){
- console.error('Unhandled promise rejection', value);
- }
- } record.a = undefined;
- }, 1);
- });
- };
- var isUnhandled = function(promise){
- var record = promise._d
- , chain = record.a || record.c
- , i = 0
- , reaction;
- if(record.h)return false;
- while(chain.length > i){
- reaction = chain[i++];
- if(reaction.fail || !isUnhandled(reaction.promise))return false;
- } return true;
- };
- var $reject = function(value){
- var record = this;
- if(record.d)return;
- record.d = true;
- record = record.r || record; // unwrap
- record.v = value;
- record.s = 2;
- record.a = record.c.slice();
- notify(record, true);
- };
- var $resolve = function(value){
- var record = this
- , then;
- if(record.d)return;
- record.d = true;
- record = record.r || record; // unwrap
- try {
- if(record.p === value)throw TypeError("Promise can't be resolved itself");
- if(then = isThenable(value)){
- asap(function(){
- var wrapper = {r: record, d: false}; // wrap
- try {
- then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));
- } catch(e){
- $reject.call(wrapper, e);
- }
- });
- } else {
- record.v = value;
- record.s = 1;
- notify(record, false);
- }
- } catch(e){
- $reject.call({r: record, d: false}, e); // wrap
- }
- };
-
- // constructor polyfill
- if(!USE_NATIVE){
- // 25.4.3.1 Promise(executor)
- P = function Promise(executor){
- aFunction(executor);
- var record = this._d = {
- p: strictNew(this, P, PROMISE), // <- promise
- c: [], // <- awaiting reactions
- a: undefined, // <- checked in isUnhandled reactions
- s: 0, // <- state
- d: false, // <- done
- v: undefined, // <- value
- h: false, // <- handled rejection
- n: false // <- notify
- };
- try {
- executor(ctx($resolve, record, 1), ctx($reject, record, 1));
- } catch(err){
- $reject.call(record, err);
- }
- };
- __webpack_require__(130)(P.prototype, {
- // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)
- then: function then(onFulfilled, onRejected){
- var reaction = new PromiseCapability(speciesConstructor(this, P))
- , promise = reaction.promise
- , record = this._d;
- reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
- reaction.fail = typeof onRejected == 'function' && onRejected;
- record.c.push(reaction);
- if(record.a)record.a.push(reaction);
- if(record.s)notify(record, false);
- return promise;
- },
- // 25.4.5.1 Promise.prototype.catch(onRejected)
- 'catch': function(onRejected){
- return this.then(undefined, onRejected);
- }
- });
- }
-
- $export($export.G + $export.W + $export.F * !USE_NATIVE, {Promise: P});
- __webpack_require__(35)(P, PROMISE);
- __webpack_require__(117)(PROMISE);
- Wrapper = __webpack_require__(5)[PROMISE];
-
- // statics
- $export($export.S + $export.F * !USE_NATIVE, PROMISE, {
- // 25.4.4.5 Promise.reject(r)
- reject: function reject(r){
- var capability = new PromiseCapability(this)
- , $$reject = capability.reject;
- $$reject(r);
- return capability.promise;
- }
- });
- $export($export.S + $export.F * (!USE_NATIVE || testResolve(true)), PROMISE, {
- // 25.4.4.6 Promise.resolve(x)
- resolve: function resolve(x){
- // instanceof instead of internal slot check because we should fix it without replacement native Promise core
- if(x instanceof P && sameConstructor(x.constructor, this))return x;
- var capability = new PromiseCapability(this)
- , $$resolve = capability.resolve;
- $$resolve(x);
- return capability.promise;
- }
- });
- $export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(111)(function(iter){
- P.all(iter)['catch'](function(){});
- })), PROMISE, {
- // 25.4.4.1 Promise.all(iterable)
- all: function all(iterable){
- var C = getConstructor(this)
- , capability = new PromiseCapability(C)
- , resolve = capability.resolve
- , reject = capability.reject
- , values = [];
- var abrupt = perform(function(){
- forOf(iterable, false, values.push, values);
- var remaining = values.length
- , results = Array(remaining);
- if(remaining)$.each.call(values, function(promise, index){
- var alreadyCalled = false;
- C.resolve(promise).then(function(value){
- if(alreadyCalled)return;
- alreadyCalled = true;
- results[index] = value;
- --remaining || resolve(results);
- }, reject);
- });
- else resolve(results);
- });
- if(abrupt)reject(abrupt.error);
- return capability.promise;
- },
- // 25.4.4.4 Promise.race(iterable)
- race: function race(iterable){
- var C = getConstructor(this)
- , capability = new PromiseCapability(C)
- , reject = capability.reject;
- var abrupt = perform(function(){
- forOf(iterable, false, function(promise){
- C.resolve(promise).then(capability.resolve, reject);
- });
- });
- if(abrupt)reject(abrupt.error);
- return capability.promise;
- }
- });
-
-/***/ },
-/* 125 */
-/***/ function(module, exports) {
-
- module.exports = function(it, Constructor, name){
- if(!(it instanceof Constructor))throw TypeError(name + ": use the 'new' operator!");
- return it;
- };
-
-/***/ },
-/* 126 */
-/***/ function(module, exports, __webpack_require__) {
-
- var ctx = __webpack_require__(6)
- , call = __webpack_require__(107)
- , isArrayIter = __webpack_require__(108)
- , anObject = __webpack_require__(17)
- , toLength = __webpack_require__(24)
- , getIterFn = __webpack_require__(109);
- module.exports = function(iterable, entries, fn, that){
- var iterFn = getIterFn(iterable)
- , f = ctx(fn, that, entries ? 2 : 1)
- , index = 0
- , length, step, iterator;
- if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!');
- // fast case for arrays with default iterator
- if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){
- entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
- } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){
- call(iterator, f, step.value, entries);
- }
- };
-
-/***/ },
-/* 127 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 7.3.20 SpeciesConstructor(O, defaultConstructor)
- var anObject = __webpack_require__(17)
- , aFunction = __webpack_require__(7)
- , SPECIES = __webpack_require__(29)('species');
- module.exports = function(O, D){
- var C = anObject(O).constructor, S;
- return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);
- };
-
-/***/ },
-/* 128 */
-/***/ function(module, exports, __webpack_require__) {
-
- var global = __webpack_require__(4)
- , macrotask = __webpack_require__(129).set
- , Observer = global.MutationObserver || global.WebKitMutationObserver
- , process = global.process
- , Promise = global.Promise
- , isNode = __webpack_require__(15)(process) == 'process'
- , head, last, notify;
-
- var flush = function(){
- var parent, domain, fn;
- if(isNode && (parent = process.domain)){
- process.domain = null;
- parent.exit();
- }
- while(head){
- domain = head.domain;
- fn = head.fn;
- if(domain)domain.enter();
- fn(); // <- currently we use it only for Promise - try / catch not required
- if(domain)domain.exit();
- head = head.next;
- } last = undefined;
- if(parent)parent.enter();
- };
-
- // Node.js
- if(isNode){
- notify = function(){
- process.nextTick(flush);
- };
- // browsers with MutationObserver
- } else if(Observer){
- var toggle = 1
- , node = document.createTextNode('');
- new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new
- notify = function(){
- node.data = toggle = -toggle;
- };
- // environments with maybe non-completely correct, but existent Promise
- } else if(Promise && Promise.resolve){
- notify = function(){
- Promise.resolve().then(flush);
- };
- // for other environments - macrotask based on:
- // - setImmediate
- // - MessageChannel
- // - window.postMessag
- // - onreadystatechange
- // - setTimeout
- } else {
- notify = function(){
- // strange IE + webpack dev server bug - use .call(global)
- macrotask.call(global, flush);
- };
- }
-
- module.exports = function asap(fn){
- var task = {fn: fn, next: undefined, domain: isNode && process.domain};
- if(last)last.next = task;
- if(!head){
- head = task;
- notify();
- } last = task;
- };
-
-/***/ },
-/* 129 */
-/***/ function(module, exports, __webpack_require__) {
-
- var ctx = __webpack_require__(6)
- , invoke = __webpack_require__(16)
- , html = __webpack_require__(11)
- , cel = __webpack_require__(12)
- , global = __webpack_require__(4)
- , process = global.process
- , setTask = global.setImmediate
- , clearTask = global.clearImmediate
- , MessageChannel = global.MessageChannel
- , counter = 0
- , queue = {}
- , ONREADYSTATECHANGE = 'onreadystatechange'
- , defer, channel, port;
- var run = function(){
- var id = +this;
- if(queue.hasOwnProperty(id)){
- var fn = queue[id];
- delete queue[id];
- fn();
- }
- };
- var listner = function(event){
- run.call(event.data);
- };
- // Node.js 0.9+ & IE10+ has setImmediate, otherwise:
- if(!setTask || !clearTask){
- setTask = function setImmediate(fn){
- var args = [], i = 1;
- while(arguments.length > i)args.push(arguments[i++]);
- queue[++counter] = function(){
- invoke(typeof fn == 'function' ? fn : Function(fn), args);
- };
- defer(counter);
- return counter;
- };
- clearTask = function clearImmediate(id){
- delete queue[id];
- };
- // Node.js 0.8-
- if(__webpack_require__(15)(process) == 'process'){
- defer = function(id){
- process.nextTick(ctx(run, id, 1));
- };
- // Browsers with MessageChannel, includes WebWorkers
- } else if(MessageChannel){
- channel = new MessageChannel;
- port = channel.port2;
- channel.port1.onmessage = listner;
- defer = ctx(port.postMessage, port, 1);
- // Browsers with postMessage, skip WebWorkers
- // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
- } else if(global.addEventListener && typeof postMessage == 'function' && !global.importScripts){
- defer = function(id){
- global.postMessage(id + '', '*');
- };
- global.addEventListener('message', listner, false);
- // IE8-
- } else if(ONREADYSTATECHANGE in cel('script')){
- defer = function(id){
- html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function(){
- html.removeChild(this);
- run.call(id);
- };
- };
- // Rest old browsers
- } else {
- defer = function(id){
- setTimeout(ctx(run, id, 1), 0);
- };
- }
- }
- module.exports = {
- set: setTask,
- clear: clearTask
- };
-
-/***/ },
-/* 130 */
-/***/ function(module, exports, __webpack_require__) {
-
- var redefine = __webpack_require__(33);
- module.exports = function(target, src){
- for(var key in src)redefine(target, key, src[key]);
- return target;
- };
-
-/***/ },
-/* 131 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var strong = __webpack_require__(132);
-
- // 23.1 Map Objects
- __webpack_require__(133)('Map', function(get){
- return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };
- }, {
- // 23.1.3.6 Map.prototype.get(key)
- get: function get(key){
- var entry = strong.getEntry(this, key);
- return entry && entry.v;
- },
- // 23.1.3.9 Map.prototype.set(key, value)
- set: function set(key, value){
- return strong.def(this, key === 0 ? 0 : key, value);
- }
- }, strong, true);
-
-/***/ },
-/* 132 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $ = __webpack_require__(2)
- , hide = __webpack_require__(34)
- , redefineAll = __webpack_require__(130)
- , ctx = __webpack_require__(6)
- , strictNew = __webpack_require__(125)
- , defined = __webpack_require__(19)
- , forOf = __webpack_require__(126)
- , $iterDefine = __webpack_require__(103)
- , step = __webpack_require__(115)
- , ID = __webpack_require__(25)('id')
- , $has = __webpack_require__(14)
- , isObject = __webpack_require__(13)
- , setSpecies = __webpack_require__(117)
- , DESCRIPTORS = __webpack_require__(8)
- , isExtensible = Object.isExtensible || isObject
- , SIZE = DESCRIPTORS ? '_s' : 'size'
- , id = 0;
-
- var fastKey = function(it, create){
- // return primitive with prefix
- if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
- if(!$has(it, ID)){
- // can't set id to frozen object
- if(!isExtensible(it))return 'F';
- // not necessary to add id
- if(!create)return 'E';
- // add missing object id
- hide(it, ID, ++id);
- // return object id with prefix
- } return 'O' + it[ID];
- };
-
- var getEntry = function(that, key){
- // fast case
- var index = fastKey(key), entry;
- if(index !== 'F')return that._i[index];
- // frozen object case
- for(entry = that._f; entry; entry = entry.n){
- if(entry.k == key)return entry;
- }
- };
-
- module.exports = {
- getConstructor: function(wrapper, NAME, IS_MAP, ADDER){
- var C = wrapper(function(that, iterable){
- strictNew(that, C, NAME);
- that._i = $.create(null); // index
- that._f = undefined; // first entry
- that._l = undefined; // last entry
- that[SIZE] = 0; // size
- if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
- });
- redefineAll(C.prototype, {
- // 23.1.3.1 Map.prototype.clear()
- // 23.2.3.2 Set.prototype.clear()
- clear: function clear(){
- for(var that = this, data = that._i, entry = that._f; entry; entry = entry.n){
- entry.r = true;
- if(entry.p)entry.p = entry.p.n = undefined;
- delete data[entry.i];
- }
- that._f = that._l = undefined;
- that[SIZE] = 0;
- },
- // 23.1.3.3 Map.prototype.delete(key)
- // 23.2.3.4 Set.prototype.delete(value)
- 'delete': function(key){
- var that = this
- , entry = getEntry(that, key);
- if(entry){
- var next = entry.n
- , prev = entry.p;
- delete that._i[entry.i];
- entry.r = true;
- if(prev)prev.n = next;
- if(next)next.p = prev;
- if(that._f == entry)that._f = next;
- if(that._l == entry)that._l = prev;
- that[SIZE]--;
- } return !!entry;
- },
- // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
- // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
- forEach: function forEach(callbackfn /*, that = undefined */){
- var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3)
- , entry;
- while(entry = entry ? entry.n : this._f){
- f(entry.v, entry.k, this);
- // revert to the last existing entry
- while(entry && entry.r)entry = entry.p;
- }
- },
- // 23.1.3.7 Map.prototype.has(key)
- // 23.2.3.7 Set.prototype.has(value)
- has: function has(key){
- return !!getEntry(this, key);
- }
- });
- if(DESCRIPTORS)$.setDesc(C.prototype, 'size', {
- get: function(){
- return defined(this[SIZE]);
- }
- });
- return C;
- },
- def: function(that, key, value){
- var entry = getEntry(that, key)
- , prev, index;
- // change existing entry
- if(entry){
- entry.v = value;
- // create new entry
- } else {
- that._l = entry = {
- i: index = fastKey(key, true), // <- index
- k: key, // <- key
- v: value, // <- value
- p: prev = that._l, // <- previous entry
- n: undefined, // <- next entry
- r: false // <- removed
- };
- if(!that._f)that._f = entry;
- if(prev)prev.n = entry;
- that[SIZE]++;
- // add to index
- if(index !== 'F')that._i[index] = entry;
- } return that;
- },
- getEntry: getEntry,
- setStrong: function(C, NAME, IS_MAP){
- // add .keys, .values, .entries, [@@iterator]
- // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
- $iterDefine(C, NAME, function(iterated, kind){
- this._t = iterated; // target
- this._k = kind; // kind
- this._l = undefined; // previous
- }, function(){
- var that = this
- , kind = that._k
- , entry = that._l;
- // revert to the last existing entry
- while(entry && entry.r)entry = entry.p;
- // get next entry
- if(!that._t || !(that._l = entry = entry ? entry.n : that._t._f)){
- // or finish the iteration
- that._t = undefined;
- return step(1);
- }
- // return step by kind
- if(kind == 'keys' )return step(0, entry.k);
- if(kind == 'values')return step(0, entry.v);
- return step(0, [entry.k, entry.v]);
- }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true);
-
- // add [@@species], 23.1.2.2, 23.2.2.2
- setSpecies(NAME);
- }
- };
-
-/***/ },
-/* 133 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $ = __webpack_require__(2)
- , global = __webpack_require__(4)
- , $export = __webpack_require__(3)
- , fails = __webpack_require__(9)
- , hide = __webpack_require__(34)
- , redefineAll = __webpack_require__(130)
- , forOf = __webpack_require__(126)
- , strictNew = __webpack_require__(125)
- , isObject = __webpack_require__(13)
- , setToStringTag = __webpack_require__(35)
- , DESCRIPTORS = __webpack_require__(8);
-
- module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){
- var Base = global[NAME]
- , C = Base
- , ADDER = IS_MAP ? 'set' : 'add'
- , proto = C && C.prototype
- , O = {};
- if(!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){
- new C().entries().next();
- }))){
- // create collection constructor
- C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
- redefineAll(C.prototype, methods);
- } else {
- C = wrapper(function(target, iterable){
- strictNew(target, C, NAME);
- target._c = new Base;
- if(iterable != undefined)forOf(iterable, IS_MAP, target[ADDER], target);
- });
- $.each.call('add,clear,delete,forEach,get,has,set,keys,values,entries'.split(','),function(KEY){
- var IS_ADDER = KEY == 'add' || KEY == 'set';
- if(KEY in proto && !(IS_WEAK && KEY == 'clear'))hide(C.prototype, KEY, function(a, b){
- if(!IS_ADDER && IS_WEAK && !isObject(a))return KEY == 'get' ? undefined : false;
- var result = this._c[KEY](a === 0 ? 0 : a, b);
- return IS_ADDER ? this : result;
- });
- });
- if('size' in proto)$.setDesc(C.prototype, 'size', {
- get: function(){
- return this._c.size;
- }
- });
- }
-
- setToStringTag(C, NAME);
-
- O[NAME] = C;
- $export($export.G + $export.W + $export.F, O);
-
- if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP);
-
- return C;
- };
-
-/***/ },
-/* 134 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var strong = __webpack_require__(132);
-
- // 23.2 Set Objects
- __webpack_require__(133)('Set', function(get){
- return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };
- }, {
- // 23.2.3.1 Set.prototype.add(value)
- add: function add(value){
- return strong.def(this, value = value === 0 ? 0 : value, value);
- }
- }, strong);
-
-/***/ },
-/* 135 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $ = __webpack_require__(2)
- , redefine = __webpack_require__(33)
- , weak = __webpack_require__(136)
- , isObject = __webpack_require__(13)
- , has = __webpack_require__(14)
- , frozenStore = weak.frozenStore
- , WEAK = weak.WEAK
- , isExtensible = Object.isExtensible || isObject
- , tmp = {};
-
- // 23.3 WeakMap Objects
- var $WeakMap = __webpack_require__(133)('WeakMap', function(get){
- return function WeakMap(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };
- }, {
- // 23.3.3.3 WeakMap.prototype.get(key)
- get: function get(key){
- if(isObject(key)){
- if(!isExtensible(key))return frozenStore(this).get(key);
- if(has(key, WEAK))return key[WEAK][this._i];
- }
- },
- // 23.3.3.5 WeakMap.prototype.set(key, value)
- set: function set(key, value){
- return weak.def(this, key, value);
- }
- }, weak, true, true);
-
- // IE11 WeakMap frozen keys fix
- if(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){
- $.each.call(['delete', 'has', 'get', 'set'], function(key){
- var proto = $WeakMap.prototype
- , method = proto[key];
- redefine(proto, key, function(a, b){
- // store frozen objects on leaky map
- if(isObject(a) && !isExtensible(a)){
- var result = frozenStore(this)[key](a, b);
- return key == 'set' ? this : result;
- // store all the rest on native weakmap
- } return method.call(this, a, b);
- });
- });
- }
-
-/***/ },
-/* 136 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var hide = __webpack_require__(34)
- , redefineAll = __webpack_require__(130)
- , anObject = __webpack_require__(17)
- , isObject = __webpack_require__(13)
- , strictNew = __webpack_require__(125)
- , forOf = __webpack_require__(126)
- , createArrayMethod = __webpack_require__(26)
- , $has = __webpack_require__(14)
- , WEAK = __webpack_require__(25)('weak')
- , isExtensible = Object.isExtensible || isObject
- , arrayFind = createArrayMethod(5)
- , arrayFindIndex = createArrayMethod(6)
- , id = 0;
-
- // fallback for frozen keys
- var frozenStore = function(that){
- return that._l || (that._l = new FrozenStore);
- };
- var FrozenStore = function(){
- this.a = [];
- };
- var findFrozen = function(store, key){
- return arrayFind(store.a, function(it){
- return it[0] === key;
- });
- };
- FrozenStore.prototype = {
- get: function(key){
- var entry = findFrozen(this, key);
- if(entry)return entry[1];
- },
- has: function(key){
- return !!findFrozen(this, key);
- },
- set: function(key, value){
- var entry = findFrozen(this, key);
- if(entry)entry[1] = value;
- else this.a.push([key, value]);
- },
- 'delete': function(key){
- var index = arrayFindIndex(this.a, function(it){
- return it[0] === key;
- });
- if(~index)this.a.splice(index, 1);
- return !!~index;
- }
- };
-
- module.exports = {
- getConstructor: function(wrapper, NAME, IS_MAP, ADDER){
- var C = wrapper(function(that, iterable){
- strictNew(that, C, NAME);
- that._i = id++; // collection id
- that._l = undefined; // leak store for frozen objects
- if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
- });
- redefineAll(C.prototype, {
- // 23.3.3.2 WeakMap.prototype.delete(key)
- // 23.4.3.3 WeakSet.prototype.delete(value)
- 'delete': function(key){
- if(!isObject(key))return false;
- if(!isExtensible(key))return frozenStore(this)['delete'](key);
- return $has(key, WEAK) && $has(key[WEAK], this._i) && delete key[WEAK][this._i];
- },
- // 23.3.3.4 WeakMap.prototype.has(key)
- // 23.4.3.4 WeakSet.prototype.has(value)
- has: function has(key){
- if(!isObject(key))return false;
- if(!isExtensible(key))return frozenStore(this).has(key);
- return $has(key, WEAK) && $has(key[WEAK], this._i);
- }
- });
- return C;
- },
- def: function(that, key, value){
- if(!isExtensible(anObject(key))){
- frozenStore(that).set(key, value);
- } else {
- $has(key, WEAK) || hide(key, WEAK, {});
- key[WEAK][that._i] = value;
- } return that;
- },
- frozenStore: frozenStore,
- WEAK: WEAK
- };
-
-/***/ },
-/* 137 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var weak = __webpack_require__(136);
-
- // 23.4 WeakSet Objects
- __webpack_require__(133)('WeakSet', function(get){
- return function WeakSet(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };
- }, {
- // 23.4.3.1 WeakSet.prototype.add(value)
- add: function add(value){
- return weak.def(this, value, true);
- }
- }, weak, false, true);
-
-/***/ },
-/* 138 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.1 Reflect.apply(target, thisArgument, argumentsList)
- var $export = __webpack_require__(3)
- , _apply = Function.apply;
-
- $export($export.S, 'Reflect', {
- apply: function apply(target, thisArgument, argumentsList){
- return _apply.call(target, thisArgument, argumentsList);
- }
- });
-
-/***/ },
-/* 139 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.2 Reflect.construct(target, argumentsList [, newTarget])
- var $ = __webpack_require__(2)
- , $export = __webpack_require__(3)
- , aFunction = __webpack_require__(7)
- , anObject = __webpack_require__(17)
- , isObject = __webpack_require__(13)
- , bind = Function.bind || __webpack_require__(5).Function.prototype.bind;
-
- // MS Edge supports only 2 arguments
- // FF Nightly sets third argument as `new.target`, but does not create `this` from it
- $export($export.S + $export.F * __webpack_require__(9)(function(){
- function F(){}
- return !(Reflect.construct(function(){}, [], F) instanceof F);
- }), 'Reflect', {
- construct: function construct(Target, args /*, newTarget*/){
- aFunction(Target);
- var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);
- if(Target == newTarget){
- // w/o altered newTarget, optimization for 0-4 arguments
- if(args != undefined)switch(anObject(args).length){
- case 0: return new Target;
- case 1: return new Target(args[0]);
- case 2: return new Target(args[0], args[1]);
- case 3: return new Target(args[0], args[1], args[2]);
- case 4: return new Target(args[0], args[1], args[2], args[3]);
- }
- // w/o altered newTarget, lot of arguments case
- var $args = [null];
- $args.push.apply($args, args);
- return new (bind.apply(Target, $args));
- }
- // with altered newTarget, not support built-in constructors
- var proto = newTarget.prototype
- , instance = $.create(isObject(proto) ? proto : Object.prototype)
- , result = Function.apply.call(Target, instance, args);
- return isObject(result) ? result : instance;
- }
- });
-
-/***/ },
-/* 140 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)
- var $ = __webpack_require__(2)
- , $export = __webpack_require__(3)
- , anObject = __webpack_require__(17);
-
- // MS Edge has broken Reflect.defineProperty - throwing instead of returning false
- $export($export.S + $export.F * __webpack_require__(9)(function(){
- Reflect.defineProperty($.setDesc({}, 1, {value: 1}), 1, {value: 2});
- }), 'Reflect', {
- defineProperty: function defineProperty(target, propertyKey, attributes){
- anObject(target);
- try {
- $.setDesc(target, propertyKey, attributes);
- return true;
- } catch(e){
- return false;
- }
- }
- });
-
-/***/ },
-/* 141 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.4 Reflect.deleteProperty(target, propertyKey)
- var $export = __webpack_require__(3)
- , getDesc = __webpack_require__(2).getDesc
- , anObject = __webpack_require__(17);
-
- $export($export.S, 'Reflect', {
- deleteProperty: function deleteProperty(target, propertyKey){
- var desc = getDesc(anObject(target), propertyKey);
- return desc && !desc.configurable ? false : delete target[propertyKey];
- }
- });
-
-/***/ },
-/* 142 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // 26.1.5 Reflect.enumerate(target)
- var $export = __webpack_require__(3)
- , anObject = __webpack_require__(17);
- var Enumerate = function(iterated){
- this._t = anObject(iterated); // target
- this._i = 0; // next index
- var keys = this._k = [] // keys
- , key;
- for(key in iterated)keys.push(key);
- };
- __webpack_require__(105)(Enumerate, 'Object', function(){
- var that = this
- , keys = that._k
- , key;
- do {
- if(that._i >= keys.length)return {value: undefined, done: true};
- } while(!((key = keys[that._i++]) in that._t));
- return {value: key, done: false};
- });
-
- $export($export.S, 'Reflect', {
- enumerate: function enumerate(target){
- return new Enumerate(target);
- }
- });
-
-/***/ },
-/* 143 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.6 Reflect.get(target, propertyKey [, receiver])
- var $ = __webpack_require__(2)
- , has = __webpack_require__(14)
- , $export = __webpack_require__(3)
- , isObject = __webpack_require__(13)
- , anObject = __webpack_require__(17);
-
- function get(target, propertyKey/*, receiver*/){
- var receiver = arguments.length < 3 ? target : arguments[2]
- , desc, proto;
- if(anObject(target) === receiver)return target[propertyKey];
- if(desc = $.getDesc(target, propertyKey))return has(desc, 'value')
- ? desc.value
- : desc.get !== undefined
- ? desc.get.call(receiver)
- : undefined;
- if(isObject(proto = $.getProto(target)))return get(proto, propertyKey, receiver);
- }
-
- $export($export.S, 'Reflect', {get: get});
-
-/***/ },
-/* 144 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)
- var $ = __webpack_require__(2)
- , $export = __webpack_require__(3)
- , anObject = __webpack_require__(17);
-
- $export($export.S, 'Reflect', {
- getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey){
- return $.getDesc(anObject(target), propertyKey);
- }
- });
-
-/***/ },
-/* 145 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.8 Reflect.getPrototypeOf(target)
- var $export = __webpack_require__(3)
- , getProto = __webpack_require__(2).getProto
- , anObject = __webpack_require__(17);
-
- $export($export.S, 'Reflect', {
- getPrototypeOf: function getPrototypeOf(target){
- return getProto(anObject(target));
- }
- });
-
-/***/ },
-/* 146 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.9 Reflect.has(target, propertyKey)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Reflect', {
- has: function has(target, propertyKey){
- return propertyKey in target;
- }
- });
-
-/***/ },
-/* 147 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.10 Reflect.isExtensible(target)
- var $export = __webpack_require__(3)
- , anObject = __webpack_require__(17)
- , $isExtensible = Object.isExtensible;
-
- $export($export.S, 'Reflect', {
- isExtensible: function isExtensible(target){
- anObject(target);
- return $isExtensible ? $isExtensible(target) : true;
- }
- });
-
-/***/ },
-/* 148 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.11 Reflect.ownKeys(target)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Reflect', {ownKeys: __webpack_require__(149)});
-
-/***/ },
-/* 149 */
-/***/ function(module, exports, __webpack_require__) {
-
- // all object keys, includes non-enumerable and symbols
- var $ = __webpack_require__(2)
- , anObject = __webpack_require__(17)
- , Reflect = __webpack_require__(4).Reflect;
- module.exports = Reflect && Reflect.ownKeys || function ownKeys(it){
- var keys = $.getNames(anObject(it))
- , getSymbols = $.getSymbols;
- return getSymbols ? keys.concat(getSymbols(it)) : keys;
- };
-
-/***/ },
-/* 150 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.12 Reflect.preventExtensions(target)
- var $export = __webpack_require__(3)
- , anObject = __webpack_require__(17)
- , $preventExtensions = Object.preventExtensions;
-
- $export($export.S, 'Reflect', {
- preventExtensions: function preventExtensions(target){
- anObject(target);
- try {
- if($preventExtensions)$preventExtensions(target);
- return true;
- } catch(e){
- return false;
- }
- }
- });
-
-/***/ },
-/* 151 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.13 Reflect.set(target, propertyKey, V [, receiver])
- var $ = __webpack_require__(2)
- , has = __webpack_require__(14)
- , $export = __webpack_require__(3)
- , createDesc = __webpack_require__(10)
- , anObject = __webpack_require__(17)
- , isObject = __webpack_require__(13);
-
- function set(target, propertyKey, V/*, receiver*/){
- var receiver = arguments.length < 4 ? target : arguments[3]
- , ownDesc = $.getDesc(anObject(target), propertyKey)
- , existingDescriptor, proto;
- if(!ownDesc){
- if(isObject(proto = $.getProto(target))){
- return set(proto, propertyKey, V, receiver);
- }
- ownDesc = createDesc(0);
- }
- if(has(ownDesc, 'value')){
- if(ownDesc.writable === false || !isObject(receiver))return false;
- existingDescriptor = $.getDesc(receiver, propertyKey) || createDesc(0);
- existingDescriptor.value = V;
- $.setDesc(receiver, propertyKey, existingDescriptor);
- return true;
- }
- return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);
- }
-
- $export($export.S, 'Reflect', {set: set});
-
-/***/ },
-/* 152 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.14 Reflect.setPrototypeOf(target, proto)
- var $export = __webpack_require__(3)
- , setProto = __webpack_require__(45);
-
- if(setProto)$export($export.S, 'Reflect', {
- setPrototypeOf: function setPrototypeOf(target, proto){
- setProto.check(target, proto);
- try {
- setProto.set(target, proto);
- return true;
- } catch(e){
- return false;
- }
- }
- });
-
-/***/ },
-/* 153 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $export = __webpack_require__(3)
- , $includes = __webpack_require__(31)(true);
-
- $export($export.P, 'Array', {
- // https://github.com/domenic/Array.prototype.includes
- includes: function includes(el /*, fromIndex = 0 */){
- return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
-
- __webpack_require__(114)('includes');
-
-/***/ },
-/* 154 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // https://github.com/mathiasbynens/String.prototype.at
- var $export = __webpack_require__(3)
- , $at = __webpack_require__(93)(true);
-
- $export($export.P, 'String', {
- at: function at(pos){
- return $at(this, pos);
- }
- });
-
-/***/ },
-/* 155 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $export = __webpack_require__(3)
- , $pad = __webpack_require__(156);
-
- $export($export.P, 'String', {
- padLeft: function padLeft(maxLength /*, fillString = ' ' */){
- return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);
- }
- });
-
-/***/ },
-/* 156 */
-/***/ function(module, exports, __webpack_require__) {
-
- // https://github.com/ljharb/proposal-string-pad-left-right
- var toLength = __webpack_require__(24)
- , repeat = __webpack_require__(100)
- , defined = __webpack_require__(19);
-
- module.exports = function(that, maxLength, fillString, left){
- var S = String(defined(that))
- , stringLength = S.length
- , fillStr = fillString === undefined ? ' ' : String(fillString)
- , intMaxLength = toLength(maxLength);
- if(intMaxLength <= stringLength)return S;
- if(fillStr == '')fillStr = ' ';
- var fillLen = intMaxLength - stringLength
- , stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));
- if(stringFiller.length > fillLen)stringFiller = stringFiller.slice(0, fillLen);
- return left ? stringFiller + S : S + stringFiller;
- };
-
-/***/ },
-/* 157 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $export = __webpack_require__(3)
- , $pad = __webpack_require__(156);
-
- $export($export.P, 'String', {
- padRight: function padRight(maxLength /*, fillString = ' ' */){
- return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);
- }
- });
-
-/***/ },
-/* 158 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // https://github.com/sebmarkbage/ecmascript-string-left-right-trim
- __webpack_require__(91)('trimLeft', function($trim){
- return function trimLeft(){
- return $trim(this, 1);
- };
- });
-
-/***/ },
-/* 159 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // https://github.com/sebmarkbage/ecmascript-string-left-right-trim
- __webpack_require__(91)('trimRight', function($trim){
- return function trimRight(){
- return $trim(this, 2);
- };
- });
-
-/***/ },
-/* 160 */
-/***/ function(module, exports, __webpack_require__) {
-
- // https://github.com/benjamingr/RexExp.escape
- var $export = __webpack_require__(3)
- , $re = __webpack_require__(161)(/[\\^$*+?.()|[\]{}]/g, '\\$&');
-
- $export($export.S, 'RegExp', {escape: function escape(it){ return $re(it); }});
-
-
-/***/ },
-/* 161 */
-/***/ function(module, exports) {
-
- module.exports = function(regExp, replace){
- var replacer = replace === Object(replace) ? function(part){
- return replace[part];
- } : replace;
- return function(it){
- return String(it).replace(regExp, replacer);
- };
- };
-
-/***/ },
-/* 162 */
-/***/ function(module, exports, __webpack_require__) {
-
- // https://gist.github.com/WebReflection/9353781
- var $ = __webpack_require__(2)
- , $export = __webpack_require__(3)
- , ownKeys = __webpack_require__(149)
- , toIObject = __webpack_require__(20)
- , createDesc = __webpack_require__(10);
-
- $export($export.S, 'Object', {
- getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){
- var O = toIObject(object)
- , setDesc = $.setDesc
- , getDesc = $.getDesc
- , keys = ownKeys(O)
- , result = {}
- , i = 0
- , key, D;
- while(keys.length > i){
- D = getDesc(O, key = keys[i++]);
- if(key in result)setDesc(result, key, createDesc(0, D));
- else result[key] = D;
- } return result;
- }
- });
-
-/***/ },
-/* 163 */
-/***/ function(module, exports, __webpack_require__) {
-
- // http://goo.gl/XkBrjD
- var $export = __webpack_require__(3)
- , $values = __webpack_require__(164)(false);
-
- $export($export.S, 'Object', {
- values: function values(it){
- return $values(it);
- }
- });
-
-/***/ },
-/* 164 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $ = __webpack_require__(2)
- , toIObject = __webpack_require__(20)
- , isEnum = $.isEnum;
- module.exports = function(isEntries){
- return function(it){
- var O = toIObject(it)
- , keys = $.getKeys(O)
- , length = keys.length
- , i = 0
- , result = []
- , key;
- while(length > i)if(isEnum.call(O, key = keys[i++])){
- result.push(isEntries ? [key, O[key]] : O[key]);
- } return result;
- };
- };
-
-/***/ },
-/* 165 */
-/***/ function(module, exports, __webpack_require__) {
-
- // http://goo.gl/XkBrjD
- var $export = __webpack_require__(3)
- , $entries = __webpack_require__(164)(true);
-
- $export($export.S, 'Object', {
- entries: function entries(it){
- return $entries(it);
- }
- });
-
-/***/ },
-/* 166 */
-/***/ function(module, exports, __webpack_require__) {
-
- // https://github.com/DavidBruant/Map-Set.prototype.toJSON
- var $export = __webpack_require__(3);
-
- $export($export.P, 'Map', {toJSON: __webpack_require__(167)('Map')});
-
-/***/ },
-/* 167 */
-/***/ function(module, exports, __webpack_require__) {
-
- // https://github.com/DavidBruant/Map-Set.prototype.toJSON
- var forOf = __webpack_require__(126)
- , classof = __webpack_require__(110);
- module.exports = function(NAME){
- return function toJSON(){
- if(classof(this) != NAME)throw TypeError(NAME + "#toJSON isn't generic");
- var arr = [];
- forOf(this, false, arr.push, arr);
- return arr;
- };
- };
-
-/***/ },
-/* 168 */
-/***/ function(module, exports, __webpack_require__) {
-
- // https://github.com/DavidBruant/Map-Set.prototype.toJSON
- var $export = __webpack_require__(3);
-
- $export($export.P, 'Set', {toJSON: __webpack_require__(167)('Set')});
-
-/***/ },
-/* 169 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $export = __webpack_require__(3)
- , $task = __webpack_require__(129);
- $export($export.G + $export.B, {
- setImmediate: $task.set,
- clearImmediate: $task.clear
- });
-
-/***/ },
-/* 170 */
-/***/ function(module, exports, __webpack_require__) {
-
- __webpack_require__(113);
- var Iterators = __webpack_require__(104);
- Iterators.NodeList = Iterators.HTMLCollection = Iterators.Array;
-
-/***/ },
-/* 171 */
-/***/ function(module, exports, __webpack_require__) {
-
- // ie9- setTimeout & setInterval additional parameters fix
- var global = __webpack_require__(4)
- , $export = __webpack_require__(3)
- , invoke = __webpack_require__(16)
- , partial = __webpack_require__(172)
- , navigator = global.navigator
- , MSIE = !!navigator && /MSIE .\./.test(navigator.userAgent); // <- dirty ie9- check
- var wrap = function(set){
- return MSIE ? function(fn, time /*, ...args */){
- return set(invoke(
- partial,
- [].slice.call(arguments, 2),
- typeof fn == 'function' ? fn : Function(fn)
- ), time);
- } : set;
- };
- $export($export.G + $export.B + $export.F * MSIE, {
- setTimeout: wrap(global.setTimeout),
- setInterval: wrap(global.setInterval)
- });
-
-/***/ },
-/* 172 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var path = __webpack_require__(173)
- , invoke = __webpack_require__(16)
- , aFunction = __webpack_require__(7);
- module.exports = function(/* ...pargs */){
- var fn = aFunction(this)
- , length = arguments.length
- , pargs = Array(length)
- , i = 0
- , _ = path._
- , holder = false;
- while(length > i)if((pargs[i] = arguments[i++]) === _)holder = true;
- return function(/* ...args */){
- var that = this
- , $$ = arguments
- , $$len = $$.length
- , j = 0, k = 0, args;
- if(!holder && !$$len)return invoke(fn, pargs, that);
- args = pargs.slice();
- if(holder)for(;length > j; j++)if(args[j] === _)args[j] = $$[k++];
- while($$len > k)args.push($$[k++]);
- return invoke(fn, args, that);
- };
- };
-
-/***/ },
-/* 173 */
-/***/ function(module, exports, __webpack_require__) {
-
- module.exports = __webpack_require__(5);
-
-/***/ },
-/* 174 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $ = __webpack_require__(2)
- , ctx = __webpack_require__(6)
- , $export = __webpack_require__(3)
- , createDesc = __webpack_require__(10)
- , assign = __webpack_require__(41)
- , keyOf = __webpack_require__(36)
- , aFunction = __webpack_require__(7)
- , forOf = __webpack_require__(126)
- , isIterable = __webpack_require__(175)
- , $iterCreate = __webpack_require__(105)
- , step = __webpack_require__(115)
- , isObject = __webpack_require__(13)
- , toIObject = __webpack_require__(20)
- , DESCRIPTORS = __webpack_require__(8)
- , has = __webpack_require__(14)
- , getKeys = $.getKeys;
-
- // 0 -> Dict.forEach
- // 1 -> Dict.map
- // 2 -> Dict.filter
- // 3 -> Dict.some
- // 4 -> Dict.every
- // 5 -> Dict.find
- // 6 -> Dict.findKey
- // 7 -> Dict.mapPairs
- var createDictMethod = function(TYPE){
- var IS_MAP = TYPE == 1
- , IS_EVERY = TYPE == 4;
- return function(object, callbackfn, that /* = undefined */){
- var f = ctx(callbackfn, that, 3)
- , O = toIObject(object)
- , result = IS_MAP || TYPE == 7 || TYPE == 2
- ? new (typeof this == 'function' ? this : Dict) : undefined
- , key, val, res;
- for(key in O)if(has(O, key)){
- val = O[key];
- res = f(val, key, object);
- if(TYPE){
- if(IS_MAP)result[key] = res; // map
- else if(res)switch(TYPE){
- case 2: result[key] = val; break; // filter
- case 3: return true; // some
- case 5: return val; // find
- case 6: return key; // findKey
- case 7: result[res[0]] = res[1]; // mapPairs
- } else if(IS_EVERY)return false; // every
- }
- }
- return TYPE == 3 || IS_EVERY ? IS_EVERY : result;
- };
- };
- var findKey = createDictMethod(6);
-
- var createDictIter = function(kind){
- return function(it){
- return new DictIterator(it, kind);
- };
- };
- var DictIterator = function(iterated, kind){
- this._t = toIObject(iterated); // target
- this._a = getKeys(iterated); // keys
- this._i = 0; // next index
- this._k = kind; // kind
- };
- $iterCreate(DictIterator, 'Dict', function(){
- var that = this
- , O = that._t
- , keys = that._a
- , kind = that._k
- , key;
- do {
- if(that._i >= keys.length){
- that._t = undefined;
- return step(1);
- }
- } while(!has(O, key = keys[that._i++]));
- if(kind == 'keys' )return step(0, key);
- if(kind == 'values')return step(0, O[key]);
- return step(0, [key, O[key]]);
- });
-
- function Dict(iterable){
- var dict = $.create(null);
- if(iterable != undefined){
- if(isIterable(iterable)){
- forOf(iterable, true, function(key, value){
- dict[key] = value;
- });
- } else assign(dict, iterable);
- }
- return dict;
- }
- Dict.prototype = null;
-
- function reduce(object, mapfn, init){
- aFunction(mapfn);
- var O = toIObject(object)
- , keys = getKeys(O)
- , length = keys.length
- , i = 0
- , memo, key;
- if(arguments.length < 3){
- if(!length)throw TypeError('Reduce of empty object with no initial value');
- memo = O[keys[i++]];
- } else memo = Object(init);
- while(length > i)if(has(O, key = keys[i++])){
- memo = mapfn(memo, O[key], key, object);
- }
- return memo;
- }
-
- function includes(object, el){
- return (el == el ? keyOf(object, el) : findKey(object, function(it){
- return it != it;
- })) !== undefined;
- }
-
- function get(object, key){
- if(has(object, key))return object[key];
- }
- function set(object, key, value){
- if(DESCRIPTORS && key in Object)$.setDesc(object, key, createDesc(0, value));
- else object[key] = value;
- return object;
- }
-
- function isDict(it){
- return isObject(it) && $.getProto(it) === Dict.prototype;
- }
-
- $export($export.G + $export.F, {Dict: Dict});
-
- $export($export.S, 'Dict', {
- keys: createDictIter('keys'),
- values: createDictIter('values'),
- entries: createDictIter('entries'),
- forEach: createDictMethod(0),
- map: createDictMethod(1),
- filter: createDictMethod(2),
- some: createDictMethod(3),
- every: createDictMethod(4),
- find: createDictMethod(5),
- findKey: findKey,
- mapPairs: createDictMethod(7),
- reduce: reduce,
- keyOf: keyOf,
- includes: includes,
- has: has,
- get: get,
- set: set,
- isDict: isDict
- });
-
-/***/ },
-/* 175 */
-/***/ function(module, exports, __webpack_require__) {
-
- var classof = __webpack_require__(110)
- , ITERATOR = __webpack_require__(29)('iterator')
- , Iterators = __webpack_require__(104);
- module.exports = __webpack_require__(5).isIterable = function(it){
- var O = Object(it);
- return O[ITERATOR] !== undefined
- || '@@iterator' in O
- || Iterators.hasOwnProperty(classof(O));
- };
-
-/***/ },
-/* 176 */
-/***/ function(module, exports, __webpack_require__) {
-
- var anObject = __webpack_require__(17)
- , get = __webpack_require__(109);
- module.exports = __webpack_require__(5).getIterator = function(it){
- var iterFn = get(it);
- if(typeof iterFn != 'function')throw TypeError(it + ' is not iterable!');
- return anObject(iterFn.call(it));
- };
-
-/***/ },
-/* 177 */
-/***/ function(module, exports, __webpack_require__) {
-
- var global = __webpack_require__(4)
- , core = __webpack_require__(5)
- , $export = __webpack_require__(3)
- , partial = __webpack_require__(172);
- // https://esdiscuss.org/topic/promise-returning-delay-function
- $export($export.G + $export.F, {
- delay: function delay(time){
- return new (core.Promise || global.Promise)(function(resolve){
- setTimeout(partial.call(resolve, true), time);
- });
- }
- });
-
-/***/ },
-/* 178 */
-/***/ function(module, exports, __webpack_require__) {
-
- var path = __webpack_require__(173)
- , $export = __webpack_require__(3);
-
- // Placeholder
- __webpack_require__(5)._ = path._ = path._ || {};
-
- $export($export.P + $export.F, 'Function', {part: __webpack_require__(172)});
-
-/***/ },
-/* 179 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $export = __webpack_require__(3);
-
- $export($export.S + $export.F, 'Object', {isObject: __webpack_require__(13)});
-
-/***/ },
-/* 180 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $export = __webpack_require__(3);
-
- $export($export.S + $export.F, 'Object', {classof: __webpack_require__(110)});
-
-/***/ },
-/* 181 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $export = __webpack_require__(3)
- , define = __webpack_require__(182);
-
- $export($export.S + $export.F, 'Object', {define: define});
-
-/***/ },
-/* 182 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $ = __webpack_require__(2)
- , ownKeys = __webpack_require__(149)
- , toIObject = __webpack_require__(20);
-
- module.exports = function define(target, mixin){
- var keys = ownKeys(toIObject(mixin))
- , length = keys.length
- , i = 0, key;
- while(length > i)$.setDesc(target, key = keys[i++], $.getDesc(mixin, key));
- return target;
- };
-
-/***/ },
-/* 183 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $export = __webpack_require__(3)
- , define = __webpack_require__(182)
- , create = __webpack_require__(2).create;
-
- $export($export.S + $export.F, 'Object', {
- make: function(proto, mixin){
- return define(create(proto), mixin);
- }
- });
-
-/***/ },
-/* 184 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- __webpack_require__(103)(Number, 'Number', function(iterated){
- this._l = +iterated;
- this._i = 0;
- }, function(){
- var i = this._i++
- , done = !(i < this._l);
- return {done: done, value: done ? undefined : i};
- });
-
-/***/ },
-/* 185 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $export = __webpack_require__(3);
- var $re = __webpack_require__(161)(/[&<>"']/g, {
- '&': '&',
- '<': '<',
- '>': '>',
- '"': '"',
- "'": '''
- });
-
- $export($export.P + $export.F, 'String', {escapeHTML: function escapeHTML(){ return $re(this); }});
-
-/***/ },
-/* 186 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $export = __webpack_require__(3);
- var $re = __webpack_require__(161)(/&(?:amp|lt|gt|quot|apos);/g, {
- '&': '&',
- '<': '<',
- '>': '>',
- '"': '"',
- ''': "'"
- });
-
- $export($export.P + $export.F, 'String', {unescapeHTML: function unescapeHTML(){ return $re(this); }});
-
-/***/ },
-/* 187 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $ = __webpack_require__(2)
- , global = __webpack_require__(4)
- , $export = __webpack_require__(3)
- , log = {}
- , enabled = true;
- // Methods from https://github.com/DeveloperToolsWG/console-object/blob/master/api.md
- $.each.call((
- 'assert,clear,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,' +
- 'info,isIndependentlyComposed,log,markTimeline,profile,profileEnd,table,' +
- 'time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn'
- ).split(','), function(key){
- log[key] = function(){
- var $console = global.console;
- if(enabled && $console && $console[key]){
- return Function.apply.call($console[key], $console, arguments);
- }
- };
- });
- $export($export.G + $export.F, {log: __webpack_require__(41)(log.log, log, {
- enable: function(){
- enabled = true;
- },
- disable: function(){
- enabled = false;
- }
- })});
-
-/***/ },
-/* 188 */
-/***/ function(module, exports, __webpack_require__) {
-
- // JavaScript 1.6 / Strawman array statics shim
- var $ = __webpack_require__(2)
- , $export = __webpack_require__(3)
- , $ctx = __webpack_require__(6)
- , $Array = __webpack_require__(5).Array || Array
- , statics = {};
- var setStatics = function(keys, length){
- $.each.call(keys.split(','), function(key){
- if(length == undefined && key in $Array)statics[key] = $Array[key];
- else if(key in [])statics[key] = $ctx(Function.call, [][key], length);
- });
- };
- setStatics('pop,reverse,shift,keys,values,entries', 1);
- setStatics('indexOf,every,some,forEach,map,filter,find,findIndex,includes', 3);
- setStatics('join,slice,concat,push,splice,unshift,sort,lastIndexOf,' +
- 'reduce,reduceRight,copyWithin,fill');
- $export($export.S, 'Array', statics);
-
-/***/ }
-/******/ ]);
-// CommonJS export
-if(typeof module != 'undefined' && module.exports)module.exports = __e;
-// RequireJS export
-else if(typeof define == 'function' && define.amd)define(function(){return __e});
-// Export to global object
-else __g.core = __e;
-}(1, 1);
\ No newline at end of file
diff --git a/node_modules/core-js/client/library.min.js b/node_modules/core-js/client/library.min.js
deleted file mode 100644
index a139fc1..0000000
--- a/node_modules/core-js/client/library.min.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/**
- * core-js 1.2.6
- * https://github.com/zloirock/core-js
- * License: http://rock.mit-license.org
- * © 2015 Denis Pushkarev
- */
-!function(b,c,a){"use strict";!function(b){function __webpack_require__(c){if(a[c])return a[c].exports;var d=a[c]={exports:{},id:c,loaded:!1};return b[c].call(d.exports,d,d.exports,__webpack_require__),d.loaded=!0,d.exports}var a={};return __webpack_require__.m=b,__webpack_require__.c=a,__webpack_require__.p="",__webpack_require__(0)}([function(b,c,a){a(1),a(32),a(40),a(42),a(44),a(46),a(48),a(49),a(50),a(51),a(52),a(53),a(54),a(55),a(56),a(57),a(58),a(59),a(60),a(62),a(63),a(64),a(65),a(66),a(67),a(68),a(70),a(71),a(72),a(74),a(75),a(76),a(78),a(79),a(80),a(81),a(82),a(83),a(84),a(85),a(86),a(87),a(88),a(89),a(90),a(92),a(94),a(98),a(99),a(101),a(102),a(106),a(112),a(113),a(116),a(118),a(120),a(122),a(123),a(124),a(131),a(134),a(135),a(137),a(138),a(139),a(140),a(141),a(142),a(143),a(144),a(145),a(146),a(147),a(148),a(150),a(151),a(152),a(153),a(154),a(155),a(157),a(158),a(159),a(160),a(162),a(163),a(165),a(166),a(168),a(169),a(170),a(171),a(174),a(109),a(176),a(175),a(177),a(178),a(179),a(180),a(181),a(183),a(184),a(185),a(186),a(187),b.exports=a(188)},function(S,R,b){var r,d=b(2),c=b(3),x=b(8),O=b(10),o=b(11),E=b(12),n=b(14),N=b(15),J=b(16),j=b(9),p=b(17),v=b(7),I=b(13),Q=b(18),y=b(20),K=b(22),w=b(23),h=b(24),s=b(21),m=b(25)("__proto__"),g=b(26),A=b(31)(!1),B=Object.prototype,C=Array.prototype,k=C.slice,M=C.join,F=d.setDesc,L=d.getDesc,q=d.setDescs,u={};x||(r=!j(function(){return 7!=F(E("div"),"a",{get:function(){return 7}}).a}),d.setDesc=function(b,c,a){if(r)try{return F(b,c,a)}catch(d){}if("get"in a||"set"in a)throw TypeError("Accessors not supported!");return"value"in a&&(p(b)[c]=a.value),b},d.getDesc=function(a,b){if(r)try{return L(a,b)}catch(c){}return n(a,b)?O(!B.propertyIsEnumerable.call(a,b),a[b]):void 0},d.setDescs=q=function(a,b){p(a);for(var c,e=d.getKeys(b),g=e.length,f=0;g>f;)d.setDesc(a,c=e[f++],b[c]);return a}),c(c.S+c.F*!x,"Object",{getOwnPropertyDescriptor:d.getDesc,defineProperty:d.setDesc,defineProperties:q});var i="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),H=i.concat("length","prototype"),G=i.length,l=function(){var a,b=E("iframe"),c=G,d=">";for(b.style.display="none",o.appendChild(b),b.src="javascript:",a=b.contentWindow.document,a.open(),a.write("f;)n(e,c=a[f++])&&(~A(d,c)||d.push(c));return d}},t=function(){};c(c.S,"Object",{getPrototypeOf:d.getProto=d.getProto||function(a){return a=Q(a),n(a,m)?a[m]:"function"==typeof a.constructor&&a instanceof a.constructor?a.constructor.prototype:a instanceof Object?B:null},getOwnPropertyNames:d.getNames=d.getNames||D(H,H.length,!0),create:d.create=d.create||function(c,d){var b;return null!==c?(t.prototype=p(c),b=new t,t.prototype=null,b[m]=c):b=l(),d===a?b:q(b,d)},keys:d.getKeys=d.getKeys||D(i,G,!1)});var P=function(d,a,e){if(!(a in u)){for(var c=[],b=0;a>b;b++)c[b]="a["+b+"]";u[a]=Function("F,a","return new F("+c.join(",")+")")}return u[a](d,e)};c(c.P,"Function",{bind:function bind(c){var a=v(this),d=k.call(arguments,1),b=function(){var e=d.concat(k.call(arguments));return this instanceof b?P(a,e.length,e):J(a,e,c)};return I(a.prototype)&&(b.prototype=a.prototype),b}}),c(c.P+c.F*j(function(){o&&k.call(o)}),"Array",{slice:function(f,b){var d=h(this.length),g=N(this);if(b=b===a?d:b,"Array"==g)return k.call(this,f,b);for(var e=w(f,d),l=w(b,d),i=h(l-e),j=Array(i),c=0;i>c;c++)j[c]="String"==g?this.charAt(e+c):this[e+c];return j}}),c(c.P+c.F*(s!=Object),"Array",{join:function join(b){return M.call(s(this),b===a?",":b)}}),c(c.S,"Array",{isArray:b(28)});var z=function(a){return function(g,d){v(g);var c=s(this),e=h(c.length),b=a?e-1:0,f=a?-1:1;if(arguments.length<2)for(;;){if(b in c){d=c[b],b+=f;break}if(b+=f,a?0>b:b>=e)throw TypeError("Reduce of empty array with no initial value")}for(;a?b>=0:e>b;b+=f)b in c&&(d=g(d,c[b],b,this));return d}},f=function(a){return function(b){return a(this,b,arguments[1])}};c(c.P,"Array",{forEach:d.each=d.each||f(g(0)),map:f(g(1)),filter:f(g(2)),some:f(g(3)),every:f(g(4)),reduce:z(!1),reduceRight:z(!0),indexOf:f(A),lastIndexOf:function(d,e){var b=y(this),c=h(b.length),a=c-1;for(arguments.length>1&&(a=Math.min(a,K(e))),0>a&&(a=h(c+a));a>=0;a--)if(a in b&&b[a]===d)return a;return-1}}),c(c.S,"Date",{now:function(){return+new Date}});var e=function(a){return a>9?a:"0"+a};c(c.P+c.F*(j(function(){return"0385-07-25T07:06:39.999Z"!=new Date(-5e13-1).toISOString()})||!j(function(){new Date(NaN).toISOString()})),"Date",{toISOString:function toISOString(){if(!isFinite(this))throw RangeError("Invalid time value");var a=this,b=a.getUTCFullYear(),c=a.getUTCMilliseconds(),d=0>b?"-":b>9999?"+":"";return d+("00000"+Math.abs(b)).slice(d?-6:-4)+"-"+e(a.getUTCMonth()+1)+"-"+e(a.getUTCDate())+"T"+e(a.getUTCHours())+":"+e(a.getUTCMinutes())+":"+e(a.getUTCSeconds())+"."+(c>99?c:"0"+e(c))+"Z"}})},function(b,c){var a=Object;b.exports={create:a.create,getProto:a.getPrototypeOf,isEnum:{}.propertyIsEnumerable,getDesc:a.getOwnPropertyDescriptor,setDesc:a.defineProperty,setDescs:a.defineProperties,getKeys:a.keys,getNames:a.getOwnPropertyNames,getSymbols:a.getOwnPropertySymbols,each:[].forEach}},function(g,h,d){var c=d(4),e=d(5),f=d(6),b="prototype",a=function(h,j,l){var d,k,g,p=h&a.F,n=h&a.G,q=h&a.S,o=h&a.P,r=h&a.B,s=h&a.W,m=n?e:e[j]||(e[j]={}),i=n?c:q?c[j]:(c[j]||{})[b];n&&(l=j);for(d in l)k=!p&&i&&d in i,k&&d in m||(g=k?i[d]:l[d],m[d]=n&&"function"!=typeof i[d]?l[d]:r&&k?f(g,c):s&&i[d]==g?function(a){var c=function(b){return this instanceof a?new a(b):a(b)};return c[b]=a[b],c}(g):o&&"function"==typeof g?f(Function.call,g):g,o&&((m[b]||(m[b]={}))[d]=g))};a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,g.exports=a},function(a,d){var b=a.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof c&&(c=b)},function(a,d){var c=a.exports={version:"1.2.6"};"number"==typeof b&&(b=c)},function(b,e,c){var d=c(7);b.exports=function(b,c,e){if(d(b),c===a)return b;switch(e){case 1:return function(a){return b.call(c,a)};case 2:return function(a,d){return b.call(c,a,d)};case 3:return function(a,d,e){return b.call(c,a,d,e)}}return function(){return b.apply(c,arguments)}}},function(a,b){a.exports=function(a){if("function"!=typeof a)throw TypeError(a+" is not a function!");return a}},function(a,c,b){a.exports=!b(9)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(a,b){a.exports=function(a){try{return!!a()}catch(b){return!0}}},function(a,b){a.exports=function(a,b){return{enumerable:!(1&a),configurable:!(2&a),writable:!(4&a),value:b}}},function(a,c,b){a.exports=b(4).document&&document.documentElement},function(d,f,b){var c=b(13),a=b(4).document,e=c(a)&&c(a.createElement);d.exports=function(b){return e?a.createElement(b):{}}},function(a,b){a.exports=function(a){return"object"==typeof a?null!==a:"function"==typeof a}},function(a,c){var b={}.hasOwnProperty;a.exports=function(a,c){return b.call(a,c)}},function(a,c){var b={}.toString;a.exports=function(a){return b.call(a).slice(8,-1)}},function(b,c){b.exports=function(c,b,d){var e=d===a;switch(b.length){case 0:return e?c():c.call(d);case 1:return e?c(b[0]):c.call(d,b[0]);case 2:return e?c(b[0],b[1]):c.call(d,b[0],b[1]);case 3:return e?c(b[0],b[1],b[2]):c.call(d,b[0],b[1],b[2]);case 4:return e?c(b[0],b[1],b[2],b[3]):c.call(d,b[0],b[1],b[2],b[3])}return c.apply(d,b)}},function(a,d,b){var c=b(13);a.exports=function(a){if(!c(a))throw TypeError(a+" is not an object!");return a}},function(a,d,b){var c=b(19);a.exports=function(a){return Object(c(a))}},function(b,c){b.exports=function(b){if(b==a)throw TypeError("Can't call method on "+b);return b}},function(b,e,a){var c=a(21),d=a(19);b.exports=function(a){return c(d(a))}},function(a,d,b){var c=b(15);a.exports=Object("z").propertyIsEnumerable(0)?Object:function(a){return"String"==c(a)?a.split(""):Object(a)}},function(a,d){var b=Math.ceil,c=Math.floor;a.exports=function(a){return isNaN(a=+a)?0:(a>0?c:b)(a)}},function(a,f,b){var c=b(22),d=Math.max,e=Math.min;a.exports=function(a,b){return a=c(a),0>a?d(a+b,0):e(a,b)}},function(a,e,b){var c=b(22),d=Math.min;a.exports=function(a){return a>0?d(c(a),9007199254740991):0}},function(b,e){var c=0,d=Math.random();b.exports=function(b){return"Symbol(".concat(b===a?"":b,")_",(++c+d).toString(36))}},function(d,i,b){var e=b(6),f=b(21),g=b(18),h=b(24),c=b(27);d.exports=function(b){var i=1==b,k=2==b,l=3==b,d=4==b,j=6==b,m=5==b||j;return function(p,v,x){for(var o,r,u=g(p),s=f(u),w=e(v,x,3),t=h(s.length),n=0,q=i?c(p,t):k?c(p,0):a;t>n;n++)if((m||n in s)&&(o=s[n],r=w(o,n,u),b))if(i)q[n]=r;else if(r)switch(b){case 3:return!0;case 5:return o;case 6:return n;case 2:q.push(o)}else if(d)return!1;return j?-1:l||d?d:q}}},function(d,g,b){var e=b(13),c=b(28),f=b(29)("species");d.exports=function(d,g){var b;return c(d)&&(b=d.constructor,"function"!=typeof b||b!==Array&&!c(b.prototype)||(b=a),e(b)&&(b=b[f],null===b&&(b=a))),new(b===a?Array:b)(g)}},function(a,d,b){var c=b(15);a.exports=Array.isArray||function(a){return"Array"==c(a)}},function(d,f,a){var c=a(30)("wks"),e=a(25),b=a(4).Symbol;d.exports=function(a){return c[a]||(c[a]=b&&b[a]||(b||e)("Symbol."+a))}},function(d,f,e){var a=e(4),b="__core-js_shared__",c=a[b]||(a[b]={});d.exports=function(a){return c[a]||(c[a]={})}},function(b,f,a){var c=a(20),d=a(24),e=a(23);b.exports=function(a){return function(j,g,k){var h,f=c(j),i=d(f.length),b=e(k,i);if(a&&g!=g){for(;i>b;)if(h=f[b++],h!=h)return!0}else for(;i>b;b++)if((a||b in f)&&f[b]===g)return a||b;return!a&&-1}}},function(W,V,b){var e=b(2),x=b(4),d=b(14),w=b(8),f=b(3),G=b(33),H=b(9),J=b(30),s=b(35),S=b(25),A=b(29),R=b(36),C=b(37),Q=b(38),P=b(28),O=b(17),p=b(20),v=b(10),I=e.getDesc,i=e.setDesc,k=e.create,z=C.get,g=x.Symbol,l=x.JSON,m=l&&l.stringify,n=!1,c=A("_hidden"),N=e.isEnum,o=J("symbol-registry"),h=J("symbols"),q="function"==typeof g,j=Object.prototype,y=w&&H(function(){return 7!=k(i({},"a",{get:function(){return i(this,"a",{value:7}).a}})).a})?function(c,a,d){var b=I(j,a);b&&delete j[a],i(c,a,d),b&&c!==j&&i(j,a,b)}:i,L=function(a){var b=h[a]=k(g.prototype);return b._k=a,w&&n&&y(j,a,{configurable:!0,set:function(b){d(this,c)&&d(this[c],a)&&(this[c][a]=!1),y(this,a,v(1,b))}}),b},r=function(a){return"symbol"==typeof a},t=function defineProperty(a,b,e){return e&&d(h,b)?(e.enumerable?(d(a,c)&&a[c][b]&&(a[c][b]=!1),e=k(e,{enumerable:v(0,!1)})):(d(a,c)||i(a,c,v(1,{})),a[c][b]=!0),y(a,b,e)):i(a,b,e)},u=function defineProperties(a,b){O(a);for(var c,d=Q(b=p(b)),e=0,f=d.length;f>e;)t(a,c=d[e++],b[c]);return a},F=function create(b,c){return c===a?k(b):u(k(b),c)},E=function propertyIsEnumerable(a){var b=N.call(this,a);return b||!d(this,a)||!d(h,a)||d(this,c)&&this[c][a]?b:!0},D=function getOwnPropertyDescriptor(a,b){var e=I(a=p(a),b);return!e||!d(h,b)||d(a,c)&&a[c][b]||(e.enumerable=!0),e},B=function getOwnPropertyNames(g){for(var a,b=z(p(g)),e=[],f=0;b.length>f;)d(h,a=b[f++])||a==c||e.push(a);return e},M=function getOwnPropertySymbols(f){for(var a,b=z(p(f)),c=[],e=0;b.length>e;)d(h,a=b[e++])&&c.push(h[a]);return c},T=function stringify(e){if(e!==a&&!r(e)){for(var b,c,d=[e],f=1,g=arguments;g.length>f;)d.push(g[f++]);return b=d[1],"function"==typeof b&&(c=b),(c||!P(b))&&(b=function(b,a){return c&&(a=c.call(this,b,a)),r(a)?void 0:a}),d[1]=b,m.apply(l,d)}},U=H(function(){var a=g();return"[null]"!=m([a])||"{}"!=m({a:a})||"{}"!=m(Object(a))});q||(g=function Symbol(){if(r(this))throw TypeError("Symbol is not a constructor");return L(S(arguments.length>0?arguments[0]:a))},G(g.prototype,"toString",function toString(){return this._k}),r=function(a){return a instanceof g},e.create=F,e.isEnum=E,e.getDesc=D,e.setDesc=t,e.setDescs=u,e.getNames=C.get=B,e.getSymbols=M,w&&!b(39)&&G(j,"propertyIsEnumerable",E,!0));var K={"for":function(a){return d(o,a+="")?o[a]:o[a]=g(a)},keyFor:function keyFor(a){return R(o,a)},useSetter:function(){n=!0},useSimple:function(){n=!1}};e.each.call("hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),function(a){var b=A(a);K[a]=q?b:L(b)}),n=!0,f(f.G+f.W,{Symbol:g}),f(f.S,"Symbol",K),f(f.S+f.F*!q,"Object",{create:F,defineProperty:t,defineProperties:u,getOwnPropertyDescriptor:D,getOwnPropertyNames:B,getOwnPropertySymbols:M}),l&&f(f.S+f.F*(!q||U),"JSON",{stringify:T}),s(g,"Symbol"),s(Math,"Math",!0),s(x.JSON,"JSON",!0)},function(a,c,b){a.exports=b(34)},function(b,e,a){var c=a(2),d=a(10);b.exports=a(8)?function(a,b,e){return c.setDesc(a,b,d(1,e))}:function(a,b,c){return a[b]=c,a}},function(c,f,a){var d=a(2).setDesc,e=a(14),b=a(29)("toStringTag");c.exports=function(a,c,f){a&&!e(a=f?a:a.prototype,b)&&d(a,b,{configurable:!0,value:c})}},function(b,e,a){var c=a(2),d=a(20);b.exports=function(g,h){for(var a,b=d(g),e=c.getKeys(b),i=e.length,f=0;i>f;)if(b[a=e[f++]]===h)return a}},function(d,h,a){var e=a(20),b=a(2).getNames,f={}.toString,c="object"==typeof window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],g=function(a){try{return b(a)}catch(d){return c.slice()}};d.exports.get=function getOwnPropertyNames(a){return c&&"[object Window]"==f.call(a)?g(a):b(e(a))}},function(b,d,c){var a=c(2);b.exports=function(b){var c=a.getKeys(b),d=a.getSymbols;if(d)for(var e,f=d(b),h=a.isEnum,g=0;f.length>g;)h.call(b,e=f[g++])&&c.push(e);return c}},function(a,b){a.exports=!0},function(c,d,b){var a=b(3);a(a.S+a.F,"Object",{assign:b(41)})},function(c,f,a){var b=a(2),d=a(18),e=a(21);c.exports=a(9)(function(){var a=Object.assign,b={},c={},d=Symbol(),e="abcdefghijklmnopqrst";return b[d]=7,e.split("").forEach(function(a){c[a]=a}),7!=a({},b)[d]||Object.keys(a({},c)).join("")!=e})?function assign(n,q){for(var g=d(n),h=arguments,o=h.length,j=1,f=b.getKeys,l=b.getSymbols,m=b.isEnum;o>j;)for(var c,a=e(h[j++]),k=l?f(a).concat(l(a)):f(a),p=k.length,i=0;p>i;)m.call(a,c=k[i++])&&(g[c]=a[c]);return g}:Object.assign},function(c,d,a){var b=a(3);b(b.S,"Object",{is:a(43)})},function(a,b){a.exports=Object.is||function is(a,b){return a===b?0!==a||1/a===1/b:a!=a&&b!=b}},function(c,d,a){var b=a(3);b(b.S,"Object",{setPrototypeOf:a(45).set})},function(d,h,b){var e=b(2).getDesc,f=b(13),g=b(17),c=function(b,a){if(g(b),!f(a)&&null!==a)throw TypeError(a+": can't set as prototype!")};d.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(f,a,d){try{d=b(6)(Function.call,e(Object.prototype,"__proto__").set,2),d(f,[]),a=!(f instanceof Array)}catch(g){a=!0}return function setPrototypeOf(b,e){return c(b,e),a?b.__proto__=e:d(b,e),b}}({},!1):a),check:c}},function(c,d,a){var b=a(13);a(47)("freeze",function(a){return function freeze(c){return a&&b(c)?a(c):c}})},function(c,f,a){var b=a(3),d=a(5),e=a(9);c.exports=function(a,g){var c=(d.Object||{})[a]||Object[a],f={};f[a]=g(c),b(b.S+b.F*e(function(){c(1)}),"Object",f)}},function(c,d,a){var b=a(13);a(47)("seal",function(a){return function seal(c){return a&&b(c)?a(c):c}})},function(c,d,a){var b=a(13);a(47)("preventExtensions",function(a){return function preventExtensions(c){return a&&b(c)?a(c):c}})},function(c,d,a){var b=a(13);a(47)("isFrozen",function(a){return function isFrozen(c){return b(c)?a?a(c):!1:!0}})},function(c,d,a){var b=a(13);a(47)("isSealed",function(a){return function isSealed(c){return b(c)?a?a(c):!1:!0}})},function(c,d,a){var b=a(13);a(47)("isExtensible",function(a){return function isExtensible(c){return b(c)?a?a(c):!0:!1}})},function(c,d,a){var b=a(20);a(47)("getOwnPropertyDescriptor",function(a){return function getOwnPropertyDescriptor(c,d){return a(b(c),d)}})},function(c,d,a){var b=a(18);a(47)("getPrototypeOf",function(a){return function getPrototypeOf(c){return a(b(c))}})},function(c,d,a){var b=a(18);a(47)("keys",function(a){return function keys(c){return a(b(c))}})},function(b,c,a){a(47)("getOwnPropertyNames",function(){return a(37).get})},function(f,g,a){var b=a(2),c=a(13),d=a(29)("hasInstance"),e=Function.prototype;d in e||b.setDesc(e,d,{value:function(a){if("function"!=typeof this||!c(a))return!1;if(!c(this.prototype))return a instanceof this;for(;a=b.getProto(a);)if(this.prototype===a)return!0;return!1}})},function(c,d,b){var a=b(3);a(a.S,"Number",{EPSILON:Math.pow(2,-52)})},function(d,e,a){var b=a(3),c=a(4).isFinite;b(b.S,"Number",{isFinite:function isFinite(a){return"number"==typeof a&&c(a)}})},function(c,d,a){var b=a(3);b(b.S,"Number",{isInteger:a(61)})},function(a,e,b){var c=b(13),d=Math.floor;a.exports=function isInteger(a){return!c(a)&&isFinite(a)&&d(a)===a}},function(c,d,b){var a=b(3);a(a.S,"Number",{isNaN:function isNaN(a){return a!=a}})},function(e,f,a){var b=a(3),c=a(61),d=Math.abs;b(b.S,"Number",{isSafeInteger:function isSafeInteger(a){return c(a)&&d(a)<=9007199254740991}})},function(c,d,b){var a=b(3);a(a.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(c,d,b){var a=b(3);a(a.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(c,d,b){var a=b(3);a(a.S,"Number",{parseFloat:parseFloat})},function(c,d,b){var a=b(3);a(a.S,"Number",{parseInt:parseInt})},function(f,g,b){var a=b(3),e=b(69),c=Math.sqrt,d=Math.acosh;a(a.S+a.F*!(d&&710==Math.floor(d(Number.MAX_VALUE))),"Math",{acosh:function acosh(a){return(a=+a)<1?NaN:a>94906265.62425156?Math.log(a)+Math.LN2:e(a-1+c(a-1)*c(a+1))}})},function(a,b){a.exports=Math.log1p||function log1p(a){return(a=+a)>-1e-8&&1e-8>a?a-a*a/2:Math.log(1+a)}},function(c,d,b){function asinh(a){return isFinite(a=+a)&&0!=a?0>a?-asinh(-a):Math.log(a+Math.sqrt(a*a+1)):a}var a=b(3);a(a.S,"Math",{asinh:asinh})},function(c,d,b){var a=b(3);a(a.S,"Math",{atanh:function atanh(a){return 0==(a=+a)?a:Math.log((1+a)/(1-a))/2}})},function(d,e,a){var b=a(3),c=a(73);b(b.S,"Math",{cbrt:function cbrt(a){return c(a=+a)*Math.pow(Math.abs(a),1/3)}})},function(a,b){a.exports=Math.sign||function sign(a){return 0==(a=+a)||a!=a?a:0>a?-1:1}},function(c,d,b){var a=b(3);a(a.S,"Math",{clz32:function clz32(a){return(a>>>=0)?31-Math.floor(Math.log(a+.5)*Math.LOG2E):32}})},function(d,e,c){var a=c(3),b=Math.exp;a(a.S,"Math",{cosh:function cosh(a){return(b(a=+a)+b(-a))/2}})},function(c,d,a){var b=a(3);b(b.S,"Math",{expm1:a(77)})},function(a,b){a.exports=Math.expm1||function expm1(a){return 0==(a=+a)?a:a>-1e-6&&1e-6>a?a+a*a/2:Math.exp(a)-1}},function(k,j,e){var f=e(3),g=e(73),a=Math.pow,d=a(2,-52),b=a(2,-23),i=a(2,127)*(2-b),c=a(2,-126),h=function(a){return a+1/d-1/d};f(f.S,"Math",{fround:function fround(k){var f,a,e=Math.abs(k),j=g(k);return c>e?j*h(e/c/b)*c*b:(f=(1+b/d)*e,a=f-(f-e),a>i||a!=a?j*(1/0):j*a)}})},function(d,e,b){var a=b(3),c=Math.abs;a(a.S,"Math",{hypot:function hypot(i,j){for(var a,b,e=0,f=0,g=arguments,h=g.length,d=0;h>f;)a=c(g[f++]),a>d?(b=d/a,e=e*b*b+1,d=a):a>0?(b=a/d,e+=b*b):e+=a;return d===1/0?1/0:d*Math.sqrt(e)}})},function(d,e,b){var a=b(3),c=Math.imul;a(a.S+a.F*b(9)(function(){return-5!=c(4294967295,5)||2!=c.length}),"Math",{imul:function imul(f,g){var a=65535,b=+f,c=+g,d=a&b,e=a&c;return 0|d*e+((a&b>>>16)*e+d*(a&c>>>16)<<16>>>0)}})},function(c,d,b){var a=b(3);a(a.S,"Math",{log10:function log10(a){return Math.log(a)/Math.LN10}})},function(c,d,a){var b=a(3);b(b.S,"Math",{log1p:a(69)})},function(c,d,b){var a=b(3);a(a.S,"Math",{log2:function log2(a){return Math.log(a)/Math.LN2}})},function(c,d,a){var b=a(3);b(b.S,"Math",{sign:a(73)})},function(e,f,a){var b=a(3),c=a(77),d=Math.exp;b(b.S+b.F*a(9)(function(){return-2e-17!=!Math.sinh(-2e-17)}),"Math",{sinh:function sinh(a){return Math.abs(a=+a)<1?(c(a)-c(-a))/2:(d(a-1)-d(-a-1))*(Math.E/2)}})},function(e,f,a){var b=a(3),c=a(77),d=Math.exp;b(b.S,"Math",{tanh:function tanh(a){var b=c(a=+a),e=c(-a);return b==1/0?1:e==1/0?-1:(b-e)/(d(a)+d(-a))}})},function(c,d,b){var a=b(3);a(a.S,"Math",{trunc:function trunc(a){return(a>0?Math.floor:Math.ceil)(a)}})},function(f,g,b){var a=b(3),e=b(23),c=String.fromCharCode,d=String.fromCodePoint;a(a.S+a.F*(!!d&&1!=d.length),"String",{fromCodePoint:function fromCodePoint(h){for(var a,b=[],d=arguments,g=d.length,f=0;g>f;){if(a=+d[f++],e(a,1114111)!==a)throw RangeError(a+" is not a valid code point");b.push(65536>a?c(a):c(((a-=65536)>>10)+55296,a%1024+56320))}return b.join("")}})},function(e,f,a){var b=a(3),c=a(20),d=a(24);b(b.S,"String",{raw:function raw(g){for(var e=c(g.raw),h=d(e.length),f=arguments,i=f.length,b=[],a=0;h>a;)b.push(String(e[a++])),i>a&&b.push(String(f[a]));return b.join("")}})},function(b,c,a){a(91)("trim",function(a){return function trim(){return a(this,3)}})},function(g,m,b){var c=b(3),h=b(19),i=b(9),d=" \n\f\r \u2028\u2029\ufeff",a="["+d+"]",f="
",j=RegExp("^"+a+a+"*"),k=RegExp(a+a+"*$"),e=function(a,e){var b={};b[a]=e(l),c(c.P+c.F*i(function(){return!!d[a]()||f[a]()!=f}),"String",b)},l=e.trim=function(a,b){return a=String(h(a)),1&b&&(a=a.replace(j,"")),2&b&&(a=a.replace(k,"")),a};g.exports=e},function(d,e,a){var b=a(3),c=a(93)(!1);b(b.P,"String",{codePointAt:function codePointAt(a){return c(this,a)}})},function(c,f,b){var d=b(22),e=b(19);c.exports=function(b){return function(j,k){var f,h,g=String(e(j)),c=d(k),i=g.length;return 0>c||c>=i?b?"":a:(f=g.charCodeAt(c),55296>f||f>56319||c+1===i||(h=g.charCodeAt(c+1))<56320||h>57343?b?g.charAt(c):f:b?g.slice(c,c+2):(f-55296<<10)+(h-56320)+65536)}}},function(h,i,b){var c=b(3),e=b(24),g=b(95),d="endsWith",f=""[d];c(c.P+c.F*b(97)(d),"String",{endsWith:function endsWith(i){var b=g(this,i,d),j=arguments,k=j.length>1?j[1]:a,l=e(b.length),c=k===a?l:Math.min(e(k),l),h=String(i);return f?f.call(b,h,c):b.slice(c-h.length,c)===h}})},function(b,e,a){var c=a(96),d=a(19);b.exports=function(a,b,e){if(c(b))throw TypeError("String#"+e+" doesn't accept regex!");return String(d(a))}},function(c,g,b){var d=b(13),e=b(15),f=b(29)("match");c.exports=function(b){var c;return d(b)&&((c=b[f])!==a?!!c:"RegExp"==e(b))}},function(a,d,b){var c=b(29)("match");a.exports=function(b){var a=/./;try{"/./"[b](a)}catch(d){try{return a[c]=!1,!"/./"[b](a)}catch(e){}}return!0}},function(f,g,b){var c=b(3),e=b(95),d="includes";c(c.P+c.F*b(97)(d),"String",{includes:function includes(b){return!!~e(this,b,d).indexOf(b,arguments.length>1?arguments[1]:a)}})},function(c,d,a){var b=a(3);b(b.P,"String",{repeat:a(100)})},function(b,e,a){var c=a(22),d=a(19);b.exports=function repeat(f){var b=String(d(this)),e="",a=c(f);if(0>a||a==1/0)throw RangeError("Count can't be negative");for(;a>0;(a>>>=1)&&(b+=b))1&a&&(e+=b);return e}},function(h,i,b){var c=b(3),f=b(24),g=b(95),d="startsWith",e=""[d];c(c.P+c.F*b(97)(d),"String",{startsWith:function startsWith(i){var b=g(this,i,d),j=arguments,c=f(Math.min(j.length>1?j[1]:a,b.length)),h=String(i);return e?e.call(b,h,c):b.slice(c,c+h.length)===h}})},function(d,e,b){var c=b(93)(!0);b(103)(String,"String",function(a){this._t=String(a),this._i=0},function(){var b,d=this._t,e=this._i;return e>=d.length?{value:a,done:!0}:(b=c(d,e),this._i+=b.length,{value:b,done:!1})})},function(o,r,a){var i=a(39),d=a(3),n=a(33),h=a(34),m=a(14),f=a(104),q=a(105),p=a(35),l=a(2).getProto,c=a(29)("iterator"),e=!([].keys&&"next"in[].keys()),j="@@iterator",k="keys",b="values",g=function(){return this};o.exports=function(B,v,u,F,s,E,A){q(u,v,F);var r,x,w=function(c){if(!e&&c in a)return a[c];switch(c){case k:return function keys(){return new u(this,c)};case b:return function values(){return new u(this,c)}}return function entries(){return new u(this,c)}},C=v+" Iterator",y=s==b,z=!1,a=B.prototype,t=a[c]||a[j]||s&&a[s],o=t||w(s);if(t){var D=l(o.call(new B));p(D,C,!0),!i&&m(a,j)&&h(D,c,g),y&&t.name!==b&&(z=!0,o=function values(){return t.call(this)})}if(i&&!A||!e&&!z&&a[c]||h(a,c,o),f[v]=o,f[C]=g,s)if(r={values:y?o:w(b),keys:E?o:w(k),entries:y?w("entries"):o},A)for(x in r)x in a||n(a,x,r[x]);else d(d.P+d.F*(e||z),v,r);return r}},function(a,b){a.exports={}},function(c,g,a){var d=a(2),e=a(10),f=a(35),b={};a(34)(b,a(29)("iterator"),function(){return this}),c.exports=function(a,c,g){a.prototype=d.create(b,{next:e(1,g)}),f(a,c+" Iterator")}},function(j,k,b){var d=b(6),c=b(3),e=b(18),f=b(107),g=b(108),h=b(24),i=b(109);c(c.S+c.F*!b(111)(function(a){Array.from(a)}),"Array",{from:function from(t){var n,c,r,m,j=e(t),l="function"==typeof this?this:Array,p=arguments,s=p.length,k=s>1?p[1]:a,q=k!==a,b=0,o=i(j);if(q&&(k=d(k,s>2?p[2]:a,2)),o==a||l==Array&&g(o))for(n=h(j.length),c=new l(n);n>b;b++)c[b]=q?k(j[b],b):j[b];else for(m=o.call(j),c=new l;!(r=m.next()).done;b++)c[b]=q?f(m,k,[r.value,b],!0):r.value;return c.length=b,c}})},function(c,e,d){var b=d(17);c.exports=function(d,e,c,g){try{return g?e(b(c)[0],c[1]):e(c)}catch(h){var f=d["return"];throw f!==a&&b(f.call(d)),h}}},function(c,g,b){var d=b(104),e=b(29)("iterator"),f=Array.prototype;c.exports=function(b){return b!==a&&(d.Array===b||f[e]===b)}},function(c,g,b){var d=b(110),e=b(29)("iterator"),f=b(104);c.exports=b(5).getIteratorMethod=function(b){return b!=a?b[e]||b["@@iterator"]||f[d(b)]:void 0}},function(d,g,c){var b=c(15),e=c(29)("toStringTag"),f="Arguments"==b(function(){return arguments}());d.exports=function(d){var c,g,h;return d===a?"Undefined":null===d?"Null":"string"==typeof(g=(c=Object(d))[e])?g:f?b(c):"Object"==(h=b(c))&&"function"==typeof c.callee?"Arguments":h}},function(d,f,e){var a=e(29)("iterator"),b=!1;try{var c=[7][a]();c["return"]=function(){b=!0},Array.from(c,function(){throw 2})}catch(g){}d.exports=function(f,g){if(!g&&!b)return!1;var d=!1;try{var c=[7],e=c[a]();e.next=function(){d=!0},c[a]=function(){return e},f(c)}catch(h){}return d}},function(c,d,b){var a=b(3);a(a.S+a.F*b(9)(function(){function F(){}return!(Array.of.call(F)instanceof F)}),"Array",{of:function of(){for(var a=0,d=arguments,b=d.length,c=new("function"==typeof this?this:Array)(b);b>a;)c[a]=d[a++];return c.length=b,c}})},function(f,h,b){var d=b(114),c=b(115),e=b(104),g=b(20);f.exports=b(103)(Array,"Array",function(a,b){this._t=g(a),this._i=0,this._k=b},function(){var d=this._t,e=this._k,b=this._i++;return!d||b>=d.length?(this._t=a,c(1)):"keys"==e?c(0,b):"values"==e?c(0,d[b]):c(0,[b,d[b]])},"values"),e.Arguments=e.Array,d("keys"),d("values"),d("entries")},function(a,b){a.exports=function(){}},function(a,b){a.exports=function(a,b){return{value:b,done:!!a}}},function(b,c,a){a(117)("Array")},function(c,g,a){var d=a(5),e=a(2),f=a(8),b=a(29)("species");c.exports=function(c){var a=d[c];f&&a&&!a[b]&&e.setDesc(a,b,{configurable:!0,get:function(){return this}})}},function(c,d,a){var b=a(3);b(b.P,"Array",{copyWithin:a(119)}),a(114)("copyWithin")},function(d,g,b){var e=b(18),c=b(23),f=b(24);d.exports=[].copyWithin||function copyWithin(m,n){var g=e(this),h=f(g.length),b=c(m,h),d=c(n,h),k=arguments,l=k.length>2?k[2]:a,i=Math.min((l===a?h:c(l,h))-d,h-b),j=1;for(b>d&&d+i>b&&(j=-1,d+=i-1,b+=i-1);i-->0;)d in g?g[b]=g[d]:delete g[b],b+=j,d+=j;return g}},function(c,d,a){var b=a(3);b(b.P,"Array",{fill:a(121)}),a(114)("fill")},function(d,g,b){var e=b(18),c=b(23),f=b(24);d.exports=[].fill||function fill(k){for(var b=e(this),d=f(b.length),g=arguments,h=g.length,i=c(h>1?g[1]:a,d),j=h>2?g[2]:a,l=j===a?d:c(j,d);l>i;)b[i++]=k;return b}},function(g,h,b){var c=b(3),f=b(26)(5),d="find",e=!0;d in[]&&Array(1)[d](function(){e=!1}),c(c.P+c.F*e,"Array",{find:function find(b){return f(this,b,arguments.length>1?arguments[1]:a)}}),b(114)(d)},function(g,h,b){var c=b(3),f=b(26)(6),d="findIndex",e=!0;d in[]&&Array(1)[d](function(){e=!1}),c(c.P+c.F*e,"Array",{findIndex:function findIndex(b){return f(this,b,arguments.length>1?arguments[1]:a)}}),b(114)(d)},function(J,I,b){var r,k=b(2),F=b(39),i=b(4),j=b(6),y=b(110),d=b(3),C=b(13),E=b(17),m=b(7),G=b(125),w=b(126),p=b(45).set,A=b(43),z=b(29)("species"),D=b(127),n=b(128),e="Promise",o=i.process,H="process"==y(o),c=i[e],q=function(b){var a=new c(function(){});return b&&(a.constructor=Object),c.resolve(a)===a},g=function(){function P2(b){var a=new c(b);return p(a,P2.prototype),a}var a=!1;try{if(a=c&&c.resolve&&q(),p(P2,c),P2.prototype=k.create(c.prototype,{constructor:{value:P2}}),P2.resolve(5).then(function(){})instanceof P2||(a=!1),a&&b(8)){var d=!1;c.resolve(k.setDesc({},"then",{get:function(){d=!0}})),a=d}}catch(e){a=!1}return a}(),B=function(a,b){return F&&a===c&&b===r?!0:A(a,b)},s=function(b){var c=E(b)[z];return c!=a?c:b},t=function(a){var b;return C(a)&&"function"==typeof(b=a.then)?b:!1},h=function(d){var b,c;this.promise=new d(function(d,e){if(b!==a||c!==a)throw TypeError("Bad Promise constructor");b=d,c=e}),this.resolve=m(b),this.reject=m(c)},v=function(a){try{a()}catch(b){return{error:b}}},l=function(b,d){if(!b.n){b.n=!0;var c=b.c;n(function(){for(var e=b.v,f=1==b.s,g=0,h=function(a){var c,h,g=f?a.ok:a.fail,i=a.resolve,d=a.reject;try{g?(f||(b.h=!0),c=g===!0?e:g(e),c===a.promise?d(TypeError("Promise-chain cycle")):(h=t(c))?h.call(c,i,d):i(c)):d(e)}catch(j){d(j)}};c.length>g;)h(c[g++]);c.length=0,b.n=!1,d&&setTimeout(function(){var f,c,d=b.p;x(d)&&(H?o.emit("unhandledRejection",e,d):(f=i.onunhandledrejection)?f({promise:d,reason:e}):(c=i.console)&&c.error&&c.error("Unhandled promise rejection",e)),b.a=a},1)})}},x=function(e){var a,b=e._d,c=b.a||b.c,d=0;if(b.h)return!1;for(;c.length>d;)if(a=c[d++],a.fail||!x(a.promise))return!1;return!0},f=function(b){var a=this;a.d||(a.d=!0,a=a.r||a,a.v=b,a.s=2,a.a=a.c.slice(),l(a,!0))},u=function(b){var c,a=this;if(!a.d){a.d=!0,a=a.r||a;try{if(a.p===b)throw TypeError("Promise can't be resolved itself");(c=t(b))?n(function(){var d={r:a,d:!1};try{c.call(b,j(u,d,1),j(f,d,1))}catch(e){f.call(d,e)}}):(a.v=b,a.s=1,l(a,!1))}catch(d){f.call({r:a,d:!1},d)}}};g||(c=function Promise(d){m(d);var b=this._d={p:G(this,c,e),c:[],a:a,s:0,d:!1,v:a,h:!1,n:!1};try{d(j(u,b,1),j(f,b,1))}catch(g){f.call(b,g)}},b(130)(c.prototype,{then:function then(d,e){var a=new h(D(this,c)),f=a.promise,b=this._d;return a.ok="function"==typeof d?d:!0,a.fail="function"==typeof e&&e,b.c.push(a),b.a&&b.a.push(a),b.s&&l(b,!1),f},"catch":function(b){return this.then(a,b)}})),d(d.G+d.W+d.F*!g,{Promise:c}),b(35)(c,e),b(117)(e),r=b(5)[e],d(d.S+d.F*!g,e,{reject:function reject(b){var a=new h(this),c=a.reject;return c(b),a.promise}}),d(d.S+d.F*(!g||q(!0)),e,{resolve:function resolve(a){if(a instanceof c&&B(a.constructor,this))return a;var b=new h(this),d=b.resolve;return d(a),b.promise}}),d(d.S+d.F*!(g&&b(111)(function(a){c.all(a)["catch"](function(){})})),e,{all:function all(g){var c=s(this),b=new h(c),d=b.resolve,e=b.reject,a=[],f=v(function(){w(g,!1,a.push,a);var b=a.length,f=Array(b);b?k.each.call(a,function(g,h){var a=!1;c.resolve(g).then(function(c){a||(a=!0,f[h]=c,--b||d(f))},e)}):d(f)});return f&&e(f.error),b.promise},race:function race(e){var b=s(this),a=new h(b),c=a.reject,d=v(function(){w(e,!1,function(d){b.resolve(d).then(a.resolve,c)})});return d&&c(d.error),a.promise}})},function(a,b){a.exports=function(a,b,c){if(!(a instanceof b))throw TypeError(c+": use the 'new' operator!");return a}},function(b,i,a){var c=a(6),d=a(107),e=a(108),f=a(17),g=a(24),h=a(109);b.exports=function(a,j,o,p){var n,b,k,l=h(a),m=c(o,p,j?2:1),i=0;if("function"!=typeof l)throw TypeError(a+" is not iterable!");if(e(l))for(n=g(a.length);n>i;i++)j?m(f(b=a[i])[0],b[1]):m(a[i]);else for(k=l.call(a);!(b=k.next()).done;)d(k,m,b.value,j)}},function(d,g,b){var c=b(17),e=b(7),f=b(29)("species");d.exports=function(g,h){var b,d=c(g).constructor;return d===a||(b=c(d)[f])==a?h:e(b)}},function(n,p,h){var b,f,g,c=h(4),o=h(129).set,k=c.MutationObserver||c.WebKitMutationObserver,d=c.process,i=c.Promise,j="process"==h(15)(d),e=function(){var e,c,g;for(j&&(e=d.domain)&&(d.domain=null,e.exit());b;)c=b.domain,g=b.fn,c&&c.enter(),g(),c&&c.exit(),b=b.next;f=a,e&&e.enter()};if(j)g=function(){d.nextTick(e)};else if(k){var m=1,l=document.createTextNode("");new k(e).observe(l,{characterData:!0}),g=function(){l.data=m=-m}}else g=i&&i.resolve?function(){i.resolve().then(e)}:function(){o.call(c,e)};n.exports=function asap(e){var c={fn:e,next:a,domain:j&&d.domain};f&&(f.next=c),b||(b=c,g()),f=c}},function(s,t,b){var c,g,f,k=b(6),r=b(16),n=b(11),p=b(12),a=b(4),l=a.process,h=a.setImmediate,i=a.clearImmediate,o=a.MessageChannel,j=0,d={},q="onreadystatechange",e=function(){
-var a=+this;if(d.hasOwnProperty(a)){var b=d[a];delete d[a],b()}},m=function(a){e.call(a.data)};h&&i||(h=function setImmediate(a){for(var b=[],e=1;arguments.length>e;)b.push(arguments[e++]);return d[++j]=function(){r("function"==typeof a?a:Function(a),b)},c(j),j},i=function clearImmediate(a){delete d[a]},"process"==b(15)(l)?c=function(a){l.nextTick(k(e,a,1))}:o?(g=new o,f=g.port2,g.port1.onmessage=m,c=k(f.postMessage,f,1)):a.addEventListener&&"function"==typeof postMessage&&!a.importScripts?(c=function(b){a.postMessage(b+"","*")},a.addEventListener("message",m,!1)):c=q in p("script")?function(a){n.appendChild(p("script"))[q]=function(){n.removeChild(this),e.call(a)}}:function(a){setTimeout(k(e,a,1),0)}),s.exports={set:h,clear:i}},function(a,d,b){var c=b(33);a.exports=function(a,b){for(var d in b)c(a,d,b[d]);return a}},function(d,e,c){var b=c(132);c(133)("Map",function(b){return function Map(){return b(this,arguments.length>0?arguments[0]:a)}},{get:function get(c){var a=b.getEntry(this,c);return a&&a.v},set:function set(a,c){return b.def(this,0===a?0:a,c)}},b,!0)},function(v,w,b){var j=b(2),m=b(34),o=b(130),n=b(6),p=b(125),r=b(19),t=b(126),l=b(103),d=b(115),f=b(25)("id"),k=b(14),h=b(13),q=b(117),i=b(8),s=Object.isExtensible||h,c=i?"_s":"size",u=0,g=function(a,b){if(!h(a))return"symbol"==typeof a?a:("string"==typeof a?"S":"P")+a;if(!k(a,f)){if(!s(a))return"F";if(!b)return"E";m(a,f,++u)}return"O"+a[f]},e=function(b,c){var a,d=g(c);if("F"!==d)return b._i[d];for(a=b._f;a;a=a.n)if(a.k==c)return a};v.exports={getConstructor:function(d,f,g,h){var b=d(function(d,e){p(d,b,f),d._i=j.create(null),d._f=a,d._l=a,d[c]=0,e!=a&&t(e,g,d[h],d)});return o(b.prototype,{clear:function clear(){for(var d=this,e=d._i,b=d._f;b;b=b.n)b.r=!0,b.p&&(b.p=b.p.n=a),delete e[b.i];d._f=d._l=a,d[c]=0},"delete":function(g){var b=this,a=e(b,g);if(a){var d=a.n,f=a.p;delete b._i[a.i],a.r=!0,f&&(f.n=d),d&&(d.p=f),b._f==a&&(b._f=d),b._l==a&&(b._l=f),b[c]--}return!!a},forEach:function forEach(c){for(var b,d=n(c,arguments.length>1?arguments[1]:a,3);b=b?b.n:this._f;)for(d(b.v,b.k,this);b&&b.r;)b=b.p},has:function has(a){return!!e(this,a)}}),i&&j.setDesc(b.prototype,"size",{get:function(){return r(this[c])}}),b},def:function(b,f,j){var h,i,d=e(b,f);return d?d.v=j:(b._l=d={i:i=g(f,!0),k:f,v:j,p:h=b._l,n:a,r:!1},b._f||(b._f=d),h&&(h.n=d),b[c]++,"F"!==i&&(b._i[i]=d)),b},getEntry:e,setStrong:function(e,b,c){l(e,b,function(b,c){this._t=b,this._k=c,this._l=a},function(){for(var c=this,e=c._k,b=c._l;b&&b.r;)b=b.p;return c._t&&(c._l=b=b?b.n:c._t._f)?"keys"==e?d(0,b.k):"values"==e?d(0,b.v):d(0,[b.k,b.v]):(c._t=a,d(1))},c?"entries":"values",!c,!0),q(b)}}},function(g,o,b){var d=b(2),f=b(4),c=b(3),h=b(9),e=b(34),j=b(130),k=b(126),l=b(125),m=b(13),i=b(35),n=b(8);g.exports=function(g,s,w,r,p,o){var t=f[g],b=t,u=p?"set":"add",q=b&&b.prototype,v={};return n&&"function"==typeof b&&(o||q.forEach&&!h(function(){(new b).entries().next()}))?(b=s(function(c,d){l(c,b,g),c._c=new t,d!=a&&k(d,p,c[u],c)}),d.each.call("add,clear,delete,forEach,get,has,set,keys,values,entries".split(","),function(c){var d="add"==c||"set"==c;c in q&&(!o||"clear"!=c)&&e(b.prototype,c,function(b,e){if(!d&&o&&!m(b))return"get"==c?a:!1;var f=this._c[c](0===b?0:b,e);return d?this:f})}),"size"in q&&d.setDesc(b.prototype,"size",{get:function(){return this._c.size}})):(b=r.getConstructor(s,g,p,u),j(b.prototype,w)),i(b,g),v[g]=b,c(c.G+c.W+c.F,v),o||r.setStrong(b,g,p),b}},function(d,e,b){var c=b(132);b(133)("Set",function(b){return function Set(){return b(this,arguments.length>0?arguments[0]:a)}},{add:function add(a){return c.def(this,a=0===a?0:a,a)}},c)},function(n,m,b){var l=b(2),k=b(33),c=b(136),d=b(13),j=b(14),i=c.frozenStore,h=c.WEAK,f=Object.isExtensible||d,e={},g=b(133)("WeakMap",function(b){return function WeakMap(){return b(this,arguments.length>0?arguments[0]:a)}},{get:function get(a){if(d(a)){if(!f(a))return i(this).get(a);if(j(a,h))return a[h][this._i]}},set:function set(a,b){return c.def(this,a,b)}},c,!0,!0);7!=(new g).set((Object.freeze||Object)(e),7).get(e)&&l.each.call(["delete","has","get","set"],function(a){var b=g.prototype,c=b[a];k(b,a,function(b,e){if(d(b)&&!f(b)){var g=i(this)[a](b,e);return"set"==a?this:g}return c.call(this,b,e)})})},function(s,t,b){var r=b(34),q=b(130),m=b(17),h=b(13),l=b(125),k=b(126),j=b(26),d=b(14),c=b(25)("weak"),g=Object.isExtensible||h,n=j(5),o=j(6),p=0,e=function(a){return a._l||(a._l=new i)},i=function(){this.a=[]},f=function(a,b){return n(a.a,function(a){return a[0]===b})};i.prototype={get:function(b){var a=f(this,b);return a?a[1]:void 0},has:function(a){return!!f(this,a)},set:function(a,b){var c=f(this,a);c?c[1]=b:this.a.push([a,b])},"delete":function(b){var a=o(this.a,function(a){return a[0]===b});return~a&&this.a.splice(a,1),!!~a}},s.exports={getConstructor:function(f,i,j,m){var b=f(function(c,d){l(c,b,i),c._i=p++,c._l=a,d!=a&&k(d,j,c[m],c)});return q(b.prototype,{"delete":function(a){return h(a)?g(a)?d(a,c)&&d(a[c],this._i)&&delete a[c][this._i]:e(this)["delete"](a):!1},has:function has(a){return h(a)?g(a)?d(a,c)&&d(a[c],this._i):e(this).has(a):!1}}),b},def:function(b,a,f){return g(m(a))?(d(a,c)||r(a,c,{}),a[c][b._i]=f):e(b).set(a,f),b},frozenStore:e,WEAK:c}},function(d,e,b){var c=b(136);b(133)("WeakSet",function(b){return function WeakSet(){return b(this,arguments.length>0?arguments[0]:a)}},{add:function add(a){return c.def(this,a,!0)}},c,!1,!0)},function(d,e,b){var a=b(3),c=Function.apply;a(a.S,"Reflect",{apply:function apply(a,b,d){return c.call(a,b,d)}})},function(i,j,b){var f=b(2),c=b(3),d=b(7),g=b(17),e=b(13),h=Function.bind||b(5).Function.prototype.bind;c(c.S+c.F*b(9)(function(){function F(){}return!(Reflect.construct(function(){},[],F)instanceof F)}),"Reflect",{construct:function construct(c,b){d(c);var j=arguments.length<3?c:d(arguments[2]);if(c==j){if(b!=a)switch(g(b).length){case 0:return new c;case 1:return new c(b[0]);case 2:return new c(b[0],b[1]);case 3:return new c(b[0],b[1],b[2]);case 4:return new c(b[0],b[1],b[2],b[3])}var i=[null];return i.push.apply(i,b),new(h.apply(c,i))}var k=j.prototype,l=f.create(e(k)?k:Object.prototype),m=Function.apply.call(c,l,b);return e(m)?m:l}})},function(e,f,a){var c=a(2),b=a(3),d=a(17);b(b.S+b.F*a(9)(function(){Reflect.defineProperty(c.setDesc({},1,{value:1}),1,{value:2})}),"Reflect",{defineProperty:function defineProperty(a,b,e){d(a);try{return c.setDesc(a,b,e),!0}catch(f){return!1}}})},function(e,f,a){var b=a(3),c=a(2).getDesc,d=a(17);b(b.S,"Reflect",{deleteProperty:function deleteProperty(a,b){var e=c(d(a),b);return e&&!e.configurable?!1:delete a[b]}})},function(f,g,b){var c=b(3),e=b(17),d=function(a){this._t=e(a),this._i=0;var b,c=this._k=[];for(b in a)c.push(b)};b(105)(d,"Object",function(){var c,b=this,d=b._k;do if(b._i>=d.length)return{value:a,done:!0};while(!((c=d[b._i++])in b._t));return{value:c,done:!1}}),c(c.S,"Reflect",{enumerate:function enumerate(a){return new d(a)}})},function(h,i,b){function get(b,h){var d,j,i=arguments.length<3?b:arguments[2];return g(b)===i?b[h]:(d=c.getDesc(b,h))?e(d,"value")?d.value:d.get!==a?d.get.call(i):a:f(j=c.getProto(b))?get(j,h,i):void 0}var c=b(2),e=b(14),d=b(3),f=b(13),g=b(17);d(d.S,"Reflect",{get:get})},function(e,f,a){var c=a(2),b=a(3),d=a(17);b(b.S,"Reflect",{getOwnPropertyDescriptor:function getOwnPropertyDescriptor(a,b){return c.getDesc(d(a),b)}})},function(e,f,a){var b=a(3),c=a(2).getProto,d=a(17);b(b.S,"Reflect",{getPrototypeOf:function getPrototypeOf(a){return c(d(a))}})},function(c,d,b){var a=b(3);a(a.S,"Reflect",{has:function has(a,b){return b in a}})},function(e,f,a){var b=a(3),d=a(17),c=Object.isExtensible;b(b.S,"Reflect",{isExtensible:function isExtensible(a){return d(a),c?c(a):!0}})},function(c,d,a){var b=a(3);b(b.S,"Reflect",{ownKeys:a(149)})},function(d,f,a){var b=a(2),e=a(17),c=a(4).Reflect;d.exports=c&&c.ownKeys||function ownKeys(a){var c=b.getNames(e(a)),d=b.getSymbols;return d?c.concat(d(a)):c}},function(e,f,a){var b=a(3),d=a(17),c=Object.preventExtensions;b(b.S,"Reflect",{preventExtensions:function preventExtensions(a){d(a);try{return c&&c(a),!0}catch(b){return!1}}})},function(i,j,b){function set(j,i,k){var l,m,d=arguments.length<4?j:arguments[3],b=c.getDesc(h(j),i);if(!b){if(f(m=c.getProto(j)))return set(m,i,k,d);b=e(0)}return g(b,"value")?b.writable!==!1&&f(d)?(l=c.getDesc(d,i)||e(0),l.value=k,c.setDesc(d,i,l),!0):!1:b.set===a?!1:(b.set.call(d,k),!0)}var c=b(2),g=b(14),d=b(3),e=b(10),h=b(17),f=b(13);d(d.S,"Reflect",{set:set})},function(d,e,b){var c=b(3),a=b(45);a&&c(c.S,"Reflect",{setPrototypeOf:function setPrototypeOf(b,c){a.check(b,c);try{return a.set(b,c),!0}catch(d){return!1}}})},function(e,f,b){var c=b(3),d=b(31)(!0);c(c.P,"Array",{includes:function includes(b){return d(this,b,arguments.length>1?arguments[1]:a)}}),b(114)("includes")},function(d,e,a){var b=a(3),c=a(93)(!0);b(b.P,"String",{at:function at(a){return c(this,a)}})},function(e,f,b){var c=b(3),d=b(156);c(c.P,"String",{padLeft:function padLeft(b){return d(this,b,arguments.length>1?arguments[1]:a,!0)}})},function(c,g,b){var d=b(24),e=b(100),f=b(19);c.exports=function(l,m,i,n){var c=String(f(l)),j=c.length,g=i===a?" ":String(i),k=d(m);if(j>=k)return c;""==g&&(g=" ");var h=k-j,b=e.call(g,Math.ceil(h/g.length));return b.length>h&&(b=b.slice(0,h)),n?b+c:c+b}},function(e,f,b){var c=b(3),d=b(156);c(c.P,"String",{padRight:function padRight(b){return d(this,b,arguments.length>1?arguments[1]:a,!1)}})},function(b,c,a){a(91)("trimLeft",function(a){return function trimLeft(){return a(this,1)}})},function(b,c,a){a(91)("trimRight",function(a){return function trimRight(){return a(this,2)}})},function(d,e,a){var b=a(3),c=a(161)(/[\\^$*+?.()|[\]{}]/g,"\\$&");b(b.S,"RegExp",{escape:function escape(a){return c(a)}})},function(a,b){a.exports=function(b,a){var c=a===Object(a)?function(b){return a[b]}:a;return function(a){return String(a).replace(b,c)}}},function(g,h,a){var b=a(2),c=a(3),d=a(149),e=a(20),f=a(10);c(c.S,"Object",{getOwnPropertyDescriptors:function getOwnPropertyDescriptors(k){for(var a,g,h=e(k),l=b.setDesc,m=b.getDesc,i=d(h),c={},j=0;i.length>j;)g=m(h,a=i[j++]),a in c?l(c,a,f(0,g)):c[a]=g;return c}})},function(d,e,a){var b=a(3),c=a(164)(!1);b(b.S,"Object",{values:function values(a){return c(a)}})},function(c,f,a){var b=a(2),d=a(20),e=b.isEnum;c.exports=function(a){return function(j){for(var c,f=d(j),g=b.getKeys(f),k=g.length,h=0,i=[];k>h;)e.call(f,c=g[h++])&&i.push(a?[c,f[c]]:f[c]);return i}}},function(d,e,a){var b=a(3),c=a(164)(!0);b(b.S,"Object",{entries:function entries(a){return c(a)}})},function(c,d,a){var b=a(3);b(b.P,"Map",{toJSON:a(167)("Map")})},function(b,e,a){var c=a(126),d=a(110);b.exports=function(a){return function toJSON(){if(d(this)!=a)throw TypeError(a+"#toJSON isn't generic");var b=[];return c(this,!1,b.push,b),b}}},function(c,d,a){var b=a(3);b(b.P,"Set",{toJSON:a(167)("Set")})},function(d,e,b){var a=b(3),c=b(129);a(a.G+a.B,{setImmediate:c.set,clearImmediate:c.clear})},function(c,d,b){b(113);var a=b(104);a.NodeList=a.HTMLCollection=a.Array},function(i,j,a){var c=a(4),b=a(3),g=a(16),h=a(172),d=c.navigator,e=!!d&&/MSIE .\./.test(d.userAgent),f=function(a){return e?function(b,c){return a(g(h,[].slice.call(arguments,2),"function"==typeof b?b:Function(b)),c)}:a};b(b.G+b.B+b.F*e,{setTimeout:f(c.setTimeout),setInterval:f(c.setInterval)})},function(c,f,a){var d=a(173),b=a(16),e=a(7);c.exports=function(){for(var h=e(this),a=arguments.length,c=Array(a),f=0,i=d._,g=!1;a>f;)(c[f]=arguments[f++])===i&&(g=!0);return function(){var d,k=this,f=arguments,l=f.length,e=0,j=0;if(!g&&!l)return b(h,c,k);if(d=c.slice(),g)for(;a>e;e++)d[e]===i&&(d[e]=f[j++]);for(;l>j;)d.push(f[j++]);return b(h,d,k)}}},function(a,c,b){a.exports=b(5)},function(x,w,b){function Dict(b){var c=f.create(null);return b!=a&&(r(b)?q(b,!0,function(a,b){c[a]=b}):o(c,b)),c}function reduce(g,h,l){p(h);var a,c,b=i(g),e=k(b),j=e.length,f=0;if(arguments.length<3){if(!j)throw TypeError("Reduce of empty object with no initial value");a=b[e[f++]]}else a=Object(l);for(;j>f;)d(b,c=e[f++])&&(a=h(a,b[c],c,g));return a}function includes(c,b){return(b==b?j(c,b):l(c,function(a){return a!=a}))!==a}function get(a,b){return d(a,b)?a[b]:void 0}function set(a,b,c){return v&&b in Object?f.setDesc(a,b,t(0,c)):a[b]=c,a}function isDict(a){return u(a)&&f.getProto(a)===Dict.prototype}var f=b(2),n=b(6),e=b(3),t=b(10),o=b(41),j=b(36),p=b(7),q=b(126),r=b(175),s=b(105),g=b(115),u=b(13),i=b(20),v=b(8),d=b(14),k=f.getKeys,c=function(b){var e=1==b,c=4==b;return function(l,m,o){var f,h,g,p=n(m,o,3),k=i(l),j=e||7==b||2==b?new("function"==typeof this?this:Dict):a;for(f in k)if(d(k,f)&&(h=k[f],g=p(h,f,l),b))if(e)j[f]=g;else if(g)switch(b){case 2:j[f]=h;break;case 3:return!0;case 5:return h;case 6:return f;case 7:j[g[0]]=g[1]}else if(c)return!1;return 3==b||c?c:j}},l=c(6),h=function(a){return function(b){return new m(b,a)}},m=function(a,b){this._t=i(a),this._a=k(a),this._i=0,this._k=b};s(m,"Dict",function(){var c,b=this,e=b._t,f=b._a,h=b._k;do if(b._i>=f.length)return b._t=a,g(1);while(!d(e,c=f[b._i++]));return"keys"==h?g(0,c):"values"==h?g(0,e[c]):g(0,[c,e[c]])}),Dict.prototype=null,e(e.G+e.F,{Dict:Dict}),e(e.S,"Dict",{keys:h("keys"),values:h("values"),entries:h("entries"),forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findKey:l,mapPairs:c(7),reduce:reduce,keyOf:j,includes:includes,has:d,get:get,set:set,isDict:isDict})},function(c,g,b){var d=b(110),e=b(29)("iterator"),f=b(104);c.exports=b(5).isIterable=function(c){var b=Object(c);return b[e]!==a||"@@iterator"in b||f.hasOwnProperty(d(b))}},function(b,e,a){var c=a(17),d=a(109);b.exports=a(5).getIterator=function(a){var b=d(a);if("function"!=typeof b)throw TypeError(a+" is not iterable!");return c(b.call(a))}},function(f,g,a){var c=a(4),d=a(5),b=a(3),e=a(172);b(b.G+b.F,{delay:function delay(a){return new(d.Promise||c.Promise)(function(b){setTimeout(e.call(b,!0),a)})}})},function(d,e,a){var c=a(173),b=a(3);a(5)._=c._=c._||{},b(b.P+b.F,"Function",{part:a(172)})},function(c,d,b){var a=b(3);a(a.S+a.F,"Object",{isObject:b(13)})},function(c,d,b){var a=b(3);a(a.S+a.F,"Object",{classof:b(110)})},function(d,e,b){var a=b(3),c=b(182);a(a.S+a.F,"Object",{define:c})},function(c,f,a){var b=a(2),d=a(149),e=a(20);c.exports=function define(a,c){for(var f,g=d(e(c)),i=g.length,h=0;i>h;)b.setDesc(a,f=g[h++],b.getDesc(c,f));return a}},function(e,f,a){var b=a(3),c=a(182),d=a(2).create;b(b.S+b.F,"Object",{make:function(a,b){return c(d(a),b)}})},function(c,d,b){b(103)(Number,"Number",function(a){this._l=+a,this._i=0},function(){var b=this._i++,c=!(this._l>b);return{done:c,value:c?a:b}})},function(d,e,b){var a=b(3),c=b(161)(/[&<>"']/g,{"&":"&","<":"<",">":">",'"':""","'":"'"});a(a.P+a.F,"String",{escapeHTML:function escapeHTML(){return c(this)}})},function(d,e,b){var a=b(3),c=b(161)(/&(?:amp|lt|gt|quot|apos);/g,{"&":"&","<":"<",">":">",""":'"',"'":"'"});a(a.P+a.F,"String",{unescapeHTML:function unescapeHTML(){return c(this)}})},function(g,h,a){var e=a(2),f=a(4),b=a(3),c={},d=!0;e.each.call("assert,clear,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,isIndependentlyComposed,log,markTimeline,profile,profileEnd,table,time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn".split(","),function(a){c[a]=function(){var b=f.console;return d&&b&&b[a]?Function.apply.call(b[a],b,arguments):void 0}}),b(b.G+b.F,{log:a(41)(c.log,c,{enable:function(){d=!0},disable:function(){d=!1}})})},function(i,j,b){var g=b(2),e=b(3),h=b(6),f=b(5).Array||Array,c={},d=function(d,b){g.each.call(d.split(","),function(d){b==a&&d in f?c[d]=f[d]:d in[]&&(c[d]=h(Function.call,[][d],b))})};d("pop,reverse,shift,keys,values,entries",1),d("indexOf,every,some,forEach,map,filter,find,findIndex,includes",3),d("join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill"),e(e.S,"Array",c)}]),"undefined"!=typeof module&&module.exports?module.exports=b:"function"==typeof define&&define.amd?define(function(){return b}):c.core=b}(1,1);
-//# sourceMappingURL=library.min.js.map
\ No newline at end of file
diff --git a/node_modules/core-js/client/library.min.js.map b/node_modules/core-js/client/library.min.js.map
deleted file mode 100644
index 2ab3194..0000000
--- a/node_modules/core-js/client/library.min.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["library.js"],"names":["__e","__g","undefined","modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","m","c","p","IE8_DOM_DEFINE","$","$export","DESCRIPTORS","createDesc","html","cel","has","cof","invoke","fails","anObject","aFunction","isObject","toObject","toIObject","toInteger","toIndex","toLength","IObject","IE_PROTO","createArrayMethod","arrayIndexOf","ObjectProto","Object","prototype","ArrayProto","Array","arraySlice","slice","arrayJoin","join","defineProperty","setDesc","getOwnDescriptor","getDesc","defineProperties","setDescs","factories","get","a","O","P","Attributes","e","TypeError","value","propertyIsEnumerable","Properties","keys","getKeys","length","i","S","F","getOwnPropertyDescriptor","keys1","split","keys2","concat","keysLen1","createDict","iframeDocument","iframe","gt","style","display","appendChild","src","contentWindow","document","open","write","close","createGetKeys","names","object","key","result","push","Empty","getPrototypeOf","getProto","constructor","getOwnPropertyNames","getNames","create","construct","len","args","n","Function","bind","that","fn","this","partArgs","arguments","bound","begin","end","klass","start","upTo","size","cloned","charAt","separator","isArray","createArrayReduce","isRight","callbackfn","memo","index","methodize","$fn","arg1","forEach","each","map","filter","some","every","reduce","reduceRight","indexOf","lastIndexOf","el","fromIndex","Math","min","now","Date","lz","num","toISOString","NaN","isFinite","RangeError","d","y","getUTCFullYear","getUTCMilliseconds","s","abs","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","$Object","isEnum","getSymbols","getOwnPropertySymbols","global","core","ctx","PROTOTYPE","type","name","source","own","out","IS_FORCED","IS_GLOBAL","G","IS_STATIC","IS_PROTO","IS_BIND","B","IS_WRAP","W","target","C","param","window","self","version","b","apply","it","exec","bitmap","enumerable","configurable","writable","documentElement","is","createElement","hasOwnProperty","toString","un","defined","ceil","floor","isNaN","max","px","random","asc","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","val","res","f","SPECIES","original","arg","store","uid","Symbol","SHARED","IS_INCLUDES","redefine","$fails","shared","setToStringTag","wks","keyOf","$names","enumKeys","_create","$Symbol","$JSON","JSON","_stringify","stringify","setter","HIDDEN","SymbolRegistry","AllSymbols","useNative","setSymbolDesc","D","protoDesc","wrap","tag","sym","_k","set","isSymbol","$defineProperty","$defineProperties","l","$create","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","$stringify","replacer","$replacer","$$","buggyJSON","symbolStatics","for","keyFor","useSetter","useSimple","def","TAG","stat","windowNames","getWindowNames","symbols","assign","A","K","k","T","$$len","j","x","setPrototypeOf","check","proto","test","buggy","__proto__","$freeze","freeze","KEY","exp","$seal","seal","$preventExtensions","preventExtensions","$isFrozen","isFrozen","$isSealed","isSealed","$isExtensible","isExtensible","$getPrototypeOf","$keys","HAS_INSTANCE","FunctionProto","EPSILON","pow","_isFinite","isInteger","number","isSafeInteger","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","parseFloat","parseInt","log1p","sqrt","$acosh","acosh","Number","MAX_VALUE","log","LN2","asinh","atanh","sign","cbrt","clz32","LOG2E","cosh","expm1","EPSILON32","MAX32","MIN32","roundTiesToEven","fround","$abs","$sign","Infinity","hypot","value1","value2","div","sum","larg","$imul","imul","UINT16","xn","yn","xl","yl","log10","LN10","log2","sinh","tanh","trunc","fromCharCode","String","$fromCodePoint","fromCodePoint","code","raw","callSite","tpl","$trim","trim","spaces","space","non","ltrim","RegExp","rtrim","exporter","string","replace","$at","codePointAt","pos","TO_STRING","charCodeAt","context","ENDS_WITH","$endsWith","endsWith","searchString","endPosition","search","isRegExp","NAME","MATCH","re","INCLUDES","includes","repeat","count","str","STARTS_WITH","$startsWith","startsWith","iterated","_t","_i","point","done","LIBRARY","hide","Iterators","$iterCreate","ITERATOR","BUGGY","FF_ITERATOR","KEYS","VALUES","returnThis","Base","Constructor","next","DEFAULT","IS_SET","FORCED","methods","getMethod","kind","values","entries","DEF_VALUES","VALUES_BUG","$native","$default","IteratorPrototype","descriptor","isArrayIter","getIterFn","iter","from","arrayLike","step","iterator","mapfn","mapping","iterFn","ret","classof","getIteratorMethod","ARG","callee","SAFE_CLOSING","riter","skipClosing","safe","arr","of","addToUnscopables","Arguments","copyWithin","to","inc","fill","endPos","$find","forced","find","findIndex","Wrapper","strictNew","forOf","setProto","same","speciesConstructor","asap","PROMISE","process","isNode","testResolve","sub","resolve","USE_NATIVE","P2","works","then","thenableThenGotten","sameConstructor","getConstructor","isThenable","PromiseCapability","reject","promise","$$resolve","$$reject","perform","error","notify","record","isReject","chain","v","ok","run","reaction","handler","fail","h","setTimeout","console","isUnhandled","emit","onunhandledrejection","reason","_d","$reject","r","$resolve","wrapper","Promise","executor","err","onFulfilled","onRejected","catch","capability","all","iterable","abrupt","remaining","results","alreadyCalled","race","head","last","macrotask","Observer","MutationObserver","WebKitMutationObserver","flush","parent","domain","exit","enter","nextTick","toggle","node","createTextNode","observe","characterData","data","task","defer","channel","port","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","counter","queue","ONREADYSTATECHANGE","listner","event","port2","port1","onmessage","postMessage","addEventListener","importScripts","removeChild","clear","strong","Map","entry","getEntry","redefineAll","$iterDefine","ID","$has","setSpecies","SIZE","fastKey","_f","ADDER","_l","delete","prev","setStrong","common","IS_WEAK","_c","IS_ADDER","Set","add","weak","frozenStore","WEAK","tmp","$WeakMap","WeakMap","method","arrayFind","arrayFindIndex","FrozenStore","findFrozen","splice","WeakSet","_apply","thisArgument","argumentsList","Reflect","Target","newTarget","$args","instance","propertyKey","attributes","deleteProperty","desc","Enumerate","enumerate","receiver","ownKeys","V","existingDescriptor","ownDesc","$includes","at","$pad","padLeft","maxLength","fillString","left","stringLength","fillStr","intMaxLength","fillLen","stringFiller","padRight","trimLeft","trimRight","$re","escape","regExp","part","getOwnPropertyDescriptors","$values","isEntries","$entries","toJSON","$task","NodeList","HTMLCollection","partial","navigator","MSIE","userAgent","time","setInterval","path","pargs","_","holder","Dict","dict","isIterable","init","findKey","isDict","createDictMethod","createDictIter","DictIterator","_a","mapPairs","getIterator","delay","define","mixin","make","&","<",">","\"","'","escapeHTML","&","<",">",""","'","unescapeHTML","enabled","$console","enable","disable","$ctx","$Array","statics","setStatics","amd"],"mappings":"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","file":"library.min.js"}
\ No newline at end of file
diff --git a/node_modules/core-js/client/shim.js b/node_modules/core-js/client/shim.js
deleted file mode 100644
index 9692fa8..0000000
--- a/node_modules/core-js/client/shim.js
+++ /dev/null
@@ -1,4545 +0,0 @@
-/**
- * core-js 1.2.6
- * https://github.com/zloirock/core-js
- * License: http://rock.mit-license.org
- * © 2015 Denis Pushkarev
- */
-!function(__e, __g, undefined){
-'use strict';
-/******/ (function(modules) { // webpackBootstrap
-/******/ // The module cache
-/******/ var installedModules = {};
-
-/******/ // The require function
-/******/ function __webpack_require__(moduleId) {
-
-/******/ // Check if module is in cache
-/******/ if(installedModules[moduleId])
-/******/ return installedModules[moduleId].exports;
-
-/******/ // Create a new module (and put it into the cache)
-/******/ var module = installedModules[moduleId] = {
-/******/ exports: {},
-/******/ id: moduleId,
-/******/ loaded: false
-/******/ };
-
-/******/ // Execute the module function
-/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-
-/******/ // Flag the module as loaded
-/******/ module.loaded = true;
-
-/******/ // Return the exports of the module
-/******/ return module.exports;
-/******/ }
-
-
-/******/ // expose the modules object (__webpack_modules__)
-/******/ __webpack_require__.m = modules;
-
-/******/ // expose the module cache
-/******/ __webpack_require__.c = installedModules;
-
-/******/ // __webpack_public_path__
-/******/ __webpack_require__.p = "";
-
-/******/ // Load entry module and return exports
-/******/ return __webpack_require__(0);
-/******/ })
-/************************************************************************/
-/******/ ([
-/* 0 */
-/***/ function(module, exports, __webpack_require__) {
-
- __webpack_require__(1);
- __webpack_require__(34);
- __webpack_require__(40);
- __webpack_require__(42);
- __webpack_require__(44);
- __webpack_require__(46);
- __webpack_require__(48);
- __webpack_require__(50);
- __webpack_require__(51);
- __webpack_require__(52);
- __webpack_require__(53);
- __webpack_require__(54);
- __webpack_require__(55);
- __webpack_require__(56);
- __webpack_require__(57);
- __webpack_require__(58);
- __webpack_require__(59);
- __webpack_require__(60);
- __webpack_require__(61);
- __webpack_require__(64);
- __webpack_require__(65);
- __webpack_require__(66);
- __webpack_require__(68);
- __webpack_require__(69);
- __webpack_require__(70);
- __webpack_require__(71);
- __webpack_require__(72);
- __webpack_require__(73);
- __webpack_require__(74);
- __webpack_require__(76);
- __webpack_require__(77);
- __webpack_require__(78);
- __webpack_require__(80);
- __webpack_require__(81);
- __webpack_require__(82);
- __webpack_require__(84);
- __webpack_require__(85);
- __webpack_require__(86);
- __webpack_require__(87);
- __webpack_require__(88);
- __webpack_require__(89);
- __webpack_require__(90);
- __webpack_require__(91);
- __webpack_require__(92);
- __webpack_require__(93);
- __webpack_require__(94);
- __webpack_require__(95);
- __webpack_require__(96);
- __webpack_require__(97);
- __webpack_require__(99);
- __webpack_require__(103);
- __webpack_require__(104);
- __webpack_require__(106);
- __webpack_require__(107);
- __webpack_require__(111);
- __webpack_require__(116);
- __webpack_require__(117);
- __webpack_require__(120);
- __webpack_require__(122);
- __webpack_require__(124);
- __webpack_require__(126);
- __webpack_require__(127);
- __webpack_require__(128);
- __webpack_require__(130);
- __webpack_require__(131);
- __webpack_require__(133);
- __webpack_require__(134);
- __webpack_require__(135);
- __webpack_require__(136);
- __webpack_require__(143);
- __webpack_require__(146);
- __webpack_require__(147);
- __webpack_require__(149);
- __webpack_require__(150);
- __webpack_require__(151);
- __webpack_require__(152);
- __webpack_require__(153);
- __webpack_require__(154);
- __webpack_require__(155);
- __webpack_require__(156);
- __webpack_require__(157);
- __webpack_require__(158);
- __webpack_require__(159);
- __webpack_require__(160);
- __webpack_require__(162);
- __webpack_require__(163);
- __webpack_require__(164);
- __webpack_require__(165);
- __webpack_require__(166);
- __webpack_require__(167);
- __webpack_require__(169);
- __webpack_require__(170);
- __webpack_require__(171);
- __webpack_require__(172);
- __webpack_require__(174);
- __webpack_require__(175);
- __webpack_require__(177);
- __webpack_require__(178);
- __webpack_require__(180);
- __webpack_require__(181);
- __webpack_require__(182);
- __webpack_require__(183);
- module.exports = __webpack_require__(186);
-
-
-/***/ },
-/* 1 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $ = __webpack_require__(2)
- , $export = __webpack_require__(3)
- , DESCRIPTORS = __webpack_require__(8)
- , createDesc = __webpack_require__(7)
- , html = __webpack_require__(14)
- , cel = __webpack_require__(15)
- , has = __webpack_require__(17)
- , cof = __webpack_require__(18)
- , invoke = __webpack_require__(19)
- , fails = __webpack_require__(9)
- , anObject = __webpack_require__(20)
- , aFunction = __webpack_require__(13)
- , isObject = __webpack_require__(16)
- , toObject = __webpack_require__(21)
- , toIObject = __webpack_require__(23)
- , toInteger = __webpack_require__(25)
- , toIndex = __webpack_require__(26)
- , toLength = __webpack_require__(27)
- , IObject = __webpack_require__(24)
- , IE_PROTO = __webpack_require__(11)('__proto__')
- , createArrayMethod = __webpack_require__(28)
- , arrayIndexOf = __webpack_require__(33)(false)
- , ObjectProto = Object.prototype
- , ArrayProto = Array.prototype
- , arraySlice = ArrayProto.slice
- , arrayJoin = ArrayProto.join
- , defineProperty = $.setDesc
- , getOwnDescriptor = $.getDesc
- , defineProperties = $.setDescs
- , factories = {}
- , IE8_DOM_DEFINE;
-
- if(!DESCRIPTORS){
- IE8_DOM_DEFINE = !fails(function(){
- return defineProperty(cel('div'), 'a', {get: function(){ return 7; }}).a != 7;
- });
- $.setDesc = function(O, P, Attributes){
- if(IE8_DOM_DEFINE)try {
- return defineProperty(O, P, Attributes);
- } catch(e){ /* empty */ }
- if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');
- if('value' in Attributes)anObject(O)[P] = Attributes.value;
- return O;
- };
- $.getDesc = function(O, P){
- if(IE8_DOM_DEFINE)try {
- return getOwnDescriptor(O, P);
- } catch(e){ /* empty */ }
- if(has(O, P))return createDesc(!ObjectProto.propertyIsEnumerable.call(O, P), O[P]);
- };
- $.setDescs = defineProperties = function(O, Properties){
- anObject(O);
- var keys = $.getKeys(Properties)
- , length = keys.length
- , i = 0
- , P;
- while(length > i)$.setDesc(O, P = keys[i++], Properties[P]);
- return O;
- };
- }
- $export($export.S + $export.F * !DESCRIPTORS, 'Object', {
- // 19.1.2.6 / 15.2.3.3 Object.getOwnPropertyDescriptor(O, P)
- getOwnPropertyDescriptor: $.getDesc,
- // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
- defineProperty: $.setDesc,
- // 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)
- defineProperties: defineProperties
- });
-
- // IE 8- don't enum bug keys
- var keys1 = ('constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,' +
- 'toLocaleString,toString,valueOf').split(',')
- // Additional keys for getOwnPropertyNames
- , keys2 = keys1.concat('length', 'prototype')
- , keysLen1 = keys1.length;
-
- // Create object with `null` prototype: use iframe Object with cleared prototype
- var createDict = function(){
- // Thrash, waste and sodomy: IE GC bug
- var iframe = cel('iframe')
- , i = keysLen1
- , gt = '>'
- , iframeDocument;
- iframe.style.display = 'none';
- html.appendChild(iframe);
- iframe.src = 'javascript:'; // eslint-disable-line no-script-url
- // createDict = iframe.contentWindow.Object;
- // html.removeChild(iframe);
- iframeDocument = iframe.contentWindow.document;
- iframeDocument.open();
- iframeDocument.write(' i)if(has(O, key = names[i++])){
- ~arrayIndexOf(result, key) || result.push(key);
- }
- return result;
- };
- };
- var Empty = function(){};
- $export($export.S, 'Object', {
- // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
- getPrototypeOf: $.getProto = $.getProto || function(O){
- O = toObject(O);
- if(has(O, IE_PROTO))return O[IE_PROTO];
- if(typeof O.constructor == 'function' && O instanceof O.constructor){
- return O.constructor.prototype;
- } return O instanceof Object ? ObjectProto : null;
- },
- // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
- getOwnPropertyNames: $.getNames = $.getNames || createGetKeys(keys2, keys2.length, true),
- // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
- create: $.create = $.create || function(O, /*?*/Properties){
- var result;
- if(O !== null){
- Empty.prototype = anObject(O);
- result = new Empty();
- Empty.prototype = null;
- // add "__proto__" for Object.getPrototypeOf shim
- result[IE_PROTO] = O;
- } else result = createDict();
- return Properties === undefined ? result : defineProperties(result, Properties);
- },
- // 19.1.2.14 / 15.2.3.14 Object.keys(O)
- keys: $.getKeys = $.getKeys || createGetKeys(keys1, keysLen1, false)
- });
-
- var construct = function(F, len, args){
- if(!(len in factories)){
- for(var n = [], i = 0; i < len; i++)n[i] = 'a[' + i + ']';
- factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');
- }
- return factories[len](F, args);
- };
-
- // 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)
- $export($export.P, 'Function', {
- bind: function bind(that /*, args... */){
- var fn = aFunction(this)
- , partArgs = arraySlice.call(arguments, 1);
- var bound = function(/* args... */){
- var args = partArgs.concat(arraySlice.call(arguments));
- return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);
- };
- if(isObject(fn.prototype))bound.prototype = fn.prototype;
- return bound;
- }
- });
-
- // fallback for not array-like ES3 strings and DOM objects
- $export($export.P + $export.F * fails(function(){
- if(html)arraySlice.call(html);
- }), 'Array', {
- slice: function(begin, end){
- var len = toLength(this.length)
- , klass = cof(this);
- end = end === undefined ? len : end;
- if(klass == 'Array')return arraySlice.call(this, begin, end);
- var start = toIndex(begin, len)
- , upTo = toIndex(end, len)
- , size = toLength(upTo - start)
- , cloned = Array(size)
- , i = 0;
- for(; i < size; i++)cloned[i] = klass == 'String'
- ? this.charAt(start + i)
- : this[start + i];
- return cloned;
- }
- });
- $export($export.P + $export.F * (IObject != Object), 'Array', {
- join: function join(separator){
- return arrayJoin.call(IObject(this), separator === undefined ? ',' : separator);
- }
- });
-
- // 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
- $export($export.S, 'Array', {isArray: __webpack_require__(30)});
-
- var createArrayReduce = function(isRight){
- return function(callbackfn, memo){
- aFunction(callbackfn);
- var O = IObject(this)
- , length = toLength(O.length)
- , index = isRight ? length - 1 : 0
- , i = isRight ? -1 : 1;
- if(arguments.length < 2)for(;;){
- if(index in O){
- memo = O[index];
- index += i;
- break;
- }
- index += i;
- if(isRight ? index < 0 : length <= index){
- throw TypeError('Reduce of empty array with no initial value');
- }
- }
- for(;isRight ? index >= 0 : length > index; index += i)if(index in O){
- memo = callbackfn(memo, O[index], index, this);
- }
- return memo;
- };
- };
-
- var methodize = function($fn){
- return function(arg1/*, arg2 = undefined */){
- return $fn(this, arg1, arguments[1]);
- };
- };
-
- $export($export.P, 'Array', {
- // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])
- forEach: $.each = $.each || methodize(createArrayMethod(0)),
- // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])
- map: methodize(createArrayMethod(1)),
- // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])
- filter: methodize(createArrayMethod(2)),
- // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])
- some: methodize(createArrayMethod(3)),
- // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])
- every: methodize(createArrayMethod(4)),
- // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])
- reduce: createArrayReduce(false),
- // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])
- reduceRight: createArrayReduce(true),
- // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])
- indexOf: methodize(arrayIndexOf),
- // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])
- lastIndexOf: function(el, fromIndex /* = @[*-1] */){
- var O = toIObject(this)
- , length = toLength(O.length)
- , index = length - 1;
- if(arguments.length > 1)index = Math.min(index, toInteger(fromIndex));
- if(index < 0)index = toLength(length + index);
- for(;index >= 0; index--)if(index in O)if(O[index] === el)return index;
- return -1;
- }
- });
-
- // 20.3.3.1 / 15.9.4.4 Date.now()
- $export($export.S, 'Date', {now: function(){ return +new Date; }});
-
- var lz = function(num){
- return num > 9 ? num : '0' + num;
- };
-
- // 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()
- // PhantomJS / old WebKit has a broken implementations
- $export($export.P + $export.F * (fails(function(){
- return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z';
- }) || !fails(function(){
- new Date(NaN).toISOString();
- })), 'Date', {
- toISOString: function toISOString(){
- if(!isFinite(this))throw RangeError('Invalid time value');
- var d = this
- , y = d.getUTCFullYear()
- , m = d.getUTCMilliseconds()
- , s = y < 0 ? '-' : y > 9999 ? '+' : '';
- return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +
- '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +
- 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +
- ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';
- }
- });
-
-/***/ },
-/* 2 */
-/***/ function(module, exports) {
-
- var $Object = Object;
- module.exports = {
- create: $Object.create,
- getProto: $Object.getPrototypeOf,
- isEnum: {}.propertyIsEnumerable,
- getDesc: $Object.getOwnPropertyDescriptor,
- setDesc: $Object.defineProperty,
- setDescs: $Object.defineProperties,
- getKeys: $Object.keys,
- getNames: $Object.getOwnPropertyNames,
- getSymbols: $Object.getOwnPropertySymbols,
- each: [].forEach
- };
-
-/***/ },
-/* 3 */
-/***/ function(module, exports, __webpack_require__) {
-
- var global = __webpack_require__(4)
- , core = __webpack_require__(5)
- , hide = __webpack_require__(6)
- , redefine = __webpack_require__(10)
- , ctx = __webpack_require__(12)
- , PROTOTYPE = 'prototype';
-
- var $export = function(type, name, source){
- var IS_FORCED = type & $export.F
- , IS_GLOBAL = type & $export.G
- , IS_STATIC = type & $export.S
- , IS_PROTO = type & $export.P
- , IS_BIND = type & $export.B
- , target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]
- , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})
- , expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {})
- , key, own, out, exp;
- if(IS_GLOBAL)source = name;
- for(key in source){
- // contains in native
- own = !IS_FORCED && target && key in target;
- // export native or passed
- out = (own ? target : source)[key];
- // bind timers to global for call from export context
- exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
- // extend global
- if(target && !own)redefine(target, key, out);
- // export
- if(exports[key] != out)hide(exports, key, exp);
- if(IS_PROTO && expProto[key] != out)expProto[key] = out;
- }
- };
- global.core = core;
- // type bitmap
- $export.F = 1; // forced
- $export.G = 2; // global
- $export.S = 4; // static
- $export.P = 8; // proto
- $export.B = 16; // bind
- $export.W = 32; // wrap
- module.exports = $export;
-
-/***/ },
-/* 4 */
-/***/ function(module, exports) {
-
- // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
- var global = module.exports = typeof window != 'undefined' && window.Math == Math
- ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();
- if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef
-
-/***/ },
-/* 5 */
-/***/ function(module, exports) {
-
- var core = module.exports = {version: '1.2.6'};
- if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef
-
-/***/ },
-/* 6 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $ = __webpack_require__(2)
- , createDesc = __webpack_require__(7);
- module.exports = __webpack_require__(8) ? function(object, key, value){
- return $.setDesc(object, key, createDesc(1, value));
- } : function(object, key, value){
- object[key] = value;
- return object;
- };
-
-/***/ },
-/* 7 */
-/***/ function(module, exports) {
-
- module.exports = function(bitmap, value){
- return {
- enumerable : !(bitmap & 1),
- configurable: !(bitmap & 2),
- writable : !(bitmap & 4),
- value : value
- };
- };
-
-/***/ },
-/* 8 */
-/***/ function(module, exports, __webpack_require__) {
-
- // Thank's IE8 for his funny defineProperty
- module.exports = !__webpack_require__(9)(function(){
- return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;
- });
-
-/***/ },
-/* 9 */
-/***/ function(module, exports) {
-
- module.exports = function(exec){
- try {
- return !!exec();
- } catch(e){
- return true;
- }
- };
-
-/***/ },
-/* 10 */
-/***/ function(module, exports, __webpack_require__) {
-
- // add fake Function#toString
- // for correct work wrapped methods / constructors with methods like LoDash isNative
- var global = __webpack_require__(4)
- , hide = __webpack_require__(6)
- , SRC = __webpack_require__(11)('src')
- , TO_STRING = 'toString'
- , $toString = Function[TO_STRING]
- , TPL = ('' + $toString).split(TO_STRING);
-
- __webpack_require__(5).inspectSource = function(it){
- return $toString.call(it);
- };
-
- (module.exports = function(O, key, val, safe){
- if(typeof val == 'function'){
- val.hasOwnProperty(SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));
- val.hasOwnProperty('name') || hide(val, 'name', key);
- }
- if(O === global){
- O[key] = val;
- } else {
- if(!safe)delete O[key];
- hide(O, key, val);
- }
- })(Function.prototype, TO_STRING, function toString(){
- return typeof this == 'function' && this[SRC] || $toString.call(this);
- });
-
-/***/ },
-/* 11 */
-/***/ function(module, exports) {
-
- var id = 0
- , px = Math.random();
- module.exports = function(key){
- return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
- };
-
-/***/ },
-/* 12 */
-/***/ function(module, exports, __webpack_require__) {
-
- // optional / simple context binding
- var aFunction = __webpack_require__(13);
- module.exports = function(fn, that, length){
- aFunction(fn);
- if(that === undefined)return fn;
- switch(length){
- case 1: return function(a){
- return fn.call(that, a);
- };
- case 2: return function(a, b){
- return fn.call(that, a, b);
- };
- case 3: return function(a, b, c){
- return fn.call(that, a, b, c);
- };
- }
- return function(/* ...args */){
- return fn.apply(that, arguments);
- };
- };
-
-/***/ },
-/* 13 */
-/***/ function(module, exports) {
-
- module.exports = function(it){
- if(typeof it != 'function')throw TypeError(it + ' is not a function!');
- return it;
- };
-
-/***/ },
-/* 14 */
-/***/ function(module, exports, __webpack_require__) {
-
- module.exports = __webpack_require__(4).document && document.documentElement;
-
-/***/ },
-/* 15 */
-/***/ function(module, exports, __webpack_require__) {
-
- var isObject = __webpack_require__(16)
- , document = __webpack_require__(4).document
- // in old IE typeof document.createElement is 'object'
- , is = isObject(document) && isObject(document.createElement);
- module.exports = function(it){
- return is ? document.createElement(it) : {};
- };
-
-/***/ },
-/* 16 */
-/***/ function(module, exports) {
-
- module.exports = function(it){
- return typeof it === 'object' ? it !== null : typeof it === 'function';
- };
-
-/***/ },
-/* 17 */
-/***/ function(module, exports) {
-
- var hasOwnProperty = {}.hasOwnProperty;
- module.exports = function(it, key){
- return hasOwnProperty.call(it, key);
- };
-
-/***/ },
-/* 18 */
-/***/ function(module, exports) {
-
- var toString = {}.toString;
-
- module.exports = function(it){
- return toString.call(it).slice(8, -1);
- };
-
-/***/ },
-/* 19 */
-/***/ function(module, exports) {
-
- // fast apply, http://jsperf.lnkit.com/fast-apply/5
- module.exports = function(fn, args, that){
- var un = that === undefined;
- switch(args.length){
- case 0: return un ? fn()
- : fn.call(that);
- case 1: return un ? fn(args[0])
- : fn.call(that, args[0]);
- case 2: return un ? fn(args[0], args[1])
- : fn.call(that, args[0], args[1]);
- case 3: return un ? fn(args[0], args[1], args[2])
- : fn.call(that, args[0], args[1], args[2]);
- case 4: return un ? fn(args[0], args[1], args[2], args[3])
- : fn.call(that, args[0], args[1], args[2], args[3]);
- } return fn.apply(that, args);
- };
-
-/***/ },
-/* 20 */
-/***/ function(module, exports, __webpack_require__) {
-
- var isObject = __webpack_require__(16);
- module.exports = function(it){
- if(!isObject(it))throw TypeError(it + ' is not an object!');
- return it;
- };
-
-/***/ },
-/* 21 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 7.1.13 ToObject(argument)
- var defined = __webpack_require__(22);
- module.exports = function(it){
- return Object(defined(it));
- };
-
-/***/ },
-/* 22 */
-/***/ function(module, exports) {
-
- // 7.2.1 RequireObjectCoercible(argument)
- module.exports = function(it){
- if(it == undefined)throw TypeError("Can't call method on " + it);
- return it;
- };
-
-/***/ },
-/* 23 */
-/***/ function(module, exports, __webpack_require__) {
-
- // to indexed object, toObject with fallback for non-array-like ES3 strings
- var IObject = __webpack_require__(24)
- , defined = __webpack_require__(22);
- module.exports = function(it){
- return IObject(defined(it));
- };
-
-/***/ },
-/* 24 */
-/***/ function(module, exports, __webpack_require__) {
-
- // fallback for non-array-like ES3 and non-enumerable old V8 strings
- var cof = __webpack_require__(18);
- module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){
- return cof(it) == 'String' ? it.split('') : Object(it);
- };
-
-/***/ },
-/* 25 */
-/***/ function(module, exports) {
-
- // 7.1.4 ToInteger
- var ceil = Math.ceil
- , floor = Math.floor;
- module.exports = function(it){
- return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
- };
-
-/***/ },
-/* 26 */
-/***/ function(module, exports, __webpack_require__) {
-
- var toInteger = __webpack_require__(25)
- , max = Math.max
- , min = Math.min;
- module.exports = function(index, length){
- index = toInteger(index);
- return index < 0 ? max(index + length, 0) : min(index, length);
- };
-
-/***/ },
-/* 27 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 7.1.15 ToLength
- var toInteger = __webpack_require__(25)
- , min = Math.min;
- module.exports = function(it){
- return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
- };
-
-/***/ },
-/* 28 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 0 -> Array#forEach
- // 1 -> Array#map
- // 2 -> Array#filter
- // 3 -> Array#some
- // 4 -> Array#every
- // 5 -> Array#find
- // 6 -> Array#findIndex
- var ctx = __webpack_require__(12)
- , IObject = __webpack_require__(24)
- , toObject = __webpack_require__(21)
- , toLength = __webpack_require__(27)
- , asc = __webpack_require__(29);
- module.exports = function(TYPE){
- var IS_MAP = TYPE == 1
- , IS_FILTER = TYPE == 2
- , IS_SOME = TYPE == 3
- , IS_EVERY = TYPE == 4
- , IS_FIND_INDEX = TYPE == 6
- , NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
- return function($this, callbackfn, that){
- var O = toObject($this)
- , self = IObject(O)
- , f = ctx(callbackfn, that, 3)
- , length = toLength(self.length)
- , index = 0
- , result = IS_MAP ? asc($this, length) : IS_FILTER ? asc($this, 0) : undefined
- , val, res;
- for(;length > index; index++)if(NO_HOLES || index in self){
- val = self[index];
- res = f(val, index, O);
- if(TYPE){
- if(IS_MAP)result[index] = res; // map
- else if(res)switch(TYPE){
- case 3: return true; // some
- case 5: return val; // find
- case 6: return index; // findIndex
- case 2: result.push(val); // filter
- } else if(IS_EVERY)return false; // every
- }
- }
- return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
- };
- };
-
-/***/ },
-/* 29 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 9.4.2.3 ArraySpeciesCreate(originalArray, length)
- var isObject = __webpack_require__(16)
- , isArray = __webpack_require__(30)
- , SPECIES = __webpack_require__(31)('species');
- module.exports = function(original, length){
- var C;
- if(isArray(original)){
- C = original.constructor;
- // cross-realm fallback
- if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined;
- if(isObject(C)){
- C = C[SPECIES];
- if(C === null)C = undefined;
- }
- } return new (C === undefined ? Array : C)(length);
- };
-
-/***/ },
-/* 30 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 7.2.2 IsArray(argument)
- var cof = __webpack_require__(18);
- module.exports = Array.isArray || function(arg){
- return cof(arg) == 'Array';
- };
-
-/***/ },
-/* 31 */
-/***/ function(module, exports, __webpack_require__) {
-
- var store = __webpack_require__(32)('wks')
- , uid = __webpack_require__(11)
- , Symbol = __webpack_require__(4).Symbol;
- module.exports = function(name){
- return store[name] || (store[name] =
- Symbol && Symbol[name] || (Symbol || uid)('Symbol.' + name));
- };
-
-/***/ },
-/* 32 */
-/***/ function(module, exports, __webpack_require__) {
-
- var global = __webpack_require__(4)
- , SHARED = '__core-js_shared__'
- , store = global[SHARED] || (global[SHARED] = {});
- module.exports = function(key){
- return store[key] || (store[key] = {});
- };
-
-/***/ },
-/* 33 */
-/***/ function(module, exports, __webpack_require__) {
-
- // false -> Array#indexOf
- // true -> Array#includes
- var toIObject = __webpack_require__(23)
- , toLength = __webpack_require__(27)
- , toIndex = __webpack_require__(26);
- module.exports = function(IS_INCLUDES){
- return function($this, el, fromIndex){
- var O = toIObject($this)
- , length = toLength(O.length)
- , index = toIndex(fromIndex, length)
- , value;
- // Array#includes uses SameValueZero equality algorithm
- if(IS_INCLUDES && el != el)while(length > index){
- value = O[index++];
- if(value != value)return true;
- // Array#toIndex ignores holes, Array#includes - not
- } else for(;length > index; index++)if(IS_INCLUDES || index in O){
- if(O[index] === el)return IS_INCLUDES || index;
- } return !IS_INCLUDES && -1;
- };
- };
-
-/***/ },
-/* 34 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // ECMAScript 6 symbols shim
- var $ = __webpack_require__(2)
- , global = __webpack_require__(4)
- , has = __webpack_require__(17)
- , DESCRIPTORS = __webpack_require__(8)
- , $export = __webpack_require__(3)
- , redefine = __webpack_require__(10)
- , $fails = __webpack_require__(9)
- , shared = __webpack_require__(32)
- , setToStringTag = __webpack_require__(35)
- , uid = __webpack_require__(11)
- , wks = __webpack_require__(31)
- , keyOf = __webpack_require__(36)
- , $names = __webpack_require__(37)
- , enumKeys = __webpack_require__(38)
- , isArray = __webpack_require__(30)
- , anObject = __webpack_require__(20)
- , toIObject = __webpack_require__(23)
- , createDesc = __webpack_require__(7)
- , getDesc = $.getDesc
- , setDesc = $.setDesc
- , _create = $.create
- , getNames = $names.get
- , $Symbol = global.Symbol
- , $JSON = global.JSON
- , _stringify = $JSON && $JSON.stringify
- , setter = false
- , HIDDEN = wks('_hidden')
- , isEnum = $.isEnum
- , SymbolRegistry = shared('symbol-registry')
- , AllSymbols = shared('symbols')
- , useNative = typeof $Symbol == 'function'
- , ObjectProto = Object.prototype;
-
- // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
- var setSymbolDesc = DESCRIPTORS && $fails(function(){
- return _create(setDesc({}, 'a', {
- get: function(){ return setDesc(this, 'a', {value: 7}).a; }
- })).a != 7;
- }) ? function(it, key, D){
- var protoDesc = getDesc(ObjectProto, key);
- if(protoDesc)delete ObjectProto[key];
- setDesc(it, key, D);
- if(protoDesc && it !== ObjectProto)setDesc(ObjectProto, key, protoDesc);
- } : setDesc;
-
- var wrap = function(tag){
- var sym = AllSymbols[tag] = _create($Symbol.prototype);
- sym._k = tag;
- DESCRIPTORS && setter && setSymbolDesc(ObjectProto, tag, {
- configurable: true,
- set: function(value){
- if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;
- setSymbolDesc(this, tag, createDesc(1, value));
- }
- });
- return sym;
- };
-
- var isSymbol = function(it){
- return typeof it == 'symbol';
- };
-
- var $defineProperty = function defineProperty(it, key, D){
- if(D && has(AllSymbols, key)){
- if(!D.enumerable){
- if(!has(it, HIDDEN))setDesc(it, HIDDEN, createDesc(1, {}));
- it[HIDDEN][key] = true;
- } else {
- if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;
- D = _create(D, {enumerable: createDesc(0, false)});
- } return setSymbolDesc(it, key, D);
- } return setDesc(it, key, D);
- };
- var $defineProperties = function defineProperties(it, P){
- anObject(it);
- var keys = enumKeys(P = toIObject(P))
- , i = 0
- , l = keys.length
- , key;
- while(l > i)$defineProperty(it, key = keys[i++], P[key]);
- return it;
- };
- var $create = function create(it, P){
- return P === undefined ? _create(it) : $defineProperties(_create(it), P);
- };
- var $propertyIsEnumerable = function propertyIsEnumerable(key){
- var E = isEnum.call(this, key);
- return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key]
- ? E : true;
- };
- var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){
- var D = getDesc(it = toIObject(it), key);
- if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;
- return D;
- };
- var $getOwnPropertyNames = function getOwnPropertyNames(it){
- var names = getNames(toIObject(it))
- , result = []
- , i = 0
- , key;
- while(names.length > i)if(!has(AllSymbols, key = names[i++]) && key != HIDDEN)result.push(key);
- return result;
- };
- var $getOwnPropertySymbols = function getOwnPropertySymbols(it){
- var names = getNames(toIObject(it))
- , result = []
- , i = 0
- , key;
- while(names.length > i)if(has(AllSymbols, key = names[i++]))result.push(AllSymbols[key]);
- return result;
- };
- var $stringify = function stringify(it){
- if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined
- var args = [it]
- , i = 1
- , $$ = arguments
- , replacer, $replacer;
- while($$.length > i)args.push($$[i++]);
- replacer = args[1];
- if(typeof replacer == 'function')$replacer = replacer;
- if($replacer || !isArray(replacer))replacer = function(key, value){
- if($replacer)value = $replacer.call(this, key, value);
- if(!isSymbol(value))return value;
- };
- args[1] = replacer;
- return _stringify.apply($JSON, args);
- };
- var buggyJSON = $fails(function(){
- var S = $Symbol();
- // MS Edge converts symbol values to JSON as {}
- // WebKit converts symbol values to JSON as null
- // V8 throws on boxed symbols
- return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';
- });
-
- // 19.4.1.1 Symbol([description])
- if(!useNative){
- $Symbol = function Symbol(){
- if(isSymbol(this))throw TypeError('Symbol is not a constructor');
- return wrap(uid(arguments.length > 0 ? arguments[0] : undefined));
- };
- redefine($Symbol.prototype, 'toString', function toString(){
- return this._k;
- });
-
- isSymbol = function(it){
- return it instanceof $Symbol;
- };
-
- $.create = $create;
- $.isEnum = $propertyIsEnumerable;
- $.getDesc = $getOwnPropertyDescriptor;
- $.setDesc = $defineProperty;
- $.setDescs = $defineProperties;
- $.getNames = $names.get = $getOwnPropertyNames;
- $.getSymbols = $getOwnPropertySymbols;
-
- if(DESCRIPTORS && !__webpack_require__(39)){
- redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
- }
- }
-
- var symbolStatics = {
- // 19.4.2.1 Symbol.for(key)
- 'for': function(key){
- return has(SymbolRegistry, key += '')
- ? SymbolRegistry[key]
- : SymbolRegistry[key] = $Symbol(key);
- },
- // 19.4.2.5 Symbol.keyFor(sym)
- keyFor: function keyFor(key){
- return keyOf(SymbolRegistry, key);
- },
- useSetter: function(){ setter = true; },
- useSimple: function(){ setter = false; }
- };
- // 19.4.2.2 Symbol.hasInstance
- // 19.4.2.3 Symbol.isConcatSpreadable
- // 19.4.2.4 Symbol.iterator
- // 19.4.2.6 Symbol.match
- // 19.4.2.8 Symbol.replace
- // 19.4.2.9 Symbol.search
- // 19.4.2.10 Symbol.species
- // 19.4.2.11 Symbol.split
- // 19.4.2.12 Symbol.toPrimitive
- // 19.4.2.13 Symbol.toStringTag
- // 19.4.2.14 Symbol.unscopables
- $.each.call((
- 'hasInstance,isConcatSpreadable,iterator,match,replace,search,' +
- 'species,split,toPrimitive,toStringTag,unscopables'
- ).split(','), function(it){
- var sym = wks(it);
- symbolStatics[it] = useNative ? sym : wrap(sym);
- });
-
- setter = true;
-
- $export($export.G + $export.W, {Symbol: $Symbol});
-
- $export($export.S, 'Symbol', symbolStatics);
-
- $export($export.S + $export.F * !useNative, 'Object', {
- // 19.1.2.2 Object.create(O [, Properties])
- create: $create,
- // 19.1.2.4 Object.defineProperty(O, P, Attributes)
- defineProperty: $defineProperty,
- // 19.1.2.3 Object.defineProperties(O, Properties)
- defineProperties: $defineProperties,
- // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
- getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
- // 19.1.2.7 Object.getOwnPropertyNames(O)
- getOwnPropertyNames: $getOwnPropertyNames,
- // 19.1.2.8 Object.getOwnPropertySymbols(O)
- getOwnPropertySymbols: $getOwnPropertySymbols
- });
-
- // 24.3.2 JSON.stringify(value [, replacer [, space]])
- $JSON && $export($export.S + $export.F * (!useNative || buggyJSON), 'JSON', {stringify: $stringify});
-
- // 19.4.3.5 Symbol.prototype[@@toStringTag]
- setToStringTag($Symbol, 'Symbol');
- // 20.2.1.9 Math[@@toStringTag]
- setToStringTag(Math, 'Math', true);
- // 24.3.3 JSON[@@toStringTag]
- setToStringTag(global.JSON, 'JSON', true);
-
-/***/ },
-/* 35 */
-/***/ function(module, exports, __webpack_require__) {
-
- var def = __webpack_require__(2).setDesc
- , has = __webpack_require__(17)
- , TAG = __webpack_require__(31)('toStringTag');
-
- module.exports = function(it, tag, stat){
- if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});
- };
-
-/***/ },
-/* 36 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $ = __webpack_require__(2)
- , toIObject = __webpack_require__(23);
- module.exports = function(object, el){
- var O = toIObject(object)
- , keys = $.getKeys(O)
- , length = keys.length
- , index = 0
- , key;
- while(length > index)if(O[key = keys[index++]] === el)return key;
- };
-
-/***/ },
-/* 37 */
-/***/ function(module, exports, __webpack_require__) {
-
- // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
- var toIObject = __webpack_require__(23)
- , getNames = __webpack_require__(2).getNames
- , toString = {}.toString;
-
- var windowNames = typeof window == 'object' && Object.getOwnPropertyNames
- ? Object.getOwnPropertyNames(window) : [];
-
- var getWindowNames = function(it){
- try {
- return getNames(it);
- } catch(e){
- return windowNames.slice();
- }
- };
-
- module.exports.get = function getOwnPropertyNames(it){
- if(windowNames && toString.call(it) == '[object Window]')return getWindowNames(it);
- return getNames(toIObject(it));
- };
-
-/***/ },
-/* 38 */
-/***/ function(module, exports, __webpack_require__) {
-
- // all enumerable object keys, includes symbols
- var $ = __webpack_require__(2);
- module.exports = function(it){
- var keys = $.getKeys(it)
- , getSymbols = $.getSymbols;
- if(getSymbols){
- var symbols = getSymbols(it)
- , isEnum = $.isEnum
- , i = 0
- , key;
- while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))keys.push(key);
- }
- return keys;
- };
-
-/***/ },
-/* 39 */
-/***/ function(module, exports) {
-
- module.exports = false;
-
-/***/ },
-/* 40 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.3.1 Object.assign(target, source)
- var $export = __webpack_require__(3);
-
- $export($export.S + $export.F, 'Object', {assign: __webpack_require__(41)});
-
-/***/ },
-/* 41 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.1 Object.assign(target, source, ...)
- var $ = __webpack_require__(2)
- , toObject = __webpack_require__(21)
- , IObject = __webpack_require__(24);
-
- // should work with symbols and should have deterministic property order (V8 bug)
- module.exports = __webpack_require__(9)(function(){
- var a = Object.assign
- , A = {}
- , B = {}
- , S = Symbol()
- , K = 'abcdefghijklmnopqrst';
- A[S] = 7;
- K.split('').forEach(function(k){ B[k] = k; });
- return a({}, A)[S] != 7 || Object.keys(a({}, B)).join('') != K;
- }) ? function assign(target, source){ // eslint-disable-line no-unused-vars
- var T = toObject(target)
- , $$ = arguments
- , $$len = $$.length
- , index = 1
- , getKeys = $.getKeys
- , getSymbols = $.getSymbols
- , isEnum = $.isEnum;
- while($$len > index){
- var S = IObject($$[index++])
- , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)
- , length = keys.length
- , j = 0
- , key;
- while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];
- }
- return T;
- } : Object.assign;
-
-/***/ },
-/* 42 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.3.10 Object.is(value1, value2)
- var $export = __webpack_require__(3);
- $export($export.S, 'Object', {is: __webpack_require__(43)});
-
-/***/ },
-/* 43 */
-/***/ function(module, exports) {
-
- // 7.2.9 SameValue(x, y)
- module.exports = Object.is || function is(x, y){
- return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
- };
-
-/***/ },
-/* 44 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.3.19 Object.setPrototypeOf(O, proto)
- var $export = __webpack_require__(3);
- $export($export.S, 'Object', {setPrototypeOf: __webpack_require__(45).set});
-
-/***/ },
-/* 45 */
-/***/ function(module, exports, __webpack_require__) {
-
- // Works with __proto__ only. Old v8 can't work with null proto objects.
- /* eslint-disable no-proto */
- var getDesc = __webpack_require__(2).getDesc
- , isObject = __webpack_require__(16)
- , anObject = __webpack_require__(20);
- var check = function(O, proto){
- anObject(O);
- if(!isObject(proto) && proto !== null)throw TypeError(proto + ": can't set as prototype!");
- };
- module.exports = {
- set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
- function(test, buggy, set){
- try {
- set = __webpack_require__(12)(Function.call, getDesc(Object.prototype, '__proto__').set, 2);
- set(test, []);
- buggy = !(test instanceof Array);
- } catch(e){ buggy = true; }
- return function setPrototypeOf(O, proto){
- check(O, proto);
- if(buggy)O.__proto__ = proto;
- else set(O, proto);
- return O;
- };
- }({}, false) : undefined),
- check: check
- };
-
-/***/ },
-/* 46 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // 19.1.3.6 Object.prototype.toString()
- var classof = __webpack_require__(47)
- , test = {};
- test[__webpack_require__(31)('toStringTag')] = 'z';
- if(test + '' != '[object z]'){
- __webpack_require__(10)(Object.prototype, 'toString', function toString(){
- return '[object ' + classof(this) + ']';
- }, true);
- }
-
-/***/ },
-/* 47 */
-/***/ function(module, exports, __webpack_require__) {
-
- // getting tag from 19.1.3.6 Object.prototype.toString()
- var cof = __webpack_require__(18)
- , TAG = __webpack_require__(31)('toStringTag')
- // ES3 wrong here
- , ARG = cof(function(){ return arguments; }()) == 'Arguments';
-
- module.exports = function(it){
- var O, T, B;
- return it === undefined ? 'Undefined' : it === null ? 'Null'
- // @@toStringTag case
- : typeof (T = (O = Object(it))[TAG]) == 'string' ? T
- // builtinTag case
- : ARG ? cof(O)
- // ES3 arguments fallback
- : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
- };
-
-/***/ },
-/* 48 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.5 Object.freeze(O)
- var isObject = __webpack_require__(16);
-
- __webpack_require__(49)('freeze', function($freeze){
- return function freeze(it){
- return $freeze && isObject(it) ? $freeze(it) : it;
- };
- });
-
-/***/ },
-/* 49 */
-/***/ function(module, exports, __webpack_require__) {
-
- // most Object methods by ES6 should accept primitives
- var $export = __webpack_require__(3)
- , core = __webpack_require__(5)
- , fails = __webpack_require__(9);
- module.exports = function(KEY, exec){
- var fn = (core.Object || {})[KEY] || Object[KEY]
- , exp = {};
- exp[KEY] = exec(fn);
- $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);
- };
-
-/***/ },
-/* 50 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.17 Object.seal(O)
- var isObject = __webpack_require__(16);
-
- __webpack_require__(49)('seal', function($seal){
- return function seal(it){
- return $seal && isObject(it) ? $seal(it) : it;
- };
- });
-
-/***/ },
-/* 51 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.15 Object.preventExtensions(O)
- var isObject = __webpack_require__(16);
-
- __webpack_require__(49)('preventExtensions', function($preventExtensions){
- return function preventExtensions(it){
- return $preventExtensions && isObject(it) ? $preventExtensions(it) : it;
- };
- });
-
-/***/ },
-/* 52 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.12 Object.isFrozen(O)
- var isObject = __webpack_require__(16);
-
- __webpack_require__(49)('isFrozen', function($isFrozen){
- return function isFrozen(it){
- return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;
- };
- });
-
-/***/ },
-/* 53 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.13 Object.isSealed(O)
- var isObject = __webpack_require__(16);
-
- __webpack_require__(49)('isSealed', function($isSealed){
- return function isSealed(it){
- return isObject(it) ? $isSealed ? $isSealed(it) : false : true;
- };
- });
-
-/***/ },
-/* 54 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.11 Object.isExtensible(O)
- var isObject = __webpack_require__(16);
-
- __webpack_require__(49)('isExtensible', function($isExtensible){
- return function isExtensible(it){
- return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;
- };
- });
-
-/***/ },
-/* 55 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
- var toIObject = __webpack_require__(23);
-
- __webpack_require__(49)('getOwnPropertyDescriptor', function($getOwnPropertyDescriptor){
- return function getOwnPropertyDescriptor(it, key){
- return $getOwnPropertyDescriptor(toIObject(it), key);
- };
- });
-
-/***/ },
-/* 56 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.9 Object.getPrototypeOf(O)
- var toObject = __webpack_require__(21);
-
- __webpack_require__(49)('getPrototypeOf', function($getPrototypeOf){
- return function getPrototypeOf(it){
- return $getPrototypeOf(toObject(it));
- };
- });
-
-/***/ },
-/* 57 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.14 Object.keys(O)
- var toObject = __webpack_require__(21);
-
- __webpack_require__(49)('keys', function($keys){
- return function keys(it){
- return $keys(toObject(it));
- };
- });
-
-/***/ },
-/* 58 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 19.1.2.7 Object.getOwnPropertyNames(O)
- __webpack_require__(49)('getOwnPropertyNames', function(){
- return __webpack_require__(37).get;
- });
-
-/***/ },
-/* 59 */
-/***/ function(module, exports, __webpack_require__) {
-
- var setDesc = __webpack_require__(2).setDesc
- , createDesc = __webpack_require__(7)
- , has = __webpack_require__(17)
- , FProto = Function.prototype
- , nameRE = /^\s*function ([^ (]*)/
- , NAME = 'name';
- // 19.2.4.2 name
- NAME in FProto || __webpack_require__(8) && setDesc(FProto, NAME, {
- configurable: true,
- get: function(){
- var match = ('' + this).match(nameRE)
- , name = match ? match[1] : '';
- has(this, NAME) || setDesc(this, NAME, createDesc(5, name));
- return name;
- }
- });
-
-/***/ },
-/* 60 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $ = __webpack_require__(2)
- , isObject = __webpack_require__(16)
- , HAS_INSTANCE = __webpack_require__(31)('hasInstance')
- , FunctionProto = Function.prototype;
- // 19.2.3.6 Function.prototype[@@hasInstance](V)
- if(!(HAS_INSTANCE in FunctionProto))$.setDesc(FunctionProto, HAS_INSTANCE, {value: function(O){
- if(typeof this != 'function' || !isObject(O))return false;
- if(!isObject(this.prototype))return O instanceof this;
- // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:
- while(O = $.getProto(O))if(this.prototype === O)return true;
- return false;
- }});
-
-/***/ },
-/* 61 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $ = __webpack_require__(2)
- , global = __webpack_require__(4)
- , has = __webpack_require__(17)
- , cof = __webpack_require__(18)
- , toPrimitive = __webpack_require__(62)
- , fails = __webpack_require__(9)
- , $trim = __webpack_require__(63).trim
- , NUMBER = 'Number'
- , $Number = global[NUMBER]
- , Base = $Number
- , proto = $Number.prototype
- // Opera ~12 has broken Object#toString
- , BROKEN_COF = cof($.create(proto)) == NUMBER
- , TRIM = 'trim' in String.prototype;
-
- // 7.1.3 ToNumber(argument)
- var toNumber = function(argument){
- var it = toPrimitive(argument, false);
- if(typeof it == 'string' && it.length > 2){
- it = TRIM ? it.trim() : $trim(it, 3);
- var first = it.charCodeAt(0)
- , third, radix, maxCode;
- if(first === 43 || first === 45){
- third = it.charCodeAt(2);
- if(third === 88 || third === 120)return NaN; // Number('+0x1') should be NaN, old V8 fix
- } else if(first === 48){
- switch(it.charCodeAt(1)){
- case 66 : case 98 : radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i
- case 79 : case 111 : radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i
- default : return +it;
- }
- for(var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++){
- code = digits.charCodeAt(i);
- // parseInt parses a string to a first unavailable symbol
- // but ToNumber should return NaN if a string contains unavailable symbols
- if(code < 48 || code > maxCode)return NaN;
- } return parseInt(digits, radix);
- }
- } return +it;
- };
-
- if(!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')){
- $Number = function Number(value){
- var it = arguments.length < 1 ? 0 : value
- , that = this;
- return that instanceof $Number
- // check on 1..constructor(foo) case
- && (BROKEN_COF ? fails(function(){ proto.valueOf.call(that); }) : cof(that) != NUMBER)
- ? new Base(toNumber(it)) : toNumber(it);
- };
- $.each.call(__webpack_require__(8) ? $.getNames(Base) : (
- // ES3:
- 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
- // ES6 (in case, if modules with ES6 Number statics required before):
- 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +
- 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'
- ).split(','), function(key){
- if(has(Base, key) && !has($Number, key)){
- $.setDesc($Number, key, $.getDesc(Base, key));
- }
- });
- $Number.prototype = proto;
- proto.constructor = $Number;
- __webpack_require__(10)(global, NUMBER, $Number);
- }
-
-/***/ },
-/* 62 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 7.1.1 ToPrimitive(input [, PreferredType])
- var isObject = __webpack_require__(16);
- // instead of the ES6 spec version, we didn't implement @@toPrimitive case
- // and the second argument - flag - preferred type is a string
- module.exports = function(it, S){
- if(!isObject(it))return it;
- var fn, val;
- if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;
- if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;
- if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;
- throw TypeError("Can't convert object to primitive value");
- };
-
-/***/ },
-/* 63 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $export = __webpack_require__(3)
- , defined = __webpack_require__(22)
- , fails = __webpack_require__(9)
- , spaces = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' +
- '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'
- , space = '[' + spaces + ']'
- , non = '\u200b\u0085'
- , ltrim = RegExp('^' + space + space + '*')
- , rtrim = RegExp(space + space + '*$');
-
- var exporter = function(KEY, exec){
- var exp = {};
- exp[KEY] = exec(trim);
- $export($export.P + $export.F * fails(function(){
- return !!spaces[KEY]() || non[KEY]() != non;
- }), 'String', exp);
- };
-
- // 1 -> String#trimLeft
- // 2 -> String#trimRight
- // 3 -> String#trim
- var trim = exporter.trim = function(string, TYPE){
- string = String(defined(string));
- if(TYPE & 1)string = string.replace(ltrim, '');
- if(TYPE & 2)string = string.replace(rtrim, '');
- return string;
- };
-
- module.exports = exporter;
-
-/***/ },
-/* 64 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.1 Number.EPSILON
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Number', {EPSILON: Math.pow(2, -52)});
-
-/***/ },
-/* 65 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.2 Number.isFinite(number)
- var $export = __webpack_require__(3)
- , _isFinite = __webpack_require__(4).isFinite;
-
- $export($export.S, 'Number', {
- isFinite: function isFinite(it){
- return typeof it == 'number' && _isFinite(it);
- }
- });
-
-/***/ },
-/* 66 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.3 Number.isInteger(number)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Number', {isInteger: __webpack_require__(67)});
-
-/***/ },
-/* 67 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.3 Number.isInteger(number)
- var isObject = __webpack_require__(16)
- , floor = Math.floor;
- module.exports = function isInteger(it){
- return !isObject(it) && isFinite(it) && floor(it) === it;
- };
-
-/***/ },
-/* 68 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.4 Number.isNaN(number)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Number', {
- isNaN: function isNaN(number){
- return number != number;
- }
- });
-
-/***/ },
-/* 69 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.5 Number.isSafeInteger(number)
- var $export = __webpack_require__(3)
- , isInteger = __webpack_require__(67)
- , abs = Math.abs;
-
- $export($export.S, 'Number', {
- isSafeInteger: function isSafeInteger(number){
- return isInteger(number) && abs(number) <= 0x1fffffffffffff;
- }
- });
-
-/***/ },
-/* 70 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.6 Number.MAX_SAFE_INTEGER
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff});
-
-/***/ },
-/* 71 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.10 Number.MIN_SAFE_INTEGER
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff});
-
-/***/ },
-/* 72 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.12 Number.parseFloat(string)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Number', {parseFloat: parseFloat});
-
-/***/ },
-/* 73 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.1.2.13 Number.parseInt(string, radix)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Number', {parseInt: parseInt});
-
-/***/ },
-/* 74 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.3 Math.acosh(x)
- var $export = __webpack_require__(3)
- , log1p = __webpack_require__(75)
- , sqrt = Math.sqrt
- , $acosh = Math.acosh;
-
- // V8 bug https://code.google.com/p/v8/issues/detail?id=3509
- $export($export.S + $export.F * !($acosh && Math.floor($acosh(Number.MAX_VALUE)) == 710), 'Math', {
- acosh: function acosh(x){
- return (x = +x) < 1 ? NaN : x > 94906265.62425156
- ? Math.log(x) + Math.LN2
- : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));
- }
- });
-
-/***/ },
-/* 75 */
-/***/ function(module, exports) {
-
- // 20.2.2.20 Math.log1p(x)
- module.exports = Math.log1p || function log1p(x){
- return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);
- };
-
-/***/ },
-/* 76 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.5 Math.asinh(x)
- var $export = __webpack_require__(3);
-
- function asinh(x){
- return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));
- }
-
- $export($export.S, 'Math', {asinh: asinh});
-
-/***/ },
-/* 77 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.7 Math.atanh(x)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Math', {
- atanh: function atanh(x){
- return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;
- }
- });
-
-/***/ },
-/* 78 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.9 Math.cbrt(x)
- var $export = __webpack_require__(3)
- , sign = __webpack_require__(79);
-
- $export($export.S, 'Math', {
- cbrt: function cbrt(x){
- return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);
- }
- });
-
-/***/ },
-/* 79 */
-/***/ function(module, exports) {
-
- // 20.2.2.28 Math.sign(x)
- module.exports = Math.sign || function sign(x){
- return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;
- };
-
-/***/ },
-/* 80 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.11 Math.clz32(x)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Math', {
- clz32: function clz32(x){
- return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;
- }
- });
-
-/***/ },
-/* 81 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.12 Math.cosh(x)
- var $export = __webpack_require__(3)
- , exp = Math.exp;
-
- $export($export.S, 'Math', {
- cosh: function cosh(x){
- return (exp(x = +x) + exp(-x)) / 2;
- }
- });
-
-/***/ },
-/* 82 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.14 Math.expm1(x)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Math', {expm1: __webpack_require__(83)});
-
-/***/ },
-/* 83 */
-/***/ function(module, exports) {
-
- // 20.2.2.14 Math.expm1(x)
- module.exports = Math.expm1 || function expm1(x){
- return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;
- };
-
-/***/ },
-/* 84 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.16 Math.fround(x)
- var $export = __webpack_require__(3)
- , sign = __webpack_require__(79)
- , pow = Math.pow
- , EPSILON = pow(2, -52)
- , EPSILON32 = pow(2, -23)
- , MAX32 = pow(2, 127) * (2 - EPSILON32)
- , MIN32 = pow(2, -126);
-
- var roundTiesToEven = function(n){
- return n + 1 / EPSILON - 1 / EPSILON;
- };
-
-
- $export($export.S, 'Math', {
- fround: function fround(x){
- var $abs = Math.abs(x)
- , $sign = sign(x)
- , a, result;
- if($abs < MIN32)return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;
- a = (1 + EPSILON32 / EPSILON) * $abs;
- result = a - (a - $abs);
- if(result > MAX32 || result != result)return $sign * Infinity;
- return $sign * result;
- }
- });
-
-/***/ },
-/* 85 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.17 Math.hypot([value1[, value2[, … ]]])
- var $export = __webpack_require__(3)
- , abs = Math.abs;
-
- $export($export.S, 'Math', {
- hypot: function hypot(value1, value2){ // eslint-disable-line no-unused-vars
- var sum = 0
- , i = 0
- , $$ = arguments
- , $$len = $$.length
- , larg = 0
- , arg, div;
- while(i < $$len){
- arg = abs($$[i++]);
- if(larg < arg){
- div = larg / arg;
- sum = sum * div * div + 1;
- larg = arg;
- } else if(arg > 0){
- div = arg / larg;
- sum += div * div;
- } else sum += arg;
- }
- return larg === Infinity ? Infinity : larg * Math.sqrt(sum);
- }
- });
-
-/***/ },
-/* 86 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.18 Math.imul(x, y)
- var $export = __webpack_require__(3)
- , $imul = Math.imul;
-
- // some WebKit versions fails with big numbers, some has wrong arity
- $export($export.S + $export.F * __webpack_require__(9)(function(){
- return $imul(0xffffffff, 5) != -5 || $imul.length != 2;
- }), 'Math', {
- imul: function imul(x, y){
- var UINT16 = 0xffff
- , xn = +x
- , yn = +y
- , xl = UINT16 & xn
- , yl = UINT16 & yn;
- return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);
- }
- });
-
-/***/ },
-/* 87 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.21 Math.log10(x)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Math', {
- log10: function log10(x){
- return Math.log(x) / Math.LN10;
- }
- });
-
-/***/ },
-/* 88 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.20 Math.log1p(x)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Math', {log1p: __webpack_require__(75)});
-
-/***/ },
-/* 89 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.22 Math.log2(x)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Math', {
- log2: function log2(x){
- return Math.log(x) / Math.LN2;
- }
- });
-
-/***/ },
-/* 90 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.28 Math.sign(x)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Math', {sign: __webpack_require__(79)});
-
-/***/ },
-/* 91 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.30 Math.sinh(x)
- var $export = __webpack_require__(3)
- , expm1 = __webpack_require__(83)
- , exp = Math.exp;
-
- // V8 near Chromium 38 has a problem with very small numbers
- $export($export.S + $export.F * __webpack_require__(9)(function(){
- return !Math.sinh(-2e-17) != -2e-17;
- }), 'Math', {
- sinh: function sinh(x){
- return Math.abs(x = +x) < 1
- ? (expm1(x) - expm1(-x)) / 2
- : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);
- }
- });
-
-/***/ },
-/* 92 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.33 Math.tanh(x)
- var $export = __webpack_require__(3)
- , expm1 = __webpack_require__(83)
- , exp = Math.exp;
-
- $export($export.S, 'Math', {
- tanh: function tanh(x){
- var a = expm1(x = +x)
- , b = expm1(-x);
- return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));
- }
- });
-
-/***/ },
-/* 93 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 20.2.2.34 Math.trunc(x)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Math', {
- trunc: function trunc(it){
- return (it > 0 ? Math.floor : Math.ceil)(it);
- }
- });
-
-/***/ },
-/* 94 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $export = __webpack_require__(3)
- , toIndex = __webpack_require__(26)
- , fromCharCode = String.fromCharCode
- , $fromCodePoint = String.fromCodePoint;
-
- // length should be 1, old FF problem
- $export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {
- // 21.1.2.2 String.fromCodePoint(...codePoints)
- fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars
- var res = []
- , $$ = arguments
- , $$len = $$.length
- , i = 0
- , code;
- while($$len > i){
- code = +$$[i++];
- if(toIndex(code, 0x10ffff) !== code)throw RangeError(code + ' is not a valid code point');
- res.push(code < 0x10000
- ? fromCharCode(code)
- : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)
- );
- } return res.join('');
- }
- });
-
-/***/ },
-/* 95 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $export = __webpack_require__(3)
- , toIObject = __webpack_require__(23)
- , toLength = __webpack_require__(27);
-
- $export($export.S, 'String', {
- // 21.1.2.4 String.raw(callSite, ...substitutions)
- raw: function raw(callSite){
- var tpl = toIObject(callSite.raw)
- , len = toLength(tpl.length)
- , $$ = arguments
- , $$len = $$.length
- , res = []
- , i = 0;
- while(len > i){
- res.push(String(tpl[i++]));
- if(i < $$len)res.push(String($$[i]));
- } return res.join('');
- }
- });
-
-/***/ },
-/* 96 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // 21.1.3.25 String.prototype.trim()
- __webpack_require__(63)('trim', function($trim){
- return function trim(){
- return $trim(this, 3);
- };
- });
-
-/***/ },
-/* 97 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $export = __webpack_require__(3)
- , $at = __webpack_require__(98)(false);
- $export($export.P, 'String', {
- // 21.1.3.3 String.prototype.codePointAt(pos)
- codePointAt: function codePointAt(pos){
- return $at(this, pos);
- }
- });
-
-/***/ },
-/* 98 */
-/***/ function(module, exports, __webpack_require__) {
-
- var toInteger = __webpack_require__(25)
- , defined = __webpack_require__(22);
- // true -> String#at
- // false -> String#codePointAt
- module.exports = function(TO_STRING){
- return function(that, pos){
- var s = String(defined(that))
- , i = toInteger(pos)
- , l = s.length
- , a, b;
- if(i < 0 || i >= l)return TO_STRING ? '' : undefined;
- a = s.charCodeAt(i);
- return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
- ? TO_STRING ? s.charAt(i) : a
- : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
- };
- };
-
-/***/ },
-/* 99 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])
- 'use strict';
- var $export = __webpack_require__(3)
- , toLength = __webpack_require__(27)
- , context = __webpack_require__(100)
- , ENDS_WITH = 'endsWith'
- , $endsWith = ''[ENDS_WITH];
-
- $export($export.P + $export.F * __webpack_require__(102)(ENDS_WITH), 'String', {
- endsWith: function endsWith(searchString /*, endPosition = @length */){
- var that = context(this, searchString, ENDS_WITH)
- , $$ = arguments
- , endPosition = $$.length > 1 ? $$[1] : undefined
- , len = toLength(that.length)
- , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len)
- , search = String(searchString);
- return $endsWith
- ? $endsWith.call(that, search, end)
- : that.slice(end - search.length, end) === search;
- }
- });
-
-/***/ },
-/* 100 */
-/***/ function(module, exports, __webpack_require__) {
-
- // helper for String#{startsWith, endsWith, includes}
- var isRegExp = __webpack_require__(101)
- , defined = __webpack_require__(22);
-
- module.exports = function(that, searchString, NAME){
- if(isRegExp(searchString))throw TypeError('String#' + NAME + " doesn't accept regex!");
- return String(defined(that));
- };
-
-/***/ },
-/* 101 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 7.2.8 IsRegExp(argument)
- var isObject = __webpack_require__(16)
- , cof = __webpack_require__(18)
- , MATCH = __webpack_require__(31)('match');
- module.exports = function(it){
- var isRegExp;
- return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');
- };
-
-/***/ },
-/* 102 */
-/***/ function(module, exports, __webpack_require__) {
-
- var MATCH = __webpack_require__(31)('match');
- module.exports = function(KEY){
- var re = /./;
- try {
- '/./'[KEY](re);
- } catch(e){
- try {
- re[MATCH] = false;
- return !'/./'[KEY](re);
- } catch(f){ /* empty */ }
- } return true;
- };
-
-/***/ },
-/* 103 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 21.1.3.7 String.prototype.includes(searchString, position = 0)
- 'use strict';
- var $export = __webpack_require__(3)
- , context = __webpack_require__(100)
- , INCLUDES = 'includes';
-
- $export($export.P + $export.F * __webpack_require__(102)(INCLUDES), 'String', {
- includes: function includes(searchString /*, position = 0 */){
- return !!~context(this, searchString, INCLUDES)
- .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
-
-/***/ },
-/* 104 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $export = __webpack_require__(3);
-
- $export($export.P, 'String', {
- // 21.1.3.13 String.prototype.repeat(count)
- repeat: __webpack_require__(105)
- });
-
-/***/ },
-/* 105 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var toInteger = __webpack_require__(25)
- , defined = __webpack_require__(22);
-
- module.exports = function repeat(count){
- var str = String(defined(this))
- , res = ''
- , n = toInteger(count);
- if(n < 0 || n == Infinity)throw RangeError("Count can't be negative");
- for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str;
- return res;
- };
-
-/***/ },
-/* 106 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 21.1.3.18 String.prototype.startsWith(searchString [, position ])
- 'use strict';
- var $export = __webpack_require__(3)
- , toLength = __webpack_require__(27)
- , context = __webpack_require__(100)
- , STARTS_WITH = 'startsWith'
- , $startsWith = ''[STARTS_WITH];
-
- $export($export.P + $export.F * __webpack_require__(102)(STARTS_WITH), 'String', {
- startsWith: function startsWith(searchString /*, position = 0 */){
- var that = context(this, searchString, STARTS_WITH)
- , $$ = arguments
- , index = toLength(Math.min($$.length > 1 ? $$[1] : undefined, that.length))
- , search = String(searchString);
- return $startsWith
- ? $startsWith.call(that, search, index)
- : that.slice(index, index + search.length) === search;
- }
- });
-
-/***/ },
-/* 107 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $at = __webpack_require__(98)(true);
-
- // 21.1.3.27 String.prototype[@@iterator]()
- __webpack_require__(108)(String, 'String', function(iterated){
- this._t = String(iterated); // target
- this._i = 0; // next index
- // 21.1.5.2.1 %StringIteratorPrototype%.next()
- }, function(){
- var O = this._t
- , index = this._i
- , point;
- if(index >= O.length)return {value: undefined, done: true};
- point = $at(O, index);
- this._i += point.length;
- return {value: point, done: false};
- });
-
-/***/ },
-/* 108 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var LIBRARY = __webpack_require__(39)
- , $export = __webpack_require__(3)
- , redefine = __webpack_require__(10)
- , hide = __webpack_require__(6)
- , has = __webpack_require__(17)
- , Iterators = __webpack_require__(109)
- , $iterCreate = __webpack_require__(110)
- , setToStringTag = __webpack_require__(35)
- , getProto = __webpack_require__(2).getProto
- , ITERATOR = __webpack_require__(31)('iterator')
- , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`
- , FF_ITERATOR = '@@iterator'
- , KEYS = 'keys'
- , VALUES = 'values';
-
- var returnThis = function(){ return this; };
-
- module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){
- $iterCreate(Constructor, NAME, next);
- var getMethod = function(kind){
- if(!BUGGY && kind in proto)return proto[kind];
- switch(kind){
- case KEYS: return function keys(){ return new Constructor(this, kind); };
- case VALUES: return function values(){ return new Constructor(this, kind); };
- } return function entries(){ return new Constructor(this, kind); };
- };
- var TAG = NAME + ' Iterator'
- , DEF_VALUES = DEFAULT == VALUES
- , VALUES_BUG = false
- , proto = Base.prototype
- , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]
- , $default = $native || getMethod(DEFAULT)
- , methods, key;
- // Fix native
- if($native){
- var IteratorPrototype = getProto($default.call(new Base));
- // Set @@toStringTag to native iterators
- setToStringTag(IteratorPrototype, TAG, true);
- // FF fix
- if(!LIBRARY && has(proto, FF_ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);
- // fix Array#{values, @@iterator}.name in V8 / FF
- if(DEF_VALUES && $native.name !== VALUES){
- VALUES_BUG = true;
- $default = function values(){ return $native.call(this); };
- }
- }
- // Define iterator
- if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){
- hide(proto, ITERATOR, $default);
- }
- // Plug for library
- Iterators[NAME] = $default;
- Iterators[TAG] = returnThis;
- if(DEFAULT){
- methods = {
- values: DEF_VALUES ? $default : getMethod(VALUES),
- keys: IS_SET ? $default : getMethod(KEYS),
- entries: !DEF_VALUES ? $default : getMethod('entries')
- };
- if(FORCED)for(key in methods){
- if(!(key in proto))redefine(proto, key, methods[key]);
- } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
- }
- return methods;
- };
-
-/***/ },
-/* 109 */
-/***/ function(module, exports) {
-
- module.exports = {};
-
-/***/ },
-/* 110 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $ = __webpack_require__(2)
- , descriptor = __webpack_require__(7)
- , setToStringTag = __webpack_require__(35)
- , IteratorPrototype = {};
-
- // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
- __webpack_require__(6)(IteratorPrototype, __webpack_require__(31)('iterator'), function(){ return this; });
-
- module.exports = function(Constructor, NAME, next){
- Constructor.prototype = $.create(IteratorPrototype, {next: descriptor(1, next)});
- setToStringTag(Constructor, NAME + ' Iterator');
- };
-
-/***/ },
-/* 111 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var ctx = __webpack_require__(12)
- , $export = __webpack_require__(3)
- , toObject = __webpack_require__(21)
- , call = __webpack_require__(112)
- , isArrayIter = __webpack_require__(113)
- , toLength = __webpack_require__(27)
- , getIterFn = __webpack_require__(114);
- $export($export.S + $export.F * !__webpack_require__(115)(function(iter){ Array.from(iter); }), 'Array', {
- // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
- from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){
- var O = toObject(arrayLike)
- , C = typeof this == 'function' ? this : Array
- , $$ = arguments
- , $$len = $$.length
- , mapfn = $$len > 1 ? $$[1] : undefined
- , mapping = mapfn !== undefined
- , index = 0
- , iterFn = getIterFn(O)
- , length, result, step, iterator;
- if(mapping)mapfn = ctx(mapfn, $$len > 2 ? $$[2] : undefined, 2);
- // if object isn't iterable or it's array with default iterator - use simple case
- if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){
- for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){
- result[index] = mapping ? call(iterator, mapfn, [step.value, index], true) : step.value;
- }
- } else {
- length = toLength(O.length);
- for(result = new C(length); length > index; index++){
- result[index] = mapping ? mapfn(O[index], index) : O[index];
- }
- }
- result.length = index;
- return result;
- }
- });
-
-
-/***/ },
-/* 112 */
-/***/ function(module, exports, __webpack_require__) {
-
- // call something on iterator step with safe closing on error
- var anObject = __webpack_require__(20);
- module.exports = function(iterator, fn, value, entries){
- try {
- return entries ? fn(anObject(value)[0], value[1]) : fn(value);
- // 7.4.6 IteratorClose(iterator, completion)
- } catch(e){
- var ret = iterator['return'];
- if(ret !== undefined)anObject(ret.call(iterator));
- throw e;
- }
- };
-
-/***/ },
-/* 113 */
-/***/ function(module, exports, __webpack_require__) {
-
- // check on default Array iterator
- var Iterators = __webpack_require__(109)
- , ITERATOR = __webpack_require__(31)('iterator')
- , ArrayProto = Array.prototype;
-
- module.exports = function(it){
- return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
- };
-
-/***/ },
-/* 114 */
-/***/ function(module, exports, __webpack_require__) {
-
- var classof = __webpack_require__(47)
- , ITERATOR = __webpack_require__(31)('iterator')
- , Iterators = __webpack_require__(109);
- module.exports = __webpack_require__(5).getIteratorMethod = function(it){
- if(it != undefined)return it[ITERATOR]
- || it['@@iterator']
- || Iterators[classof(it)];
- };
-
-/***/ },
-/* 115 */
-/***/ function(module, exports, __webpack_require__) {
-
- var ITERATOR = __webpack_require__(31)('iterator')
- , SAFE_CLOSING = false;
-
- try {
- var riter = [7][ITERATOR]();
- riter['return'] = function(){ SAFE_CLOSING = true; };
- Array.from(riter, function(){ throw 2; });
- } catch(e){ /* empty */ }
-
- module.exports = function(exec, skipClosing){
- if(!skipClosing && !SAFE_CLOSING)return false;
- var safe = false;
- try {
- var arr = [7]
- , iter = arr[ITERATOR]();
- iter.next = function(){ safe = true; };
- arr[ITERATOR] = function(){ return iter; };
- exec(arr);
- } catch(e){ /* empty */ }
- return safe;
- };
-
-/***/ },
-/* 116 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $export = __webpack_require__(3);
-
- // WebKit Array.of isn't generic
- $export($export.S + $export.F * __webpack_require__(9)(function(){
- function F(){}
- return !(Array.of.call(F) instanceof F);
- }), 'Array', {
- // 22.1.2.3 Array.of( ...items)
- of: function of(/* ...args */){
- var index = 0
- , $$ = arguments
- , $$len = $$.length
- , result = new (typeof this == 'function' ? this : Array)($$len);
- while($$len > index)result[index] = $$[index++];
- result.length = $$len;
- return result;
- }
- });
-
-/***/ },
-/* 117 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var addToUnscopables = __webpack_require__(118)
- , step = __webpack_require__(119)
- , Iterators = __webpack_require__(109)
- , toIObject = __webpack_require__(23);
-
- // 22.1.3.4 Array.prototype.entries()
- // 22.1.3.13 Array.prototype.keys()
- // 22.1.3.29 Array.prototype.values()
- // 22.1.3.30 Array.prototype[@@iterator]()
- module.exports = __webpack_require__(108)(Array, 'Array', function(iterated, kind){
- this._t = toIObject(iterated); // target
- this._i = 0; // next index
- this._k = kind; // kind
- // 22.1.5.2.1 %ArrayIteratorPrototype%.next()
- }, function(){
- var O = this._t
- , kind = this._k
- , index = this._i++;
- if(!O || index >= O.length){
- this._t = undefined;
- return step(1);
- }
- if(kind == 'keys' )return step(0, index);
- if(kind == 'values')return step(0, O[index]);
- return step(0, [index, O[index]]);
- }, 'values');
-
- // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
- Iterators.Arguments = Iterators.Array;
-
- addToUnscopables('keys');
- addToUnscopables('values');
- addToUnscopables('entries');
-
-/***/ },
-/* 118 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 22.1.3.31 Array.prototype[@@unscopables]
- var UNSCOPABLES = __webpack_require__(31)('unscopables')
- , ArrayProto = Array.prototype;
- if(ArrayProto[UNSCOPABLES] == undefined)__webpack_require__(6)(ArrayProto, UNSCOPABLES, {});
- module.exports = function(key){
- ArrayProto[UNSCOPABLES][key] = true;
- };
-
-/***/ },
-/* 119 */
-/***/ function(module, exports) {
-
- module.exports = function(done, value){
- return {value: value, done: !!done};
- };
-
-/***/ },
-/* 120 */
-/***/ function(module, exports, __webpack_require__) {
-
- __webpack_require__(121)('Array');
-
-/***/ },
-/* 121 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var global = __webpack_require__(4)
- , $ = __webpack_require__(2)
- , DESCRIPTORS = __webpack_require__(8)
- , SPECIES = __webpack_require__(31)('species');
-
- module.exports = function(KEY){
- var C = global[KEY];
- if(DESCRIPTORS && C && !C[SPECIES])$.setDesc(C, SPECIES, {
- configurable: true,
- get: function(){ return this; }
- });
- };
-
-/***/ },
-/* 122 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
- var $export = __webpack_require__(3);
-
- $export($export.P, 'Array', {copyWithin: __webpack_require__(123)});
-
- __webpack_require__(118)('copyWithin');
-
-/***/ },
-/* 123 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
- 'use strict';
- var toObject = __webpack_require__(21)
- , toIndex = __webpack_require__(26)
- , toLength = __webpack_require__(27);
-
- module.exports = [].copyWithin || function copyWithin(target/*= 0*/, start/*= 0, end = @length*/){
- var O = toObject(this)
- , len = toLength(O.length)
- , to = toIndex(target, len)
- , from = toIndex(start, len)
- , $$ = arguments
- , end = $$.length > 2 ? $$[2] : undefined
- , count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to)
- , inc = 1;
- if(from < to && to < from + count){
- inc = -1;
- from += count - 1;
- to += count - 1;
- }
- while(count-- > 0){
- if(from in O)O[to] = O[from];
- else delete O[to];
- to += inc;
- from += inc;
- } return O;
- };
-
-/***/ },
-/* 124 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
- var $export = __webpack_require__(3);
-
- $export($export.P, 'Array', {fill: __webpack_require__(125)});
-
- __webpack_require__(118)('fill');
-
-/***/ },
-/* 125 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
- 'use strict';
- var toObject = __webpack_require__(21)
- , toIndex = __webpack_require__(26)
- , toLength = __webpack_require__(27);
- module.exports = [].fill || function fill(value /*, start = 0, end = @length */){
- var O = toObject(this)
- , length = toLength(O.length)
- , $$ = arguments
- , $$len = $$.length
- , index = toIndex($$len > 1 ? $$[1] : undefined, length)
- , end = $$len > 2 ? $$[2] : undefined
- , endPos = end === undefined ? length : toIndex(end, length);
- while(endPos > index)O[index++] = value;
- return O;
- };
-
-/***/ },
-/* 126 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)
- var $export = __webpack_require__(3)
- , $find = __webpack_require__(28)(5)
- , KEY = 'find'
- , forced = true;
- // Shouldn't skip holes
- if(KEY in [])Array(1)[KEY](function(){ forced = false; });
- $export($export.P + $export.F * forced, 'Array', {
- find: function find(callbackfn/*, that = undefined */){
- return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
- __webpack_require__(118)(KEY);
-
-/***/ },
-/* 127 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)
- var $export = __webpack_require__(3)
- , $find = __webpack_require__(28)(6)
- , KEY = 'findIndex'
- , forced = true;
- // Shouldn't skip holes
- if(KEY in [])Array(1)[KEY](function(){ forced = false; });
- $export($export.P + $export.F * forced, 'Array', {
- findIndex: function findIndex(callbackfn/*, that = undefined */){
- return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
- __webpack_require__(118)(KEY);
-
-/***/ },
-/* 128 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $ = __webpack_require__(2)
- , global = __webpack_require__(4)
- , isRegExp = __webpack_require__(101)
- , $flags = __webpack_require__(129)
- , $RegExp = global.RegExp
- , Base = $RegExp
- , proto = $RegExp.prototype
- , re1 = /a/g
- , re2 = /a/g
- // "new" creates a new object, old webkit buggy here
- , CORRECT_NEW = new $RegExp(re1) !== re1;
-
- if(__webpack_require__(8) && (!CORRECT_NEW || __webpack_require__(9)(function(){
- re2[__webpack_require__(31)('match')] = false;
- // RegExp constructor can alter flags and IsRegExp works correct with @@match
- return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';
- }))){
- $RegExp = function RegExp(p, f){
- var piRE = isRegExp(p)
- , fiU = f === undefined;
- return !(this instanceof $RegExp) && piRE && p.constructor === $RegExp && fiU ? p
- : CORRECT_NEW
- ? new Base(piRE && !fiU ? p.source : p, f)
- : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f);
- };
- $.each.call($.getNames(Base), function(key){
- key in $RegExp || $.setDesc($RegExp, key, {
- configurable: true,
- get: function(){ return Base[key]; },
- set: function(it){ Base[key] = it; }
- });
- });
- proto.constructor = $RegExp;
- $RegExp.prototype = proto;
- __webpack_require__(10)(global, 'RegExp', $RegExp);
- }
-
- __webpack_require__(121)('RegExp');
-
-/***/ },
-/* 129 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // 21.2.5.3 get RegExp.prototype.flags
- var anObject = __webpack_require__(20);
- module.exports = function(){
- var that = anObject(this)
- , result = '';
- if(that.global) result += 'g';
- if(that.ignoreCase) result += 'i';
- if(that.multiline) result += 'm';
- if(that.unicode) result += 'u';
- if(that.sticky) result += 'y';
- return result;
- };
-
-/***/ },
-/* 130 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 21.2.5.3 get RegExp.prototype.flags()
- var $ = __webpack_require__(2);
- if(__webpack_require__(8) && /./g.flags != 'g')$.setDesc(RegExp.prototype, 'flags', {
- configurable: true,
- get: __webpack_require__(129)
- });
-
-/***/ },
-/* 131 */
-/***/ function(module, exports, __webpack_require__) {
-
- // @@match logic
- __webpack_require__(132)('match', 1, function(defined, MATCH){
- // 21.1.3.11 String.prototype.match(regexp)
- return function match(regexp){
- 'use strict';
- var O = defined(this)
- , fn = regexp == undefined ? undefined : regexp[MATCH];
- return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
- };
- });
-
-/***/ },
-/* 132 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var hide = __webpack_require__(6)
- , redefine = __webpack_require__(10)
- , fails = __webpack_require__(9)
- , defined = __webpack_require__(22)
- , wks = __webpack_require__(31);
-
- module.exports = function(KEY, length, exec){
- var SYMBOL = wks(KEY)
- , original = ''[KEY];
- if(fails(function(){
- var O = {};
- O[SYMBOL] = function(){ return 7; };
- return ''[KEY](O) != 7;
- })){
- redefine(String.prototype, KEY, exec(defined, SYMBOL, original));
- hide(RegExp.prototype, SYMBOL, length == 2
- // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
- // 21.2.5.11 RegExp.prototype[@@split](string, limit)
- ? function(string, arg){ return original.call(string, this, arg); }
- // 21.2.5.6 RegExp.prototype[@@match](string)
- // 21.2.5.9 RegExp.prototype[@@search](string)
- : function(string){ return original.call(string, this); }
- );
- }
- };
-
-/***/ },
-/* 133 */
-/***/ function(module, exports, __webpack_require__) {
-
- // @@replace logic
- __webpack_require__(132)('replace', 2, function(defined, REPLACE, $replace){
- // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)
- return function replace(searchValue, replaceValue){
- 'use strict';
- var O = defined(this)
- , fn = searchValue == undefined ? undefined : searchValue[REPLACE];
- return fn !== undefined
- ? fn.call(searchValue, O, replaceValue)
- : $replace.call(String(O), searchValue, replaceValue);
- };
- });
-
-/***/ },
-/* 134 */
-/***/ function(module, exports, __webpack_require__) {
-
- // @@search logic
- __webpack_require__(132)('search', 1, function(defined, SEARCH){
- // 21.1.3.15 String.prototype.search(regexp)
- return function search(regexp){
- 'use strict';
- var O = defined(this)
- , fn = regexp == undefined ? undefined : regexp[SEARCH];
- return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
- };
- });
-
-/***/ },
-/* 135 */
-/***/ function(module, exports, __webpack_require__) {
-
- // @@split logic
- __webpack_require__(132)('split', 2, function(defined, SPLIT, $split){
- // 21.1.3.17 String.prototype.split(separator, limit)
- return function split(separator, limit){
- 'use strict';
- var O = defined(this)
- , fn = separator == undefined ? undefined : separator[SPLIT];
- return fn !== undefined
- ? fn.call(separator, O, limit)
- : $split.call(String(O), separator, limit);
- };
- });
-
-/***/ },
-/* 136 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $ = __webpack_require__(2)
- , LIBRARY = __webpack_require__(39)
- , global = __webpack_require__(4)
- , ctx = __webpack_require__(12)
- , classof = __webpack_require__(47)
- , $export = __webpack_require__(3)
- , isObject = __webpack_require__(16)
- , anObject = __webpack_require__(20)
- , aFunction = __webpack_require__(13)
- , strictNew = __webpack_require__(137)
- , forOf = __webpack_require__(138)
- , setProto = __webpack_require__(45).set
- , same = __webpack_require__(43)
- , SPECIES = __webpack_require__(31)('species')
- , speciesConstructor = __webpack_require__(139)
- , asap = __webpack_require__(140)
- , PROMISE = 'Promise'
- , process = global.process
- , isNode = classof(process) == 'process'
- , P = global[PROMISE]
- , Wrapper;
-
- var testResolve = function(sub){
- var test = new P(function(){});
- if(sub)test.constructor = Object;
- return P.resolve(test) === test;
- };
-
- var USE_NATIVE = function(){
- var works = false;
- function P2(x){
- var self = new P(x);
- setProto(self, P2.prototype);
- return self;
- }
- try {
- works = P && P.resolve && testResolve();
- setProto(P2, P);
- P2.prototype = $.create(P.prototype, {constructor: {value: P2}});
- // actual Firefox has broken subclass support, test that
- if(!(P2.resolve(5).then(function(){}) instanceof P2)){
- works = false;
- }
- // actual V8 bug, https://code.google.com/p/v8/issues/detail?id=4162
- if(works && __webpack_require__(8)){
- var thenableThenGotten = false;
- P.resolve($.setDesc({}, 'then', {
- get: function(){ thenableThenGotten = true; }
- }));
- works = thenableThenGotten;
- }
- } catch(e){ works = false; }
- return works;
- }();
-
- // helpers
- var sameConstructor = function(a, b){
- // library wrapper special case
- if(LIBRARY && a === P && b === Wrapper)return true;
- return same(a, b);
- };
- var getConstructor = function(C){
- var S = anObject(C)[SPECIES];
- return S != undefined ? S : C;
- };
- var isThenable = function(it){
- var then;
- return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
- };
- var PromiseCapability = function(C){
- var resolve, reject;
- this.promise = new C(function($$resolve, $$reject){
- if(resolve !== undefined || reject !== undefined)throw TypeError('Bad Promise constructor');
- resolve = $$resolve;
- reject = $$reject;
- });
- this.resolve = aFunction(resolve),
- this.reject = aFunction(reject)
- };
- var perform = function(exec){
- try {
- exec();
- } catch(e){
- return {error: e};
- }
- };
- var notify = function(record, isReject){
- if(record.n)return;
- record.n = true;
- var chain = record.c;
- asap(function(){
- var value = record.v
- , ok = record.s == 1
- , i = 0;
- var run = function(reaction){
- var handler = ok ? reaction.ok : reaction.fail
- , resolve = reaction.resolve
- , reject = reaction.reject
- , result, then;
- try {
- if(handler){
- if(!ok)record.h = true;
- result = handler === true ? value : handler(value);
- if(result === reaction.promise){
- reject(TypeError('Promise-chain cycle'));
- } else if(then = isThenable(result)){
- then.call(result, resolve, reject);
- } else resolve(result);
- } else reject(value);
- } catch(e){
- reject(e);
- }
- };
- while(chain.length > i)run(chain[i++]); // variable length - can't use forEach
- chain.length = 0;
- record.n = false;
- if(isReject)setTimeout(function(){
- var promise = record.p
- , handler, console;
- if(isUnhandled(promise)){
- if(isNode){
- process.emit('unhandledRejection', value, promise);
- } else if(handler = global.onunhandledrejection){
- handler({promise: promise, reason: value});
- } else if((console = global.console) && console.error){
- console.error('Unhandled promise rejection', value);
- }
- } record.a = undefined;
- }, 1);
- });
- };
- var isUnhandled = function(promise){
- var record = promise._d
- , chain = record.a || record.c
- , i = 0
- , reaction;
- if(record.h)return false;
- while(chain.length > i){
- reaction = chain[i++];
- if(reaction.fail || !isUnhandled(reaction.promise))return false;
- } return true;
- };
- var $reject = function(value){
- var record = this;
- if(record.d)return;
- record.d = true;
- record = record.r || record; // unwrap
- record.v = value;
- record.s = 2;
- record.a = record.c.slice();
- notify(record, true);
- };
- var $resolve = function(value){
- var record = this
- , then;
- if(record.d)return;
- record.d = true;
- record = record.r || record; // unwrap
- try {
- if(record.p === value)throw TypeError("Promise can't be resolved itself");
- if(then = isThenable(value)){
- asap(function(){
- var wrapper = {r: record, d: false}; // wrap
- try {
- then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));
- } catch(e){
- $reject.call(wrapper, e);
- }
- });
- } else {
- record.v = value;
- record.s = 1;
- notify(record, false);
- }
- } catch(e){
- $reject.call({r: record, d: false}, e); // wrap
- }
- };
-
- // constructor polyfill
- if(!USE_NATIVE){
- // 25.4.3.1 Promise(executor)
- P = function Promise(executor){
- aFunction(executor);
- var record = this._d = {
- p: strictNew(this, P, PROMISE), // <- promise
- c: [], // <- awaiting reactions
- a: undefined, // <- checked in isUnhandled reactions
- s: 0, // <- state
- d: false, // <- done
- v: undefined, // <- value
- h: false, // <- handled rejection
- n: false // <- notify
- };
- try {
- executor(ctx($resolve, record, 1), ctx($reject, record, 1));
- } catch(err){
- $reject.call(record, err);
- }
- };
- __webpack_require__(142)(P.prototype, {
- // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)
- then: function then(onFulfilled, onRejected){
- var reaction = new PromiseCapability(speciesConstructor(this, P))
- , promise = reaction.promise
- , record = this._d;
- reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
- reaction.fail = typeof onRejected == 'function' && onRejected;
- record.c.push(reaction);
- if(record.a)record.a.push(reaction);
- if(record.s)notify(record, false);
- return promise;
- },
- // 25.4.5.1 Promise.prototype.catch(onRejected)
- 'catch': function(onRejected){
- return this.then(undefined, onRejected);
- }
- });
- }
-
- $export($export.G + $export.W + $export.F * !USE_NATIVE, {Promise: P});
- __webpack_require__(35)(P, PROMISE);
- __webpack_require__(121)(PROMISE);
- Wrapper = __webpack_require__(5)[PROMISE];
-
- // statics
- $export($export.S + $export.F * !USE_NATIVE, PROMISE, {
- // 25.4.4.5 Promise.reject(r)
- reject: function reject(r){
- var capability = new PromiseCapability(this)
- , $$reject = capability.reject;
- $$reject(r);
- return capability.promise;
- }
- });
- $export($export.S + $export.F * (!USE_NATIVE || testResolve(true)), PROMISE, {
- // 25.4.4.6 Promise.resolve(x)
- resolve: function resolve(x){
- // instanceof instead of internal slot check because we should fix it without replacement native Promise core
- if(x instanceof P && sameConstructor(x.constructor, this))return x;
- var capability = new PromiseCapability(this)
- , $$resolve = capability.resolve;
- $$resolve(x);
- return capability.promise;
- }
- });
- $export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(115)(function(iter){
- P.all(iter)['catch'](function(){});
- })), PROMISE, {
- // 25.4.4.1 Promise.all(iterable)
- all: function all(iterable){
- var C = getConstructor(this)
- , capability = new PromiseCapability(C)
- , resolve = capability.resolve
- , reject = capability.reject
- , values = [];
- var abrupt = perform(function(){
- forOf(iterable, false, values.push, values);
- var remaining = values.length
- , results = Array(remaining);
- if(remaining)$.each.call(values, function(promise, index){
- var alreadyCalled = false;
- C.resolve(promise).then(function(value){
- if(alreadyCalled)return;
- alreadyCalled = true;
- results[index] = value;
- --remaining || resolve(results);
- }, reject);
- });
- else resolve(results);
- });
- if(abrupt)reject(abrupt.error);
- return capability.promise;
- },
- // 25.4.4.4 Promise.race(iterable)
- race: function race(iterable){
- var C = getConstructor(this)
- , capability = new PromiseCapability(C)
- , reject = capability.reject;
- var abrupt = perform(function(){
- forOf(iterable, false, function(promise){
- C.resolve(promise).then(capability.resolve, reject);
- });
- });
- if(abrupt)reject(abrupt.error);
- return capability.promise;
- }
- });
-
-/***/ },
-/* 137 */
-/***/ function(module, exports) {
-
- module.exports = function(it, Constructor, name){
- if(!(it instanceof Constructor))throw TypeError(name + ": use the 'new' operator!");
- return it;
- };
-
-/***/ },
-/* 138 */
-/***/ function(module, exports, __webpack_require__) {
-
- var ctx = __webpack_require__(12)
- , call = __webpack_require__(112)
- , isArrayIter = __webpack_require__(113)
- , anObject = __webpack_require__(20)
- , toLength = __webpack_require__(27)
- , getIterFn = __webpack_require__(114);
- module.exports = function(iterable, entries, fn, that){
- var iterFn = getIterFn(iterable)
- , f = ctx(fn, that, entries ? 2 : 1)
- , index = 0
- , length, step, iterator;
- if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!');
- // fast case for arrays with default iterator
- if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){
- entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
- } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){
- call(iterator, f, step.value, entries);
- }
- };
-
-/***/ },
-/* 139 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 7.3.20 SpeciesConstructor(O, defaultConstructor)
- var anObject = __webpack_require__(20)
- , aFunction = __webpack_require__(13)
- , SPECIES = __webpack_require__(31)('species');
- module.exports = function(O, D){
- var C = anObject(O).constructor, S;
- return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);
- };
-
-/***/ },
-/* 140 */
-/***/ function(module, exports, __webpack_require__) {
-
- var global = __webpack_require__(4)
- , macrotask = __webpack_require__(141).set
- , Observer = global.MutationObserver || global.WebKitMutationObserver
- , process = global.process
- , Promise = global.Promise
- , isNode = __webpack_require__(18)(process) == 'process'
- , head, last, notify;
-
- var flush = function(){
- var parent, domain, fn;
- if(isNode && (parent = process.domain)){
- process.domain = null;
- parent.exit();
- }
- while(head){
- domain = head.domain;
- fn = head.fn;
- if(domain)domain.enter();
- fn(); // <- currently we use it only for Promise - try / catch not required
- if(domain)domain.exit();
- head = head.next;
- } last = undefined;
- if(parent)parent.enter();
- };
-
- // Node.js
- if(isNode){
- notify = function(){
- process.nextTick(flush);
- };
- // browsers with MutationObserver
- } else if(Observer){
- var toggle = 1
- , node = document.createTextNode('');
- new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new
- notify = function(){
- node.data = toggle = -toggle;
- };
- // environments with maybe non-completely correct, but existent Promise
- } else if(Promise && Promise.resolve){
- notify = function(){
- Promise.resolve().then(flush);
- };
- // for other environments - macrotask based on:
- // - setImmediate
- // - MessageChannel
- // - window.postMessag
- // - onreadystatechange
- // - setTimeout
- } else {
- notify = function(){
- // strange IE + webpack dev server bug - use .call(global)
- macrotask.call(global, flush);
- };
- }
-
- module.exports = function asap(fn){
- var task = {fn: fn, next: undefined, domain: isNode && process.domain};
- if(last)last.next = task;
- if(!head){
- head = task;
- notify();
- } last = task;
- };
-
-/***/ },
-/* 141 */
-/***/ function(module, exports, __webpack_require__) {
-
- var ctx = __webpack_require__(12)
- , invoke = __webpack_require__(19)
- , html = __webpack_require__(14)
- , cel = __webpack_require__(15)
- , global = __webpack_require__(4)
- , process = global.process
- , setTask = global.setImmediate
- , clearTask = global.clearImmediate
- , MessageChannel = global.MessageChannel
- , counter = 0
- , queue = {}
- , ONREADYSTATECHANGE = 'onreadystatechange'
- , defer, channel, port;
- var run = function(){
- var id = +this;
- if(queue.hasOwnProperty(id)){
- var fn = queue[id];
- delete queue[id];
- fn();
- }
- };
- var listner = function(event){
- run.call(event.data);
- };
- // Node.js 0.9+ & IE10+ has setImmediate, otherwise:
- if(!setTask || !clearTask){
- setTask = function setImmediate(fn){
- var args = [], i = 1;
- while(arguments.length > i)args.push(arguments[i++]);
- queue[++counter] = function(){
- invoke(typeof fn == 'function' ? fn : Function(fn), args);
- };
- defer(counter);
- return counter;
- };
- clearTask = function clearImmediate(id){
- delete queue[id];
- };
- // Node.js 0.8-
- if(__webpack_require__(18)(process) == 'process'){
- defer = function(id){
- process.nextTick(ctx(run, id, 1));
- };
- // Browsers with MessageChannel, includes WebWorkers
- } else if(MessageChannel){
- channel = new MessageChannel;
- port = channel.port2;
- channel.port1.onmessage = listner;
- defer = ctx(port.postMessage, port, 1);
- // Browsers with postMessage, skip WebWorkers
- // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
- } else if(global.addEventListener && typeof postMessage == 'function' && !global.importScripts){
- defer = function(id){
- global.postMessage(id + '', '*');
- };
- global.addEventListener('message', listner, false);
- // IE8-
- } else if(ONREADYSTATECHANGE in cel('script')){
- defer = function(id){
- html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function(){
- html.removeChild(this);
- run.call(id);
- };
- };
- // Rest old browsers
- } else {
- defer = function(id){
- setTimeout(ctx(run, id, 1), 0);
- };
- }
- }
- module.exports = {
- set: setTask,
- clear: clearTask
- };
-
-/***/ },
-/* 142 */
-/***/ function(module, exports, __webpack_require__) {
-
- var redefine = __webpack_require__(10);
- module.exports = function(target, src){
- for(var key in src)redefine(target, key, src[key]);
- return target;
- };
-
-/***/ },
-/* 143 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var strong = __webpack_require__(144);
-
- // 23.1 Map Objects
- __webpack_require__(145)('Map', function(get){
- return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };
- }, {
- // 23.1.3.6 Map.prototype.get(key)
- get: function get(key){
- var entry = strong.getEntry(this, key);
- return entry && entry.v;
- },
- // 23.1.3.9 Map.prototype.set(key, value)
- set: function set(key, value){
- return strong.def(this, key === 0 ? 0 : key, value);
- }
- }, strong, true);
-
-/***/ },
-/* 144 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $ = __webpack_require__(2)
- , hide = __webpack_require__(6)
- , redefineAll = __webpack_require__(142)
- , ctx = __webpack_require__(12)
- , strictNew = __webpack_require__(137)
- , defined = __webpack_require__(22)
- , forOf = __webpack_require__(138)
- , $iterDefine = __webpack_require__(108)
- , step = __webpack_require__(119)
- , ID = __webpack_require__(11)('id')
- , $has = __webpack_require__(17)
- , isObject = __webpack_require__(16)
- , setSpecies = __webpack_require__(121)
- , DESCRIPTORS = __webpack_require__(8)
- , isExtensible = Object.isExtensible || isObject
- , SIZE = DESCRIPTORS ? '_s' : 'size'
- , id = 0;
-
- var fastKey = function(it, create){
- // return primitive with prefix
- if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
- if(!$has(it, ID)){
- // can't set id to frozen object
- if(!isExtensible(it))return 'F';
- // not necessary to add id
- if(!create)return 'E';
- // add missing object id
- hide(it, ID, ++id);
- // return object id with prefix
- } return 'O' + it[ID];
- };
-
- var getEntry = function(that, key){
- // fast case
- var index = fastKey(key), entry;
- if(index !== 'F')return that._i[index];
- // frozen object case
- for(entry = that._f; entry; entry = entry.n){
- if(entry.k == key)return entry;
- }
- };
-
- module.exports = {
- getConstructor: function(wrapper, NAME, IS_MAP, ADDER){
- var C = wrapper(function(that, iterable){
- strictNew(that, C, NAME);
- that._i = $.create(null); // index
- that._f = undefined; // first entry
- that._l = undefined; // last entry
- that[SIZE] = 0; // size
- if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
- });
- redefineAll(C.prototype, {
- // 23.1.3.1 Map.prototype.clear()
- // 23.2.3.2 Set.prototype.clear()
- clear: function clear(){
- for(var that = this, data = that._i, entry = that._f; entry; entry = entry.n){
- entry.r = true;
- if(entry.p)entry.p = entry.p.n = undefined;
- delete data[entry.i];
- }
- that._f = that._l = undefined;
- that[SIZE] = 0;
- },
- // 23.1.3.3 Map.prototype.delete(key)
- // 23.2.3.4 Set.prototype.delete(value)
- 'delete': function(key){
- var that = this
- , entry = getEntry(that, key);
- if(entry){
- var next = entry.n
- , prev = entry.p;
- delete that._i[entry.i];
- entry.r = true;
- if(prev)prev.n = next;
- if(next)next.p = prev;
- if(that._f == entry)that._f = next;
- if(that._l == entry)that._l = prev;
- that[SIZE]--;
- } return !!entry;
- },
- // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
- // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
- forEach: function forEach(callbackfn /*, that = undefined */){
- var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3)
- , entry;
- while(entry = entry ? entry.n : this._f){
- f(entry.v, entry.k, this);
- // revert to the last existing entry
- while(entry && entry.r)entry = entry.p;
- }
- },
- // 23.1.3.7 Map.prototype.has(key)
- // 23.2.3.7 Set.prototype.has(value)
- has: function has(key){
- return !!getEntry(this, key);
- }
- });
- if(DESCRIPTORS)$.setDesc(C.prototype, 'size', {
- get: function(){
- return defined(this[SIZE]);
- }
- });
- return C;
- },
- def: function(that, key, value){
- var entry = getEntry(that, key)
- , prev, index;
- // change existing entry
- if(entry){
- entry.v = value;
- // create new entry
- } else {
- that._l = entry = {
- i: index = fastKey(key, true), // <- index
- k: key, // <- key
- v: value, // <- value
- p: prev = that._l, // <- previous entry
- n: undefined, // <- next entry
- r: false // <- removed
- };
- if(!that._f)that._f = entry;
- if(prev)prev.n = entry;
- that[SIZE]++;
- // add to index
- if(index !== 'F')that._i[index] = entry;
- } return that;
- },
- getEntry: getEntry,
- setStrong: function(C, NAME, IS_MAP){
- // add .keys, .values, .entries, [@@iterator]
- // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
- $iterDefine(C, NAME, function(iterated, kind){
- this._t = iterated; // target
- this._k = kind; // kind
- this._l = undefined; // previous
- }, function(){
- var that = this
- , kind = that._k
- , entry = that._l;
- // revert to the last existing entry
- while(entry && entry.r)entry = entry.p;
- // get next entry
- if(!that._t || !(that._l = entry = entry ? entry.n : that._t._f)){
- // or finish the iteration
- that._t = undefined;
- return step(1);
- }
- // return step by kind
- if(kind == 'keys' )return step(0, entry.k);
- if(kind == 'values')return step(0, entry.v);
- return step(0, [entry.k, entry.v]);
- }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true);
-
- // add [@@species], 23.1.2.2, 23.2.2.2
- setSpecies(NAME);
- }
- };
-
-/***/ },
-/* 145 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var global = __webpack_require__(4)
- , $export = __webpack_require__(3)
- , redefine = __webpack_require__(10)
- , redefineAll = __webpack_require__(142)
- , forOf = __webpack_require__(138)
- , strictNew = __webpack_require__(137)
- , isObject = __webpack_require__(16)
- , fails = __webpack_require__(9)
- , $iterDetect = __webpack_require__(115)
- , setToStringTag = __webpack_require__(35);
-
- module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){
- var Base = global[NAME]
- , C = Base
- , ADDER = IS_MAP ? 'set' : 'add'
- , proto = C && C.prototype
- , O = {};
- var fixMethod = function(KEY){
- var fn = proto[KEY];
- redefine(proto, KEY,
- KEY == 'delete' ? function(a){
- return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);
- } : KEY == 'has' ? function has(a){
- return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);
- } : KEY == 'get' ? function get(a){
- return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);
- } : KEY == 'add' ? function add(a){ fn.call(this, a === 0 ? 0 : a); return this; }
- : function set(a, b){ fn.call(this, a === 0 ? 0 : a, b); return this; }
- );
- };
- if(typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){
- new C().entries().next();
- }))){
- // create collection constructor
- C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
- redefineAll(C.prototype, methods);
- } else {
- var instance = new C
- // early implementations not supports chaining
- , HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance
- // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false
- , THROWS_ON_PRIMITIVES = fails(function(){ instance.has(1); })
- // most early implementations doesn't supports iterables, most modern - not close it correctly
- , ACCEPT_ITERABLES = $iterDetect(function(iter){ new C(iter); }) // eslint-disable-line no-new
- // for early implementations -0 and +0 not the same
- , BUGGY_ZERO;
- if(!ACCEPT_ITERABLES){
- C = wrapper(function(target, iterable){
- strictNew(target, C, NAME);
- var that = new Base;
- if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
- return that;
- });
- C.prototype = proto;
- proto.constructor = C;
- }
- IS_WEAK || instance.forEach(function(val, key){
- BUGGY_ZERO = 1 / key === -Infinity;
- });
- if(THROWS_ON_PRIMITIVES || BUGGY_ZERO){
- fixMethod('delete');
- fixMethod('has');
- IS_MAP && fixMethod('get');
- }
- if(BUGGY_ZERO || HASNT_CHAINING)fixMethod(ADDER);
- // weak collections should not contains .clear method
- if(IS_WEAK && proto.clear)delete proto.clear;
- }
-
- setToStringTag(C, NAME);
-
- O[NAME] = C;
- $export($export.G + $export.W + $export.F * (C != Base), O);
-
- if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP);
-
- return C;
- };
-
-/***/ },
-/* 146 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var strong = __webpack_require__(144);
-
- // 23.2 Set Objects
- __webpack_require__(145)('Set', function(get){
- return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };
- }, {
- // 23.2.3.1 Set.prototype.add(value)
- add: function add(value){
- return strong.def(this, value = value === 0 ? 0 : value, value);
- }
- }, strong);
-
-/***/ },
-/* 147 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $ = __webpack_require__(2)
- , redefine = __webpack_require__(10)
- , weak = __webpack_require__(148)
- , isObject = __webpack_require__(16)
- , has = __webpack_require__(17)
- , frozenStore = weak.frozenStore
- , WEAK = weak.WEAK
- , isExtensible = Object.isExtensible || isObject
- , tmp = {};
-
- // 23.3 WeakMap Objects
- var $WeakMap = __webpack_require__(145)('WeakMap', function(get){
- return function WeakMap(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };
- }, {
- // 23.3.3.3 WeakMap.prototype.get(key)
- get: function get(key){
- if(isObject(key)){
- if(!isExtensible(key))return frozenStore(this).get(key);
- if(has(key, WEAK))return key[WEAK][this._i];
- }
- },
- // 23.3.3.5 WeakMap.prototype.set(key, value)
- set: function set(key, value){
- return weak.def(this, key, value);
- }
- }, weak, true, true);
-
- // IE11 WeakMap frozen keys fix
- if(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){
- $.each.call(['delete', 'has', 'get', 'set'], function(key){
- var proto = $WeakMap.prototype
- , method = proto[key];
- redefine(proto, key, function(a, b){
- // store frozen objects on leaky map
- if(isObject(a) && !isExtensible(a)){
- var result = frozenStore(this)[key](a, b);
- return key == 'set' ? this : result;
- // store all the rest on native weakmap
- } return method.call(this, a, b);
- });
- });
- }
-
-/***/ },
-/* 148 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var hide = __webpack_require__(6)
- , redefineAll = __webpack_require__(142)
- , anObject = __webpack_require__(20)
- , isObject = __webpack_require__(16)
- , strictNew = __webpack_require__(137)
- , forOf = __webpack_require__(138)
- , createArrayMethod = __webpack_require__(28)
- , $has = __webpack_require__(17)
- , WEAK = __webpack_require__(11)('weak')
- , isExtensible = Object.isExtensible || isObject
- , arrayFind = createArrayMethod(5)
- , arrayFindIndex = createArrayMethod(6)
- , id = 0;
-
- // fallback for frozen keys
- var frozenStore = function(that){
- return that._l || (that._l = new FrozenStore);
- };
- var FrozenStore = function(){
- this.a = [];
- };
- var findFrozen = function(store, key){
- return arrayFind(store.a, function(it){
- return it[0] === key;
- });
- };
- FrozenStore.prototype = {
- get: function(key){
- var entry = findFrozen(this, key);
- if(entry)return entry[1];
- },
- has: function(key){
- return !!findFrozen(this, key);
- },
- set: function(key, value){
- var entry = findFrozen(this, key);
- if(entry)entry[1] = value;
- else this.a.push([key, value]);
- },
- 'delete': function(key){
- var index = arrayFindIndex(this.a, function(it){
- return it[0] === key;
- });
- if(~index)this.a.splice(index, 1);
- return !!~index;
- }
- };
-
- module.exports = {
- getConstructor: function(wrapper, NAME, IS_MAP, ADDER){
- var C = wrapper(function(that, iterable){
- strictNew(that, C, NAME);
- that._i = id++; // collection id
- that._l = undefined; // leak store for frozen objects
- if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
- });
- redefineAll(C.prototype, {
- // 23.3.3.2 WeakMap.prototype.delete(key)
- // 23.4.3.3 WeakSet.prototype.delete(value)
- 'delete': function(key){
- if(!isObject(key))return false;
- if(!isExtensible(key))return frozenStore(this)['delete'](key);
- return $has(key, WEAK) && $has(key[WEAK], this._i) && delete key[WEAK][this._i];
- },
- // 23.3.3.4 WeakMap.prototype.has(key)
- // 23.4.3.4 WeakSet.prototype.has(value)
- has: function has(key){
- if(!isObject(key))return false;
- if(!isExtensible(key))return frozenStore(this).has(key);
- return $has(key, WEAK) && $has(key[WEAK], this._i);
- }
- });
- return C;
- },
- def: function(that, key, value){
- if(!isExtensible(anObject(key))){
- frozenStore(that).set(key, value);
- } else {
- $has(key, WEAK) || hide(key, WEAK, {});
- key[WEAK][that._i] = value;
- } return that;
- },
- frozenStore: frozenStore,
- WEAK: WEAK
- };
-
-/***/ },
-/* 149 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var weak = __webpack_require__(148);
-
- // 23.4 WeakSet Objects
- __webpack_require__(145)('WeakSet', function(get){
- return function WeakSet(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };
- }, {
- // 23.4.3.1 WeakSet.prototype.add(value)
- add: function add(value){
- return weak.def(this, value, true);
- }
- }, weak, false, true);
-
-/***/ },
-/* 150 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.1 Reflect.apply(target, thisArgument, argumentsList)
- var $export = __webpack_require__(3)
- , _apply = Function.apply;
-
- $export($export.S, 'Reflect', {
- apply: function apply(target, thisArgument, argumentsList){
- return _apply.call(target, thisArgument, argumentsList);
- }
- });
-
-/***/ },
-/* 151 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.2 Reflect.construct(target, argumentsList [, newTarget])
- var $ = __webpack_require__(2)
- , $export = __webpack_require__(3)
- , aFunction = __webpack_require__(13)
- , anObject = __webpack_require__(20)
- , isObject = __webpack_require__(16)
- , bind = Function.bind || __webpack_require__(5).Function.prototype.bind;
-
- // MS Edge supports only 2 arguments
- // FF Nightly sets third argument as `new.target`, but does not create `this` from it
- $export($export.S + $export.F * __webpack_require__(9)(function(){
- function F(){}
- return !(Reflect.construct(function(){}, [], F) instanceof F);
- }), 'Reflect', {
- construct: function construct(Target, args /*, newTarget*/){
- aFunction(Target);
- var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);
- if(Target == newTarget){
- // w/o altered newTarget, optimization for 0-4 arguments
- if(args != undefined)switch(anObject(args).length){
- case 0: return new Target;
- case 1: return new Target(args[0]);
- case 2: return new Target(args[0], args[1]);
- case 3: return new Target(args[0], args[1], args[2]);
- case 4: return new Target(args[0], args[1], args[2], args[3]);
- }
- // w/o altered newTarget, lot of arguments case
- var $args = [null];
- $args.push.apply($args, args);
- return new (bind.apply(Target, $args));
- }
- // with altered newTarget, not support built-in constructors
- var proto = newTarget.prototype
- , instance = $.create(isObject(proto) ? proto : Object.prototype)
- , result = Function.apply.call(Target, instance, args);
- return isObject(result) ? result : instance;
- }
- });
-
-/***/ },
-/* 152 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)
- var $ = __webpack_require__(2)
- , $export = __webpack_require__(3)
- , anObject = __webpack_require__(20);
-
- // MS Edge has broken Reflect.defineProperty - throwing instead of returning false
- $export($export.S + $export.F * __webpack_require__(9)(function(){
- Reflect.defineProperty($.setDesc({}, 1, {value: 1}), 1, {value: 2});
- }), 'Reflect', {
- defineProperty: function defineProperty(target, propertyKey, attributes){
- anObject(target);
- try {
- $.setDesc(target, propertyKey, attributes);
- return true;
- } catch(e){
- return false;
- }
- }
- });
-
-/***/ },
-/* 153 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.4 Reflect.deleteProperty(target, propertyKey)
- var $export = __webpack_require__(3)
- , getDesc = __webpack_require__(2).getDesc
- , anObject = __webpack_require__(20);
-
- $export($export.S, 'Reflect', {
- deleteProperty: function deleteProperty(target, propertyKey){
- var desc = getDesc(anObject(target), propertyKey);
- return desc && !desc.configurable ? false : delete target[propertyKey];
- }
- });
-
-/***/ },
-/* 154 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // 26.1.5 Reflect.enumerate(target)
- var $export = __webpack_require__(3)
- , anObject = __webpack_require__(20);
- var Enumerate = function(iterated){
- this._t = anObject(iterated); // target
- this._i = 0; // next index
- var keys = this._k = [] // keys
- , key;
- for(key in iterated)keys.push(key);
- };
- __webpack_require__(110)(Enumerate, 'Object', function(){
- var that = this
- , keys = that._k
- , key;
- do {
- if(that._i >= keys.length)return {value: undefined, done: true};
- } while(!((key = keys[that._i++]) in that._t));
- return {value: key, done: false};
- });
-
- $export($export.S, 'Reflect', {
- enumerate: function enumerate(target){
- return new Enumerate(target);
- }
- });
-
-/***/ },
-/* 155 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.6 Reflect.get(target, propertyKey [, receiver])
- var $ = __webpack_require__(2)
- , has = __webpack_require__(17)
- , $export = __webpack_require__(3)
- , isObject = __webpack_require__(16)
- , anObject = __webpack_require__(20);
-
- function get(target, propertyKey/*, receiver*/){
- var receiver = arguments.length < 3 ? target : arguments[2]
- , desc, proto;
- if(anObject(target) === receiver)return target[propertyKey];
- if(desc = $.getDesc(target, propertyKey))return has(desc, 'value')
- ? desc.value
- : desc.get !== undefined
- ? desc.get.call(receiver)
- : undefined;
- if(isObject(proto = $.getProto(target)))return get(proto, propertyKey, receiver);
- }
-
- $export($export.S, 'Reflect', {get: get});
-
-/***/ },
-/* 156 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)
- var $ = __webpack_require__(2)
- , $export = __webpack_require__(3)
- , anObject = __webpack_require__(20);
-
- $export($export.S, 'Reflect', {
- getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey){
- return $.getDesc(anObject(target), propertyKey);
- }
- });
-
-/***/ },
-/* 157 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.8 Reflect.getPrototypeOf(target)
- var $export = __webpack_require__(3)
- , getProto = __webpack_require__(2).getProto
- , anObject = __webpack_require__(20);
-
- $export($export.S, 'Reflect', {
- getPrototypeOf: function getPrototypeOf(target){
- return getProto(anObject(target));
- }
- });
-
-/***/ },
-/* 158 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.9 Reflect.has(target, propertyKey)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Reflect', {
- has: function has(target, propertyKey){
- return propertyKey in target;
- }
- });
-
-/***/ },
-/* 159 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.10 Reflect.isExtensible(target)
- var $export = __webpack_require__(3)
- , anObject = __webpack_require__(20)
- , $isExtensible = Object.isExtensible;
-
- $export($export.S, 'Reflect', {
- isExtensible: function isExtensible(target){
- anObject(target);
- return $isExtensible ? $isExtensible(target) : true;
- }
- });
-
-/***/ },
-/* 160 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.11 Reflect.ownKeys(target)
- var $export = __webpack_require__(3);
-
- $export($export.S, 'Reflect', {ownKeys: __webpack_require__(161)});
-
-/***/ },
-/* 161 */
-/***/ function(module, exports, __webpack_require__) {
-
- // all object keys, includes non-enumerable and symbols
- var $ = __webpack_require__(2)
- , anObject = __webpack_require__(20)
- , Reflect = __webpack_require__(4).Reflect;
- module.exports = Reflect && Reflect.ownKeys || function ownKeys(it){
- var keys = $.getNames(anObject(it))
- , getSymbols = $.getSymbols;
- return getSymbols ? keys.concat(getSymbols(it)) : keys;
- };
-
-/***/ },
-/* 162 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.12 Reflect.preventExtensions(target)
- var $export = __webpack_require__(3)
- , anObject = __webpack_require__(20)
- , $preventExtensions = Object.preventExtensions;
-
- $export($export.S, 'Reflect', {
- preventExtensions: function preventExtensions(target){
- anObject(target);
- try {
- if($preventExtensions)$preventExtensions(target);
- return true;
- } catch(e){
- return false;
- }
- }
- });
-
-/***/ },
-/* 163 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.13 Reflect.set(target, propertyKey, V [, receiver])
- var $ = __webpack_require__(2)
- , has = __webpack_require__(17)
- , $export = __webpack_require__(3)
- , createDesc = __webpack_require__(7)
- , anObject = __webpack_require__(20)
- , isObject = __webpack_require__(16);
-
- function set(target, propertyKey, V/*, receiver*/){
- var receiver = arguments.length < 4 ? target : arguments[3]
- , ownDesc = $.getDesc(anObject(target), propertyKey)
- , existingDescriptor, proto;
- if(!ownDesc){
- if(isObject(proto = $.getProto(target))){
- return set(proto, propertyKey, V, receiver);
- }
- ownDesc = createDesc(0);
- }
- if(has(ownDesc, 'value')){
- if(ownDesc.writable === false || !isObject(receiver))return false;
- existingDescriptor = $.getDesc(receiver, propertyKey) || createDesc(0);
- existingDescriptor.value = V;
- $.setDesc(receiver, propertyKey, existingDescriptor);
- return true;
- }
- return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);
- }
-
- $export($export.S, 'Reflect', {set: set});
-
-/***/ },
-/* 164 */
-/***/ function(module, exports, __webpack_require__) {
-
- // 26.1.14 Reflect.setPrototypeOf(target, proto)
- var $export = __webpack_require__(3)
- , setProto = __webpack_require__(45);
-
- if(setProto)$export($export.S, 'Reflect', {
- setPrototypeOf: function setPrototypeOf(target, proto){
- setProto.check(target, proto);
- try {
- setProto.set(target, proto);
- return true;
- } catch(e){
- return false;
- }
- }
- });
-
-/***/ },
-/* 165 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $export = __webpack_require__(3)
- , $includes = __webpack_require__(33)(true);
-
- $export($export.P, 'Array', {
- // https://github.com/domenic/Array.prototype.includes
- includes: function includes(el /*, fromIndex = 0 */){
- return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
-
- __webpack_require__(118)('includes');
-
-/***/ },
-/* 166 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // https://github.com/mathiasbynens/String.prototype.at
- var $export = __webpack_require__(3)
- , $at = __webpack_require__(98)(true);
-
- $export($export.P, 'String', {
- at: function at(pos){
- return $at(this, pos);
- }
- });
-
-/***/ },
-/* 167 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $export = __webpack_require__(3)
- , $pad = __webpack_require__(168);
-
- $export($export.P, 'String', {
- padLeft: function padLeft(maxLength /*, fillString = ' ' */){
- return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);
- }
- });
-
-/***/ },
-/* 168 */
-/***/ function(module, exports, __webpack_require__) {
-
- // https://github.com/ljharb/proposal-string-pad-left-right
- var toLength = __webpack_require__(27)
- , repeat = __webpack_require__(105)
- , defined = __webpack_require__(22);
-
- module.exports = function(that, maxLength, fillString, left){
- var S = String(defined(that))
- , stringLength = S.length
- , fillStr = fillString === undefined ? ' ' : String(fillString)
- , intMaxLength = toLength(maxLength);
- if(intMaxLength <= stringLength)return S;
- if(fillStr == '')fillStr = ' ';
- var fillLen = intMaxLength - stringLength
- , stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));
- if(stringFiller.length > fillLen)stringFiller = stringFiller.slice(0, fillLen);
- return left ? stringFiller + S : S + stringFiller;
- };
-
-/***/ },
-/* 169 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var $export = __webpack_require__(3)
- , $pad = __webpack_require__(168);
-
- $export($export.P, 'String', {
- padRight: function padRight(maxLength /*, fillString = ' ' */){
- return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);
- }
- });
-
-/***/ },
-/* 170 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // https://github.com/sebmarkbage/ecmascript-string-left-right-trim
- __webpack_require__(63)('trimLeft', function($trim){
- return function trimLeft(){
- return $trim(this, 1);
- };
- });
-
-/***/ },
-/* 171 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- // https://github.com/sebmarkbage/ecmascript-string-left-right-trim
- __webpack_require__(63)('trimRight', function($trim){
- return function trimRight(){
- return $trim(this, 2);
- };
- });
-
-/***/ },
-/* 172 */
-/***/ function(module, exports, __webpack_require__) {
-
- // https://github.com/benjamingr/RexExp.escape
- var $export = __webpack_require__(3)
- , $re = __webpack_require__(173)(/[\\^$*+?.()|[\]{}]/g, '\\$&');
-
- $export($export.S, 'RegExp', {escape: function escape(it){ return $re(it); }});
-
-
-/***/ },
-/* 173 */
-/***/ function(module, exports) {
-
- module.exports = function(regExp, replace){
- var replacer = replace === Object(replace) ? function(part){
- return replace[part];
- } : replace;
- return function(it){
- return String(it).replace(regExp, replacer);
- };
- };
-
-/***/ },
-/* 174 */
-/***/ function(module, exports, __webpack_require__) {
-
- // https://gist.github.com/WebReflection/9353781
- var $ = __webpack_require__(2)
- , $export = __webpack_require__(3)
- , ownKeys = __webpack_require__(161)
- , toIObject = __webpack_require__(23)
- , createDesc = __webpack_require__(7);
-
- $export($export.S, 'Object', {
- getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){
- var O = toIObject(object)
- , setDesc = $.setDesc
- , getDesc = $.getDesc
- , keys = ownKeys(O)
- , result = {}
- , i = 0
- , key, D;
- while(keys.length > i){
- D = getDesc(O, key = keys[i++]);
- if(key in result)setDesc(result, key, createDesc(0, D));
- else result[key] = D;
- } return result;
- }
- });
-
-/***/ },
-/* 175 */
-/***/ function(module, exports, __webpack_require__) {
-
- // http://goo.gl/XkBrjD
- var $export = __webpack_require__(3)
- , $values = __webpack_require__(176)(false);
-
- $export($export.S, 'Object', {
- values: function values(it){
- return $values(it);
- }
- });
-
-/***/ },
-/* 176 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $ = __webpack_require__(2)
- , toIObject = __webpack_require__(23)
- , isEnum = $.isEnum;
- module.exports = function(isEntries){
- return function(it){
- var O = toIObject(it)
- , keys = $.getKeys(O)
- , length = keys.length
- , i = 0
- , result = []
- , key;
- while(length > i)if(isEnum.call(O, key = keys[i++])){
- result.push(isEntries ? [key, O[key]] : O[key]);
- } return result;
- };
- };
-
-/***/ },
-/* 177 */
-/***/ function(module, exports, __webpack_require__) {
-
- // http://goo.gl/XkBrjD
- var $export = __webpack_require__(3)
- , $entries = __webpack_require__(176)(true);
-
- $export($export.S, 'Object', {
- entries: function entries(it){
- return $entries(it);
- }
- });
-
-/***/ },
-/* 178 */
-/***/ function(module, exports, __webpack_require__) {
-
- // https://github.com/DavidBruant/Map-Set.prototype.toJSON
- var $export = __webpack_require__(3);
-
- $export($export.P, 'Map', {toJSON: __webpack_require__(179)('Map')});
-
-/***/ },
-/* 179 */
-/***/ function(module, exports, __webpack_require__) {
-
- // https://github.com/DavidBruant/Map-Set.prototype.toJSON
- var forOf = __webpack_require__(138)
- , classof = __webpack_require__(47);
- module.exports = function(NAME){
- return function toJSON(){
- if(classof(this) != NAME)throw TypeError(NAME + "#toJSON isn't generic");
- var arr = [];
- forOf(this, false, arr.push, arr);
- return arr;
- };
- };
-
-/***/ },
-/* 180 */
-/***/ function(module, exports, __webpack_require__) {
-
- // https://github.com/DavidBruant/Map-Set.prototype.toJSON
- var $export = __webpack_require__(3);
-
- $export($export.P, 'Set', {toJSON: __webpack_require__(179)('Set')});
-
-/***/ },
-/* 181 */
-/***/ function(module, exports, __webpack_require__) {
-
- var $export = __webpack_require__(3)
- , $task = __webpack_require__(141);
- $export($export.G + $export.B, {
- setImmediate: $task.set,
- clearImmediate: $task.clear
- });
-
-/***/ },
-/* 182 */
-/***/ function(module, exports, __webpack_require__) {
-
- __webpack_require__(117);
- var global = __webpack_require__(4)
- , hide = __webpack_require__(6)
- , Iterators = __webpack_require__(109)
- , ITERATOR = __webpack_require__(31)('iterator')
- , NL = global.NodeList
- , HTC = global.HTMLCollection
- , NLProto = NL && NL.prototype
- , HTCProto = HTC && HTC.prototype
- , ArrayValues = Iterators.NodeList = Iterators.HTMLCollection = Iterators.Array;
- if(NLProto && !NLProto[ITERATOR])hide(NLProto, ITERATOR, ArrayValues);
- if(HTCProto && !HTCProto[ITERATOR])hide(HTCProto, ITERATOR, ArrayValues);
-
-/***/ },
-/* 183 */
-/***/ function(module, exports, __webpack_require__) {
-
- // ie9- setTimeout & setInterval additional parameters fix
- var global = __webpack_require__(4)
- , $export = __webpack_require__(3)
- , invoke = __webpack_require__(19)
- , partial = __webpack_require__(184)
- , navigator = global.navigator
- , MSIE = !!navigator && /MSIE .\./.test(navigator.userAgent); // <- dirty ie9- check
- var wrap = function(set){
- return MSIE ? function(fn, time /*, ...args */){
- return set(invoke(
- partial,
- [].slice.call(arguments, 2),
- typeof fn == 'function' ? fn : Function(fn)
- ), time);
- } : set;
- };
- $export($export.G + $export.B + $export.F * MSIE, {
- setTimeout: wrap(global.setTimeout),
- setInterval: wrap(global.setInterval)
- });
-
-/***/ },
-/* 184 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
- var path = __webpack_require__(185)
- , invoke = __webpack_require__(19)
- , aFunction = __webpack_require__(13);
- module.exports = function(/* ...pargs */){
- var fn = aFunction(this)
- , length = arguments.length
- , pargs = Array(length)
- , i = 0
- , _ = path._
- , holder = false;
- while(length > i)if((pargs[i] = arguments[i++]) === _)holder = true;
- return function(/* ...args */){
- var that = this
- , $$ = arguments
- , $$len = $$.length
- , j = 0, k = 0, args;
- if(!holder && !$$len)return invoke(fn, pargs, that);
- args = pargs.slice();
- if(holder)for(;length > j; j++)if(args[j] === _)args[j] = $$[k++];
- while($$len > k)args.push($$[k++]);
- return invoke(fn, args, that);
- };
- };
-
-/***/ },
-/* 185 */
-/***/ function(module, exports, __webpack_require__) {
-
- module.exports = __webpack_require__(4);
-
-/***/ },
-/* 186 */
-/***/ function(module, exports, __webpack_require__) {
-
- // JavaScript 1.6 / Strawman array statics shim
- var $ = __webpack_require__(2)
- , $export = __webpack_require__(3)
- , $ctx = __webpack_require__(12)
- , $Array = __webpack_require__(5).Array || Array
- , statics = {};
- var setStatics = function(keys, length){
- $.each.call(keys.split(','), function(key){
- if(length == undefined && key in $Array)statics[key] = $Array[key];
- else if(key in [])statics[key] = $ctx(Function.call, [][key], length);
- });
- };
- setStatics('pop,reverse,shift,keys,values,entries', 1);
- setStatics('indexOf,every,some,forEach,map,filter,find,findIndex,includes', 3);
- setStatics('join,slice,concat,push,splice,unshift,sort,lastIndexOf,' +
- 'reduce,reduceRight,copyWithin,fill');
- $export($export.S, 'Array', statics);
-
-/***/ }
-/******/ ]);
-// CommonJS export
-if(typeof module != 'undefined' && module.exports)module.exports = __e;
-// RequireJS export
-else if(typeof define == 'function' && define.amd)define(function(){return __e});
-// Export to global object
-else __g.core = __e;
-}(1, 1);
\ No newline at end of file
diff --git a/node_modules/core-js/client/shim.min.js b/node_modules/core-js/client/shim.min.js
deleted file mode 100644
index c7b3bb0..0000000
--- a/node_modules/core-js/client/shim.min.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/**
- * core-js 1.2.6
- * https://github.com/zloirock/core-js
- * License: http://rock.mit-license.org
- * © 2015 Denis Pushkarev
- */
-!function(b,c,a){"use strict";!function(b){function __webpack_require__(c){if(a[c])return a[c].exports;var d=a[c]={exports:{},id:c,loaded:!1};return b[c].call(d.exports,d,d.exports,__webpack_require__),d.loaded=!0,d.exports}var a={};return __webpack_require__.m=b,__webpack_require__.c=a,__webpack_require__.p="",__webpack_require__(0)}([function(b,c,a){a(1),a(34),a(40),a(42),a(44),a(46),a(48),a(50),a(51),a(52),a(53),a(54),a(55),a(56),a(57),a(58),a(59),a(60),a(61),a(64),a(65),a(66),a(68),a(69),a(70),a(71),a(72),a(73),a(74),a(76),a(77),a(78),a(80),a(81),a(82),a(84),a(85),a(86),a(87),a(88),a(89),a(90),a(91),a(92),a(93),a(94),a(95),a(96),a(97),a(99),a(103),a(104),a(106),a(107),a(111),a(116),a(117),a(120),a(122),a(124),a(126),a(127),a(128),a(130),a(131),a(133),a(134),a(135),a(136),a(143),a(146),a(147),a(149),a(150),a(151),a(152),a(153),a(154),a(155),a(156),a(157),a(158),a(159),a(160),a(162),a(163),a(164),a(165),a(166),a(167),a(169),a(170),a(171),a(172),a(174),a(175),a(177),a(178),a(180),a(181),a(182),a(183),b.exports=a(186)},function(S,R,b){var r,d=b(2),c=b(3),x=b(8),O=b(7),o=b(14),E=b(15),n=b(17),N=b(18),J=b(19),j=b(9),p=b(20),v=b(13),I=b(16),Q=b(21),y=b(23),K=b(25),w=b(26),h=b(27),s=b(24),m=b(11)("__proto__"),g=b(28),A=b(33)(!1),B=Object.prototype,C=Array.prototype,k=C.slice,M=C.join,F=d.setDesc,L=d.getDesc,q=d.setDescs,u={};x||(r=!j(function(){return 7!=F(E("div"),"a",{get:function(){return 7}}).a}),d.setDesc=function(b,c,a){if(r)try{return F(b,c,a)}catch(d){}if("get"in a||"set"in a)throw TypeError("Accessors not supported!");return"value"in a&&(p(b)[c]=a.value),b},d.getDesc=function(a,b){if(r)try{return L(a,b)}catch(c){}return n(a,b)?O(!B.propertyIsEnumerable.call(a,b),a[b]):void 0},d.setDescs=q=function(a,b){p(a);for(var c,e=d.getKeys(b),g=e.length,f=0;g>f;)d.setDesc(a,c=e[f++],b[c]);return a}),c(c.S+c.F*!x,"Object",{getOwnPropertyDescriptor:d.getDesc,defineProperty:d.setDesc,defineProperties:q});var i="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),H=i.concat("length","prototype"),G=i.length,l=function(){var a,b=E("iframe"),c=G,d=">";for(b.style.display="none",o.appendChild(b),b.src="javascript:",a=b.contentWindow.document,a.open(),a.write("f;)n(e,c=a[f++])&&(~A(d,c)||d.push(c));return d}},t=function(){};c(c.S,"Object",{getPrototypeOf:d.getProto=d.getProto||function(a){return a=Q(a),n(a,m)?a[m]:"function"==typeof a.constructor&&a instanceof a.constructor?a.constructor.prototype:a instanceof Object?B:null},getOwnPropertyNames:d.getNames=d.getNames||D(H,H.length,!0),create:d.create=d.create||function(c,d){var b;return null!==c?(t.prototype=p(c),b=new t,t.prototype=null,b[m]=c):b=l(),d===a?b:q(b,d)},keys:d.getKeys=d.getKeys||D(i,G,!1)});var P=function(d,a,e){if(!(a in u)){for(var c=[],b=0;a>b;b++)c[b]="a["+b+"]";u[a]=Function("F,a","return new F("+c.join(",")+")")}return u[a](d,e)};c(c.P,"Function",{bind:function bind(c){var a=v(this),d=k.call(arguments,1),b=function(){var e=d.concat(k.call(arguments));return this instanceof b?P(a,e.length,e):J(a,e,c)};return I(a.prototype)&&(b.prototype=a.prototype),b}}),c(c.P+c.F*j(function(){o&&k.call(o)}),"Array",{slice:function(f,b){var d=h(this.length),g=N(this);if(b=b===a?d:b,"Array"==g)return k.call(this,f,b);for(var e=w(f,d),l=w(b,d),i=h(l-e),j=Array(i),c=0;i>c;c++)j[c]="String"==g?this.charAt(e+c):this[e+c];return j}}),c(c.P+c.F*(s!=Object),"Array",{join:function join(b){return M.call(s(this),b===a?",":b)}}),c(c.S,"Array",{isArray:b(30)});var z=function(a){return function(g,d){v(g);var c=s(this),e=h(c.length),b=a?e-1:0,f=a?-1:1;if(arguments.length<2)for(;;){if(b in c){d=c[b],b+=f;break}if(b+=f,a?0>b:b>=e)throw TypeError("Reduce of empty array with no initial value")}for(;a?b>=0:e>b;b+=f)b in c&&(d=g(d,c[b],b,this));return d}},f=function(a){return function(b){return a(this,b,arguments[1])}};c(c.P,"Array",{forEach:d.each=d.each||f(g(0)),map:f(g(1)),filter:f(g(2)),some:f(g(3)),every:f(g(4)),reduce:z(!1),reduceRight:z(!0),indexOf:f(A),lastIndexOf:function(d,e){var b=y(this),c=h(b.length),a=c-1;for(arguments.length>1&&(a=Math.min(a,K(e))),0>a&&(a=h(c+a));a>=0;a--)if(a in b&&b[a]===d)return a;return-1}}),c(c.S,"Date",{now:function(){return+new Date}});var e=function(a){return a>9?a:"0"+a};c(c.P+c.F*(j(function(){return"0385-07-25T07:06:39.999Z"!=new Date(-5e13-1).toISOString()})||!j(function(){new Date(NaN).toISOString()})),"Date",{toISOString:function toISOString(){if(!isFinite(this))throw RangeError("Invalid time value");var a=this,b=a.getUTCFullYear(),c=a.getUTCMilliseconds(),d=0>b?"-":b>9999?"+":"";return d+("00000"+Math.abs(b)).slice(d?-6:-4)+"-"+e(a.getUTCMonth()+1)+"-"+e(a.getUTCDate())+"T"+e(a.getUTCHours())+":"+e(a.getUTCMinutes())+":"+e(a.getUTCSeconds())+"."+(c>99?c:"0"+e(c))+"Z"}})},function(b,c){var a=Object;b.exports={create:a.create,getProto:a.getPrototypeOf,isEnum:{}.propertyIsEnumerable,getDesc:a.getOwnPropertyDescriptor,setDesc:a.defineProperty,setDescs:a.defineProperties,getKeys:a.keys,getNames:a.getOwnPropertyNames,getSymbols:a.getOwnPropertySymbols,each:[].forEach}},function(g,j,c){var b=c(4),d=c(5),h=c(6),i=c(10),f=c(12),e="prototype",a=function(k,j,o){var g,m,c,s,v=k&a.F,p=k&a.G,u=k&a.S,r=k&a.P,t=k&a.B,l=p?b:u?b[j]||(b[j]={}):(b[j]||{})[e],n=p?d:d[j]||(d[j]={}),q=n[e]||(n[e]={});p&&(o=j);for(g in o)m=!v&&l&&g in l,c=(m?l:o)[g],s=t&&m?f(c,b):r&&"function"==typeof c?f(Function.call,c):c,l&&!m&&i(l,g,c),n[g]!=c&&h(n,g,s),r&&q[g]!=c&&(q[g]=c)};b.core=d,a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,g.exports=a},function(a,d){var b=a.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof c&&(c=b)},function(a,d){var c=a.exports={version:"1.2.6"};"number"==typeof b&&(b=c)},function(b,e,a){var c=a(2),d=a(7);b.exports=a(8)?function(a,b,e){return c.setDesc(a,b,d(1,e))}:function(a,b,c){return a[b]=c,a}},function(a,b){a.exports=function(a,b){return{enumerable:!(1&a),configurable:!(2&a),writable:!(4&a),value:b}}},function(a,c,b){a.exports=!b(9)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(a,b){a.exports=function(a){try{return!!a()}catch(b){return!0}}},function(f,i,a){var g=a(4),b=a(6),c=a(11)("src"),d="toString",e=Function[d],h=(""+e).split(d);a(5).inspectSource=function(a){return e.call(a)},(f.exports=function(e,a,d,f){"function"==typeof d&&(d.hasOwnProperty(c)||b(d,c,e[a]?""+e[a]:h.join(String(a))),d.hasOwnProperty("name")||b(d,"name",a)),e===g?e[a]=d:(f||delete e[a],b(e,a,d))})(Function.prototype,d,function toString(){return"function"==typeof this&&this[c]||e.call(this)})},function(b,e){var c=0,d=Math.random();b.exports=function(b){return"Symbol(".concat(b===a?"":b,")_",(++c+d).toString(36))}},function(b,e,c){var d=c(13);b.exports=function(b,c,e){if(d(b),c===a)return b;switch(e){case 1:return function(a){return b.call(c,a)};case 2:return function(a,d){return b.call(c,a,d)};case 3:return function(a,d,e){return b.call(c,a,d,e)}}return function(){return b.apply(c,arguments)}}},function(a,b){a.exports=function(a){if("function"!=typeof a)throw TypeError(a+" is not a function!");return a}},function(a,c,b){a.exports=b(4).document&&document.documentElement},function(d,f,b){var c=b(16),a=b(4).document,e=c(a)&&c(a.createElement);d.exports=function(b){return e?a.createElement(b):{}}},function(a,b){a.exports=function(a){return"object"==typeof a?null!==a:"function"==typeof a}},function(a,c){var b={}.hasOwnProperty;a.exports=function(a,c){return b.call(a,c)}},function(a,c){var b={}.toString;a.exports=function(a){return b.call(a).slice(8,-1)}},function(b,c){b.exports=function(c,b,d){var e=d===a;switch(b.length){case 0:return e?c():c.call(d);case 1:return e?c(b[0]):c.call(d,b[0]);case 2:return e?c(b[0],b[1]):c.call(d,b[0],b[1]);case 3:return e?c(b[0],b[1],b[2]):c.call(d,b[0],b[1],b[2]);case 4:return e?c(b[0],b[1],b[2],b[3]):c.call(d,b[0],b[1],b[2],b[3])}return c.apply(d,b)}},function(a,d,b){var c=b(16);a.exports=function(a){if(!c(a))throw TypeError(a+" is not an object!");return a}},function(a,d,b){var c=b(22);a.exports=function(a){return Object(c(a))}},function(b,c){b.exports=function(b){if(b==a)throw TypeError("Can't call method on "+b);return b}},function(b,e,a){var c=a(24),d=a(22);b.exports=function(a){return c(d(a))}},function(a,d,b){var c=b(18);a.exports=Object("z").propertyIsEnumerable(0)?Object:function(a){return"String"==c(a)?a.split(""):Object(a)}},function(a,d){var b=Math.ceil,c=Math.floor;a.exports=function(a){return isNaN(a=+a)?0:(a>0?c:b)(a)}},function(a,f,b){var c=b(25),d=Math.max,e=Math.min;a.exports=function(a,b){return a=c(a),0>a?d(a+b,0):e(a,b)}},function(a,e,b){var c=b(25),d=Math.min;a.exports=function(a){return a>0?d(c(a),9007199254740991):0}},function(d,i,b){var e=b(12),f=b(24),g=b(21),h=b(27),c=b(29);d.exports=function(b){var i=1==b,k=2==b,l=3==b,d=4==b,j=6==b,m=5==b||j;return function(p,v,x){for(var o,r,u=g(p),s=f(u),w=e(v,x,3),t=h(s.length),n=0,q=i?c(p,t):k?c(p,0):a;t>n;n++)if((m||n in s)&&(o=s[n],r=w(o,n,u),b))if(i)q[n]=r;else if(r)switch(b){case 3:return!0;case 5:return o;case 6:return n;case 2:q.push(o)}else if(d)return!1;return j?-1:l||d?d:q}}},function(d,g,b){var e=b(16),c=b(30),f=b(31)("species");d.exports=function(d,g){var b;return c(d)&&(b=d.constructor,"function"!=typeof b||b!==Array&&!c(b.prototype)||(b=a),e(b)&&(b=b[f],null===b&&(b=a))),new(b===a?Array:b)(g)}},function(a,d,b){var c=b(18);a.exports=Array.isArray||function(a){return"Array"==c(a)}},function(d,f,a){var c=a(32)("wks"),e=a(11),b=a(4).Symbol;d.exports=function(a){return c[a]||(c[a]=b&&b[a]||(b||e)("Symbol."+a))}},function(d,f,e){var a=e(4),b="__core-js_shared__",c=a[b]||(a[b]={});d.exports=function(a){return c[a]||(c[a]={})}},function(b,f,a){var c=a(23),d=a(27),e=a(26);b.exports=function(a){return function(j,g,k){var h,f=c(j),i=d(f.length),b=e(k,i);if(a&&g!=g){for(;i>b;)if(h=f[b++],h!=h)return!0}else for(;i>b;b++)if((a||b in f)&&f[b]===g)return a||b;return!a&&-1}}},function(W,V,b){var e=b(2),x=b(4),d=b(17),w=b(8),f=b(3),G=b(10),H=b(9),J=b(32),s=b(35),S=b(11),A=b(31),R=b(36),C=b(37),Q=b(38),P=b(30),O=b(20),p=b(23),v=b(7),I=e.getDesc,i=e.setDesc,k=e.create,z=C.get,g=x.Symbol,l=x.JSON,m=l&&l.stringify,n=!1,c=A("_hidden"),N=e.isEnum,o=J("symbol-registry"),h=J("symbols"),q="function"==typeof g,j=Object.prototype,y=w&&H(function(){return 7!=k(i({},"a",{get:function(){return i(this,"a",{value:7}).a}})).a})?function(c,a,d){var b=I(j,a);b&&delete j[a],i(c,a,d),b&&c!==j&&i(j,a,b)}:i,L=function(a){var b=h[a]=k(g.prototype);return b._k=a,w&&n&&y(j,a,{configurable:!0,set:function(b){d(this,c)&&d(this[c],a)&&(this[c][a]=!1),y(this,a,v(1,b))}}),b},r=function(a){return"symbol"==typeof a},t=function defineProperty(a,b,e){return e&&d(h,b)?(e.enumerable?(d(a,c)&&a[c][b]&&(a[c][b]=!1),e=k(e,{enumerable:v(0,!1)})):(d(a,c)||i(a,c,v(1,{})),a[c][b]=!0),y(a,b,e)):i(a,b,e)},u=function defineProperties(a,b){O(a);for(var c,d=Q(b=p(b)),e=0,f=d.length;f>e;)t(a,c=d[e++],b[c]);return a},F=function create(b,c){return c===a?k(b):u(k(b),c)},E=function propertyIsEnumerable(a){var b=N.call(this,a);return b||!d(this,a)||!d(h,a)||d(this,c)&&this[c][a]?b:!0},D=function getOwnPropertyDescriptor(a,b){var e=I(a=p(a),b);return!e||!d(h,b)||d(a,c)&&a[c][b]||(e.enumerable=!0),e},B=function getOwnPropertyNames(g){for(var a,b=z(p(g)),e=[],f=0;b.length>f;)d(h,a=b[f++])||a==c||e.push(a);return e},M=function getOwnPropertySymbols(f){for(var a,b=z(p(f)),c=[],e=0;b.length>e;)d(h,a=b[e++])&&c.push(h[a]);return c},T=function stringify(e){if(e!==a&&!r(e)){for(var b,c,d=[e],f=1,g=arguments;g.length>f;)d.push(g[f++]);return b=d[1],"function"==typeof b&&(c=b),(c||!P(b))&&(b=function(b,a){return c&&(a=c.call(this,b,a)),r(a)?void 0:a}),d[1]=b,m.apply(l,d)}},U=H(function(){var a=g();return"[null]"!=m([a])||"{}"!=m({a:a})||"{}"!=m(Object(a))});q||(g=function Symbol(){if(r(this))throw TypeError("Symbol is not a constructor");return L(S(arguments.length>0?arguments[0]:a))},G(g.prototype,"toString",function toString(){return this._k}),r=function(a){return a instanceof g},e.create=F,e.isEnum=E,e.getDesc=D,e.setDesc=t,e.setDescs=u,e.getNames=C.get=B,e.getSymbols=M,w&&!b(39)&&G(j,"propertyIsEnumerable",E,!0));var K={"for":function(a){return d(o,a+="")?o[a]:o[a]=g(a)},keyFor:function keyFor(a){return R(o,a)},useSetter:function(){n=!0},useSimple:function(){n=!1}};e.each.call("hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),function(a){var b=A(a);K[a]=q?b:L(b)}),n=!0,f(f.G+f.W,{Symbol:g}),f(f.S,"Symbol",K),f(f.S+f.F*!q,"Object",{create:F,defineProperty:t,defineProperties:u,getOwnPropertyDescriptor:D,getOwnPropertyNames:B,getOwnPropertySymbols:M}),l&&f(f.S+f.F*(!q||U),"JSON",{stringify:T}),s(g,"Symbol"),s(Math,"Math",!0),s(x.JSON,"JSON",!0)},function(c,f,a){var d=a(2).setDesc,e=a(17),b=a(31)("toStringTag");c.exports=function(a,c,f){a&&!e(a=f?a:a.prototype,b)&&d(a,b,{configurable:!0,value:c})}},function(b,e,a){var c=a(2),d=a(23);b.exports=function(g,h){for(var a,b=d(g),e=c.getKeys(b),i=e.length,f=0;i>f;)if(b[a=e[f++]]===h)return a}},function(d,h,a){var e=a(23),b=a(2).getNames,f={}.toString,c="object"==typeof window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],g=function(a){try{return b(a)}catch(d){return c.slice()}};d.exports.get=function getOwnPropertyNames(a){return c&&"[object Window]"==f.call(a)?g(a):b(e(a))}},function(b,d,c){var a=c(2);b.exports=function(b){var c=a.getKeys(b),d=a.getSymbols;if(d)for(var e,f=d(b),h=a.isEnum,g=0;f.length>g;)h.call(b,e=f[g++])&&c.push(e);return c}},function(a,b){a.exports=!1},function(c,d,b){var a=b(3);a(a.S+a.F,"Object",{assign:b(41)})},function(c,f,a){var b=a(2),d=a(21),e=a(24);c.exports=a(9)(function(){var a=Object.assign,b={},c={},d=Symbol(),e="abcdefghijklmnopqrst";return b[d]=7,e.split("").forEach(function(a){c[a]=a}),7!=a({},b)[d]||Object.keys(a({},c)).join("")!=e})?function assign(n,q){for(var g=d(n),h=arguments,o=h.length,j=1,f=b.getKeys,l=b.getSymbols,m=b.isEnum;o>j;)for(var c,a=e(h[j++]),k=l?f(a).concat(l(a)):f(a),p=k.length,i=0;p>i;)m.call(a,c=k[i++])&&(g[c]=a[c]);return g}:Object.assign},function(c,d,a){var b=a(3);b(b.S,"Object",{is:a(43)})},function(a,b){a.exports=Object.is||function is(a,b){return a===b?0!==a||1/a===1/b:a!=a&&b!=b}},function(c,d,a){var b=a(3);b(b.S,"Object",{setPrototypeOf:a(45).set})},function(d,h,b){var e=b(2).getDesc,f=b(16),g=b(20),c=function(b,a){if(g(b),!f(a)&&null!==a)throw TypeError(a+": can't set as prototype!")};d.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(f,a,d){try{d=b(12)(Function.call,e(Object.prototype,"__proto__").set,2),d(f,[]),a=!(f instanceof Array)}catch(g){a=!0}return function setPrototypeOf(b,e){return c(b,e),a?b.__proto__=e:d(b,e),b}}({},!1):a),check:c}},function(d,e,a){var c=a(47),b={};b[a(31)("toStringTag")]="z",b+""!="[object z]"&&a(10)(Object.prototype,"toString",function toString(){return"[object "+c(this)+"]"},!0)},function(d,g,c){var b=c(18),e=c(31)("toStringTag"),f="Arguments"==b(function(){return arguments}());d.exports=function(d){var c,g,h;return d===a?"Undefined":null===d?"Null":"string"==typeof(g=(c=Object(d))[e])?g:f?b(c):"Object"==(h=b(c))&&"function"==typeof c.callee?"Arguments":h}},function(c,d,a){var b=a(16);a(49)("freeze",function(a){return function freeze(c){return a&&b(c)?a(c):c}})},function(c,f,a){var b=a(3),d=a(5),e=a(9);c.exports=function(a,g){var c=(d.Object||{})[a]||Object[a],f={};f[a]=g(c),b(b.S+b.F*e(function(){c(1)}),"Object",f)}},function(c,d,a){var b=a(16);a(49)("seal",function(a){return function seal(c){return a&&b(c)?a(c):c}})},function(c,d,a){var b=a(16);a(49)("preventExtensions",function(a){return function preventExtensions(c){return a&&b(c)?a(c):c}})},function(c,d,a){var b=a(16);a(49)("isFrozen",function(a){return function isFrozen(c){return b(c)?a?a(c):!1:!0}})},function(c,d,a){var b=a(16);a(49)("isSealed",function(a){return function isSealed(c){return b(c)?a?a(c):!1:!0}})},function(c,d,a){var b=a(16);a(49)("isExtensible",function(a){return function isExtensible(c){return b(c)?a?a(c):!0:!1}})},function(c,d,a){var b=a(23);a(49)("getOwnPropertyDescriptor",function(a){return function getOwnPropertyDescriptor(c,d){return a(b(c),d)}})},function(c,d,a){var b=a(21);a(49)("getPrototypeOf",function(a){return function getPrototypeOf(c){return a(b(c))}})},function(c,d,a){var b=a(21);a(49)("keys",function(a){return function keys(c){return a(b(c))}})},function(b,c,a){a(49)("getOwnPropertyNames",function(){return a(37).get})},function(h,i,a){var c=a(2).setDesc,e=a(7),f=a(17),d=Function.prototype,g=/^\s*function ([^ (]*)/,b="name";b in d||a(8)&&c(d,b,{configurable:!0,get:function(){var a=(""+this).match(g),d=a?a[1]:"";return f(this,b)||c(this,b,e(5,d)),d}})},function(f,g,a){var b=a(2),c=a(16),d=a(31)("hasInstance"),e=Function.prototype;d in e||b.setDesc(e,d,{value:function(a){if("function"!=typeof this||!c(a))return!1;if(!c(this.prototype))return a instanceof this;for(;a=b.getProto(a);)if(this.prototype===a)return!0;return!1}})},function(q,p,b){var c=b(2),h=b(4),i=b(17),j=b(18),l=b(62),k=b(9),n=b(63).trim,d="Number",a=h[d],e=a,f=a.prototype,o=j(c.create(f))==d,m="trim"in String.prototype,g=function(i){var a=l(i,!1);if("string"==typeof a&&a.length>2){a=m?a.trim():n(a,3);var b,c,d,e=a.charCodeAt(0);if(43===e||45===e){if(b=a.charCodeAt(2),88===b||120===b)return NaN}else if(48===e){switch(a.charCodeAt(1)){case 66:case 98:c=2,d=49;break;case 79:case 111:c=8,d=55;break;default:return+a}for(var f,g=a.slice(2),h=0,j=g.length;j>h;h++)if(f=g.charCodeAt(h),48>f||f>d)return NaN;return parseInt(g,c)}}return+a};a(" 0o1")&&a("0b1")&&!a("+0x1")||(a=function Number(h){var c=arguments.length<1?0:h,b=this;return b instanceof a&&(o?k(function(){f.valueOf.call(b)}):j(b)!=d)?new e(g(c)):g(c)},c.each.call(b(8)?c.getNames(e):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),function(b){i(e,b)&&!i(a,b)&&c.setDesc(a,b,c.getDesc(e,b))}),a.prototype=f,f.constructor=a,b(10)(h,d,a))},function(b,d,c){var a=c(16);b.exports=function(b,e){if(!a(b))return b;var c,d;if(e&&"function"==typeof(c=b.toString)&&!a(d=c.call(b)))return d;if("function"==typeof(c=b.valueOf)&&!a(d=c.call(b)))return d;if(!e&&"function"==typeof(c=b.toString)&&!a(d=c.call(b)))return d;throw TypeError("Can't convert object to primitive value")}},function(g,m,b){var c=b(3),h=b(22),i=b(9),d=" \n\f\r \u2028\u2029\ufeff",a="["+d+"]",f="
",j=RegExp("^"+a+a+"*"),k=RegExp(a+a+"*$"),e=function(a,e){var b={};b[a]=e(l),c(c.P+c.F*i(function(){return!!d[a]()||f[a]()!=f}),"String",b)},l=e.trim=function(a,b){return a=String(h(a)),1&b&&(a=a.replace(j,"")),2&b&&(a=a.replace(k,"")),a};g.exports=e},function(c,d,b){var a=b(3);a(a.S,"Number",{EPSILON:Math.pow(2,-52)})},function(d,e,a){var b=a(3),c=a(4).isFinite;b(b.S,"Number",{isFinite:function isFinite(a){return"number"==typeof a&&c(a)}})},function(c,d,a){var b=a(3);b(b.S,"Number",{isInteger:a(67)})},function(a,e,b){var c=b(16),d=Math.floor;a.exports=function isInteger(a){return!c(a)&&isFinite(a)&&d(a)===a}},function(c,d,b){var a=b(3);a(a.S,"Number",{isNaN:function isNaN(a){return a!=a}})},function(e,f,a){var b=a(3),c=a(67),d=Math.abs;b(b.S,"Number",{isSafeInteger:function isSafeInteger(a){return c(a)&&d(a)<=9007199254740991}})},function(c,d,b){var a=b(3);a(a.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(c,d,b){var a=b(3);a(a.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(c,d,b){var a=b(3);a(a.S,"Number",{parseFloat:parseFloat})},function(c,d,b){var a=b(3);a(a.S,"Number",{parseInt:parseInt})},function(f,g,b){var a=b(3),e=b(75),c=Math.sqrt,d=Math.acosh;a(a.S+a.F*!(d&&710==Math.floor(d(Number.MAX_VALUE))),"Math",{acosh:function acosh(a){return(a=+a)<1?NaN:a>94906265.62425156?Math.log(a)+Math.LN2:e(a-1+c(a-1)*c(a+1))}})},function(a,b){a.exports=Math.log1p||function log1p(a){return(a=+a)>-1e-8&&1e-8>a?a-a*a/2:Math.log(1+a)}},function(c,d,b){function asinh(a){return isFinite(a=+a)&&0!=a?0>a?-asinh(-a):Math.log(a+Math.sqrt(a*a+1)):a}var a=b(3);a(a.S,"Math",{asinh:asinh})},function(c,d,b){var a=b(3);a(a.S,"Math",{atanh:function atanh(a){return 0==(a=+a)?a:Math.log((1+a)/(1-a))/2}})},function(d,e,a){var b=a(3),c=a(79);b(b.S,"Math",{cbrt:function cbrt(a){return c(a=+a)*Math.pow(Math.abs(a),1/3)}})},function(a,b){a.exports=Math.sign||function sign(a){return 0==(a=+a)||a!=a?a:0>a?-1:1}},function(c,d,b){var a=b(3);a(a.S,"Math",{clz32:function clz32(a){return(a>>>=0)?31-Math.floor(Math.log(a+.5)*Math.LOG2E):32}})},function(d,e,c){var a=c(3),b=Math.exp;a(a.S,"Math",{cosh:function cosh(a){return(b(a=+a)+b(-a))/2}})},function(c,d,a){var b=a(3);b(b.S,"Math",{expm1:a(83)})},function(a,b){a.exports=Math.expm1||function expm1(a){return 0==(a=+a)?a:a>-1e-6&&1e-6>a?a+a*a/2:Math.exp(a)-1}},function(k,j,e){var f=e(3),g=e(79),a=Math.pow,d=a(2,-52),b=a(2,-23),i=a(2,127)*(2-b),c=a(2,-126),h=function(a){return a+1/d-1/d};f(f.S,"Math",{fround:function fround(k){var f,a,e=Math.abs(k),j=g(k);return c>e?j*h(e/c/b)*c*b:(f=(1+b/d)*e,a=f-(f-e),a>i||a!=a?j*(1/0):j*a)}})},function(d,e,b){var a=b(3),c=Math.abs;a(a.S,"Math",{hypot:function hypot(i,j){for(var a,b,e=0,f=0,g=arguments,h=g.length,d=0;h>f;)a=c(g[f++]),a>d?(b=d/a,e=e*b*b+1,d=a):a>0?(b=a/d,e+=b*b):e+=a;return d===1/0?1/0:d*Math.sqrt(e)}})},function(d,e,b){var a=b(3),c=Math.imul;a(a.S+a.F*b(9)(function(){return-5!=c(4294967295,5)||2!=c.length}),"Math",{imul:function imul(f,g){var a=65535,b=+f,c=+g,d=a&b,e=a&c;return 0|d*e+((a&b>>>16)*e+d*(a&c>>>16)<<16>>>0)}})},function(c,d,b){var a=b(3);a(a.S,"Math",{log10:function log10(a){return Math.log(a)/Math.LN10}})},function(c,d,a){var b=a(3);b(b.S,"Math",{log1p:a(75)})},function(c,d,b){var a=b(3);a(a.S,"Math",{log2:function log2(a){return Math.log(a)/Math.LN2}})},function(c,d,a){var b=a(3);b(b.S,"Math",{sign:a(79)})},function(e,f,a){var b=a(3),c=a(83),d=Math.exp;b(b.S+b.F*a(9)(function(){return-2e-17!=!Math.sinh(-2e-17)}),"Math",{sinh:function sinh(a){return Math.abs(a=+a)<1?(c(a)-c(-a))/2:(d(a-1)-d(-a-1))*(Math.E/2)}})},function(e,f,a){var b=a(3),c=a(83),d=Math.exp;b(b.S,"Math",{tanh:function tanh(a){var b=c(a=+a),e=c(-a);return b==1/0?1:e==1/0?-1:(b-e)/(d(a)+d(-a))}})},function(c,d,b){var a=b(3);a(a.S,"Math",{trunc:function trunc(a){return(a>0?Math.floor:Math.ceil)(a)}})},function(f,g,b){var a=b(3),e=b(26),c=String.fromCharCode,d=String.fromCodePoint;a(a.S+a.F*(!!d&&1!=d.length),"String",{fromCodePoint:function fromCodePoint(h){for(var a,b=[],d=arguments,g=d.length,f=0;g>f;){if(a=+d[f++],e(a,1114111)!==a)throw RangeError(a+" is not a valid code point");b.push(65536>a?c(a):c(((a-=65536)>>10)+55296,a%1024+56320))}return b.join("")}})},function(e,f,a){var b=a(3),c=a(23),d=a(27);b(b.S,"String",{raw:function raw(g){for(var e=c(g.raw),h=d(e.length),f=arguments,i=f.length,b=[],a=0;h>a;)b.push(String(e[a++])),i>a&&b.push(String(f[a]));return b.join("")}})},function(b,c,a){a(63)("trim",function(a){return function trim(){return a(this,3)}})},function(d,e,a){var b=a(3),c=a(98)(!1);b(b.P,"String",{codePointAt:function codePointAt(a){return c(this,a)}})},function(c,f,b){var d=b(25),e=b(22);c.exports=function(b){return function(j,k){var f,h,g=String(e(j)),c=d(k),i=g.length;return 0>c||c>=i?b?"":a:(f=g.charCodeAt(c),55296>f||f>56319||c+1===i||(h=g.charCodeAt(c+1))<56320||h>57343?b?g.charAt(c):f:b?g.slice(c,c+2):(f-55296<<10)+(h-56320)+65536)}}},function(h,i,b){var c=b(3),e=b(27),g=b(100),d="endsWith",f=""[d];c(c.P+c.F*b(102)(d),"String",{endsWith:function endsWith(i){var b=g(this,i,d),j=arguments,k=j.length>1?j[1]:a,l=e(b.length),c=k===a?l:Math.min(e(k),l),h=String(i);return f?f.call(b,h,c):b.slice(c-h.length,c)===h}})},function(b,e,a){var c=a(101),d=a(22);b.exports=function(a,b,e){if(c(b))throw TypeError("String#"+e+" doesn't accept regex!");return String(d(a))}},function(c,g,b){var d=b(16),e=b(18),f=b(31)("match");c.exports=function(b){var c;return d(b)&&((c=b[f])!==a?!!c:"RegExp"==e(b))}},function(a,d,b){var c=b(31)("match");a.exports=function(b){var a=/./;try{"/./"[b](a)}catch(d){try{return a[c]=!1,!"/./"[b](a)}catch(e){}}return!0}},function(f,g,b){var c=b(3),e=b(100),d="includes";c(c.P+c.F*b(102)(d),"String",{includes:function includes(b){return!!~e(this,b,d).indexOf(b,arguments.length>1?arguments[1]:a)}})},function(c,d,a){var b=a(3);b(b.P,"String",{repeat:a(105)})},function(b,e,a){var c=a(25),d=a(22);b.exports=function repeat(f){var b=String(d(this)),e="",a=c(f);if(0>a||a==1/0)throw RangeError("Count can't be negative");for(;a>0;(a>>>=1)&&(b+=b))1&a&&(e+=b);return e}},function(h,i,b){var c=b(3),f=b(27),g=b(100),d="startsWith",e=""[d];c(c.P+c.F*b(102)(d),"String",{startsWith:function startsWith(i){var b=g(this,i,d),j=arguments,c=f(Math.min(j.length>1?j[1]:a,b.length)),h=String(i);return e?e.call(b,h,c):b.slice(c,c+h.length)===h}})},function(d,e,b){var c=b(98)(!0);b(108)(String,"String",function(a){this._t=String(a),this._i=0},function(){var b,d=this._t,e=this._i;return e>=d.length?{value:a,done:!0}:(b=c(d,e),this._i+=b.length,{value:b,done:!1})})},function(o,r,a){var i=a(39),d=a(3),n=a(10),h=a(6),m=a(17),f=a(109),q=a(110),p=a(35),l=a(2).getProto,c=a(31)("iterator"),e=!([].keys&&"next"in[].keys()),j="@@iterator",k="keys",b="values",g=function(){return this};o.exports=function(B,v,u,F,s,E,A){q(u,v,F);var r,x,w=function(c){if(!e&&c in a)return a[c];switch(c){case k:return function keys(){return new u(this,c)};case b:return function values(){return new u(this,c)}}return function entries(){return new u(this,c)}},C=v+" Iterator",y=s==b,z=!1,a=B.prototype,t=a[c]||a[j]||s&&a[s],o=t||w(s);if(t){var D=l(o.call(new B));p(D,C,!0),!i&&m(a,j)&&h(D,c,g),y&&t.name!==b&&(z=!0,o=function values(){return t.call(this)})}if(i&&!A||!e&&!z&&a[c]||h(a,c,o),f[v]=o,f[C]=g,s)if(r={values:y?o:w(b),keys:E?o:w(k),entries:y?w("entries"):o},A)for(x in r)x in a||n(a,x,r[x]);else d(d.P+d.F*(e||z),v,r);return r}},function(a,b){a.exports={}},function(c,g,a){var d=a(2),e=a(7),f=a(35),b={};a(6)(b,a(31)("iterator"),function(){return this}),c.exports=function(a,c,g){a.prototype=d.create(b,{next:e(1,g)}),f(a,c+" Iterator")}},function(j,k,b){var d=b(12),c=b(3),e=b(21),f=b(112),g=b(113),h=b(27),i=b(114);c(c.S+c.F*!b(115)(function(a){Array.from(a)}),"Array",{from:function from(t){var n,c,r,m,j=e(t),l="function"==typeof this?this:Array,p=arguments,s=p.length,k=s>1?p[1]:a,q=k!==a,b=0,o=i(j);if(q&&(k=d(k,s>2?p[2]:a,2)),o==a||l==Array&&g(o))for(n=h(j.length),c=new l(n);n>b;b++)c[b]=q?k(j[b],b):j[b];else for(m=o.call(j),c=new l;!(r=m.next()).done;b++)c[b]=q?f(m,k,[r.value,b],!0):r.value;return c.length=b,c}})},function(c,e,d){var b=d(20);c.exports=function(d,e,c,g){try{return g?e(b(c)[0],c[1]):e(c)}catch(h){var f=d["return"];throw f!==a&&b(f.call(d)),h}}},function(c,g,b){var d=b(109),e=b(31)("iterator"),f=Array.prototype;c.exports=function(b){return b!==a&&(d.Array===b||f[e]===b)}},function(c,g,b){var d=b(47),e=b(31)("iterator"),f=b(109);c.exports=b(5).getIteratorMethod=function(b){return b!=a?b[e]||b["@@iterator"]||f[d(b)]:void 0}},function(d,f,e){var a=e(31)("iterator"),b=!1;try{var c=[7][a]();c["return"]=function(){b=!0},Array.from(c,function(){throw 2})}catch(g){}d.exports=function(f,g){if(!g&&!b)return!1;var d=!1;try{var c=[7],e=c[a]();e.next=function(){d=!0},c[a]=function(){return e},f(c)}catch(h){}return d}},function(c,d,b){var a=b(3);a(a.S+a.F*b(9)(function(){function F(){}return!(Array.of.call(F)instanceof F)}),"Array",{of:function of(){for(var a=0,d=arguments,b=d.length,c=new("function"==typeof this?this:Array)(b);b>a;)c[a]=d[a++];return c.length=b,c}})},function(f,h,b){var d=b(118),c=b(119),e=b(109),g=b(23);f.exports=b(108)(Array,"Array",function(a,b){this._t=g(a),this._i=0,this._k=b},function(){var d=this._t,e=this._k,b=this._i++;return!d||b>=d.length?(this._t=a,c(1)):"keys"==e?c(0,b):"values"==e?c(0,d[b]):c(0,[b,d[b]])},"values"),e.Arguments=e.Array,d("keys"),d("values"),d("entries")},function(e,f,d){var b=d(31)("unscopables"),c=Array.prototype;c[b]==a&&d(6)(c,b,{}),e.exports=function(a){c[b][a]=!0}},function(a,b){a.exports=function(a,b){return{value:b,done:!!a}}},function(b,c,a){a(121)("Array")},function(c,g,a){var d=a(4),e=a(2),f=a(8),b=a(31)("species");c.exports=function(c){var a=d[c];f&&a&&!a[b]&&e.setDesc(a,b,{configurable:!0,get:function(){return this}})}},function(c,d,a){var b=a(3);b(b.P,"Array",{copyWithin:a(123)}),a(118)("copyWithin")},function(d,g,b){var e=b(21),c=b(26),f=b(27);d.exports=[].copyWithin||function copyWithin(m,n){var g=e(this),h=f(g.length),b=c(m,h),d=c(n,h),k=arguments,l=k.length>2?k[2]:a,i=Math.min((l===a?h:c(l,h))-d,h-b),j=1;for(b>d&&d+i>b&&(j=-1,d+=i-1,b+=i-1);i-->0;)d in g?g[b]=g[d]:delete g[b],b+=j,d+=j;return g}},function(c,d,a){var b=a(3);b(b.P,"Array",{fill:a(125)}),a(118)("fill")},function(d,g,b){var e=b(21),c=b(26),f=b(27);d.exports=[].fill||function fill(k){for(var b=e(this),d=f(b.length),g=arguments,h=g.length,i=c(h>1?g[1]:a,d),j=h>2?g[2]:a,l=j===a?d:c(j,d);l>i;)b[i++]=k;return b}},function(g,h,b){var c=b(3),f=b(28)(5),d="find",e=!0;d in[]&&Array(1)[d](function(){e=!1}),c(c.P+c.F*e,"Array",{find:function find(b){return f(this,b,arguments.length>1?arguments[1]:a)}}),b(118)(d)},function(g,h,b){var c=b(3),f=b(28)(6),d="findIndex",e=!0;d in[]&&Array(1)[d](function(){e=!1}),c(c.P+c.F*e,"Array",{findIndex:function findIndex(b){return f(this,b,arguments.length>1?arguments[1]:a)}}),b(118)(d)},function(n,m,c){var f=c(2),i=c(4),k=c(101),l=c(129),b=i.RegExp,d=b,j=b.prototype,e=/a/g,g=/a/g,h=new b(e)!==e;!c(8)||h&&!c(9)(function(){return g[c(31)("match")]=!1,b(e)!=e||b(g)==g||"/a/i"!=b(e,"i")})||(b=function RegExp(c,f){var e=k(c),g=f===a;return this instanceof b||!e||c.constructor!==b||!g?h?new d(e&&!g?c.source:c,f):d((e=c instanceof b)?c.source:c,e&&g?l.call(c):f):c},f.each.call(f.getNames(d),function(a){a in b||f.setDesc(b,a,{configurable:!0,get:function(){return d[a]},set:function(b){d[a]=b}})}),j.constructor=b,b.prototype=j,c(10)(i,"RegExp",b)),c(121)("RegExp")},function(a,d,b){var c=b(20);a.exports=function(){var b=c(this),a="";return b.global&&(a+="g"),b.ignoreCase&&(a+="i"),b.multiline&&(a+="m"),b.unicode&&(a+="u"),b.sticky&&(a+="y"),a}},function(c,d,a){var b=a(2);a(8)&&"g"!=/./g.flags&&b.setDesc(RegExp.prototype,"flags",{configurable:!0,get:a(129)})},function(c,d,b){b(132)("match",1,function(c,b){return function match(d){var e=c(this),f=d==a?a:d[b];return f!==a?f.call(d,e):new RegExp(d)[b](String(e))}})},function(b,h,a){var c=a(6),d=a(10),e=a(9),f=a(22),g=a(31);b.exports=function(a,i,j){var b=g(a),h=""[a];e(function(){var c={};return c[b]=function(){return 7},7!=""[a](c)})&&(d(String.prototype,a,j(f,b,h)),c(RegExp.prototype,b,2==i?function(a,b){return h.call(a,this,b)}:function(a){return h.call(a,this)}))}},function(c,d,b){b(132)("replace",2,function(b,c,d){return function replace(e,f){var g=b(this),h=e==a?a:e[c];return h!==a?h.call(e,g,f):d.call(String(g),e,f)}})},function(c,d,b){b(132)("search",1,function(c,b){return function search(d){var e=c(this),f=d==a?a:d[b];return f!==a?f.call(d,e):new RegExp(d)[b](String(e))}})},function(c,d,b){b(132)("split",2,function(b,c,d){return function split(e,f){var g=b(this),h=e==a?a:e[c];return h!==a?h.call(e,g,f):d.call(String(g),e,f)}})},function(J,I,b){var r,k=b(2),F=b(39),i=b(4),j=b(12),y=b(47),d=b(3),C=b(16),E=b(20),m=b(13),G=b(137),w=b(138),p=b(45).set,A=b(43),z=b(31)("species"),D=b(139),n=b(140),e="Promise",o=i.process,H="process"==y(o),c=i[e],q=function(b){var a=new c(function(){});return b&&(a.constructor=Object),c.resolve(a)===a},g=function(){function P2(b){var a=new c(b);return p(a,P2.prototype),a}var a=!1;try{if(a=c&&c.resolve&&q(),p(P2,c),P2.prototype=k.create(c.prototype,{constructor:{value:P2}}),P2.resolve(5).then(function(){})instanceof P2||(a=!1),a&&b(8)){var d=!1;c.resolve(k.setDesc({},"then",{
-get:function(){d=!0}})),a=d}}catch(e){a=!1}return a}(),B=function(a,b){return F&&a===c&&b===r?!0:A(a,b)},s=function(b){var c=E(b)[z];return c!=a?c:b},t=function(a){var b;return C(a)&&"function"==typeof(b=a.then)?b:!1},h=function(d){var b,c;this.promise=new d(function(d,e){if(b!==a||c!==a)throw TypeError("Bad Promise constructor");b=d,c=e}),this.resolve=m(b),this.reject=m(c)},v=function(a){try{a()}catch(b){return{error:b}}},l=function(b,d){if(!b.n){b.n=!0;var c=b.c;n(function(){for(var e=b.v,f=1==b.s,g=0,h=function(a){var c,h,g=f?a.ok:a.fail,i=a.resolve,d=a.reject;try{g?(f||(b.h=!0),c=g===!0?e:g(e),c===a.promise?d(TypeError("Promise-chain cycle")):(h=t(c))?h.call(c,i,d):i(c)):d(e)}catch(j){d(j)}};c.length>g;)h(c[g++]);c.length=0,b.n=!1,d&&setTimeout(function(){var f,c,d=b.p;x(d)&&(H?o.emit("unhandledRejection",e,d):(f=i.onunhandledrejection)?f({promise:d,reason:e}):(c=i.console)&&c.error&&c.error("Unhandled promise rejection",e)),b.a=a},1)})}},x=function(e){var a,b=e._d,c=b.a||b.c,d=0;if(b.h)return!1;for(;c.length>d;)if(a=c[d++],a.fail||!x(a.promise))return!1;return!0},f=function(b){var a=this;a.d||(a.d=!0,a=a.r||a,a.v=b,a.s=2,a.a=a.c.slice(),l(a,!0))},u=function(b){var c,a=this;if(!a.d){a.d=!0,a=a.r||a;try{if(a.p===b)throw TypeError("Promise can't be resolved itself");(c=t(b))?n(function(){var d={r:a,d:!1};try{c.call(b,j(u,d,1),j(f,d,1))}catch(e){f.call(d,e)}}):(a.v=b,a.s=1,l(a,!1))}catch(d){f.call({r:a,d:!1},d)}}};g||(c=function Promise(d){m(d);var b=this._d={p:G(this,c,e),c:[],a:a,s:0,d:!1,v:a,h:!1,n:!1};try{d(j(u,b,1),j(f,b,1))}catch(g){f.call(b,g)}},b(142)(c.prototype,{then:function then(d,e){var a=new h(D(this,c)),f=a.promise,b=this._d;return a.ok="function"==typeof d?d:!0,a.fail="function"==typeof e&&e,b.c.push(a),b.a&&b.a.push(a),b.s&&l(b,!1),f},"catch":function(b){return this.then(a,b)}})),d(d.G+d.W+d.F*!g,{Promise:c}),b(35)(c,e),b(121)(e),r=b(5)[e],d(d.S+d.F*!g,e,{reject:function reject(b){var a=new h(this),c=a.reject;return c(b),a.promise}}),d(d.S+d.F*(!g||q(!0)),e,{resolve:function resolve(a){if(a instanceof c&&B(a.constructor,this))return a;var b=new h(this),d=b.resolve;return d(a),b.promise}}),d(d.S+d.F*!(g&&b(115)(function(a){c.all(a)["catch"](function(){})})),e,{all:function all(g){var c=s(this),b=new h(c),d=b.resolve,e=b.reject,a=[],f=v(function(){w(g,!1,a.push,a);var b=a.length,f=Array(b);b?k.each.call(a,function(g,h){var a=!1;c.resolve(g).then(function(c){a||(a=!0,f[h]=c,--b||d(f))},e)}):d(f)});return f&&e(f.error),b.promise},race:function race(e){var b=s(this),a=new h(b),c=a.reject,d=v(function(){w(e,!1,function(d){b.resolve(d).then(a.resolve,c)})});return d&&c(d.error),a.promise}})},function(a,b){a.exports=function(a,b,c){if(!(a instanceof b))throw TypeError(c+": use the 'new' operator!");return a}},function(b,i,a){var c=a(12),d=a(112),e=a(113),f=a(20),g=a(27),h=a(114);b.exports=function(a,j,o,p){var n,b,k,l=h(a),m=c(o,p,j?2:1),i=0;if("function"!=typeof l)throw TypeError(a+" is not iterable!");if(e(l))for(n=g(a.length);n>i;i++)j?m(f(b=a[i])[0],b[1]):m(a[i]);else for(k=l.call(a);!(b=k.next()).done;)d(k,m,b.value,j)}},function(d,g,b){var c=b(20),e=b(13),f=b(31)("species");d.exports=function(g,h){var b,d=c(g).constructor;return d===a||(b=c(d)[f])==a?h:e(b)}},function(n,p,h){var b,f,g,c=h(4),o=h(141).set,k=c.MutationObserver||c.WebKitMutationObserver,d=c.process,i=c.Promise,j="process"==h(18)(d),e=function(){var e,c,g;for(j&&(e=d.domain)&&(d.domain=null,e.exit());b;)c=b.domain,g=b.fn,c&&c.enter(),g(),c&&c.exit(),b=b.next;f=a,e&&e.enter()};if(j)g=function(){d.nextTick(e)};else if(k){var m=1,l=document.createTextNode("");new k(e).observe(l,{characterData:!0}),g=function(){l.data=m=-m}}else g=i&&i.resolve?function(){i.resolve().then(e)}:function(){o.call(c,e)};n.exports=function asap(e){var c={fn:e,next:a,domain:j&&d.domain};f&&(f.next=c),b||(b=c,g()),f=c}},function(s,t,b){var c,g,f,k=b(12),r=b(19),n=b(14),p=b(15),a=b(4),l=a.process,h=a.setImmediate,i=a.clearImmediate,o=a.MessageChannel,j=0,d={},q="onreadystatechange",e=function(){var a=+this;if(d.hasOwnProperty(a)){var b=d[a];delete d[a],b()}},m=function(a){e.call(a.data)};h&&i||(h=function setImmediate(a){for(var b=[],e=1;arguments.length>e;)b.push(arguments[e++]);return d[++j]=function(){r("function"==typeof a?a:Function(a),b)},c(j),j},i=function clearImmediate(a){delete d[a]},"process"==b(18)(l)?c=function(a){l.nextTick(k(e,a,1))}:o?(g=new o,f=g.port2,g.port1.onmessage=m,c=k(f.postMessage,f,1)):a.addEventListener&&"function"==typeof postMessage&&!a.importScripts?(c=function(b){a.postMessage(b+"","*")},a.addEventListener("message",m,!1)):c=q in p("script")?function(a){n.appendChild(p("script"))[q]=function(){n.removeChild(this),e.call(a)}}:function(a){setTimeout(k(e,a,1),0)}),s.exports={set:h,clear:i}},function(a,d,b){var c=b(10);a.exports=function(a,b){for(var d in b)c(a,d,b[d]);return a}},function(d,e,c){var b=c(144);c(145)("Map",function(b){return function Map(){return b(this,arguments.length>0?arguments[0]:a)}},{get:function get(c){var a=b.getEntry(this,c);return a&&a.v},set:function set(a,c){return b.def(this,0===a?0:a,c)}},b,!0)},function(v,w,b){var j=b(2),m=b(6),o=b(142),n=b(12),p=b(137),r=b(22),t=b(138),l=b(108),d=b(119),f=b(11)("id"),k=b(17),h=b(16),q=b(121),i=b(8),s=Object.isExtensible||h,c=i?"_s":"size",u=0,g=function(a,b){if(!h(a))return"symbol"==typeof a?a:("string"==typeof a?"S":"P")+a;if(!k(a,f)){if(!s(a))return"F";if(!b)return"E";m(a,f,++u)}return"O"+a[f]},e=function(b,c){var a,d=g(c);if("F"!==d)return b._i[d];for(a=b._f;a;a=a.n)if(a.k==c)return a};v.exports={getConstructor:function(d,f,g,h){var b=d(function(d,e){p(d,b,f),d._i=j.create(null),d._f=a,d._l=a,d[c]=0,e!=a&&t(e,g,d[h],d)});return o(b.prototype,{clear:function clear(){for(var d=this,e=d._i,b=d._f;b;b=b.n)b.r=!0,b.p&&(b.p=b.p.n=a),delete e[b.i];d._f=d._l=a,d[c]=0},"delete":function(g){var b=this,a=e(b,g);if(a){var d=a.n,f=a.p;delete b._i[a.i],a.r=!0,f&&(f.n=d),d&&(d.p=f),b._f==a&&(b._f=d),b._l==a&&(b._l=f),b[c]--}return!!a},forEach:function forEach(c){for(var b,d=n(c,arguments.length>1?arguments[1]:a,3);b=b?b.n:this._f;)for(d(b.v,b.k,this);b&&b.r;)b=b.p},has:function has(a){return!!e(this,a)}}),i&&j.setDesc(b.prototype,"size",{get:function(){return r(this[c])}}),b},def:function(b,f,j){var h,i,d=e(b,f);return d?d.v=j:(b._l=d={i:i=g(f,!0),k:f,v:j,p:h=b._l,n:a,r:!1},b._f||(b._f=d),h&&(h.n=d),b[c]++,"F"!==i&&(b._i[i]=d)),b},getEntry:e,setStrong:function(e,b,c){l(e,b,function(b,c){this._t=b,this._k=c,this._l=a},function(){for(var c=this,e=c._k,b=c._l;b&&b.r;)b=b.p;return c._t&&(c._l=b=b?b.n:c._t._f)?"keys"==e?d(0,b.k):"values"==e?d(0,b.v):d(0,[b.k,b.v]):(c._t=a,d(1))},c?"entries":"values",!c,!0),q(b)}}},function(l,n,b){var k=b(4),c=b(3),g=b(10),f=b(142),i=b(138),j=b(137),d=b(16),e=b(9),h=b(115),m=b(35);l.exports=function(o,v,y,x,p,l){var t=k[o],b=t,s=p?"set":"add",n=b&&b.prototype,w={},r=function(b){var c=n[b];g(n,b,"delete"==b?function(a){return l&&!d(a)?!1:c.call(this,0===a?0:a)}:"has"==b?function has(a){return l&&!d(a)?!1:c.call(this,0===a?0:a)}:"get"==b?function get(b){return l&&!d(b)?a:c.call(this,0===b?0:b)}:"add"==b?function add(a){return c.call(this,0===a?0:a),this}:function set(a,b){return c.call(this,0===a?0:a,b),this})};if("function"==typeof b&&(l||n.forEach&&!e(function(){(new b).entries().next()}))){var u,q=new b,z=q[s](l?{}:-0,1)!=q,A=e(function(){q.has(1)}),B=h(function(a){new b(a)});B||(b=v(function(e,d){j(e,b,o);var c=new t;return d!=a&&i(d,p,c[s],c),c}),b.prototype=n,n.constructor=b),l||q.forEach(function(b,a){u=1/a===-(1/0)}),(A||u)&&(r("delete"),r("has"),p&&r("get")),(u||z)&&r(s),l&&n.clear&&delete n.clear}else b=x.getConstructor(v,o,p,s),f(b.prototype,y);return m(b,o),w[o]=b,c(c.G+c.W+c.F*(b!=t),w),l||x.setStrong(b,o,p),b}},function(d,e,b){var c=b(144);b(145)("Set",function(b){return function Set(){return b(this,arguments.length>0?arguments[0]:a)}},{add:function add(a){return c.def(this,a=0===a?0:a,a)}},c)},function(n,m,b){var l=b(2),k=b(10),c=b(148),d=b(16),j=b(17),i=c.frozenStore,h=c.WEAK,f=Object.isExtensible||d,e={},g=b(145)("WeakMap",function(b){return function WeakMap(){return b(this,arguments.length>0?arguments[0]:a)}},{get:function get(a){if(d(a)){if(!f(a))return i(this).get(a);if(j(a,h))return a[h][this._i]}},set:function set(a,b){return c.def(this,a,b)}},c,!0,!0);7!=(new g).set((Object.freeze||Object)(e),7).get(e)&&l.each.call(["delete","has","get","set"],function(a){var b=g.prototype,c=b[a];k(b,a,function(b,e){if(d(b)&&!f(b)){var g=i(this)[a](b,e);return"set"==a?this:g}return c.call(this,b,e)})})},function(s,t,b){var r=b(6),q=b(142),m=b(20),h=b(16),l=b(137),k=b(138),j=b(28),d=b(17),c=b(11)("weak"),g=Object.isExtensible||h,n=j(5),o=j(6),p=0,e=function(a){return a._l||(a._l=new i)},i=function(){this.a=[]},f=function(a,b){return n(a.a,function(a){return a[0]===b})};i.prototype={get:function(b){var a=f(this,b);return a?a[1]:void 0},has:function(a){return!!f(this,a)},set:function(a,b){var c=f(this,a);c?c[1]=b:this.a.push([a,b])},"delete":function(b){var a=o(this.a,function(a){return a[0]===b});return~a&&this.a.splice(a,1),!!~a}},s.exports={getConstructor:function(f,i,j,m){var b=f(function(c,d){l(c,b,i),c._i=p++,c._l=a,d!=a&&k(d,j,c[m],c)});return q(b.prototype,{"delete":function(a){return h(a)?g(a)?d(a,c)&&d(a[c],this._i)&&delete a[c][this._i]:e(this)["delete"](a):!1},has:function has(a){return h(a)?g(a)?d(a,c)&&d(a[c],this._i):e(this).has(a):!1}}),b},def:function(b,a,f){return g(m(a))?(d(a,c)||r(a,c,{}),a[c][b._i]=f):e(b).set(a,f),b},frozenStore:e,WEAK:c}},function(d,e,b){var c=b(148);b(145)("WeakSet",function(b){return function WeakSet(){return b(this,arguments.length>0?arguments[0]:a)}},{add:function add(a){return c.def(this,a,!0)}},c,!1,!0)},function(d,e,b){var a=b(3),c=Function.apply;a(a.S,"Reflect",{apply:function apply(a,b,d){return c.call(a,b,d)}})},function(i,j,b){var f=b(2),c=b(3),d=b(13),g=b(20),e=b(16),h=Function.bind||b(5).Function.prototype.bind;c(c.S+c.F*b(9)(function(){function F(){}return!(Reflect.construct(function(){},[],F)instanceof F)}),"Reflect",{construct:function construct(c,b){d(c);var j=arguments.length<3?c:d(arguments[2]);if(c==j){if(b!=a)switch(g(b).length){case 0:return new c;case 1:return new c(b[0]);case 2:return new c(b[0],b[1]);case 3:return new c(b[0],b[1],b[2]);case 4:return new c(b[0],b[1],b[2],b[3])}var i=[null];return i.push.apply(i,b),new(h.apply(c,i))}var k=j.prototype,l=f.create(e(k)?k:Object.prototype),m=Function.apply.call(c,l,b);return e(m)?m:l}})},function(e,f,a){var c=a(2),b=a(3),d=a(20);b(b.S+b.F*a(9)(function(){Reflect.defineProperty(c.setDesc({},1,{value:1}),1,{value:2})}),"Reflect",{defineProperty:function defineProperty(a,b,e){d(a);try{return c.setDesc(a,b,e),!0}catch(f){return!1}}})},function(e,f,a){var b=a(3),c=a(2).getDesc,d=a(20);b(b.S,"Reflect",{deleteProperty:function deleteProperty(a,b){var e=c(d(a),b);return e&&!e.configurable?!1:delete a[b]}})},function(f,g,b){var c=b(3),e=b(20),d=function(a){this._t=e(a),this._i=0;var b,c=this._k=[];for(b in a)c.push(b)};b(110)(d,"Object",function(){var c,b=this,d=b._k;do if(b._i>=d.length)return{value:a,done:!0};while(!((c=d[b._i++])in b._t));return{value:c,done:!1}}),c(c.S,"Reflect",{enumerate:function enumerate(a){return new d(a)}})},function(h,i,b){function get(b,h){var d,j,i=arguments.length<3?b:arguments[2];return g(b)===i?b[h]:(d=c.getDesc(b,h))?e(d,"value")?d.value:d.get!==a?d.get.call(i):a:f(j=c.getProto(b))?get(j,h,i):void 0}var c=b(2),e=b(17),d=b(3),f=b(16),g=b(20);d(d.S,"Reflect",{get:get})},function(e,f,a){var c=a(2),b=a(3),d=a(20);b(b.S,"Reflect",{getOwnPropertyDescriptor:function getOwnPropertyDescriptor(a,b){return c.getDesc(d(a),b)}})},function(e,f,a){var b=a(3),c=a(2).getProto,d=a(20);b(b.S,"Reflect",{getPrototypeOf:function getPrototypeOf(a){return c(d(a))}})},function(c,d,b){var a=b(3);a(a.S,"Reflect",{has:function has(a,b){return b in a}})},function(e,f,a){var b=a(3),d=a(20),c=Object.isExtensible;b(b.S,"Reflect",{isExtensible:function isExtensible(a){return d(a),c?c(a):!0}})},function(c,d,a){var b=a(3);b(b.S,"Reflect",{ownKeys:a(161)})},function(d,f,a){var b=a(2),e=a(20),c=a(4).Reflect;d.exports=c&&c.ownKeys||function ownKeys(a){var c=b.getNames(e(a)),d=b.getSymbols;return d?c.concat(d(a)):c}},function(e,f,a){var b=a(3),d=a(20),c=Object.preventExtensions;b(b.S,"Reflect",{preventExtensions:function preventExtensions(a){d(a);try{return c&&c(a),!0}catch(b){return!1}}})},function(i,j,b){function set(j,i,k){var l,m,d=arguments.length<4?j:arguments[3],b=c.getDesc(h(j),i);if(!b){if(f(m=c.getProto(j)))return set(m,i,k,d);b=e(0)}return g(b,"value")?b.writable!==!1&&f(d)?(l=c.getDesc(d,i)||e(0),l.value=k,c.setDesc(d,i,l),!0):!1:b.set===a?!1:(b.set.call(d,k),!0)}var c=b(2),g=b(17),d=b(3),e=b(7),h=b(20),f=b(16);d(d.S,"Reflect",{set:set})},function(d,e,b){var c=b(3),a=b(45);a&&c(c.S,"Reflect",{setPrototypeOf:function setPrototypeOf(b,c){a.check(b,c);try{return a.set(b,c),!0}catch(d){return!1}}})},function(e,f,b){var c=b(3),d=b(33)(!0);c(c.P,"Array",{includes:function includes(b){return d(this,b,arguments.length>1?arguments[1]:a)}}),b(118)("includes")},function(d,e,a){var b=a(3),c=a(98)(!0);b(b.P,"String",{at:function at(a){return c(this,a)}})},function(e,f,b){var c=b(3),d=b(168);c(c.P,"String",{padLeft:function padLeft(b){return d(this,b,arguments.length>1?arguments[1]:a,!0)}})},function(c,g,b){var d=b(27),e=b(105),f=b(22);c.exports=function(l,m,i,n){var c=String(f(l)),j=c.length,g=i===a?" ":String(i),k=d(m);if(j>=k)return c;""==g&&(g=" ");var h=k-j,b=e.call(g,Math.ceil(h/g.length));return b.length>h&&(b=b.slice(0,h)),n?b+c:c+b}},function(e,f,b){var c=b(3),d=b(168);c(c.P,"String",{padRight:function padRight(b){return d(this,b,arguments.length>1?arguments[1]:a,!1)}})},function(b,c,a){a(63)("trimLeft",function(a){return function trimLeft(){return a(this,1)}})},function(b,c,a){a(63)("trimRight",function(a){return function trimRight(){return a(this,2)}})},function(d,e,a){var b=a(3),c=a(173)(/[\\^$*+?.()|[\]{}]/g,"\\$&");b(b.S,"RegExp",{escape:function escape(a){return c(a)}})},function(a,b){a.exports=function(b,a){var c=a===Object(a)?function(b){return a[b]}:a;return function(a){return String(a).replace(b,c)}}},function(g,h,a){var b=a(2),c=a(3),d=a(161),e=a(23),f=a(7);c(c.S,"Object",{getOwnPropertyDescriptors:function getOwnPropertyDescriptors(k){for(var a,g,h=e(k),l=b.setDesc,m=b.getDesc,i=d(h),c={},j=0;i.length>j;)g=m(h,a=i[j++]),a in c?l(c,a,f(0,g)):c[a]=g;return c}})},function(d,e,a){var b=a(3),c=a(176)(!1);b(b.S,"Object",{values:function values(a){return c(a)}})},function(c,f,a){var b=a(2),d=a(23),e=b.isEnum;c.exports=function(a){return function(j){for(var c,f=d(j),g=b.getKeys(f),k=g.length,h=0,i=[];k>h;)e.call(f,c=g[h++])&&i.push(a?[c,f[c]]:f[c]);return i}}},function(d,e,a){var b=a(3),c=a(176)(!0);b(b.S,"Object",{entries:function entries(a){return c(a)}})},function(c,d,a){var b=a(3);b(b.P,"Map",{toJSON:a(179)("Map")})},function(b,e,a){var c=a(138),d=a(47);b.exports=function(a){return function toJSON(){if(d(this)!=a)throw TypeError(a+"#toJSON isn't generic");var b=[];return c(this,!1,b.push,b),b}}},function(c,d,a){var b=a(3);b(b.P,"Set",{toJSON:a(179)("Set")})},function(d,e,b){var a=b(3),c=b(141);a(a.G+a.B,{setImmediate:c.set,clearImmediate:c.clear})},function(l,k,a){a(117);var g=a(4),j=a(6),c=a(109),b=a(31)("iterator"),h=g.NodeList,i=g.HTMLCollection,e=h&&h.prototype,d=i&&i.prototype,f=c.NodeList=c.HTMLCollection=c.Array;e&&!e[b]&&j(e,b,f),d&&!d[b]&&j(d,b,f)},function(i,j,a){var c=a(4),b=a(3),g=a(19),h=a(184),d=c.navigator,e=!!d&&/MSIE .\./.test(d.userAgent),f=function(a){return e?function(b,c){return a(g(h,[].slice.call(arguments,2),"function"==typeof b?b:Function(b)),c)}:a};b(b.G+b.B+b.F*e,{setTimeout:f(c.setTimeout),setInterval:f(c.setInterval)})},function(c,f,a){var d=a(185),b=a(19),e=a(13);c.exports=function(){for(var h=e(this),a=arguments.length,c=Array(a),f=0,i=d._,g=!1;a>f;)(c[f]=arguments[f++])===i&&(g=!0);return function(){var d,k=this,f=arguments,l=f.length,e=0,j=0;if(!g&&!l)return b(h,c,k);if(d=c.slice(),g)for(;a>e;e++)d[e]===i&&(d[e]=f[j++]);for(;l>j;)d.push(f[j++]);return b(h,d,k)}}},function(a,c,b){a.exports=b(4)},function(i,j,b){var g=b(2),e=b(3),h=b(12),f=b(5).Array||Array,c={},d=function(d,b){g.each.call(d.split(","),function(d){b==a&&d in f?c[d]=f[d]:d in[]&&(c[d]=h(Function.call,[][d],b))})};d("pop,reverse,shift,keys,values,entries",1),d("indexOf,every,some,forEach,map,filter,find,findIndex,includes",3),d("join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill"),e(e.S,"Array",c)}]),"undefined"!=typeof module&&module.exports?module.exports=b:"function"==typeof define&&define.amd?define(function(){return b}):c.core=b}(1,1);
-//# sourceMappingURL=shim.min.js.map
\ No newline at end of file
diff --git a/node_modules/core-js/client/shim.min.js.map b/node_modules/core-js/client/shim.min.js.map
deleted file mode 100644
index 9d6f9d3..0000000
--- a/node_modules/core-js/client/shim.min.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["shim.js"],"names":["__e","__g","undefined","modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","m","c","p","IE8_DOM_DEFINE","$","$export","DESCRIPTORS","createDesc","html","cel","has","cof","invoke","fails","anObject","aFunction","isObject","toObject","toIObject","toInteger","toIndex","toLength","IObject","IE_PROTO","createArrayMethod","arrayIndexOf","ObjectProto","Object","prototype","ArrayProto","Array","arraySlice","slice","arrayJoin","join","defineProperty","setDesc","getOwnDescriptor","getDesc","defineProperties","setDescs","factories","get","a","O","P","Attributes","e","TypeError","value","propertyIsEnumerable","Properties","keys","getKeys","length","i","S","F","getOwnPropertyDescriptor","keys1","split","keys2","concat","keysLen1","createDict","iframeDocument","iframe","gt","style","display","appendChild","src","contentWindow","document","open","write","close","createGetKeys","names","object","key","result","push","Empty","getPrototypeOf","getProto","constructor","getOwnPropertyNames","getNames","create","construct","len","args","n","Function","bind","that","fn","this","partArgs","arguments","bound","begin","end","klass","start","upTo","size","cloned","charAt","separator","isArray","createArrayReduce","isRight","callbackfn","memo","index","methodize","$fn","arg1","forEach","each","map","filter","some","every","reduce","reduceRight","indexOf","lastIndexOf","el","fromIndex","Math","min","now","Date","lz","num","toISOString","NaN","isFinite","RangeError","d","y","getUTCFullYear","getUTCMilliseconds","s","abs","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","$Object","isEnum","getSymbols","getOwnPropertySymbols","global","core","hide","redefine","ctx","PROTOTYPE","type","name","source","own","out","exp","IS_FORCED","IS_GLOBAL","G","IS_STATIC","IS_PROTO","IS_BIND","B","target","expProto","W","window","self","version","bitmap","enumerable","configurable","writable","exec","SRC","TO_STRING","$toString","TPL","inspectSource","it","val","safe","hasOwnProperty","String","toString","px","random","b","apply","documentElement","is","createElement","un","defined","ceil","floor","isNaN","max","asc","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","res","f","SPECIES","original","C","arg","store","uid","Symbol","SHARED","IS_INCLUDES","$fails","shared","setToStringTag","wks","keyOf","$names","enumKeys","_create","$Symbol","$JSON","JSON","_stringify","stringify","setter","HIDDEN","SymbolRegistry","AllSymbols","useNative","setSymbolDesc","D","protoDesc","wrap","tag","sym","_k","set","isSymbol","$defineProperty","$defineProperties","l","$create","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","$stringify","replacer","$replacer","$$","buggyJSON","symbolStatics","for","keyFor","useSetter","useSimple","def","TAG","stat","windowNames","getWindowNames","symbols","assign","A","K","k","T","$$len","j","x","setPrototypeOf","check","proto","test","buggy","__proto__","classof","ARG","callee","$freeze","freeze","KEY","$seal","seal","$preventExtensions","preventExtensions","$isFrozen","isFrozen","$isSealed","isSealed","$isExtensible","isExtensible","$getPrototypeOf","$keys","FProto","nameRE","NAME","match","HAS_INSTANCE","FunctionProto","toPrimitive","$trim","trim","NUMBER","$Number","Base","BROKEN_COF","TRIM","toNumber","argument","third","radix","maxCode","first","charCodeAt","code","digits","parseInt","Number","valueOf","spaces","space","non","ltrim","RegExp","rtrim","exporter","string","replace","EPSILON","pow","_isFinite","isInteger","number","isSafeInteger","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","parseFloat","log1p","sqrt","$acosh","acosh","MAX_VALUE","log","LN2","asinh","atanh","sign","cbrt","clz32","LOG2E","cosh","expm1","EPSILON32","MAX32","MIN32","roundTiesToEven","fround","$abs","$sign","Infinity","hypot","value1","value2","div","sum","larg","$imul","imul","UINT16","xn","yn","xl","yl","log10","LN10","log2","sinh","tanh","trunc","fromCharCode","$fromCodePoint","fromCodePoint","raw","callSite","tpl","$at","codePointAt","pos","context","ENDS_WITH","$endsWith","endsWith","searchString","endPosition","search","isRegExp","MATCH","re","INCLUDES","includes","repeat","count","str","STARTS_WITH","$startsWith","startsWith","iterated","_t","_i","point","done","LIBRARY","Iterators","$iterCreate","ITERATOR","BUGGY","FF_ITERATOR","KEYS","VALUES","returnThis","Constructor","next","DEFAULT","IS_SET","FORCED","methods","getMethod","kind","values","entries","DEF_VALUES","VALUES_BUG","$native","$default","IteratorPrototype","descriptor","isArrayIter","getIterFn","iter","from","arrayLike","step","iterator","mapfn","mapping","iterFn","ret","getIteratorMethod","SAFE_CLOSING","riter","skipClosing","arr","of","addToUnscopables","Arguments","UNSCOPABLES","copyWithin","to","inc","fill","endPos","$find","forced","find","findIndex","$flags","$RegExp","re1","re2","CORRECT_NEW","piRE","fiU","ignoreCase","multiline","unicode","sticky","flags","regexp","SYMBOL","REPLACE","$replace","searchValue","replaceValue","SEARCH","SPLIT","$split","limit","Wrapper","strictNew","forOf","setProto","same","speciesConstructor","asap","PROMISE","process","isNode","testResolve","sub","resolve","USE_NATIVE","P2","works","then","thenableThenGotten","sameConstructor","getConstructor","isThenable","PromiseCapability","reject","promise","$$resolve","$$reject","perform","error","notify","record","isReject","chain","v","ok","run","reaction","handler","fail","h","setTimeout","console","isUnhandled","emit","onunhandledrejection","reason","_d","$reject","r","$resolve","wrapper","Promise","executor","err","onFulfilled","onRejected","catch","capability","all","iterable","abrupt","remaining","results","alreadyCalled","race","head","last","macrotask","Observer","MutationObserver","WebKitMutationObserver","flush","parent","domain","exit","enter","nextTick","toggle","node","createTextNode","observe","characterData","data","task","defer","channel","port","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","counter","queue","ONREADYSTATECHANGE","listner","event","port2","port1","onmessage","postMessage","addEventListener","importScripts","removeChild","clear","strong","Map","entry","getEntry","redefineAll","$iterDefine","ID","$has","setSpecies","SIZE","fastKey","_f","ADDER","_l","delete","prev","setStrong","$iterDetect","common","IS_WEAK","fixMethod","add","BUGGY_ZERO","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","Set","weak","frozenStore","WEAK","tmp","$WeakMap","WeakMap","method","arrayFind","arrayFindIndex","FrozenStore","findFrozen","splice","WeakSet","_apply","thisArgument","argumentsList","Reflect","Target","newTarget","$args","propertyKey","attributes","deleteProperty","desc","Enumerate","enumerate","receiver","ownKeys","V","existingDescriptor","ownDesc","$includes","at","$pad","padLeft","maxLength","fillString","left","stringLength","fillStr","intMaxLength","fillLen","stringFiller","padRight","trimLeft","trimRight","$re","escape","regExp","part","getOwnPropertyDescriptors","$values","isEntries","$entries","toJSON","$task","NL","NodeList","HTC","HTMLCollection","NLProto","HTCProto","ArrayValues","partial","navigator","MSIE","userAgent","time","setInterval","path","pargs","_","holder","$ctx","$Array","statics","setStatics","define","amd"],"mappings":"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","file":"shim.min.js"}
\ No newline at end of file
diff --git a/node_modules/core-js/core/_.js b/node_modules/core-js/core/_.js
deleted file mode 100644
index 475a66c..0000000
--- a/node_modules/core-js/core/_.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/core.function.part');
-module.exports = require('../modules/$.core')._;
\ No newline at end of file
diff --git a/node_modules/core-js/core/delay.js b/node_modules/core-js/core/delay.js
deleted file mode 100644
index 1ff9a56..0000000
--- a/node_modules/core-js/core/delay.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/core.delay');
-module.exports = require('../modules/$.core').delay;
diff --git a/node_modules/core-js/core/dict.js b/node_modules/core-js/core/dict.js
deleted file mode 100644
index ed848e2..0000000
--- a/node_modules/core-js/core/dict.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/core.dict');
-module.exports = require('../modules/$.core').Dict;
\ No newline at end of file
diff --git a/node_modules/core-js/core/function.js b/node_modules/core-js/core/function.js
deleted file mode 100644
index 42b6dbb..0000000
--- a/node_modules/core-js/core/function.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/core.function.part');
-module.exports = require('../modules/$.core').Function;
diff --git a/node_modules/core-js/core/index.js b/node_modules/core-js/core/index.js
deleted file mode 100644
index 3d50bdb..0000000
--- a/node_modules/core-js/core/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-require('../modules/core.dict');
-require('../modules/core.get-iterator-method');
-require('../modules/core.get-iterator');
-require('../modules/core.is-iterable');
-require('../modules/core.delay');
-require('../modules/core.function.part');
-require('../modules/core.object.is-object');
-require('../modules/core.object.classof');
-require('../modules/core.object.define');
-require('../modules/core.object.make');
-require('../modules/core.number.iterator');
-require('../modules/core.string.escape-html');
-require('../modules/core.string.unescape-html');
-require('../modules/core.log');
-module.exports = require('../modules/$.core');
diff --git a/node_modules/core-js/core/log.js b/node_modules/core-js/core/log.js
deleted file mode 100644
index 899d6ed..0000000
--- a/node_modules/core-js/core/log.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/core.log');
-module.exports = require('../modules/$.core').log;
diff --git a/node_modules/core-js/core/number.js b/node_modules/core-js/core/number.js
deleted file mode 100644
index 6e3cdbf..0000000
--- a/node_modules/core-js/core/number.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/core.number.iterator');
-module.exports = require('../modules/$.core').Number;
\ No newline at end of file
diff --git a/node_modules/core-js/core/object.js b/node_modules/core-js/core/object.js
deleted file mode 100644
index 6332566..0000000
--- a/node_modules/core-js/core/object.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('../modules/core.object.is-object');
-require('../modules/core.object.classof');
-require('../modules/core.object.define');
-require('../modules/core.object.make');
-module.exports = require('../modules/$.core').Object;
diff --git a/node_modules/core-js/core/string.js b/node_modules/core-js/core/string.js
deleted file mode 100644
index 829e0c6..0000000
--- a/node_modules/core-js/core/string.js
+++ /dev/null
@@ -1,3 +0,0 @@
-require('../modules/core.string.escape-html');
-require('../modules/core.string.unescape-html');
-module.exports = require('../modules/$.core').String;
\ No newline at end of file
diff --git a/node_modules/core-js/es5/index.js b/node_modules/core-js/es5/index.js
deleted file mode 100644
index 3c23364..0000000
--- a/node_modules/core-js/es5/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-require('../modules/es5');
-require('../modules/es6.object.freeze');
-require('../modules/es6.object.seal');
-require('../modules/es6.object.prevent-extensions');
-require('../modules/es6.object.is-frozen');
-require('../modules/es6.object.is-sealed');
-require('../modules/es6.object.is-extensible');
-require('../modules/es6.string.trim');
-module.exports = require('../modules/$.core');
\ No newline at end of file
diff --git a/node_modules/core-js/es6/array.js b/node_modules/core-js/es6/array.js
deleted file mode 100644
index 36629ca..0000000
--- a/node_modules/core-js/es6/array.js
+++ /dev/null
@@ -1,10 +0,0 @@
-require('../modules/es6.string.iterator');
-require('../modules/es6.array.from');
-require('../modules/es6.array.of');
-require('../modules/es6.array.species');
-require('../modules/es6.array.iterator');
-require('../modules/es6.array.copy-within');
-require('../modules/es6.array.fill');
-require('../modules/es6.array.find');
-require('../modules/es6.array.find-index');
-module.exports = require('../modules/$.core').Array;
\ No newline at end of file
diff --git a/node_modules/core-js/es6/function.js b/node_modules/core-js/es6/function.js
deleted file mode 100644
index 3e61dcd..0000000
--- a/node_modules/core-js/es6/function.js
+++ /dev/null
@@ -1,3 +0,0 @@
-require('../modules/es6.function.name');
-require('../modules/es6.function.has-instance');
-module.exports = require('../modules/$.core').Function;
\ No newline at end of file
diff --git a/node_modules/core-js/es6/index.js b/node_modules/core-js/es6/index.js
deleted file mode 100644
index b9fc80b..0000000
--- a/node_modules/core-js/es6/index.js
+++ /dev/null
@@ -1,87 +0,0 @@
-require('../modules/es6.symbol');
-require('../modules/es6.object.assign');
-require('../modules/es6.object.is');
-require('../modules/es6.object.set-prototype-of');
-require('../modules/es6.object.to-string');
-require('../modules/es6.object.freeze');
-require('../modules/es6.object.seal');
-require('../modules/es6.object.prevent-extensions');
-require('../modules/es6.object.is-frozen');
-require('../modules/es6.object.is-sealed');
-require('../modules/es6.object.is-extensible');
-require('../modules/es6.object.get-own-property-descriptor');
-require('../modules/es6.object.get-prototype-of');
-require('../modules/es6.object.keys');
-require('../modules/es6.object.get-own-property-names');
-require('../modules/es6.function.name');
-require('../modules/es6.function.has-instance');
-require('../modules/es6.number.constructor');
-require('../modules/es6.number.epsilon');
-require('../modules/es6.number.is-finite');
-require('../modules/es6.number.is-integer');
-require('../modules/es6.number.is-nan');
-require('../modules/es6.number.is-safe-integer');
-require('../modules/es6.number.max-safe-integer');
-require('../modules/es6.number.min-safe-integer');
-require('../modules/es6.number.parse-float');
-require('../modules/es6.number.parse-int');
-require('../modules/es6.math.acosh');
-require('../modules/es6.math.asinh');
-require('../modules/es6.math.atanh');
-require('../modules/es6.math.cbrt');
-require('../modules/es6.math.clz32');
-require('../modules/es6.math.cosh');
-require('../modules/es6.math.expm1');
-require('../modules/es6.math.fround');
-require('../modules/es6.math.hypot');
-require('../modules/es6.math.imul');
-require('../modules/es6.math.log10');
-require('../modules/es6.math.log1p');
-require('../modules/es6.math.log2');
-require('../modules/es6.math.sign');
-require('../modules/es6.math.sinh');
-require('../modules/es6.math.tanh');
-require('../modules/es6.math.trunc');
-require('../modules/es6.string.from-code-point');
-require('../modules/es6.string.raw');
-require('../modules/es6.string.trim');
-require('../modules/es6.string.iterator');
-require('../modules/es6.string.code-point-at');
-require('../modules/es6.string.ends-with');
-require('../modules/es6.string.includes');
-require('../modules/es6.string.repeat');
-require('../modules/es6.string.starts-with');
-require('../modules/es6.array.from');
-require('../modules/es6.array.of');
-require('../modules/es6.array.species');
-require('../modules/es6.array.iterator');
-require('../modules/es6.array.copy-within');
-require('../modules/es6.array.fill');
-require('../modules/es6.array.find');
-require('../modules/es6.array.find-index');
-require('../modules/es6.regexp.constructor');
-require('../modules/es6.regexp.flags');
-require('../modules/es6.regexp.match');
-require('../modules/es6.regexp.replace');
-require('../modules/es6.regexp.search');
-require('../modules/es6.regexp.split');
-require('../modules/es6.promise');
-require('../modules/es6.map');
-require('../modules/es6.set');
-require('../modules/es6.weak-map');
-require('../modules/es6.weak-set');
-require('../modules/es6.reflect.apply');
-require('../modules/es6.reflect.construct');
-require('../modules/es6.reflect.define-property');
-require('../modules/es6.reflect.delete-property');
-require('../modules/es6.reflect.enumerate');
-require('../modules/es6.reflect.get');
-require('../modules/es6.reflect.get-own-property-descriptor');
-require('../modules/es6.reflect.get-prototype-of');
-require('../modules/es6.reflect.has');
-require('../modules/es6.reflect.is-extensible');
-require('../modules/es6.reflect.own-keys');
-require('../modules/es6.reflect.prevent-extensions');
-require('../modules/es6.reflect.set');
-require('../modules/es6.reflect.set-prototype-of');
-module.exports = require('../modules/$.core');
\ No newline at end of file
diff --git a/node_modules/core-js/es6/map.js b/node_modules/core-js/es6/map.js
deleted file mode 100644
index 521a192..0000000
--- a/node_modules/core-js/es6/map.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('../modules/es6.object.to-string');
-require('../modules/es6.string.iterator');
-require('../modules/web.dom.iterable');
-require('../modules/es6.map');
-module.exports = require('../modules/$.core').Map;
\ No newline at end of file
diff --git a/node_modules/core-js/es6/math.js b/node_modules/core-js/es6/math.js
deleted file mode 100644
index 8b5a2e7..0000000
--- a/node_modules/core-js/es6/math.js
+++ /dev/null
@@ -1,18 +0,0 @@
-require('../modules/es6.math.acosh');
-require('../modules/es6.math.asinh');
-require('../modules/es6.math.atanh');
-require('../modules/es6.math.cbrt');
-require('../modules/es6.math.clz32');
-require('../modules/es6.math.cosh');
-require('../modules/es6.math.expm1');
-require('../modules/es6.math.fround');
-require('../modules/es6.math.hypot');
-require('../modules/es6.math.imul');
-require('../modules/es6.math.log10');
-require('../modules/es6.math.log1p');
-require('../modules/es6.math.log2');
-require('../modules/es6.math.sign');
-require('../modules/es6.math.sinh');
-require('../modules/es6.math.tanh');
-require('../modules/es6.math.trunc');
-module.exports = require('../modules/$.core').Math;
\ No newline at end of file
diff --git a/node_modules/core-js/es6/number.js b/node_modules/core-js/es6/number.js
deleted file mode 100644
index 8f48770..0000000
--- a/node_modules/core-js/es6/number.js
+++ /dev/null
@@ -1,11 +0,0 @@
-require('../modules/es6.number.constructor');
-require('../modules/es6.number.epsilon');
-require('../modules/es6.number.is-finite');
-require('../modules/es6.number.is-integer');
-require('../modules/es6.number.is-nan');
-require('../modules/es6.number.is-safe-integer');
-require('../modules/es6.number.max-safe-integer');
-require('../modules/es6.number.min-safe-integer');
-require('../modules/es6.number.parse-float');
-require('../modules/es6.number.parse-int');
-module.exports = require('../modules/$.core').Number;
\ No newline at end of file
diff --git a/node_modules/core-js/es6/object.js b/node_modules/core-js/es6/object.js
deleted file mode 100644
index 94af189..0000000
--- a/node_modules/core-js/es6/object.js
+++ /dev/null
@@ -1,17 +0,0 @@
-require('../modules/es6.symbol');
-require('../modules/es6.object.assign');
-require('../modules/es6.object.is');
-require('../modules/es6.object.set-prototype-of');
-require('../modules/es6.object.to-string');
-require('../modules/es6.object.freeze');
-require('../modules/es6.object.seal');
-require('../modules/es6.object.prevent-extensions');
-require('../modules/es6.object.is-frozen');
-require('../modules/es6.object.is-sealed');
-require('../modules/es6.object.is-extensible');
-require('../modules/es6.object.get-own-property-descriptor');
-require('../modules/es6.object.get-prototype-of');
-require('../modules/es6.object.keys');
-require('../modules/es6.object.get-own-property-names');
-
-module.exports = require('../modules/$.core').Object;
\ No newline at end of file
diff --git a/node_modules/core-js/es6/promise.js b/node_modules/core-js/es6/promise.js
deleted file mode 100644
index 0a09961..0000000
--- a/node_modules/core-js/es6/promise.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('../modules/es6.object.to-string');
-require('../modules/es6.string.iterator');
-require('../modules/web.dom.iterable');
-require('../modules/es6.promise');
-module.exports = require('../modules/$.core').Promise;
\ No newline at end of file
diff --git a/node_modules/core-js/es6/reflect.js b/node_modules/core-js/es6/reflect.js
deleted file mode 100644
index 3c2f74e..0000000
--- a/node_modules/core-js/es6/reflect.js
+++ /dev/null
@@ -1,15 +0,0 @@
-require('../modules/es6.reflect.apply');
-require('../modules/es6.reflect.construct');
-require('../modules/es6.reflect.define-property');
-require('../modules/es6.reflect.delete-property');
-require('../modules/es6.reflect.enumerate');
-require('../modules/es6.reflect.get');
-require('../modules/es6.reflect.get-own-property-descriptor');
-require('../modules/es6.reflect.get-prototype-of');
-require('../modules/es6.reflect.has');
-require('../modules/es6.reflect.is-extensible');
-require('../modules/es6.reflect.own-keys');
-require('../modules/es6.reflect.prevent-extensions');
-require('../modules/es6.reflect.set');
-require('../modules/es6.reflect.set-prototype-of');
-module.exports = require('../modules/$.core').Reflect;
\ No newline at end of file
diff --git a/node_modules/core-js/es6/regexp.js b/node_modules/core-js/es6/regexp.js
deleted file mode 100644
index 195d36d..0000000
--- a/node_modules/core-js/es6/regexp.js
+++ /dev/null
@@ -1,7 +0,0 @@
-require('../modules/es6.regexp.constructor');
-require('../modules/es6.regexp.flags');
-require('../modules/es6.regexp.match');
-require('../modules/es6.regexp.replace');
-require('../modules/es6.regexp.search');
-require('../modules/es6.regexp.split');
-module.exports = require('../modules/$.core').RegExp;
\ No newline at end of file
diff --git a/node_modules/core-js/es6/set.js b/node_modules/core-js/es6/set.js
deleted file mode 100644
index 6a84f58..0000000
--- a/node_modules/core-js/es6/set.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('../modules/es6.object.to-string');
-require('../modules/es6.string.iterator');
-require('../modules/web.dom.iterable');
-require('../modules/es6.set');
-module.exports = require('../modules/$.core').Set;
\ No newline at end of file
diff --git a/node_modules/core-js/es6/string.js b/node_modules/core-js/es6/string.js
deleted file mode 100644
index bc7a1ab..0000000
--- a/node_modules/core-js/es6/string.js
+++ /dev/null
@@ -1,14 +0,0 @@
-require('../modules/es6.string.from-code-point');
-require('../modules/es6.string.raw');
-require('../modules/es6.string.trim');
-require('../modules/es6.string.iterator');
-require('../modules/es6.string.code-point-at');
-require('../modules/es6.string.ends-with');
-require('../modules/es6.string.includes');
-require('../modules/es6.string.repeat');
-require('../modules/es6.string.starts-with');
-require('../modules/es6.regexp.match');
-require('../modules/es6.regexp.replace');
-require('../modules/es6.regexp.search');
-require('../modules/es6.regexp.split');
-module.exports = require('../modules/$.core').String;
\ No newline at end of file
diff --git a/node_modules/core-js/es6/symbol.js b/node_modules/core-js/es6/symbol.js
deleted file mode 100644
index ae2405b..0000000
--- a/node_modules/core-js/es6/symbol.js
+++ /dev/null
@@ -1,3 +0,0 @@
-require('../modules/es6.symbol');
-require('../modules/es6.object.to-string');
-module.exports = require('../modules/$.core').Symbol;
\ No newline at end of file
diff --git a/node_modules/core-js/es6/weak-map.js b/node_modules/core-js/es6/weak-map.js
deleted file mode 100644
index f2c6db8..0000000
--- a/node_modules/core-js/es6/weak-map.js
+++ /dev/null
@@ -1,4 +0,0 @@
-require('../modules/es6.object.to-string');
-require('../modules/es6.array.iterator');
-require('../modules/es6.weak-map');
-module.exports = require('../modules/$.core').WeakMap;
\ No newline at end of file
diff --git a/node_modules/core-js/es6/weak-set.js b/node_modules/core-js/es6/weak-set.js
deleted file mode 100644
index a058c8a..0000000
--- a/node_modules/core-js/es6/weak-set.js
+++ /dev/null
@@ -1,4 +0,0 @@
-require('../modules/es6.object.to-string');
-require('../modules/web.dom.iterable');
-require('../modules/es6.weak-set');
-module.exports = require('../modules/$.core').WeakSet;
\ No newline at end of file
diff --git a/node_modules/core-js/es7/array.js b/node_modules/core-js/es7/array.js
deleted file mode 100644
index e58f905..0000000
--- a/node_modules/core-js/es7/array.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/es7.array.includes');
-module.exports = require('../modules/$.core').Array;
\ No newline at end of file
diff --git a/node_modules/core-js/es7/index.js b/node_modules/core-js/es7/index.js
deleted file mode 100644
index a277b63..0000000
--- a/node_modules/core-js/es7/index.js
+++ /dev/null
@@ -1,13 +0,0 @@
-require('../modules/es7.array.includes');
-require('../modules/es7.string.at');
-require('../modules/es7.string.pad-left');
-require('../modules/es7.string.pad-right');
-require('../modules/es7.string.trim-left');
-require('../modules/es7.string.trim-right');
-require('../modules/es7.regexp.escape');
-require('../modules/es7.object.get-own-property-descriptors');
-require('../modules/es7.object.values');
-require('../modules/es7.object.entries');
-require('../modules/es7.map.to-json');
-require('../modules/es7.set.to-json');
-module.exports = require('../modules/$.core');
\ No newline at end of file
diff --git a/node_modules/core-js/es7/map.js b/node_modules/core-js/es7/map.js
deleted file mode 100644
index fe51999..0000000
--- a/node_modules/core-js/es7/map.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/es7.map.to-json');
-module.exports = require('../modules/$.core').Map;
\ No newline at end of file
diff --git a/node_modules/core-js/es7/object.js b/node_modules/core-js/es7/object.js
deleted file mode 100644
index b058530..0000000
--- a/node_modules/core-js/es7/object.js
+++ /dev/null
@@ -1,4 +0,0 @@
-require('../modules/es7.object.get-own-property-descriptors');
-require('../modules/es7.object.values');
-require('../modules/es7.object.entries');
-module.exports = require('../modules/$.core').Object;
\ No newline at end of file
diff --git a/node_modules/core-js/es7/regexp.js b/node_modules/core-js/es7/regexp.js
deleted file mode 100644
index cb24f98..0000000
--- a/node_modules/core-js/es7/regexp.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/es7.regexp.escape');
-module.exports = require('../modules/$.core').RegExp;
\ No newline at end of file
diff --git a/node_modules/core-js/es7/set.js b/node_modules/core-js/es7/set.js
deleted file mode 100644
index 16e9452..0000000
--- a/node_modules/core-js/es7/set.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/es7.set.to-json');
-module.exports = require('../modules/$.core').Set;
\ No newline at end of file
diff --git a/node_modules/core-js/es7/string.js b/node_modules/core-js/es7/string.js
deleted file mode 100644
index bca0886..0000000
--- a/node_modules/core-js/es7/string.js
+++ /dev/null
@@ -1,6 +0,0 @@
-require('../modules/es7.string.at');
-require('../modules/es7.string.pad-left');
-require('../modules/es7.string.pad-right');
-require('../modules/es7.string.trim-left');
-require('../modules/es7.string.trim-right');
-module.exports = require('../modules/$.core').String;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/_.js b/node_modules/core-js/fn/_.js
deleted file mode 100644
index 475a66c..0000000
--- a/node_modules/core-js/fn/_.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/core.function.part');
-module.exports = require('../modules/$.core')._;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/concat.js b/node_modules/core-js/fn/array/concat.js
deleted file mode 100644
index 176ecff..0000000
--- a/node_modules/core-js/fn/array/concat.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.concat;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/copy-within.js b/node_modules/core-js/fn/array/copy-within.js
deleted file mode 100644
index 8a01131..0000000
--- a/node_modules/core-js/fn/array/copy-within.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.array.copy-within');
-module.exports = require('../../modules/$.core').Array.copyWithin;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/entries.js b/node_modules/core-js/fn/array/entries.js
deleted file mode 100644
index bcdbc33..0000000
--- a/node_modules/core-js/fn/array/entries.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.array.iterator');
-module.exports = require('../../modules/$.core').Array.entries;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/every.js b/node_modules/core-js/fn/array/every.js
deleted file mode 100644
index 0c7d0b7..0000000
--- a/node_modules/core-js/fn/array/every.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.every;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/fill.js b/node_modules/core-js/fn/array/fill.js
deleted file mode 100644
index f536212..0000000
--- a/node_modules/core-js/fn/array/fill.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.array.fill');
-module.exports = require('../../modules/$.core').Array.fill;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/filter.js b/node_modules/core-js/fn/array/filter.js
deleted file mode 100644
index 3f5b17f..0000000
--- a/node_modules/core-js/fn/array/filter.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.filter;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/find-index.js b/node_modules/core-js/fn/array/find-index.js
deleted file mode 100644
index 7ec6cf7..0000000
--- a/node_modules/core-js/fn/array/find-index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.array.find-index');
-module.exports = require('../../modules/$.core').Array.findIndex;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/find.js b/node_modules/core-js/fn/array/find.js
deleted file mode 100644
index 9c3a6b3..0000000
--- a/node_modules/core-js/fn/array/find.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.array.find');
-module.exports = require('../../modules/$.core').Array.find;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/for-each.js b/node_modules/core-js/fn/array/for-each.js
deleted file mode 100644
index b2e79f0..0000000
--- a/node_modules/core-js/fn/array/for-each.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.forEach;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/from.js b/node_modules/core-js/fn/array/from.js
deleted file mode 100644
index f0483cc..0000000
--- a/node_modules/core-js/fn/array/from.js
+++ /dev/null
@@ -1,3 +0,0 @@
-require('../../modules/es6.string.iterator');
-require('../../modules/es6.array.from');
-module.exports = require('../../modules/$.core').Array.from;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/includes.js b/node_modules/core-js/fn/array/includes.js
deleted file mode 100644
index 420c831..0000000
--- a/node_modules/core-js/fn/array/includes.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es7.array.includes');
-module.exports = require('../../modules/$.core').Array.includes;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/index-of.js b/node_modules/core-js/fn/array/index-of.js
deleted file mode 100644
index 9f2cd14..0000000
--- a/node_modules/core-js/fn/array/index-of.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.indexOf;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/index.js b/node_modules/core-js/fn/array/index.js
deleted file mode 100644
index 2707be2..0000000
--- a/node_modules/core-js/fn/array/index.js
+++ /dev/null
@@ -1,12 +0,0 @@
-require('../../modules/es6.string.iterator');
-require('../../modules/es6.array.from');
-require('../../modules/es6.array.of');
-require('../../modules/es6.array.species');
-require('../../modules/es6.array.iterator');
-require('../../modules/es6.array.copy-within');
-require('../../modules/es6.array.fill');
-require('../../modules/es6.array.find');
-require('../../modules/es6.array.find-index');
-require('../../modules/es7.array.includes');
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/iterator.js b/node_modules/core-js/fn/array/iterator.js
deleted file mode 100644
index 662f3b5..0000000
--- a/node_modules/core-js/fn/array/iterator.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.array.iterator');
-module.exports = require('../../modules/$.core').Array.values;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/join.js b/node_modules/core-js/fn/array/join.js
deleted file mode 100644
index 4436392..0000000
--- a/node_modules/core-js/fn/array/join.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.join;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/keys.js b/node_modules/core-js/fn/array/keys.js
deleted file mode 100644
index e55d356..0000000
--- a/node_modules/core-js/fn/array/keys.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.array.iterator');
-module.exports = require('../../modules/$.core').Array.keys;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/last-index-of.js b/node_modules/core-js/fn/array/last-index-of.js
deleted file mode 100644
index 678d007..0000000
--- a/node_modules/core-js/fn/array/last-index-of.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.lastIndexOf;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/map.js b/node_modules/core-js/fn/array/map.js
deleted file mode 100644
index a1457c7..0000000
--- a/node_modules/core-js/fn/array/map.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.map;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/of.js b/node_modules/core-js/fn/array/of.js
deleted file mode 100644
index 07bb5a4..0000000
--- a/node_modules/core-js/fn/array/of.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.array.of');
-module.exports = require('../../modules/$.core').Array.of;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/pop.js b/node_modules/core-js/fn/array/pop.js
deleted file mode 100644
index bd8f861..0000000
--- a/node_modules/core-js/fn/array/pop.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.pop;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/push.js b/node_modules/core-js/fn/array/push.js
deleted file mode 100644
index 3ccf070..0000000
--- a/node_modules/core-js/fn/array/push.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.push;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/reduce-right.js b/node_modules/core-js/fn/array/reduce-right.js
deleted file mode 100644
index c592207..0000000
--- a/node_modules/core-js/fn/array/reduce-right.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.reduceRight;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/reduce.js b/node_modules/core-js/fn/array/reduce.js
deleted file mode 100644
index b836840..0000000
--- a/node_modules/core-js/fn/array/reduce.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.reduce;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/reverse.js b/node_modules/core-js/fn/array/reverse.js
deleted file mode 100644
index 4d8d235..0000000
--- a/node_modules/core-js/fn/array/reverse.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.reverse;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/shift.js b/node_modules/core-js/fn/array/shift.js
deleted file mode 100644
index 806c87c..0000000
--- a/node_modules/core-js/fn/array/shift.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.shift;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/slice.js b/node_modules/core-js/fn/array/slice.js
deleted file mode 100644
index 913f7ef..0000000
--- a/node_modules/core-js/fn/array/slice.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.slice;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/some.js b/node_modules/core-js/fn/array/some.js
deleted file mode 100644
index 4f7c765..0000000
--- a/node_modules/core-js/fn/array/some.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.some;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/sort.js b/node_modules/core-js/fn/array/sort.js
deleted file mode 100644
index 61beed0..0000000
--- a/node_modules/core-js/fn/array/sort.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.sort;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/splice.js b/node_modules/core-js/fn/array/splice.js
deleted file mode 100644
index 5f5eab0..0000000
--- a/node_modules/core-js/fn/array/splice.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.splice;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/unshift.js b/node_modules/core-js/fn/array/unshift.js
deleted file mode 100644
index a11de52..0000000
--- a/node_modules/core-js/fn/array/unshift.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.unshift;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/array/values.js b/node_modules/core-js/fn/array/values.js
deleted file mode 100644
index 662f3b5..0000000
--- a/node_modules/core-js/fn/array/values.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.array.iterator');
-module.exports = require('../../modules/$.core').Array.values;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/clear-immediate.js b/node_modules/core-js/fn/clear-immediate.js
deleted file mode 100644
index 06a9750..0000000
--- a/node_modules/core-js/fn/clear-immediate.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/web.immediate');
-module.exports = require('../modules/$.core').clearImmediate;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/delay.js b/node_modules/core-js/fn/delay.js
deleted file mode 100644
index 1ff9a56..0000000
--- a/node_modules/core-js/fn/delay.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/core.delay');
-module.exports = require('../modules/$.core').delay;
diff --git a/node_modules/core-js/fn/dict.js b/node_modules/core-js/fn/dict.js
deleted file mode 100644
index ed848e2..0000000
--- a/node_modules/core-js/fn/dict.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/core.dict');
-module.exports = require('../modules/$.core').Dict;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/function/has-instance.js b/node_modules/core-js/fn/function/has-instance.js
deleted file mode 100644
index 78c8221..0000000
--- a/node_modules/core-js/fn/function/has-instance.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.function.has-instance');
-module.exports = Function[require('../../modules/$.wks')('hasInstance')];
\ No newline at end of file
diff --git a/node_modules/core-js/fn/function/index.js b/node_modules/core-js/fn/function/index.js
deleted file mode 100644
index 7422fca..0000000
--- a/node_modules/core-js/fn/function/index.js
+++ /dev/null
@@ -1,4 +0,0 @@
-require('../../modules/es6.function.name');
-require('../../modules/es6.function.has-instance');
-require('../../modules/core.function.part');
-module.exports = require('../../modules/$.core').Function;
diff --git a/node_modules/core-js/fn/function/name.js b/node_modules/core-js/fn/function/name.js
deleted file mode 100644
index cb70bf1..0000000
--- a/node_modules/core-js/fn/function/name.js
+++ /dev/null
@@ -1 +0,0 @@
-require('../../modules/es6.function.name');
\ No newline at end of file
diff --git a/node_modules/core-js/fn/function/part.js b/node_modules/core-js/fn/function/part.js
deleted file mode 100644
index 26271d6..0000000
--- a/node_modules/core-js/fn/function/part.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/core.function.part');
-module.exports = require('../../modules/$.core').Function.part;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/get-iterator-method.js b/node_modules/core-js/fn/get-iterator-method.js
deleted file mode 100644
index 5543cbb..0000000
--- a/node_modules/core-js/fn/get-iterator-method.js
+++ /dev/null
@@ -1,3 +0,0 @@
-require('../modules/web.dom.iterable');
-require('../modules/es6.string.iterator');
-module.exports = require('../modules/core.get-iterator-method');
\ No newline at end of file
diff --git a/node_modules/core-js/fn/get-iterator.js b/node_modules/core-js/fn/get-iterator.js
deleted file mode 100644
index 762350f..0000000
--- a/node_modules/core-js/fn/get-iterator.js
+++ /dev/null
@@ -1,3 +0,0 @@
-require('../modules/web.dom.iterable');
-require('../modules/es6.string.iterator');
-module.exports = require('../modules/core.get-iterator');
\ No newline at end of file
diff --git a/node_modules/core-js/fn/html-collection/index.js b/node_modules/core-js/fn/html-collection/index.js
deleted file mode 100644
index 510156b..0000000
--- a/node_modules/core-js/fn/html-collection/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/web.dom.iterable');
-module.exports = require('../../modules/$.core');
\ No newline at end of file
diff --git a/node_modules/core-js/fn/html-collection/iterator.js b/node_modules/core-js/fn/html-collection/iterator.js
deleted file mode 100644
index c01119b..0000000
--- a/node_modules/core-js/fn/html-collection/iterator.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/web.dom.iterable');
-module.exports = require('../../modules/$.core').Array.values;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/is-iterable.js b/node_modules/core-js/fn/is-iterable.js
deleted file mode 100644
index 4c654e8..0000000
--- a/node_modules/core-js/fn/is-iterable.js
+++ /dev/null
@@ -1,3 +0,0 @@
-require('../modules/web.dom.iterable');
-require('../modules/es6.string.iterator');
-module.exports = require('../modules/core.is-iterable');
\ No newline at end of file
diff --git a/node_modules/core-js/fn/json/stringify.js b/node_modules/core-js/fn/json/stringify.js
deleted file mode 100644
index fef2425..0000000
--- a/node_modules/core-js/fn/json/stringify.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var core = require('../../modules/$.core');
-module.exports = function stringify(it){ // eslint-disable-line no-unused-vars
- return (core.JSON && core.JSON.stringify || JSON.stringify).apply(JSON, arguments);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/fn/log.js b/node_modules/core-js/fn/log.js
deleted file mode 100644
index 899d6ed..0000000
--- a/node_modules/core-js/fn/log.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/core.log');
-module.exports = require('../modules/$.core').log;
diff --git a/node_modules/core-js/fn/map.js b/node_modules/core-js/fn/map.js
deleted file mode 100644
index 7099892..0000000
--- a/node_modules/core-js/fn/map.js
+++ /dev/null
@@ -1,6 +0,0 @@
-require('../modules/es6.object.to-string');
-require('../modules/es6.string.iterator');
-require('../modules/web.dom.iterable');
-require('../modules/es6.map');
-require('../modules/es7.map.to-json');
-module.exports = require('../modules/$.core').Map;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/math/acosh.js b/node_modules/core-js/fn/math/acosh.js
deleted file mode 100644
index d29a88c..0000000
--- a/node_modules/core-js/fn/math/acosh.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.acosh');
-module.exports = require('../../modules/$.core').Math.acosh;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/math/asinh.js b/node_modules/core-js/fn/math/asinh.js
deleted file mode 100644
index 7eac2e8..0000000
--- a/node_modules/core-js/fn/math/asinh.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.asinh');
-module.exports = require('../../modules/$.core').Math.asinh;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/math/atanh.js b/node_modules/core-js/fn/math/atanh.js
deleted file mode 100644
index a66a47d..0000000
--- a/node_modules/core-js/fn/math/atanh.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.atanh');
-module.exports = require('../../modules/$.core').Math.atanh;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/math/cbrt.js b/node_modules/core-js/fn/math/cbrt.js
deleted file mode 100644
index 199f5cd..0000000
--- a/node_modules/core-js/fn/math/cbrt.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.cbrt');
-module.exports = require('../../modules/$.core').Math.cbrt;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/math/clz32.js b/node_modules/core-js/fn/math/clz32.js
deleted file mode 100644
index 2025c6e..0000000
--- a/node_modules/core-js/fn/math/clz32.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.clz32');
-module.exports = require('../../modules/$.core').Math.clz32;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/math/cosh.js b/node_modules/core-js/fn/math/cosh.js
deleted file mode 100644
index 17a7ddc..0000000
--- a/node_modules/core-js/fn/math/cosh.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.cosh');
-module.exports = require('../../modules/$.core').Math.cosh;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/math/expm1.js b/node_modules/core-js/fn/math/expm1.js
deleted file mode 100644
index 732facb..0000000
--- a/node_modules/core-js/fn/math/expm1.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.expm1');
-module.exports = require('../../modules/$.core').Math.expm1;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/math/fround.js b/node_modules/core-js/fn/math/fround.js
deleted file mode 100644
index 37f8706..0000000
--- a/node_modules/core-js/fn/math/fround.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.fround');
-module.exports = require('../../modules/$.core').Math.fround;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/math/hypot.js b/node_modules/core-js/fn/math/hypot.js
deleted file mode 100644
index 9676c07..0000000
--- a/node_modules/core-js/fn/math/hypot.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.hypot');
-module.exports = require('../../modules/$.core').Math.hypot;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/math/imul.js b/node_modules/core-js/fn/math/imul.js
deleted file mode 100644
index 2ea2913..0000000
--- a/node_modules/core-js/fn/math/imul.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.imul');
-module.exports = require('../../modules/$.core').Math.imul;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/math/index.js b/node_modules/core-js/fn/math/index.js
deleted file mode 100644
index 14628ae..0000000
--- a/node_modules/core-js/fn/math/index.js
+++ /dev/null
@@ -1,18 +0,0 @@
-require('../../modules/es6.math.acosh');
-require('../../modules/es6.math.asinh');
-require('../../modules/es6.math.atanh');
-require('../../modules/es6.math.cbrt');
-require('../../modules/es6.math.clz32');
-require('../../modules/es6.math.cosh');
-require('../../modules/es6.math.expm1');
-require('../../modules/es6.math.fround');
-require('../../modules/es6.math.hypot');
-require('../../modules/es6.math.imul');
-require('../../modules/es6.math.log10');
-require('../../modules/es6.math.log1p');
-require('../../modules/es6.math.log2');
-require('../../modules/es6.math.sign');
-require('../../modules/es6.math.sinh');
-require('../../modules/es6.math.tanh');
-require('../../modules/es6.math.trunc');
-module.exports = require('../../modules/$.core').Math;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/math/log10.js b/node_modules/core-js/fn/math/log10.js
deleted file mode 100644
index ecf7b9b..0000000
--- a/node_modules/core-js/fn/math/log10.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.log10');
-module.exports = require('../../modules/$.core').Math.log10;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/math/log1p.js b/node_modules/core-js/fn/math/log1p.js
deleted file mode 100644
index 6db7329..0000000
--- a/node_modules/core-js/fn/math/log1p.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.log1p');
-module.exports = require('../../modules/$.core').Math.log1p;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/math/log2.js b/node_modules/core-js/fn/math/log2.js
deleted file mode 100644
index 63c74d7..0000000
--- a/node_modules/core-js/fn/math/log2.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.log2');
-module.exports = require('../../modules/$.core').Math.log2;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/math/sign.js b/node_modules/core-js/fn/math/sign.js
deleted file mode 100644
index 47ab74f..0000000
--- a/node_modules/core-js/fn/math/sign.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.sign');
-module.exports = require('../../modules/$.core').Math.sign;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/math/sinh.js b/node_modules/core-js/fn/math/sinh.js
deleted file mode 100644
index 72c6e85..0000000
--- a/node_modules/core-js/fn/math/sinh.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.sinh');
-module.exports = require('../../modules/$.core').Math.sinh;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/math/tanh.js b/node_modules/core-js/fn/math/tanh.js
deleted file mode 100644
index 30ddbcc..0000000
--- a/node_modules/core-js/fn/math/tanh.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.tanh');
-module.exports = require('../../modules/$.core').Math.tanh;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/math/trunc.js b/node_modules/core-js/fn/math/trunc.js
deleted file mode 100644
index b084efa..0000000
--- a/node_modules/core-js/fn/math/trunc.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.trunc');
-module.exports = require('../../modules/$.core').Math.trunc;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/node-list/index.js b/node_modules/core-js/fn/node-list/index.js
deleted file mode 100644
index 510156b..0000000
--- a/node_modules/core-js/fn/node-list/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/web.dom.iterable');
-module.exports = require('../../modules/$.core');
\ No newline at end of file
diff --git a/node_modules/core-js/fn/node-list/iterator.js b/node_modules/core-js/fn/node-list/iterator.js
deleted file mode 100644
index c01119b..0000000
--- a/node_modules/core-js/fn/node-list/iterator.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/web.dom.iterable');
-module.exports = require('../../modules/$.core').Array.values;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/number/epsilon.js b/node_modules/core-js/fn/number/epsilon.js
deleted file mode 100644
index 56c9352..0000000
--- a/node_modules/core-js/fn/number/epsilon.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.number.epsilon');
-module.exports = Math.pow(2, -52);
\ No newline at end of file
diff --git a/node_modules/core-js/fn/number/index.js b/node_modules/core-js/fn/number/index.js
deleted file mode 100644
index d048d59..0000000
--- a/node_modules/core-js/fn/number/index.js
+++ /dev/null
@@ -1,12 +0,0 @@
-require('../../modules/es6.number.constructor');
-require('../../modules/es6.number.epsilon');
-require('../../modules/es6.number.is-finite');
-require('../../modules/es6.number.is-integer');
-require('../../modules/es6.number.is-nan');
-require('../../modules/es6.number.is-safe-integer');
-require('../../modules/es6.number.max-safe-integer');
-require('../../modules/es6.number.min-safe-integer');
-require('../../modules/es6.number.parse-float');
-require('../../modules/es6.number.parse-int');
-require('../../modules/core.number.iterator');
-module.exports = require('../../modules/$.core').Number;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/number/is-finite.js b/node_modules/core-js/fn/number/is-finite.js
deleted file mode 100644
index ff66650..0000000
--- a/node_modules/core-js/fn/number/is-finite.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.number.is-finite');
-module.exports = require('../../modules/$.core').Number.isFinite;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/number/is-integer.js b/node_modules/core-js/fn/number/is-integer.js
deleted file mode 100644
index 682e1e3..0000000
--- a/node_modules/core-js/fn/number/is-integer.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.number.is-integer');
-module.exports = require('../../modules/$.core').Number.isInteger;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/number/is-nan.js b/node_modules/core-js/fn/number/is-nan.js
deleted file mode 100644
index 6ad6923..0000000
--- a/node_modules/core-js/fn/number/is-nan.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.number.is-nan');
-module.exports = require('../../modules/$.core').Number.isNaN;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/number/is-safe-integer.js b/node_modules/core-js/fn/number/is-safe-integer.js
deleted file mode 100644
index a47fd42..0000000
--- a/node_modules/core-js/fn/number/is-safe-integer.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.number.is-safe-integer');
-module.exports = require('../../modules/$.core').Number.isSafeInteger;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/number/iterator.js b/node_modules/core-js/fn/number/iterator.js
deleted file mode 100644
index 57cb790..0000000
--- a/node_modules/core-js/fn/number/iterator.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('../../modules/core.number.iterator');
-var get = require('../../modules/$.iterators').Number;
-module.exports = function(it){
- return get.call(it);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/fn/number/max-safe-integer.js b/node_modules/core-js/fn/number/max-safe-integer.js
deleted file mode 100644
index c9b43b0..0000000
--- a/node_modules/core-js/fn/number/max-safe-integer.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.number.max-safe-integer');
-module.exports = 0x1fffffffffffff;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/number/min-safe-integer.js b/node_modules/core-js/fn/number/min-safe-integer.js
deleted file mode 100644
index 8b5e072..0000000
--- a/node_modules/core-js/fn/number/min-safe-integer.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.number.min-safe-integer');
-module.exports = -0x1fffffffffffff;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/number/parse-float.js b/node_modules/core-js/fn/number/parse-float.js
deleted file mode 100644
index 62f8977..0000000
--- a/node_modules/core-js/fn/number/parse-float.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.number.parse-float');
-module.exports = parseFloat;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/number/parse-int.js b/node_modules/core-js/fn/number/parse-int.js
deleted file mode 100644
index c197da5..0000000
--- a/node_modules/core-js/fn/number/parse-int.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.number.parse-int');
-module.exports = parseInt;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/object/assign.js b/node_modules/core-js/fn/object/assign.js
deleted file mode 100644
index a57c54a..0000000
--- a/node_modules/core-js/fn/object/assign.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.object.assign');
-module.exports = require('../../modules/$.core').Object.assign;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/object/classof.js b/node_modules/core-js/fn/object/classof.js
deleted file mode 100644
index 3afc826..0000000
--- a/node_modules/core-js/fn/object/classof.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/core.object.classof');
-module.exports = require('../../modules/$.core').Object.classof;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/object/create.js b/node_modules/core-js/fn/object/create.js
deleted file mode 100644
index 8f5f326..0000000
--- a/node_modules/core-js/fn/object/create.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var $ = require('../../modules/$');
-module.exports = function create(P, D){
- return $.create(P, D);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/fn/object/define-properties.js b/node_modules/core-js/fn/object/define-properties.js
deleted file mode 100644
index a857aab..0000000
--- a/node_modules/core-js/fn/object/define-properties.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var $ = require('../../modules/$');
-module.exports = function defineProperties(T, D){
- return $.setDescs(T, D);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/fn/object/define-property.js b/node_modules/core-js/fn/object/define-property.js
deleted file mode 100644
index 7384315..0000000
--- a/node_modules/core-js/fn/object/define-property.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var $ = require('../../modules/$');
-module.exports = function defineProperty(it, key, desc){
- return $.setDesc(it, key, desc);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/fn/object/define.js b/node_modules/core-js/fn/object/define.js
deleted file mode 100644
index 690773e..0000000
--- a/node_modules/core-js/fn/object/define.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/core.object.define');
-module.exports = require('../../modules/$.core').Object.define;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/object/entries.js b/node_modules/core-js/fn/object/entries.js
deleted file mode 100644
index a32fe39..0000000
--- a/node_modules/core-js/fn/object/entries.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es7.object.entries');
-module.exports = require('../../modules/$.core').Object.entries;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/object/freeze.js b/node_modules/core-js/fn/object/freeze.js
deleted file mode 100644
index 566eec5..0000000
--- a/node_modules/core-js/fn/object/freeze.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.object.freeze');
-module.exports = require('../../modules/$.core').Object.freeze;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/object/get-own-property-descriptor.js b/node_modules/core-js/fn/object/get-own-property-descriptor.js
deleted file mode 100644
index 2e1845c..0000000
--- a/node_modules/core-js/fn/object/get-own-property-descriptor.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var $ = require('../../modules/$');
-require('../../modules/es6.object.get-own-property-descriptor');
-module.exports = function getOwnPropertyDescriptor(it, key){
- return $.getDesc(it, key);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/fn/object/get-own-property-descriptors.js b/node_modules/core-js/fn/object/get-own-property-descriptors.js
deleted file mode 100644
index f26341d..0000000
--- a/node_modules/core-js/fn/object/get-own-property-descriptors.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es7.object.get-own-property-descriptors');
-module.exports = require('../../modules/$.core').Object.getOwnPropertyDescriptors;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/object/get-own-property-names.js b/node_modules/core-js/fn/object/get-own-property-names.js
deleted file mode 100644
index 496eb19..0000000
--- a/node_modules/core-js/fn/object/get-own-property-names.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var $ = require('../../modules/$');
-require('../../modules/es6.object.get-own-property-names');
-module.exports = function getOwnPropertyNames(it){
- return $.getNames(it);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/fn/object/get-own-property-symbols.js b/node_modules/core-js/fn/object/get-own-property-symbols.js
deleted file mode 100644
index f78921b..0000000
--- a/node_modules/core-js/fn/object/get-own-property-symbols.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.symbol');
-module.exports = require('../../modules/$.core').Object.getOwnPropertySymbols;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/object/get-prototype-of.js b/node_modules/core-js/fn/object/get-prototype-of.js
deleted file mode 100644
index 9a495af..0000000
--- a/node_modules/core-js/fn/object/get-prototype-of.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.object.get-prototype-of');
-module.exports = require('../../modules/$.core').Object.getPrototypeOf;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/object/index.js b/node_modules/core-js/fn/object/index.js
deleted file mode 100644
index 0fb75bc..0000000
--- a/node_modules/core-js/fn/object/index.js
+++ /dev/null
@@ -1,23 +0,0 @@
-require('../../modules/es6.symbol');
-require('../../modules/es6.object.assign');
-require('../../modules/es6.object.is');
-require('../../modules/es6.object.set-prototype-of');
-require('../../modules/es6.object.to-string');
-require('../../modules/es6.object.freeze');
-require('../../modules/es6.object.seal');
-require('../../modules/es6.object.prevent-extensions');
-require('../../modules/es6.object.is-frozen');
-require('../../modules/es6.object.is-sealed');
-require('../../modules/es6.object.is-extensible');
-require('../../modules/es6.object.get-own-property-descriptor');
-require('../../modules/es6.object.get-prototype-of');
-require('../../modules/es6.object.keys');
-require('../../modules/es6.object.get-own-property-names');
-require('../../modules/es7.object.get-own-property-descriptors');
-require('../../modules/es7.object.values');
-require('../../modules/es7.object.entries');
-require('../../modules/core.object.is-object');
-require('../../modules/core.object.classof');
-require('../../modules/core.object.define');
-require('../../modules/core.object.make');
-module.exports = require('../../modules/$.core').Object;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/object/is-extensible.js b/node_modules/core-js/fn/object/is-extensible.js
deleted file mode 100644
index 8bb0cf9..0000000
--- a/node_modules/core-js/fn/object/is-extensible.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.object.is-extensible');
-module.exports = require('../../modules/$.core').Object.isExtensible;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/object/is-frozen.js b/node_modules/core-js/fn/object/is-frozen.js
deleted file mode 100644
index 7bf1f12..0000000
--- a/node_modules/core-js/fn/object/is-frozen.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.object.is-frozen');
-module.exports = require('../../modules/$.core').Object.isFrozen;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/object/is-object.js b/node_modules/core-js/fn/object/is-object.js
deleted file mode 100644
index 935cb6e..0000000
--- a/node_modules/core-js/fn/object/is-object.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/core.object.is-object');
-module.exports = require('../../modules/$.core').Object.isObject;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/object/is-sealed.js b/node_modules/core-js/fn/object/is-sealed.js
deleted file mode 100644
index 05416f3..0000000
--- a/node_modules/core-js/fn/object/is-sealed.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.object.is-sealed');
-module.exports = require('../../modules/$.core').Object.isSealed;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/object/is.js b/node_modules/core-js/fn/object/is.js
deleted file mode 100644
index d07c3ae..0000000
--- a/node_modules/core-js/fn/object/is.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.object.is');
-module.exports = require('../../modules/$.core').Object.is;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/object/keys.js b/node_modules/core-js/fn/object/keys.js
deleted file mode 100644
index ebfb8c6..0000000
--- a/node_modules/core-js/fn/object/keys.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.object.keys');
-module.exports = require('../../modules/$.core').Object.keys;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/object/make.js b/node_modules/core-js/fn/object/make.js
deleted file mode 100644
index fbfb2f8..0000000
--- a/node_modules/core-js/fn/object/make.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/core.object.make');
-module.exports = require('../../modules/$.core').Object.make;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/object/prevent-extensions.js b/node_modules/core-js/fn/object/prevent-extensions.js
deleted file mode 100644
index 01d82fc..0000000
--- a/node_modules/core-js/fn/object/prevent-extensions.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.object.prevent-extensions');
-module.exports = require('../../modules/$.core').Object.preventExtensions;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/object/seal.js b/node_modules/core-js/fn/object/seal.js
deleted file mode 100644
index fdf84b8..0000000
--- a/node_modules/core-js/fn/object/seal.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.object.seal');
-module.exports = require('../../modules/$.core').Object.seal;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/object/set-prototype-of.js b/node_modules/core-js/fn/object/set-prototype-of.js
deleted file mode 100644
index cd94d87..0000000
--- a/node_modules/core-js/fn/object/set-prototype-of.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.object.set-prototype-of');
-module.exports = require('../../modules/$.core').Object.setPrototypeOf;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/object/values.js b/node_modules/core-js/fn/object/values.js
deleted file mode 100644
index b96071f..0000000
--- a/node_modules/core-js/fn/object/values.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es7.object.values');
-module.exports = require('../../modules/$.core').Object.values;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/promise.js b/node_modules/core-js/fn/promise.js
deleted file mode 100644
index 0a09961..0000000
--- a/node_modules/core-js/fn/promise.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('../modules/es6.object.to-string');
-require('../modules/es6.string.iterator');
-require('../modules/web.dom.iterable');
-require('../modules/es6.promise');
-module.exports = require('../modules/$.core').Promise;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/reflect/apply.js b/node_modules/core-js/fn/reflect/apply.js
deleted file mode 100644
index 75e5ff5..0000000
--- a/node_modules/core-js/fn/reflect/apply.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.apply');
-module.exports = require('../../modules/$.core').Reflect.apply;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/reflect/construct.js b/node_modules/core-js/fn/reflect/construct.js
deleted file mode 100644
index adc40ea..0000000
--- a/node_modules/core-js/fn/reflect/construct.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.construct');
-module.exports = require('../../modules/$.core').Reflect.construct;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/reflect/define-property.js b/node_modules/core-js/fn/reflect/define-property.js
deleted file mode 100644
index da78d62..0000000
--- a/node_modules/core-js/fn/reflect/define-property.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.define-property');
-module.exports = require('../../modules/$.core').Reflect.defineProperty;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/reflect/delete-property.js b/node_modules/core-js/fn/reflect/delete-property.js
deleted file mode 100644
index 411225f..0000000
--- a/node_modules/core-js/fn/reflect/delete-property.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.delete-property');
-module.exports = require('../../modules/$.core').Reflect.deleteProperty;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/reflect/enumerate.js b/node_modules/core-js/fn/reflect/enumerate.js
deleted file mode 100644
index c19e0b6..0000000
--- a/node_modules/core-js/fn/reflect/enumerate.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.enumerate');
-module.exports = require('../../modules/$.core').Reflect.enumerate;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/reflect/get-own-property-descriptor.js b/node_modules/core-js/fn/reflect/get-own-property-descriptor.js
deleted file mode 100644
index 22e2aa6..0000000
--- a/node_modules/core-js/fn/reflect/get-own-property-descriptor.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.get-own-property-descriptor');
-module.exports = require('../../modules/$.core').Reflect.getOwnPropertyDescriptor;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/reflect/get-prototype-of.js b/node_modules/core-js/fn/reflect/get-prototype-of.js
deleted file mode 100644
index 2ff331a..0000000
--- a/node_modules/core-js/fn/reflect/get-prototype-of.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.get-prototype-of');
-module.exports = require('../../modules/$.core').Reflect.getPrototypeOf;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/reflect/get.js b/node_modules/core-js/fn/reflect/get.js
deleted file mode 100644
index 266508c..0000000
--- a/node_modules/core-js/fn/reflect/get.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.get');
-module.exports = require('../../modules/$.core').Reflect.get;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/reflect/has.js b/node_modules/core-js/fn/reflect/has.js
deleted file mode 100644
index db14fa1..0000000
--- a/node_modules/core-js/fn/reflect/has.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.has');
-module.exports = require('../../modules/$.core').Reflect.has;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/reflect/index.js b/node_modules/core-js/fn/reflect/index.js
deleted file mode 100644
index 5b21665..0000000
--- a/node_modules/core-js/fn/reflect/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-require('../../modules/es6.reflect.apply');
-require('../../modules/es6.reflect.construct');
-require('../../modules/es6.reflect.define-property');
-require('../../modules/es6.reflect.delete-property');
-require('../../modules/es6.reflect.enumerate');
-require('../../modules/es6.reflect.get');
-require('../../modules/es6.reflect.get-own-property-descriptor');
-require('../../modules/es6.reflect.get-prototype-of');
-require('../../modules/es6.reflect.has');
-require('../../modules/es6.reflect.is-extensible');
-require('../../modules/es6.reflect.own-keys');
-require('../../modules/es6.reflect.prevent-extensions');
-require('../../modules/es6.reflect.set');
-require('../../modules/es6.reflect.set-prototype-of');
-module.exports = require('../../modules/$.core').Reflect;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/reflect/is-extensible.js b/node_modules/core-js/fn/reflect/is-extensible.js
deleted file mode 100644
index f0329e2..0000000
--- a/node_modules/core-js/fn/reflect/is-extensible.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.is-extensible');
-module.exports = require('../../modules/$.core').Reflect.isExtensible;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/reflect/own-keys.js b/node_modules/core-js/fn/reflect/own-keys.js
deleted file mode 100644
index 6da1136..0000000
--- a/node_modules/core-js/fn/reflect/own-keys.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.own-keys');
-module.exports = require('../../modules/$.core').Reflect.ownKeys;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/reflect/prevent-extensions.js b/node_modules/core-js/fn/reflect/prevent-extensions.js
deleted file mode 100644
index 48fb5d5..0000000
--- a/node_modules/core-js/fn/reflect/prevent-extensions.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.prevent-extensions');
-module.exports = require('../../modules/$.core').Reflect.preventExtensions;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/reflect/set-prototype-of.js b/node_modules/core-js/fn/reflect/set-prototype-of.js
deleted file mode 100644
index 09cddeb..0000000
--- a/node_modules/core-js/fn/reflect/set-prototype-of.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.set-prototype-of');
-module.exports = require('../../modules/$.core').Reflect.setPrototypeOf;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/reflect/set.js b/node_modules/core-js/fn/reflect/set.js
deleted file mode 100644
index d1afec9..0000000
--- a/node_modules/core-js/fn/reflect/set.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.set');
-module.exports = require('../../modules/$.core').Reflect.set;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/regexp/escape.js b/node_modules/core-js/fn/regexp/escape.js
deleted file mode 100644
index 0c8d06b..0000000
--- a/node_modules/core-js/fn/regexp/escape.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es7.regexp.escape');
-module.exports = require('../../modules/$.core').RegExp.escape;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/regexp/index.js b/node_modules/core-js/fn/regexp/index.js
deleted file mode 100644
index 7d905d6..0000000
--- a/node_modules/core-js/fn/regexp/index.js
+++ /dev/null
@@ -1,8 +0,0 @@
-require('../../modules/es6.regexp.constructor');
-require('../../modules/es6.regexp.flags');
-require('../../modules/es6.regexp.match');
-require('../../modules/es6.regexp.replace');
-require('../../modules/es6.regexp.search');
-require('../../modules/es6.regexp.split');
-require('../../modules/es7.regexp.escape');
-module.exports = require('../../modules/$.core').RegExp;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/set-immediate.js b/node_modules/core-js/fn/set-immediate.js
deleted file mode 100644
index 2dd87df..0000000
--- a/node_modules/core-js/fn/set-immediate.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/web.immediate');
-module.exports = require('../modules/$.core').setImmediate;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/set-interval.js b/node_modules/core-js/fn/set-interval.js
deleted file mode 100644
index 4c7dd8e..0000000
--- a/node_modules/core-js/fn/set-interval.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/web.timers');
-module.exports = require('../modules/$.core').setInterval;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/set-timeout.js b/node_modules/core-js/fn/set-timeout.js
deleted file mode 100644
index 4e78619..0000000
--- a/node_modules/core-js/fn/set-timeout.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/web.timers');
-module.exports = require('../modules/$.core').setTimeout;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/set.js b/node_modules/core-js/fn/set.js
deleted file mode 100644
index 34615f1..0000000
--- a/node_modules/core-js/fn/set.js
+++ /dev/null
@@ -1,6 +0,0 @@
-require('../modules/es6.object.to-string');
-require('../modules/es6.string.iterator');
-require('../modules/web.dom.iterable');
-require('../modules/es6.set');
-require('../modules/es7.set.to-json');
-module.exports = require('../modules/$.core').Set;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/string/at.js b/node_modules/core-js/fn/string/at.js
deleted file mode 100644
index d59d2af..0000000
--- a/node_modules/core-js/fn/string/at.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es7.string.at');
-module.exports = require('../../modules/$.core').String.at;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/string/code-point-at.js b/node_modules/core-js/fn/string/code-point-at.js
deleted file mode 100644
index 74e933a..0000000
--- a/node_modules/core-js/fn/string/code-point-at.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.string.code-point-at');
-module.exports = require('../../modules/$.core').String.codePointAt;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/string/ends-with.js b/node_modules/core-js/fn/string/ends-with.js
deleted file mode 100644
index 7fe5cb7..0000000
--- a/node_modules/core-js/fn/string/ends-with.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.string.ends-with');
-module.exports = require('../../modules/$.core').String.endsWith;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/string/escape-html.js b/node_modules/core-js/fn/string/escape-html.js
deleted file mode 100644
index a6c62fa..0000000
--- a/node_modules/core-js/fn/string/escape-html.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/core.string.escape-html');
-module.exports = require('../../modules/$.core').String.escapeHTML;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/string/from-code-point.js b/node_modules/core-js/fn/string/from-code-point.js
deleted file mode 100644
index 0b42e7a..0000000
--- a/node_modules/core-js/fn/string/from-code-point.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.string.from-code-point');
-module.exports = require('../../modules/$.core').String.fromCodePoint;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/string/includes.js b/node_modules/core-js/fn/string/includes.js
deleted file mode 100644
index 441bc59..0000000
--- a/node_modules/core-js/fn/string/includes.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.string.includes');
-module.exports = require('../../modules/$.core').String.includes;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/string/index.js b/node_modules/core-js/fn/string/index.js
deleted file mode 100644
index 6be228c..0000000
--- a/node_modules/core-js/fn/string/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-require('../../modules/es6.string.from-code-point');
-require('../../modules/es6.string.raw');
-require('../../modules/es6.string.trim');
-require('../../modules/es6.string.iterator');
-require('../../modules/es6.string.code-point-at');
-require('../../modules/es6.string.ends-with');
-require('../../modules/es6.string.includes');
-require('../../modules/es6.string.repeat');
-require('../../modules/es6.string.starts-with');
-require('../../modules/es6.regexp.match');
-require('../../modules/es6.regexp.replace');
-require('../../modules/es6.regexp.search');
-require('../../modules/es6.regexp.split');
-require('../../modules/es7.string.at');
-require('../../modules/es7.string.pad-left');
-require('../../modules/es7.string.pad-right');
-require('../../modules/es7.string.trim-left');
-require('../../modules/es7.string.trim-right');
-require('../../modules/core.string.escape-html');
-require('../../modules/core.string.unescape-html');
-module.exports = require('../../modules/$.core').String;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/string/iterator.js b/node_modules/core-js/fn/string/iterator.js
deleted file mode 100644
index 1573364..0000000
--- a/node_modules/core-js/fn/string/iterator.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('../../modules/es6.string.iterator');
-var get = require('../../modules/$.iterators').String;
-module.exports = function(it){
- return get.call(it);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/fn/string/pad-left.js b/node_modules/core-js/fn/string/pad-left.js
deleted file mode 100644
index e89419c..0000000
--- a/node_modules/core-js/fn/string/pad-left.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es7.string.pad-left');
-module.exports = require('../../modules/$.core').String.padLeft;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/string/pad-right.js b/node_modules/core-js/fn/string/pad-right.js
deleted file mode 100644
index a87a412..0000000
--- a/node_modules/core-js/fn/string/pad-right.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es7.string.pad-right');
-module.exports = require('../../modules/$.core').String.padRight;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/string/raw.js b/node_modules/core-js/fn/string/raw.js
deleted file mode 100644
index 0c04fd3..0000000
--- a/node_modules/core-js/fn/string/raw.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.string.raw');
-module.exports = require('../../modules/$.core').String.raw;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/string/repeat.js b/node_modules/core-js/fn/string/repeat.js
deleted file mode 100644
index 3610709..0000000
--- a/node_modules/core-js/fn/string/repeat.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.string.repeat');
-module.exports = require('../../modules/$.core').String.repeat;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/string/starts-with.js b/node_modules/core-js/fn/string/starts-with.js
deleted file mode 100644
index edee831..0000000
--- a/node_modules/core-js/fn/string/starts-with.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.string.starts-with');
-module.exports = require('../../modules/$.core').String.startsWith;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/string/trim-left.js b/node_modules/core-js/fn/string/trim-left.js
deleted file mode 100644
index 579ad39..0000000
--- a/node_modules/core-js/fn/string/trim-left.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es7.string.trim-left');
-module.exports = require('../../modules/$.core').String.trimLeft;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/string/trim-right.js b/node_modules/core-js/fn/string/trim-right.js
deleted file mode 100644
index 2168d94..0000000
--- a/node_modules/core-js/fn/string/trim-right.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es7.string.trim-right');
-module.exports = require('../../modules/$.core').String.trimRight;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/string/trim.js b/node_modules/core-js/fn/string/trim.js
deleted file mode 100644
index 61c6470..0000000
--- a/node_modules/core-js/fn/string/trim.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.string.trim');
-module.exports = require('../../modules/$.core').String.trim;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/string/unescape-html.js b/node_modules/core-js/fn/string/unescape-html.js
deleted file mode 100644
index de09d98..0000000
--- a/node_modules/core-js/fn/string/unescape-html.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/core.string.unescape-html');
-module.exports = require('../../modules/$.core').String.unescapeHTML;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/symbol/for.js b/node_modules/core-js/fn/symbol/for.js
deleted file mode 100644
index 1b05275..0000000
--- a/node_modules/core-js/fn/symbol/for.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.symbol');
-module.exports = require('../../modules/$.core').Symbol['for'];
\ No newline at end of file
diff --git a/node_modules/core-js/fn/symbol/has-instance.js b/node_modules/core-js/fn/symbol/has-instance.js
deleted file mode 100644
index b264f99..0000000
--- a/node_modules/core-js/fn/symbol/has-instance.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('../../modules/$.wks')('hasInstance');
\ No newline at end of file
diff --git a/node_modules/core-js/fn/symbol/index.js b/node_modules/core-js/fn/symbol/index.js
deleted file mode 100644
index c8f81d1..0000000
--- a/node_modules/core-js/fn/symbol/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-require('../../modules/es6.symbol');
-require('../../modules/es6.object.to-string');
-module.exports = require('../../modules/$.core').Symbol;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/symbol/is-concat-spreadable.js b/node_modules/core-js/fn/symbol/is-concat-spreadable.js
deleted file mode 100644
index 17d5a26..0000000
--- a/node_modules/core-js/fn/symbol/is-concat-spreadable.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('../../modules/$.wks')('isConcatSpreadable');
\ No newline at end of file
diff --git a/node_modules/core-js/fn/symbol/iterator.js b/node_modules/core-js/fn/symbol/iterator.js
deleted file mode 100644
index 7e1b798..0000000
--- a/node_modules/core-js/fn/symbol/iterator.js
+++ /dev/null
@@ -1,3 +0,0 @@
-require('../../modules/es6.string.iterator');
-require('../../modules/web.dom.iterable');
-module.exports = require('../../modules/$.wks')('iterator');
\ No newline at end of file
diff --git a/node_modules/core-js/fn/symbol/key-for.js b/node_modules/core-js/fn/symbol/key-for.js
deleted file mode 100644
index e62b1ab..0000000
--- a/node_modules/core-js/fn/symbol/key-for.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.symbol');
-module.exports = require('../../modules/$.core').Symbol.keyFor;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/symbol/match.js b/node_modules/core-js/fn/symbol/match.js
deleted file mode 100644
index d25c119..0000000
--- a/node_modules/core-js/fn/symbol/match.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.regexp.match');
-module.exports = require('../../modules/$.wks')('match');
\ No newline at end of file
diff --git a/node_modules/core-js/fn/symbol/replace.js b/node_modules/core-js/fn/symbol/replace.js
deleted file mode 100644
index ce3154b..0000000
--- a/node_modules/core-js/fn/symbol/replace.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.regexp.replace');
-module.exports = require('../../modules/$.wks')('replace');
\ No newline at end of file
diff --git a/node_modules/core-js/fn/symbol/search.js b/node_modules/core-js/fn/symbol/search.js
deleted file mode 100644
index ad781d4..0000000
--- a/node_modules/core-js/fn/symbol/search.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.regexp.search');
-module.exports = require('../../modules/$.wks')('search');
\ No newline at end of file
diff --git a/node_modules/core-js/fn/symbol/species.js b/node_modules/core-js/fn/symbol/species.js
deleted file mode 100644
index de937d7..0000000
--- a/node_modules/core-js/fn/symbol/species.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('../../modules/$.wks')('species');
\ No newline at end of file
diff --git a/node_modules/core-js/fn/symbol/split.js b/node_modules/core-js/fn/symbol/split.js
deleted file mode 100644
index 27c5166..0000000
--- a/node_modules/core-js/fn/symbol/split.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.regexp.split');
-module.exports = require('../../modules/$.wks')('split');
\ No newline at end of file
diff --git a/node_modules/core-js/fn/symbol/to-primitive.js b/node_modules/core-js/fn/symbol/to-primitive.js
deleted file mode 100644
index 129eb8b..0000000
--- a/node_modules/core-js/fn/symbol/to-primitive.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('../../modules/$.wks')('toPrimitive');
\ No newline at end of file
diff --git a/node_modules/core-js/fn/symbol/to-string-tag.js b/node_modules/core-js/fn/symbol/to-string-tag.js
deleted file mode 100644
index fc22c86..0000000
--- a/node_modules/core-js/fn/symbol/to-string-tag.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.object.to-string');
-module.exports = require('../../modules/$.wks')('toStringTag');
\ No newline at end of file
diff --git a/node_modules/core-js/fn/symbol/unscopables.js b/node_modules/core-js/fn/symbol/unscopables.js
deleted file mode 100644
index 3993970..0000000
--- a/node_modules/core-js/fn/symbol/unscopables.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('../../modules/$.wks')('unscopables');
\ No newline at end of file
diff --git a/node_modules/core-js/fn/weak-map.js b/node_modules/core-js/fn/weak-map.js
deleted file mode 100644
index ebf46e6..0000000
--- a/node_modules/core-js/fn/weak-map.js
+++ /dev/null
@@ -1,4 +0,0 @@
-require('../modules/es6.object.to-string');
-require('../modules/web.dom.iterable');
-require('../modules/es6.weak-map');
-module.exports = require('../modules/$.core').WeakMap;
\ No newline at end of file
diff --git a/node_modules/core-js/fn/weak-set.js b/node_modules/core-js/fn/weak-set.js
deleted file mode 100644
index a058c8a..0000000
--- a/node_modules/core-js/fn/weak-set.js
+++ /dev/null
@@ -1,4 +0,0 @@
-require('../modules/es6.object.to-string');
-require('../modules/web.dom.iterable');
-require('../modules/es6.weak-set');
-module.exports = require('../modules/$.core').WeakSet;
\ No newline at end of file
diff --git a/node_modules/core-js/index.js b/node_modules/core-js/index.js
deleted file mode 100644
index 9acb1b4..0000000
--- a/node_modules/core-js/index.js
+++ /dev/null
@@ -1,16 +0,0 @@
-require('./shim');
-require('./modules/core.dict');
-require('./modules/core.get-iterator-method');
-require('./modules/core.get-iterator');
-require('./modules/core.is-iterable');
-require('./modules/core.delay');
-require('./modules/core.function.part');
-require('./modules/core.object.is-object');
-require('./modules/core.object.classof');
-require('./modules/core.object.define');
-require('./modules/core.object.make');
-require('./modules/core.number.iterator');
-require('./modules/core.string.escape-html');
-require('./modules/core.string.unescape-html');
-require('./modules/core.log');
-module.exports = require('./modules/$.core');
\ No newline at end of file
diff --git a/node_modules/core-js/js/array.js b/node_modules/core-js/js/array.js
deleted file mode 100644
index 99a53ad..0000000
--- a/node_modules/core-js/js/array.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/js.array.statics');
-module.exports = require('../modules/$.core').Array;
\ No newline at end of file
diff --git a/node_modules/core-js/js/index.js b/node_modules/core-js/js/index.js
deleted file mode 100644
index 47cb5ab..0000000
--- a/node_modules/core-js/js/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/js.array.statics');
-module.exports = require('../modules/$.core');
\ No newline at end of file
diff --git a/node_modules/core-js/library/core/_.js b/node_modules/core-js/library/core/_.js
deleted file mode 100644
index 475a66c..0000000
--- a/node_modules/core-js/library/core/_.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/core.function.part');
-module.exports = require('../modules/$.core')._;
\ No newline at end of file
diff --git a/node_modules/core-js/library/core/delay.js b/node_modules/core-js/library/core/delay.js
deleted file mode 100644
index 1ff9a56..0000000
--- a/node_modules/core-js/library/core/delay.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/core.delay');
-module.exports = require('../modules/$.core').delay;
diff --git a/node_modules/core-js/library/core/dict.js b/node_modules/core-js/library/core/dict.js
deleted file mode 100644
index ed848e2..0000000
--- a/node_modules/core-js/library/core/dict.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/core.dict');
-module.exports = require('../modules/$.core').Dict;
\ No newline at end of file
diff --git a/node_modules/core-js/library/core/function.js b/node_modules/core-js/library/core/function.js
deleted file mode 100644
index 42b6dbb..0000000
--- a/node_modules/core-js/library/core/function.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/core.function.part');
-module.exports = require('../modules/$.core').Function;
diff --git a/node_modules/core-js/library/core/index.js b/node_modules/core-js/library/core/index.js
deleted file mode 100644
index 3d50bdb..0000000
--- a/node_modules/core-js/library/core/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-require('../modules/core.dict');
-require('../modules/core.get-iterator-method');
-require('../modules/core.get-iterator');
-require('../modules/core.is-iterable');
-require('../modules/core.delay');
-require('../modules/core.function.part');
-require('../modules/core.object.is-object');
-require('../modules/core.object.classof');
-require('../modules/core.object.define');
-require('../modules/core.object.make');
-require('../modules/core.number.iterator');
-require('../modules/core.string.escape-html');
-require('../modules/core.string.unescape-html');
-require('../modules/core.log');
-module.exports = require('../modules/$.core');
diff --git a/node_modules/core-js/library/core/log.js b/node_modules/core-js/library/core/log.js
deleted file mode 100644
index 899d6ed..0000000
--- a/node_modules/core-js/library/core/log.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/core.log');
-module.exports = require('../modules/$.core').log;
diff --git a/node_modules/core-js/library/core/number.js b/node_modules/core-js/library/core/number.js
deleted file mode 100644
index 6e3cdbf..0000000
--- a/node_modules/core-js/library/core/number.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/core.number.iterator');
-module.exports = require('../modules/$.core').Number;
\ No newline at end of file
diff --git a/node_modules/core-js/library/core/object.js b/node_modules/core-js/library/core/object.js
deleted file mode 100644
index 6332566..0000000
--- a/node_modules/core-js/library/core/object.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('../modules/core.object.is-object');
-require('../modules/core.object.classof');
-require('../modules/core.object.define');
-require('../modules/core.object.make');
-module.exports = require('../modules/$.core').Object;
diff --git a/node_modules/core-js/library/core/string.js b/node_modules/core-js/library/core/string.js
deleted file mode 100644
index 829e0c6..0000000
--- a/node_modules/core-js/library/core/string.js
+++ /dev/null
@@ -1,3 +0,0 @@
-require('../modules/core.string.escape-html');
-require('../modules/core.string.unescape-html');
-module.exports = require('../modules/$.core').String;
\ No newline at end of file
diff --git a/node_modules/core-js/library/es5/index.js b/node_modules/core-js/library/es5/index.js
deleted file mode 100644
index 3c23364..0000000
--- a/node_modules/core-js/library/es5/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-require('../modules/es5');
-require('../modules/es6.object.freeze');
-require('../modules/es6.object.seal');
-require('../modules/es6.object.prevent-extensions');
-require('../modules/es6.object.is-frozen');
-require('../modules/es6.object.is-sealed');
-require('../modules/es6.object.is-extensible');
-require('../modules/es6.string.trim');
-module.exports = require('../modules/$.core');
\ No newline at end of file
diff --git a/node_modules/core-js/library/es6/array.js b/node_modules/core-js/library/es6/array.js
deleted file mode 100644
index 36629ca..0000000
--- a/node_modules/core-js/library/es6/array.js
+++ /dev/null
@@ -1,10 +0,0 @@
-require('../modules/es6.string.iterator');
-require('../modules/es6.array.from');
-require('../modules/es6.array.of');
-require('../modules/es6.array.species');
-require('../modules/es6.array.iterator');
-require('../modules/es6.array.copy-within');
-require('../modules/es6.array.fill');
-require('../modules/es6.array.find');
-require('../modules/es6.array.find-index');
-module.exports = require('../modules/$.core').Array;
\ No newline at end of file
diff --git a/node_modules/core-js/library/es6/function.js b/node_modules/core-js/library/es6/function.js
deleted file mode 100644
index 3e61dcd..0000000
--- a/node_modules/core-js/library/es6/function.js
+++ /dev/null
@@ -1,3 +0,0 @@
-require('../modules/es6.function.name');
-require('../modules/es6.function.has-instance');
-module.exports = require('../modules/$.core').Function;
\ No newline at end of file
diff --git a/node_modules/core-js/library/es6/index.js b/node_modules/core-js/library/es6/index.js
deleted file mode 100644
index b9fc80b..0000000
--- a/node_modules/core-js/library/es6/index.js
+++ /dev/null
@@ -1,87 +0,0 @@
-require('../modules/es6.symbol');
-require('../modules/es6.object.assign');
-require('../modules/es6.object.is');
-require('../modules/es6.object.set-prototype-of');
-require('../modules/es6.object.to-string');
-require('../modules/es6.object.freeze');
-require('../modules/es6.object.seal');
-require('../modules/es6.object.prevent-extensions');
-require('../modules/es6.object.is-frozen');
-require('../modules/es6.object.is-sealed');
-require('../modules/es6.object.is-extensible');
-require('../modules/es6.object.get-own-property-descriptor');
-require('../modules/es6.object.get-prototype-of');
-require('../modules/es6.object.keys');
-require('../modules/es6.object.get-own-property-names');
-require('../modules/es6.function.name');
-require('../modules/es6.function.has-instance');
-require('../modules/es6.number.constructor');
-require('../modules/es6.number.epsilon');
-require('../modules/es6.number.is-finite');
-require('../modules/es6.number.is-integer');
-require('../modules/es6.number.is-nan');
-require('../modules/es6.number.is-safe-integer');
-require('../modules/es6.number.max-safe-integer');
-require('../modules/es6.number.min-safe-integer');
-require('../modules/es6.number.parse-float');
-require('../modules/es6.number.parse-int');
-require('../modules/es6.math.acosh');
-require('../modules/es6.math.asinh');
-require('../modules/es6.math.atanh');
-require('../modules/es6.math.cbrt');
-require('../modules/es6.math.clz32');
-require('../modules/es6.math.cosh');
-require('../modules/es6.math.expm1');
-require('../modules/es6.math.fround');
-require('../modules/es6.math.hypot');
-require('../modules/es6.math.imul');
-require('../modules/es6.math.log10');
-require('../modules/es6.math.log1p');
-require('../modules/es6.math.log2');
-require('../modules/es6.math.sign');
-require('../modules/es6.math.sinh');
-require('../modules/es6.math.tanh');
-require('../modules/es6.math.trunc');
-require('../modules/es6.string.from-code-point');
-require('../modules/es6.string.raw');
-require('../modules/es6.string.trim');
-require('../modules/es6.string.iterator');
-require('../modules/es6.string.code-point-at');
-require('../modules/es6.string.ends-with');
-require('../modules/es6.string.includes');
-require('../modules/es6.string.repeat');
-require('../modules/es6.string.starts-with');
-require('../modules/es6.array.from');
-require('../modules/es6.array.of');
-require('../modules/es6.array.species');
-require('../modules/es6.array.iterator');
-require('../modules/es6.array.copy-within');
-require('../modules/es6.array.fill');
-require('../modules/es6.array.find');
-require('../modules/es6.array.find-index');
-require('../modules/es6.regexp.constructor');
-require('../modules/es6.regexp.flags');
-require('../modules/es6.regexp.match');
-require('../modules/es6.regexp.replace');
-require('../modules/es6.regexp.search');
-require('../modules/es6.regexp.split');
-require('../modules/es6.promise');
-require('../modules/es6.map');
-require('../modules/es6.set');
-require('../modules/es6.weak-map');
-require('../modules/es6.weak-set');
-require('../modules/es6.reflect.apply');
-require('../modules/es6.reflect.construct');
-require('../modules/es6.reflect.define-property');
-require('../modules/es6.reflect.delete-property');
-require('../modules/es6.reflect.enumerate');
-require('../modules/es6.reflect.get');
-require('../modules/es6.reflect.get-own-property-descriptor');
-require('../modules/es6.reflect.get-prototype-of');
-require('../modules/es6.reflect.has');
-require('../modules/es6.reflect.is-extensible');
-require('../modules/es6.reflect.own-keys');
-require('../modules/es6.reflect.prevent-extensions');
-require('../modules/es6.reflect.set');
-require('../modules/es6.reflect.set-prototype-of');
-module.exports = require('../modules/$.core');
\ No newline at end of file
diff --git a/node_modules/core-js/library/es6/map.js b/node_modules/core-js/library/es6/map.js
deleted file mode 100644
index 521a192..0000000
--- a/node_modules/core-js/library/es6/map.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('../modules/es6.object.to-string');
-require('../modules/es6.string.iterator');
-require('../modules/web.dom.iterable');
-require('../modules/es6.map');
-module.exports = require('../modules/$.core').Map;
\ No newline at end of file
diff --git a/node_modules/core-js/library/es6/math.js b/node_modules/core-js/library/es6/math.js
deleted file mode 100644
index 8b5a2e7..0000000
--- a/node_modules/core-js/library/es6/math.js
+++ /dev/null
@@ -1,18 +0,0 @@
-require('../modules/es6.math.acosh');
-require('../modules/es6.math.asinh');
-require('../modules/es6.math.atanh');
-require('../modules/es6.math.cbrt');
-require('../modules/es6.math.clz32');
-require('../modules/es6.math.cosh');
-require('../modules/es6.math.expm1');
-require('../modules/es6.math.fround');
-require('../modules/es6.math.hypot');
-require('../modules/es6.math.imul');
-require('../modules/es6.math.log10');
-require('../modules/es6.math.log1p');
-require('../modules/es6.math.log2');
-require('../modules/es6.math.sign');
-require('../modules/es6.math.sinh');
-require('../modules/es6.math.tanh');
-require('../modules/es6.math.trunc');
-module.exports = require('../modules/$.core').Math;
\ No newline at end of file
diff --git a/node_modules/core-js/library/es6/number.js b/node_modules/core-js/library/es6/number.js
deleted file mode 100644
index 8f48770..0000000
--- a/node_modules/core-js/library/es6/number.js
+++ /dev/null
@@ -1,11 +0,0 @@
-require('../modules/es6.number.constructor');
-require('../modules/es6.number.epsilon');
-require('../modules/es6.number.is-finite');
-require('../modules/es6.number.is-integer');
-require('../modules/es6.number.is-nan');
-require('../modules/es6.number.is-safe-integer');
-require('../modules/es6.number.max-safe-integer');
-require('../modules/es6.number.min-safe-integer');
-require('../modules/es6.number.parse-float');
-require('../modules/es6.number.parse-int');
-module.exports = require('../modules/$.core').Number;
\ No newline at end of file
diff --git a/node_modules/core-js/library/es6/object.js b/node_modules/core-js/library/es6/object.js
deleted file mode 100644
index 94af189..0000000
--- a/node_modules/core-js/library/es6/object.js
+++ /dev/null
@@ -1,17 +0,0 @@
-require('../modules/es6.symbol');
-require('../modules/es6.object.assign');
-require('../modules/es6.object.is');
-require('../modules/es6.object.set-prototype-of');
-require('../modules/es6.object.to-string');
-require('../modules/es6.object.freeze');
-require('../modules/es6.object.seal');
-require('../modules/es6.object.prevent-extensions');
-require('../modules/es6.object.is-frozen');
-require('../modules/es6.object.is-sealed');
-require('../modules/es6.object.is-extensible');
-require('../modules/es6.object.get-own-property-descriptor');
-require('../modules/es6.object.get-prototype-of');
-require('../modules/es6.object.keys');
-require('../modules/es6.object.get-own-property-names');
-
-module.exports = require('../modules/$.core').Object;
\ No newline at end of file
diff --git a/node_modules/core-js/library/es6/promise.js b/node_modules/core-js/library/es6/promise.js
deleted file mode 100644
index 0a09961..0000000
--- a/node_modules/core-js/library/es6/promise.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('../modules/es6.object.to-string');
-require('../modules/es6.string.iterator');
-require('../modules/web.dom.iterable');
-require('../modules/es6.promise');
-module.exports = require('../modules/$.core').Promise;
\ No newline at end of file
diff --git a/node_modules/core-js/library/es6/reflect.js b/node_modules/core-js/library/es6/reflect.js
deleted file mode 100644
index 3c2f74e..0000000
--- a/node_modules/core-js/library/es6/reflect.js
+++ /dev/null
@@ -1,15 +0,0 @@
-require('../modules/es6.reflect.apply');
-require('../modules/es6.reflect.construct');
-require('../modules/es6.reflect.define-property');
-require('../modules/es6.reflect.delete-property');
-require('../modules/es6.reflect.enumerate');
-require('../modules/es6.reflect.get');
-require('../modules/es6.reflect.get-own-property-descriptor');
-require('../modules/es6.reflect.get-prototype-of');
-require('../modules/es6.reflect.has');
-require('../modules/es6.reflect.is-extensible');
-require('../modules/es6.reflect.own-keys');
-require('../modules/es6.reflect.prevent-extensions');
-require('../modules/es6.reflect.set');
-require('../modules/es6.reflect.set-prototype-of');
-module.exports = require('../modules/$.core').Reflect;
\ No newline at end of file
diff --git a/node_modules/core-js/library/es6/regexp.js b/node_modules/core-js/library/es6/regexp.js
deleted file mode 100644
index 195d36d..0000000
--- a/node_modules/core-js/library/es6/regexp.js
+++ /dev/null
@@ -1,7 +0,0 @@
-require('../modules/es6.regexp.constructor');
-require('../modules/es6.regexp.flags');
-require('../modules/es6.regexp.match');
-require('../modules/es6.regexp.replace');
-require('../modules/es6.regexp.search');
-require('../modules/es6.regexp.split');
-module.exports = require('../modules/$.core').RegExp;
\ No newline at end of file
diff --git a/node_modules/core-js/library/es6/set.js b/node_modules/core-js/library/es6/set.js
deleted file mode 100644
index 6a84f58..0000000
--- a/node_modules/core-js/library/es6/set.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('../modules/es6.object.to-string');
-require('../modules/es6.string.iterator');
-require('../modules/web.dom.iterable');
-require('../modules/es6.set');
-module.exports = require('../modules/$.core').Set;
\ No newline at end of file
diff --git a/node_modules/core-js/library/es6/string.js b/node_modules/core-js/library/es6/string.js
deleted file mode 100644
index bc7a1ab..0000000
--- a/node_modules/core-js/library/es6/string.js
+++ /dev/null
@@ -1,14 +0,0 @@
-require('../modules/es6.string.from-code-point');
-require('../modules/es6.string.raw');
-require('../modules/es6.string.trim');
-require('../modules/es6.string.iterator');
-require('../modules/es6.string.code-point-at');
-require('../modules/es6.string.ends-with');
-require('../modules/es6.string.includes');
-require('../modules/es6.string.repeat');
-require('../modules/es6.string.starts-with');
-require('../modules/es6.regexp.match');
-require('../modules/es6.regexp.replace');
-require('../modules/es6.regexp.search');
-require('../modules/es6.regexp.split');
-module.exports = require('../modules/$.core').String;
\ No newline at end of file
diff --git a/node_modules/core-js/library/es6/symbol.js b/node_modules/core-js/library/es6/symbol.js
deleted file mode 100644
index ae2405b..0000000
--- a/node_modules/core-js/library/es6/symbol.js
+++ /dev/null
@@ -1,3 +0,0 @@
-require('../modules/es6.symbol');
-require('../modules/es6.object.to-string');
-module.exports = require('../modules/$.core').Symbol;
\ No newline at end of file
diff --git a/node_modules/core-js/library/es6/weak-map.js b/node_modules/core-js/library/es6/weak-map.js
deleted file mode 100644
index f2c6db8..0000000
--- a/node_modules/core-js/library/es6/weak-map.js
+++ /dev/null
@@ -1,4 +0,0 @@
-require('../modules/es6.object.to-string');
-require('../modules/es6.array.iterator');
-require('../modules/es6.weak-map');
-module.exports = require('../modules/$.core').WeakMap;
\ No newline at end of file
diff --git a/node_modules/core-js/library/es6/weak-set.js b/node_modules/core-js/library/es6/weak-set.js
deleted file mode 100644
index a058c8a..0000000
--- a/node_modules/core-js/library/es6/weak-set.js
+++ /dev/null
@@ -1,4 +0,0 @@
-require('../modules/es6.object.to-string');
-require('../modules/web.dom.iterable');
-require('../modules/es6.weak-set');
-module.exports = require('../modules/$.core').WeakSet;
\ No newline at end of file
diff --git a/node_modules/core-js/library/es7/array.js b/node_modules/core-js/library/es7/array.js
deleted file mode 100644
index e58f905..0000000
--- a/node_modules/core-js/library/es7/array.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/es7.array.includes');
-module.exports = require('../modules/$.core').Array;
\ No newline at end of file
diff --git a/node_modules/core-js/library/es7/index.js b/node_modules/core-js/library/es7/index.js
deleted file mode 100644
index a277b63..0000000
--- a/node_modules/core-js/library/es7/index.js
+++ /dev/null
@@ -1,13 +0,0 @@
-require('../modules/es7.array.includes');
-require('../modules/es7.string.at');
-require('../modules/es7.string.pad-left');
-require('../modules/es7.string.pad-right');
-require('../modules/es7.string.trim-left');
-require('../modules/es7.string.trim-right');
-require('../modules/es7.regexp.escape');
-require('../modules/es7.object.get-own-property-descriptors');
-require('../modules/es7.object.values');
-require('../modules/es7.object.entries');
-require('../modules/es7.map.to-json');
-require('../modules/es7.set.to-json');
-module.exports = require('../modules/$.core');
\ No newline at end of file
diff --git a/node_modules/core-js/library/es7/map.js b/node_modules/core-js/library/es7/map.js
deleted file mode 100644
index fe51999..0000000
--- a/node_modules/core-js/library/es7/map.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/es7.map.to-json');
-module.exports = require('../modules/$.core').Map;
\ No newline at end of file
diff --git a/node_modules/core-js/library/es7/object.js b/node_modules/core-js/library/es7/object.js
deleted file mode 100644
index b058530..0000000
--- a/node_modules/core-js/library/es7/object.js
+++ /dev/null
@@ -1,4 +0,0 @@
-require('../modules/es7.object.get-own-property-descriptors');
-require('../modules/es7.object.values');
-require('../modules/es7.object.entries');
-module.exports = require('../modules/$.core').Object;
\ No newline at end of file
diff --git a/node_modules/core-js/library/es7/regexp.js b/node_modules/core-js/library/es7/regexp.js
deleted file mode 100644
index cb24f98..0000000
--- a/node_modules/core-js/library/es7/regexp.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/es7.regexp.escape');
-module.exports = require('../modules/$.core').RegExp;
\ No newline at end of file
diff --git a/node_modules/core-js/library/es7/set.js b/node_modules/core-js/library/es7/set.js
deleted file mode 100644
index 16e9452..0000000
--- a/node_modules/core-js/library/es7/set.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/es7.set.to-json');
-module.exports = require('../modules/$.core').Set;
\ No newline at end of file
diff --git a/node_modules/core-js/library/es7/string.js b/node_modules/core-js/library/es7/string.js
deleted file mode 100644
index bca0886..0000000
--- a/node_modules/core-js/library/es7/string.js
+++ /dev/null
@@ -1,6 +0,0 @@
-require('../modules/es7.string.at');
-require('../modules/es7.string.pad-left');
-require('../modules/es7.string.pad-right');
-require('../modules/es7.string.trim-left');
-require('../modules/es7.string.trim-right');
-module.exports = require('../modules/$.core').String;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/_.js b/node_modules/core-js/library/fn/_.js
deleted file mode 100644
index 475a66c..0000000
--- a/node_modules/core-js/library/fn/_.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/core.function.part');
-module.exports = require('../modules/$.core')._;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/concat.js b/node_modules/core-js/library/fn/array/concat.js
deleted file mode 100644
index 176ecff..0000000
--- a/node_modules/core-js/library/fn/array/concat.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.concat;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/copy-within.js b/node_modules/core-js/library/fn/array/copy-within.js
deleted file mode 100644
index 8a01131..0000000
--- a/node_modules/core-js/library/fn/array/copy-within.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.array.copy-within');
-module.exports = require('../../modules/$.core').Array.copyWithin;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/entries.js b/node_modules/core-js/library/fn/array/entries.js
deleted file mode 100644
index bcdbc33..0000000
--- a/node_modules/core-js/library/fn/array/entries.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.array.iterator');
-module.exports = require('../../modules/$.core').Array.entries;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/every.js b/node_modules/core-js/library/fn/array/every.js
deleted file mode 100644
index 0c7d0b7..0000000
--- a/node_modules/core-js/library/fn/array/every.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.every;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/fill.js b/node_modules/core-js/library/fn/array/fill.js
deleted file mode 100644
index f536212..0000000
--- a/node_modules/core-js/library/fn/array/fill.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.array.fill');
-module.exports = require('../../modules/$.core').Array.fill;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/filter.js b/node_modules/core-js/library/fn/array/filter.js
deleted file mode 100644
index 3f5b17f..0000000
--- a/node_modules/core-js/library/fn/array/filter.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.filter;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/find-index.js b/node_modules/core-js/library/fn/array/find-index.js
deleted file mode 100644
index 7ec6cf7..0000000
--- a/node_modules/core-js/library/fn/array/find-index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.array.find-index');
-module.exports = require('../../modules/$.core').Array.findIndex;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/find.js b/node_modules/core-js/library/fn/array/find.js
deleted file mode 100644
index 9c3a6b3..0000000
--- a/node_modules/core-js/library/fn/array/find.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.array.find');
-module.exports = require('../../modules/$.core').Array.find;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/for-each.js b/node_modules/core-js/library/fn/array/for-each.js
deleted file mode 100644
index b2e79f0..0000000
--- a/node_modules/core-js/library/fn/array/for-each.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.forEach;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/from.js b/node_modules/core-js/library/fn/array/from.js
deleted file mode 100644
index f0483cc..0000000
--- a/node_modules/core-js/library/fn/array/from.js
+++ /dev/null
@@ -1,3 +0,0 @@
-require('../../modules/es6.string.iterator');
-require('../../modules/es6.array.from');
-module.exports = require('../../modules/$.core').Array.from;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/includes.js b/node_modules/core-js/library/fn/array/includes.js
deleted file mode 100644
index 420c831..0000000
--- a/node_modules/core-js/library/fn/array/includes.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es7.array.includes');
-module.exports = require('../../modules/$.core').Array.includes;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/index-of.js b/node_modules/core-js/library/fn/array/index-of.js
deleted file mode 100644
index 9f2cd14..0000000
--- a/node_modules/core-js/library/fn/array/index-of.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.indexOf;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/index.js b/node_modules/core-js/library/fn/array/index.js
deleted file mode 100644
index 2707be2..0000000
--- a/node_modules/core-js/library/fn/array/index.js
+++ /dev/null
@@ -1,12 +0,0 @@
-require('../../modules/es6.string.iterator');
-require('../../modules/es6.array.from');
-require('../../modules/es6.array.of');
-require('../../modules/es6.array.species');
-require('../../modules/es6.array.iterator');
-require('../../modules/es6.array.copy-within');
-require('../../modules/es6.array.fill');
-require('../../modules/es6.array.find');
-require('../../modules/es6.array.find-index');
-require('../../modules/es7.array.includes');
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/iterator.js b/node_modules/core-js/library/fn/array/iterator.js
deleted file mode 100644
index 662f3b5..0000000
--- a/node_modules/core-js/library/fn/array/iterator.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.array.iterator');
-module.exports = require('../../modules/$.core').Array.values;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/join.js b/node_modules/core-js/library/fn/array/join.js
deleted file mode 100644
index 4436392..0000000
--- a/node_modules/core-js/library/fn/array/join.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.join;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/keys.js b/node_modules/core-js/library/fn/array/keys.js
deleted file mode 100644
index e55d356..0000000
--- a/node_modules/core-js/library/fn/array/keys.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.array.iterator');
-module.exports = require('../../modules/$.core').Array.keys;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/last-index-of.js b/node_modules/core-js/library/fn/array/last-index-of.js
deleted file mode 100644
index 678d007..0000000
--- a/node_modules/core-js/library/fn/array/last-index-of.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.lastIndexOf;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/map.js b/node_modules/core-js/library/fn/array/map.js
deleted file mode 100644
index a1457c7..0000000
--- a/node_modules/core-js/library/fn/array/map.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.map;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/of.js b/node_modules/core-js/library/fn/array/of.js
deleted file mode 100644
index 07bb5a4..0000000
--- a/node_modules/core-js/library/fn/array/of.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.array.of');
-module.exports = require('../../modules/$.core').Array.of;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/pop.js b/node_modules/core-js/library/fn/array/pop.js
deleted file mode 100644
index bd8f861..0000000
--- a/node_modules/core-js/library/fn/array/pop.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.pop;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/push.js b/node_modules/core-js/library/fn/array/push.js
deleted file mode 100644
index 3ccf070..0000000
--- a/node_modules/core-js/library/fn/array/push.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.push;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/reduce-right.js b/node_modules/core-js/library/fn/array/reduce-right.js
deleted file mode 100644
index c592207..0000000
--- a/node_modules/core-js/library/fn/array/reduce-right.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.reduceRight;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/reduce.js b/node_modules/core-js/library/fn/array/reduce.js
deleted file mode 100644
index b836840..0000000
--- a/node_modules/core-js/library/fn/array/reduce.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.reduce;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/reverse.js b/node_modules/core-js/library/fn/array/reverse.js
deleted file mode 100644
index 4d8d235..0000000
--- a/node_modules/core-js/library/fn/array/reverse.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.reverse;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/shift.js b/node_modules/core-js/library/fn/array/shift.js
deleted file mode 100644
index 806c87c..0000000
--- a/node_modules/core-js/library/fn/array/shift.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.shift;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/slice.js b/node_modules/core-js/library/fn/array/slice.js
deleted file mode 100644
index 913f7ef..0000000
--- a/node_modules/core-js/library/fn/array/slice.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.slice;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/some.js b/node_modules/core-js/library/fn/array/some.js
deleted file mode 100644
index 4f7c765..0000000
--- a/node_modules/core-js/library/fn/array/some.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.some;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/sort.js b/node_modules/core-js/library/fn/array/sort.js
deleted file mode 100644
index 61beed0..0000000
--- a/node_modules/core-js/library/fn/array/sort.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.sort;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/splice.js b/node_modules/core-js/library/fn/array/splice.js
deleted file mode 100644
index 5f5eab0..0000000
--- a/node_modules/core-js/library/fn/array/splice.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.splice;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/unshift.js b/node_modules/core-js/library/fn/array/unshift.js
deleted file mode 100644
index a11de52..0000000
--- a/node_modules/core-js/library/fn/array/unshift.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/js.array.statics');
-module.exports = require('../../modules/$.core').Array.unshift;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/array/values.js b/node_modules/core-js/library/fn/array/values.js
deleted file mode 100644
index 662f3b5..0000000
--- a/node_modules/core-js/library/fn/array/values.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.array.iterator');
-module.exports = require('../../modules/$.core').Array.values;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/clear-immediate.js b/node_modules/core-js/library/fn/clear-immediate.js
deleted file mode 100644
index 06a9750..0000000
--- a/node_modules/core-js/library/fn/clear-immediate.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/web.immediate');
-module.exports = require('../modules/$.core').clearImmediate;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/delay.js b/node_modules/core-js/library/fn/delay.js
deleted file mode 100644
index 1ff9a56..0000000
--- a/node_modules/core-js/library/fn/delay.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/core.delay');
-module.exports = require('../modules/$.core').delay;
diff --git a/node_modules/core-js/library/fn/dict.js b/node_modules/core-js/library/fn/dict.js
deleted file mode 100644
index ed848e2..0000000
--- a/node_modules/core-js/library/fn/dict.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/core.dict');
-module.exports = require('../modules/$.core').Dict;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/function/has-instance.js b/node_modules/core-js/library/fn/function/has-instance.js
deleted file mode 100644
index 78c8221..0000000
--- a/node_modules/core-js/library/fn/function/has-instance.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.function.has-instance');
-module.exports = Function[require('../../modules/$.wks')('hasInstance')];
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/function/index.js b/node_modules/core-js/library/fn/function/index.js
deleted file mode 100644
index 7422fca..0000000
--- a/node_modules/core-js/library/fn/function/index.js
+++ /dev/null
@@ -1,4 +0,0 @@
-require('../../modules/es6.function.name');
-require('../../modules/es6.function.has-instance');
-require('../../modules/core.function.part');
-module.exports = require('../../modules/$.core').Function;
diff --git a/node_modules/core-js/library/fn/function/name.js b/node_modules/core-js/library/fn/function/name.js
deleted file mode 100644
index cb70bf1..0000000
--- a/node_modules/core-js/library/fn/function/name.js
+++ /dev/null
@@ -1 +0,0 @@
-require('../../modules/es6.function.name');
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/function/part.js b/node_modules/core-js/library/fn/function/part.js
deleted file mode 100644
index 26271d6..0000000
--- a/node_modules/core-js/library/fn/function/part.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/core.function.part');
-module.exports = require('../../modules/$.core').Function.part;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/get-iterator-method.js b/node_modules/core-js/library/fn/get-iterator-method.js
deleted file mode 100644
index 5543cbb..0000000
--- a/node_modules/core-js/library/fn/get-iterator-method.js
+++ /dev/null
@@ -1,3 +0,0 @@
-require('../modules/web.dom.iterable');
-require('../modules/es6.string.iterator');
-module.exports = require('../modules/core.get-iterator-method');
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/get-iterator.js b/node_modules/core-js/library/fn/get-iterator.js
deleted file mode 100644
index 762350f..0000000
--- a/node_modules/core-js/library/fn/get-iterator.js
+++ /dev/null
@@ -1,3 +0,0 @@
-require('../modules/web.dom.iterable');
-require('../modules/es6.string.iterator');
-module.exports = require('../modules/core.get-iterator');
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/html-collection/index.js b/node_modules/core-js/library/fn/html-collection/index.js
deleted file mode 100644
index 510156b..0000000
--- a/node_modules/core-js/library/fn/html-collection/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/web.dom.iterable');
-module.exports = require('../../modules/$.core');
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/html-collection/iterator.js b/node_modules/core-js/library/fn/html-collection/iterator.js
deleted file mode 100644
index c01119b..0000000
--- a/node_modules/core-js/library/fn/html-collection/iterator.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/web.dom.iterable');
-module.exports = require('../../modules/$.core').Array.values;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/is-iterable.js b/node_modules/core-js/library/fn/is-iterable.js
deleted file mode 100644
index 4c654e8..0000000
--- a/node_modules/core-js/library/fn/is-iterable.js
+++ /dev/null
@@ -1,3 +0,0 @@
-require('../modules/web.dom.iterable');
-require('../modules/es6.string.iterator');
-module.exports = require('../modules/core.is-iterable');
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/json/stringify.js b/node_modules/core-js/library/fn/json/stringify.js
deleted file mode 100644
index fef2425..0000000
--- a/node_modules/core-js/library/fn/json/stringify.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var core = require('../../modules/$.core');
-module.exports = function stringify(it){ // eslint-disable-line no-unused-vars
- return (core.JSON && core.JSON.stringify || JSON.stringify).apply(JSON, arguments);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/log.js b/node_modules/core-js/library/fn/log.js
deleted file mode 100644
index 899d6ed..0000000
--- a/node_modules/core-js/library/fn/log.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/core.log');
-module.exports = require('../modules/$.core').log;
diff --git a/node_modules/core-js/library/fn/map.js b/node_modules/core-js/library/fn/map.js
deleted file mode 100644
index 7099892..0000000
--- a/node_modules/core-js/library/fn/map.js
+++ /dev/null
@@ -1,6 +0,0 @@
-require('../modules/es6.object.to-string');
-require('../modules/es6.string.iterator');
-require('../modules/web.dom.iterable');
-require('../modules/es6.map');
-require('../modules/es7.map.to-json');
-module.exports = require('../modules/$.core').Map;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/math/acosh.js b/node_modules/core-js/library/fn/math/acosh.js
deleted file mode 100644
index d29a88c..0000000
--- a/node_modules/core-js/library/fn/math/acosh.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.acosh');
-module.exports = require('../../modules/$.core').Math.acosh;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/math/asinh.js b/node_modules/core-js/library/fn/math/asinh.js
deleted file mode 100644
index 7eac2e8..0000000
--- a/node_modules/core-js/library/fn/math/asinh.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.asinh');
-module.exports = require('../../modules/$.core').Math.asinh;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/math/atanh.js b/node_modules/core-js/library/fn/math/atanh.js
deleted file mode 100644
index a66a47d..0000000
--- a/node_modules/core-js/library/fn/math/atanh.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.atanh');
-module.exports = require('../../modules/$.core').Math.atanh;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/math/cbrt.js b/node_modules/core-js/library/fn/math/cbrt.js
deleted file mode 100644
index 199f5cd..0000000
--- a/node_modules/core-js/library/fn/math/cbrt.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.cbrt');
-module.exports = require('../../modules/$.core').Math.cbrt;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/math/clz32.js b/node_modules/core-js/library/fn/math/clz32.js
deleted file mode 100644
index 2025c6e..0000000
--- a/node_modules/core-js/library/fn/math/clz32.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.clz32');
-module.exports = require('../../modules/$.core').Math.clz32;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/math/cosh.js b/node_modules/core-js/library/fn/math/cosh.js
deleted file mode 100644
index 17a7ddc..0000000
--- a/node_modules/core-js/library/fn/math/cosh.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.cosh');
-module.exports = require('../../modules/$.core').Math.cosh;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/math/expm1.js b/node_modules/core-js/library/fn/math/expm1.js
deleted file mode 100644
index 732facb..0000000
--- a/node_modules/core-js/library/fn/math/expm1.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.expm1');
-module.exports = require('../../modules/$.core').Math.expm1;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/math/fround.js b/node_modules/core-js/library/fn/math/fround.js
deleted file mode 100644
index 37f8706..0000000
--- a/node_modules/core-js/library/fn/math/fround.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.fround');
-module.exports = require('../../modules/$.core').Math.fround;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/math/hypot.js b/node_modules/core-js/library/fn/math/hypot.js
deleted file mode 100644
index 9676c07..0000000
--- a/node_modules/core-js/library/fn/math/hypot.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.hypot');
-module.exports = require('../../modules/$.core').Math.hypot;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/math/imul.js b/node_modules/core-js/library/fn/math/imul.js
deleted file mode 100644
index 2ea2913..0000000
--- a/node_modules/core-js/library/fn/math/imul.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.imul');
-module.exports = require('../../modules/$.core').Math.imul;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/math/index.js b/node_modules/core-js/library/fn/math/index.js
deleted file mode 100644
index 14628ae..0000000
--- a/node_modules/core-js/library/fn/math/index.js
+++ /dev/null
@@ -1,18 +0,0 @@
-require('../../modules/es6.math.acosh');
-require('../../modules/es6.math.asinh');
-require('../../modules/es6.math.atanh');
-require('../../modules/es6.math.cbrt');
-require('../../modules/es6.math.clz32');
-require('../../modules/es6.math.cosh');
-require('../../modules/es6.math.expm1');
-require('../../modules/es6.math.fround');
-require('../../modules/es6.math.hypot');
-require('../../modules/es6.math.imul');
-require('../../modules/es6.math.log10');
-require('../../modules/es6.math.log1p');
-require('../../modules/es6.math.log2');
-require('../../modules/es6.math.sign');
-require('../../modules/es6.math.sinh');
-require('../../modules/es6.math.tanh');
-require('../../modules/es6.math.trunc');
-module.exports = require('../../modules/$.core').Math;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/math/log10.js b/node_modules/core-js/library/fn/math/log10.js
deleted file mode 100644
index ecf7b9b..0000000
--- a/node_modules/core-js/library/fn/math/log10.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.log10');
-module.exports = require('../../modules/$.core').Math.log10;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/math/log1p.js b/node_modules/core-js/library/fn/math/log1p.js
deleted file mode 100644
index 6db7329..0000000
--- a/node_modules/core-js/library/fn/math/log1p.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.log1p');
-module.exports = require('../../modules/$.core').Math.log1p;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/math/log2.js b/node_modules/core-js/library/fn/math/log2.js
deleted file mode 100644
index 63c74d7..0000000
--- a/node_modules/core-js/library/fn/math/log2.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.log2');
-module.exports = require('../../modules/$.core').Math.log2;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/math/sign.js b/node_modules/core-js/library/fn/math/sign.js
deleted file mode 100644
index 47ab74f..0000000
--- a/node_modules/core-js/library/fn/math/sign.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.sign');
-module.exports = require('../../modules/$.core').Math.sign;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/math/sinh.js b/node_modules/core-js/library/fn/math/sinh.js
deleted file mode 100644
index 72c6e85..0000000
--- a/node_modules/core-js/library/fn/math/sinh.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.sinh');
-module.exports = require('../../modules/$.core').Math.sinh;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/math/tanh.js b/node_modules/core-js/library/fn/math/tanh.js
deleted file mode 100644
index 30ddbcc..0000000
--- a/node_modules/core-js/library/fn/math/tanh.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.tanh');
-module.exports = require('../../modules/$.core').Math.tanh;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/math/trunc.js b/node_modules/core-js/library/fn/math/trunc.js
deleted file mode 100644
index b084efa..0000000
--- a/node_modules/core-js/library/fn/math/trunc.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.math.trunc');
-module.exports = require('../../modules/$.core').Math.trunc;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/node-list/index.js b/node_modules/core-js/library/fn/node-list/index.js
deleted file mode 100644
index 510156b..0000000
--- a/node_modules/core-js/library/fn/node-list/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/web.dom.iterable');
-module.exports = require('../../modules/$.core');
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/node-list/iterator.js b/node_modules/core-js/library/fn/node-list/iterator.js
deleted file mode 100644
index c01119b..0000000
--- a/node_modules/core-js/library/fn/node-list/iterator.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/web.dom.iterable');
-module.exports = require('../../modules/$.core').Array.values;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/number/epsilon.js b/node_modules/core-js/library/fn/number/epsilon.js
deleted file mode 100644
index 56c9352..0000000
--- a/node_modules/core-js/library/fn/number/epsilon.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.number.epsilon');
-module.exports = Math.pow(2, -52);
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/number/index.js b/node_modules/core-js/library/fn/number/index.js
deleted file mode 100644
index d048d59..0000000
--- a/node_modules/core-js/library/fn/number/index.js
+++ /dev/null
@@ -1,12 +0,0 @@
-require('../../modules/es6.number.constructor');
-require('../../modules/es6.number.epsilon');
-require('../../modules/es6.number.is-finite');
-require('../../modules/es6.number.is-integer');
-require('../../modules/es6.number.is-nan');
-require('../../modules/es6.number.is-safe-integer');
-require('../../modules/es6.number.max-safe-integer');
-require('../../modules/es6.number.min-safe-integer');
-require('../../modules/es6.number.parse-float');
-require('../../modules/es6.number.parse-int');
-require('../../modules/core.number.iterator');
-module.exports = require('../../modules/$.core').Number;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/number/is-finite.js b/node_modules/core-js/library/fn/number/is-finite.js
deleted file mode 100644
index ff66650..0000000
--- a/node_modules/core-js/library/fn/number/is-finite.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.number.is-finite');
-module.exports = require('../../modules/$.core').Number.isFinite;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/number/is-integer.js b/node_modules/core-js/library/fn/number/is-integer.js
deleted file mode 100644
index 682e1e3..0000000
--- a/node_modules/core-js/library/fn/number/is-integer.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.number.is-integer');
-module.exports = require('../../modules/$.core').Number.isInteger;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/number/is-nan.js b/node_modules/core-js/library/fn/number/is-nan.js
deleted file mode 100644
index 6ad6923..0000000
--- a/node_modules/core-js/library/fn/number/is-nan.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.number.is-nan');
-module.exports = require('../../modules/$.core').Number.isNaN;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/number/is-safe-integer.js b/node_modules/core-js/library/fn/number/is-safe-integer.js
deleted file mode 100644
index a47fd42..0000000
--- a/node_modules/core-js/library/fn/number/is-safe-integer.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.number.is-safe-integer');
-module.exports = require('../../modules/$.core').Number.isSafeInteger;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/number/iterator.js b/node_modules/core-js/library/fn/number/iterator.js
deleted file mode 100644
index 57cb790..0000000
--- a/node_modules/core-js/library/fn/number/iterator.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('../../modules/core.number.iterator');
-var get = require('../../modules/$.iterators').Number;
-module.exports = function(it){
- return get.call(it);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/number/max-safe-integer.js b/node_modules/core-js/library/fn/number/max-safe-integer.js
deleted file mode 100644
index c9b43b0..0000000
--- a/node_modules/core-js/library/fn/number/max-safe-integer.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.number.max-safe-integer');
-module.exports = 0x1fffffffffffff;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/number/min-safe-integer.js b/node_modules/core-js/library/fn/number/min-safe-integer.js
deleted file mode 100644
index 8b5e072..0000000
--- a/node_modules/core-js/library/fn/number/min-safe-integer.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.number.min-safe-integer');
-module.exports = -0x1fffffffffffff;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/number/parse-float.js b/node_modules/core-js/library/fn/number/parse-float.js
deleted file mode 100644
index 62f8977..0000000
--- a/node_modules/core-js/library/fn/number/parse-float.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.number.parse-float');
-module.exports = parseFloat;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/number/parse-int.js b/node_modules/core-js/library/fn/number/parse-int.js
deleted file mode 100644
index c197da5..0000000
--- a/node_modules/core-js/library/fn/number/parse-int.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.number.parse-int');
-module.exports = parseInt;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/object/assign.js b/node_modules/core-js/library/fn/object/assign.js
deleted file mode 100644
index a57c54a..0000000
--- a/node_modules/core-js/library/fn/object/assign.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.object.assign');
-module.exports = require('../../modules/$.core').Object.assign;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/object/classof.js b/node_modules/core-js/library/fn/object/classof.js
deleted file mode 100644
index 3afc826..0000000
--- a/node_modules/core-js/library/fn/object/classof.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/core.object.classof');
-module.exports = require('../../modules/$.core').Object.classof;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/object/create.js b/node_modules/core-js/library/fn/object/create.js
deleted file mode 100644
index 8f5f326..0000000
--- a/node_modules/core-js/library/fn/object/create.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var $ = require('../../modules/$');
-module.exports = function create(P, D){
- return $.create(P, D);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/object/define-properties.js b/node_modules/core-js/library/fn/object/define-properties.js
deleted file mode 100644
index a857aab..0000000
--- a/node_modules/core-js/library/fn/object/define-properties.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var $ = require('../../modules/$');
-module.exports = function defineProperties(T, D){
- return $.setDescs(T, D);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/object/define-property.js b/node_modules/core-js/library/fn/object/define-property.js
deleted file mode 100644
index 7384315..0000000
--- a/node_modules/core-js/library/fn/object/define-property.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var $ = require('../../modules/$');
-module.exports = function defineProperty(it, key, desc){
- return $.setDesc(it, key, desc);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/object/define.js b/node_modules/core-js/library/fn/object/define.js
deleted file mode 100644
index 690773e..0000000
--- a/node_modules/core-js/library/fn/object/define.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/core.object.define');
-module.exports = require('../../modules/$.core').Object.define;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/object/entries.js b/node_modules/core-js/library/fn/object/entries.js
deleted file mode 100644
index a32fe39..0000000
--- a/node_modules/core-js/library/fn/object/entries.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es7.object.entries');
-module.exports = require('../../modules/$.core').Object.entries;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/object/freeze.js b/node_modules/core-js/library/fn/object/freeze.js
deleted file mode 100644
index 566eec5..0000000
--- a/node_modules/core-js/library/fn/object/freeze.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.object.freeze');
-module.exports = require('../../modules/$.core').Object.freeze;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/object/get-own-property-descriptor.js b/node_modules/core-js/library/fn/object/get-own-property-descriptor.js
deleted file mode 100644
index 2e1845c..0000000
--- a/node_modules/core-js/library/fn/object/get-own-property-descriptor.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var $ = require('../../modules/$');
-require('../../modules/es6.object.get-own-property-descriptor');
-module.exports = function getOwnPropertyDescriptor(it, key){
- return $.getDesc(it, key);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/object/get-own-property-descriptors.js b/node_modules/core-js/library/fn/object/get-own-property-descriptors.js
deleted file mode 100644
index f26341d..0000000
--- a/node_modules/core-js/library/fn/object/get-own-property-descriptors.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es7.object.get-own-property-descriptors');
-module.exports = require('../../modules/$.core').Object.getOwnPropertyDescriptors;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/object/get-own-property-names.js b/node_modules/core-js/library/fn/object/get-own-property-names.js
deleted file mode 100644
index 496eb19..0000000
--- a/node_modules/core-js/library/fn/object/get-own-property-names.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var $ = require('../../modules/$');
-require('../../modules/es6.object.get-own-property-names');
-module.exports = function getOwnPropertyNames(it){
- return $.getNames(it);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/object/get-own-property-symbols.js b/node_modules/core-js/library/fn/object/get-own-property-symbols.js
deleted file mode 100644
index f78921b..0000000
--- a/node_modules/core-js/library/fn/object/get-own-property-symbols.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.symbol');
-module.exports = require('../../modules/$.core').Object.getOwnPropertySymbols;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/object/get-prototype-of.js b/node_modules/core-js/library/fn/object/get-prototype-of.js
deleted file mode 100644
index 9a495af..0000000
--- a/node_modules/core-js/library/fn/object/get-prototype-of.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.object.get-prototype-of');
-module.exports = require('../../modules/$.core').Object.getPrototypeOf;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/object/index.js b/node_modules/core-js/library/fn/object/index.js
deleted file mode 100644
index 0fb75bc..0000000
--- a/node_modules/core-js/library/fn/object/index.js
+++ /dev/null
@@ -1,23 +0,0 @@
-require('../../modules/es6.symbol');
-require('../../modules/es6.object.assign');
-require('../../modules/es6.object.is');
-require('../../modules/es6.object.set-prototype-of');
-require('../../modules/es6.object.to-string');
-require('../../modules/es6.object.freeze');
-require('../../modules/es6.object.seal');
-require('../../modules/es6.object.prevent-extensions');
-require('../../modules/es6.object.is-frozen');
-require('../../modules/es6.object.is-sealed');
-require('../../modules/es6.object.is-extensible');
-require('../../modules/es6.object.get-own-property-descriptor');
-require('../../modules/es6.object.get-prototype-of');
-require('../../modules/es6.object.keys');
-require('../../modules/es6.object.get-own-property-names');
-require('../../modules/es7.object.get-own-property-descriptors');
-require('../../modules/es7.object.values');
-require('../../modules/es7.object.entries');
-require('../../modules/core.object.is-object');
-require('../../modules/core.object.classof');
-require('../../modules/core.object.define');
-require('../../modules/core.object.make');
-module.exports = require('../../modules/$.core').Object;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/object/is-extensible.js b/node_modules/core-js/library/fn/object/is-extensible.js
deleted file mode 100644
index 8bb0cf9..0000000
--- a/node_modules/core-js/library/fn/object/is-extensible.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.object.is-extensible');
-module.exports = require('../../modules/$.core').Object.isExtensible;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/object/is-frozen.js b/node_modules/core-js/library/fn/object/is-frozen.js
deleted file mode 100644
index 7bf1f12..0000000
--- a/node_modules/core-js/library/fn/object/is-frozen.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.object.is-frozen');
-module.exports = require('../../modules/$.core').Object.isFrozen;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/object/is-object.js b/node_modules/core-js/library/fn/object/is-object.js
deleted file mode 100644
index 935cb6e..0000000
--- a/node_modules/core-js/library/fn/object/is-object.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/core.object.is-object');
-module.exports = require('../../modules/$.core').Object.isObject;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/object/is-sealed.js b/node_modules/core-js/library/fn/object/is-sealed.js
deleted file mode 100644
index 05416f3..0000000
--- a/node_modules/core-js/library/fn/object/is-sealed.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.object.is-sealed');
-module.exports = require('../../modules/$.core').Object.isSealed;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/object/is.js b/node_modules/core-js/library/fn/object/is.js
deleted file mode 100644
index d07c3ae..0000000
--- a/node_modules/core-js/library/fn/object/is.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.object.is');
-module.exports = require('../../modules/$.core').Object.is;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/object/keys.js b/node_modules/core-js/library/fn/object/keys.js
deleted file mode 100644
index ebfb8c6..0000000
--- a/node_modules/core-js/library/fn/object/keys.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.object.keys');
-module.exports = require('../../modules/$.core').Object.keys;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/object/make.js b/node_modules/core-js/library/fn/object/make.js
deleted file mode 100644
index fbfb2f8..0000000
--- a/node_modules/core-js/library/fn/object/make.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/core.object.make');
-module.exports = require('../../modules/$.core').Object.make;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/object/prevent-extensions.js b/node_modules/core-js/library/fn/object/prevent-extensions.js
deleted file mode 100644
index 01d82fc..0000000
--- a/node_modules/core-js/library/fn/object/prevent-extensions.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.object.prevent-extensions');
-module.exports = require('../../modules/$.core').Object.preventExtensions;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/object/seal.js b/node_modules/core-js/library/fn/object/seal.js
deleted file mode 100644
index fdf84b8..0000000
--- a/node_modules/core-js/library/fn/object/seal.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.object.seal');
-module.exports = require('../../modules/$.core').Object.seal;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/object/set-prototype-of.js b/node_modules/core-js/library/fn/object/set-prototype-of.js
deleted file mode 100644
index cd94d87..0000000
--- a/node_modules/core-js/library/fn/object/set-prototype-of.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.object.set-prototype-of');
-module.exports = require('../../modules/$.core').Object.setPrototypeOf;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/object/values.js b/node_modules/core-js/library/fn/object/values.js
deleted file mode 100644
index b96071f..0000000
--- a/node_modules/core-js/library/fn/object/values.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es7.object.values');
-module.exports = require('../../modules/$.core').Object.values;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/promise.js b/node_modules/core-js/library/fn/promise.js
deleted file mode 100644
index 0a09961..0000000
--- a/node_modules/core-js/library/fn/promise.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('../modules/es6.object.to-string');
-require('../modules/es6.string.iterator');
-require('../modules/web.dom.iterable');
-require('../modules/es6.promise');
-module.exports = require('../modules/$.core').Promise;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/reflect/apply.js b/node_modules/core-js/library/fn/reflect/apply.js
deleted file mode 100644
index 75e5ff5..0000000
--- a/node_modules/core-js/library/fn/reflect/apply.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.apply');
-module.exports = require('../../modules/$.core').Reflect.apply;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/reflect/construct.js b/node_modules/core-js/library/fn/reflect/construct.js
deleted file mode 100644
index adc40ea..0000000
--- a/node_modules/core-js/library/fn/reflect/construct.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.construct');
-module.exports = require('../../modules/$.core').Reflect.construct;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/reflect/define-property.js b/node_modules/core-js/library/fn/reflect/define-property.js
deleted file mode 100644
index da78d62..0000000
--- a/node_modules/core-js/library/fn/reflect/define-property.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.define-property');
-module.exports = require('../../modules/$.core').Reflect.defineProperty;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/reflect/delete-property.js b/node_modules/core-js/library/fn/reflect/delete-property.js
deleted file mode 100644
index 411225f..0000000
--- a/node_modules/core-js/library/fn/reflect/delete-property.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.delete-property');
-module.exports = require('../../modules/$.core').Reflect.deleteProperty;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/reflect/enumerate.js b/node_modules/core-js/library/fn/reflect/enumerate.js
deleted file mode 100644
index c19e0b6..0000000
--- a/node_modules/core-js/library/fn/reflect/enumerate.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.enumerate');
-module.exports = require('../../modules/$.core').Reflect.enumerate;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/reflect/get-own-property-descriptor.js b/node_modules/core-js/library/fn/reflect/get-own-property-descriptor.js
deleted file mode 100644
index 22e2aa6..0000000
--- a/node_modules/core-js/library/fn/reflect/get-own-property-descriptor.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.get-own-property-descriptor');
-module.exports = require('../../modules/$.core').Reflect.getOwnPropertyDescriptor;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/reflect/get-prototype-of.js b/node_modules/core-js/library/fn/reflect/get-prototype-of.js
deleted file mode 100644
index 2ff331a..0000000
--- a/node_modules/core-js/library/fn/reflect/get-prototype-of.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.get-prototype-of');
-module.exports = require('../../modules/$.core').Reflect.getPrototypeOf;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/reflect/get.js b/node_modules/core-js/library/fn/reflect/get.js
deleted file mode 100644
index 266508c..0000000
--- a/node_modules/core-js/library/fn/reflect/get.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.get');
-module.exports = require('../../modules/$.core').Reflect.get;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/reflect/has.js b/node_modules/core-js/library/fn/reflect/has.js
deleted file mode 100644
index db14fa1..0000000
--- a/node_modules/core-js/library/fn/reflect/has.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.has');
-module.exports = require('../../modules/$.core').Reflect.has;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/reflect/index.js b/node_modules/core-js/library/fn/reflect/index.js
deleted file mode 100644
index 5b21665..0000000
--- a/node_modules/core-js/library/fn/reflect/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-require('../../modules/es6.reflect.apply');
-require('../../modules/es6.reflect.construct');
-require('../../modules/es6.reflect.define-property');
-require('../../modules/es6.reflect.delete-property');
-require('../../modules/es6.reflect.enumerate');
-require('../../modules/es6.reflect.get');
-require('../../modules/es6.reflect.get-own-property-descriptor');
-require('../../modules/es6.reflect.get-prototype-of');
-require('../../modules/es6.reflect.has');
-require('../../modules/es6.reflect.is-extensible');
-require('../../modules/es6.reflect.own-keys');
-require('../../modules/es6.reflect.prevent-extensions');
-require('../../modules/es6.reflect.set');
-require('../../modules/es6.reflect.set-prototype-of');
-module.exports = require('../../modules/$.core').Reflect;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/reflect/is-extensible.js b/node_modules/core-js/library/fn/reflect/is-extensible.js
deleted file mode 100644
index f0329e2..0000000
--- a/node_modules/core-js/library/fn/reflect/is-extensible.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.is-extensible');
-module.exports = require('../../modules/$.core').Reflect.isExtensible;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/reflect/own-keys.js b/node_modules/core-js/library/fn/reflect/own-keys.js
deleted file mode 100644
index 6da1136..0000000
--- a/node_modules/core-js/library/fn/reflect/own-keys.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.own-keys');
-module.exports = require('../../modules/$.core').Reflect.ownKeys;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/reflect/prevent-extensions.js b/node_modules/core-js/library/fn/reflect/prevent-extensions.js
deleted file mode 100644
index 48fb5d5..0000000
--- a/node_modules/core-js/library/fn/reflect/prevent-extensions.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.prevent-extensions');
-module.exports = require('../../modules/$.core').Reflect.preventExtensions;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/reflect/set-prototype-of.js b/node_modules/core-js/library/fn/reflect/set-prototype-of.js
deleted file mode 100644
index 09cddeb..0000000
--- a/node_modules/core-js/library/fn/reflect/set-prototype-of.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.set-prototype-of');
-module.exports = require('../../modules/$.core').Reflect.setPrototypeOf;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/reflect/set.js b/node_modules/core-js/library/fn/reflect/set.js
deleted file mode 100644
index d1afec9..0000000
--- a/node_modules/core-js/library/fn/reflect/set.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.reflect.set');
-module.exports = require('../../modules/$.core').Reflect.set;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/regexp/escape.js b/node_modules/core-js/library/fn/regexp/escape.js
deleted file mode 100644
index 0c8d06b..0000000
--- a/node_modules/core-js/library/fn/regexp/escape.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es7.regexp.escape');
-module.exports = require('../../modules/$.core').RegExp.escape;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/regexp/index.js b/node_modules/core-js/library/fn/regexp/index.js
deleted file mode 100644
index 7d905d6..0000000
--- a/node_modules/core-js/library/fn/regexp/index.js
+++ /dev/null
@@ -1,8 +0,0 @@
-require('../../modules/es6.regexp.constructor');
-require('../../modules/es6.regexp.flags');
-require('../../modules/es6.regexp.match');
-require('../../modules/es6.regexp.replace');
-require('../../modules/es6.regexp.search');
-require('../../modules/es6.regexp.split');
-require('../../modules/es7.regexp.escape');
-module.exports = require('../../modules/$.core').RegExp;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/set-immediate.js b/node_modules/core-js/library/fn/set-immediate.js
deleted file mode 100644
index 2dd87df..0000000
--- a/node_modules/core-js/library/fn/set-immediate.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/web.immediate');
-module.exports = require('../modules/$.core').setImmediate;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/set-interval.js b/node_modules/core-js/library/fn/set-interval.js
deleted file mode 100644
index 4c7dd8e..0000000
--- a/node_modules/core-js/library/fn/set-interval.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/web.timers');
-module.exports = require('../modules/$.core').setInterval;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/set-timeout.js b/node_modules/core-js/library/fn/set-timeout.js
deleted file mode 100644
index 4e78619..0000000
--- a/node_modules/core-js/library/fn/set-timeout.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/web.timers');
-module.exports = require('../modules/$.core').setTimeout;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/set.js b/node_modules/core-js/library/fn/set.js
deleted file mode 100644
index 34615f1..0000000
--- a/node_modules/core-js/library/fn/set.js
+++ /dev/null
@@ -1,6 +0,0 @@
-require('../modules/es6.object.to-string');
-require('../modules/es6.string.iterator');
-require('../modules/web.dom.iterable');
-require('../modules/es6.set');
-require('../modules/es7.set.to-json');
-module.exports = require('../modules/$.core').Set;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/string/at.js b/node_modules/core-js/library/fn/string/at.js
deleted file mode 100644
index d59d2af..0000000
--- a/node_modules/core-js/library/fn/string/at.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es7.string.at');
-module.exports = require('../../modules/$.core').String.at;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/string/code-point-at.js b/node_modules/core-js/library/fn/string/code-point-at.js
deleted file mode 100644
index 74e933a..0000000
--- a/node_modules/core-js/library/fn/string/code-point-at.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.string.code-point-at');
-module.exports = require('../../modules/$.core').String.codePointAt;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/string/ends-with.js b/node_modules/core-js/library/fn/string/ends-with.js
deleted file mode 100644
index 7fe5cb7..0000000
--- a/node_modules/core-js/library/fn/string/ends-with.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.string.ends-with');
-module.exports = require('../../modules/$.core').String.endsWith;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/string/escape-html.js b/node_modules/core-js/library/fn/string/escape-html.js
deleted file mode 100644
index a6c62fa..0000000
--- a/node_modules/core-js/library/fn/string/escape-html.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/core.string.escape-html');
-module.exports = require('../../modules/$.core').String.escapeHTML;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/string/from-code-point.js b/node_modules/core-js/library/fn/string/from-code-point.js
deleted file mode 100644
index 0b42e7a..0000000
--- a/node_modules/core-js/library/fn/string/from-code-point.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.string.from-code-point');
-module.exports = require('../../modules/$.core').String.fromCodePoint;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/string/includes.js b/node_modules/core-js/library/fn/string/includes.js
deleted file mode 100644
index 441bc59..0000000
--- a/node_modules/core-js/library/fn/string/includes.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.string.includes');
-module.exports = require('../../modules/$.core').String.includes;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/string/index.js b/node_modules/core-js/library/fn/string/index.js
deleted file mode 100644
index 6be228c..0000000
--- a/node_modules/core-js/library/fn/string/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-require('../../modules/es6.string.from-code-point');
-require('../../modules/es6.string.raw');
-require('../../modules/es6.string.trim');
-require('../../modules/es6.string.iterator');
-require('../../modules/es6.string.code-point-at');
-require('../../modules/es6.string.ends-with');
-require('../../modules/es6.string.includes');
-require('../../modules/es6.string.repeat');
-require('../../modules/es6.string.starts-with');
-require('../../modules/es6.regexp.match');
-require('../../modules/es6.regexp.replace');
-require('../../modules/es6.regexp.search');
-require('../../modules/es6.regexp.split');
-require('../../modules/es7.string.at');
-require('../../modules/es7.string.pad-left');
-require('../../modules/es7.string.pad-right');
-require('../../modules/es7.string.trim-left');
-require('../../modules/es7.string.trim-right');
-require('../../modules/core.string.escape-html');
-require('../../modules/core.string.unescape-html');
-module.exports = require('../../modules/$.core').String;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/string/iterator.js b/node_modules/core-js/library/fn/string/iterator.js
deleted file mode 100644
index 1573364..0000000
--- a/node_modules/core-js/library/fn/string/iterator.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('../../modules/es6.string.iterator');
-var get = require('../../modules/$.iterators').String;
-module.exports = function(it){
- return get.call(it);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/string/pad-left.js b/node_modules/core-js/library/fn/string/pad-left.js
deleted file mode 100644
index e89419c..0000000
--- a/node_modules/core-js/library/fn/string/pad-left.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es7.string.pad-left');
-module.exports = require('../../modules/$.core').String.padLeft;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/string/pad-right.js b/node_modules/core-js/library/fn/string/pad-right.js
deleted file mode 100644
index a87a412..0000000
--- a/node_modules/core-js/library/fn/string/pad-right.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es7.string.pad-right');
-module.exports = require('../../modules/$.core').String.padRight;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/string/raw.js b/node_modules/core-js/library/fn/string/raw.js
deleted file mode 100644
index 0c04fd3..0000000
--- a/node_modules/core-js/library/fn/string/raw.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.string.raw');
-module.exports = require('../../modules/$.core').String.raw;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/string/repeat.js b/node_modules/core-js/library/fn/string/repeat.js
deleted file mode 100644
index 3610709..0000000
--- a/node_modules/core-js/library/fn/string/repeat.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.string.repeat');
-module.exports = require('../../modules/$.core').String.repeat;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/string/starts-with.js b/node_modules/core-js/library/fn/string/starts-with.js
deleted file mode 100644
index edee831..0000000
--- a/node_modules/core-js/library/fn/string/starts-with.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.string.starts-with');
-module.exports = require('../../modules/$.core').String.startsWith;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/string/trim-left.js b/node_modules/core-js/library/fn/string/trim-left.js
deleted file mode 100644
index 579ad39..0000000
--- a/node_modules/core-js/library/fn/string/trim-left.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es7.string.trim-left');
-module.exports = require('../../modules/$.core').String.trimLeft;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/string/trim-right.js b/node_modules/core-js/library/fn/string/trim-right.js
deleted file mode 100644
index 2168d94..0000000
--- a/node_modules/core-js/library/fn/string/trim-right.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es7.string.trim-right');
-module.exports = require('../../modules/$.core').String.trimRight;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/string/trim.js b/node_modules/core-js/library/fn/string/trim.js
deleted file mode 100644
index 61c6470..0000000
--- a/node_modules/core-js/library/fn/string/trim.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.string.trim');
-module.exports = require('../../modules/$.core').String.trim;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/string/unescape-html.js b/node_modules/core-js/library/fn/string/unescape-html.js
deleted file mode 100644
index de09d98..0000000
--- a/node_modules/core-js/library/fn/string/unescape-html.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/core.string.unescape-html');
-module.exports = require('../../modules/$.core').String.unescapeHTML;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/symbol/for.js b/node_modules/core-js/library/fn/symbol/for.js
deleted file mode 100644
index 1b05275..0000000
--- a/node_modules/core-js/library/fn/symbol/for.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.symbol');
-module.exports = require('../../modules/$.core').Symbol['for'];
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/symbol/has-instance.js b/node_modules/core-js/library/fn/symbol/has-instance.js
deleted file mode 100644
index b264f99..0000000
--- a/node_modules/core-js/library/fn/symbol/has-instance.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('../../modules/$.wks')('hasInstance');
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/symbol/index.js b/node_modules/core-js/library/fn/symbol/index.js
deleted file mode 100644
index c8f81d1..0000000
--- a/node_modules/core-js/library/fn/symbol/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-require('../../modules/es6.symbol');
-require('../../modules/es6.object.to-string');
-module.exports = require('../../modules/$.core').Symbol;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/symbol/is-concat-spreadable.js b/node_modules/core-js/library/fn/symbol/is-concat-spreadable.js
deleted file mode 100644
index 17d5a26..0000000
--- a/node_modules/core-js/library/fn/symbol/is-concat-spreadable.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('../../modules/$.wks')('isConcatSpreadable');
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/symbol/iterator.js b/node_modules/core-js/library/fn/symbol/iterator.js
deleted file mode 100644
index 7e1b798..0000000
--- a/node_modules/core-js/library/fn/symbol/iterator.js
+++ /dev/null
@@ -1,3 +0,0 @@
-require('../../modules/es6.string.iterator');
-require('../../modules/web.dom.iterable');
-module.exports = require('../../modules/$.wks')('iterator');
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/symbol/key-for.js b/node_modules/core-js/library/fn/symbol/key-for.js
deleted file mode 100644
index e62b1ab..0000000
--- a/node_modules/core-js/library/fn/symbol/key-for.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.symbol');
-module.exports = require('../../modules/$.core').Symbol.keyFor;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/symbol/match.js b/node_modules/core-js/library/fn/symbol/match.js
deleted file mode 100644
index d25c119..0000000
--- a/node_modules/core-js/library/fn/symbol/match.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.regexp.match');
-module.exports = require('../../modules/$.wks')('match');
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/symbol/replace.js b/node_modules/core-js/library/fn/symbol/replace.js
deleted file mode 100644
index ce3154b..0000000
--- a/node_modules/core-js/library/fn/symbol/replace.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.regexp.replace');
-module.exports = require('../../modules/$.wks')('replace');
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/symbol/search.js b/node_modules/core-js/library/fn/symbol/search.js
deleted file mode 100644
index ad781d4..0000000
--- a/node_modules/core-js/library/fn/symbol/search.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.regexp.search');
-module.exports = require('../../modules/$.wks')('search');
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/symbol/species.js b/node_modules/core-js/library/fn/symbol/species.js
deleted file mode 100644
index de937d7..0000000
--- a/node_modules/core-js/library/fn/symbol/species.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('../../modules/$.wks')('species');
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/symbol/split.js b/node_modules/core-js/library/fn/symbol/split.js
deleted file mode 100644
index 27c5166..0000000
--- a/node_modules/core-js/library/fn/symbol/split.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.regexp.split');
-module.exports = require('../../modules/$.wks')('split');
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/symbol/to-primitive.js b/node_modules/core-js/library/fn/symbol/to-primitive.js
deleted file mode 100644
index 129eb8b..0000000
--- a/node_modules/core-js/library/fn/symbol/to-primitive.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('../../modules/$.wks')('toPrimitive');
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/symbol/to-string-tag.js b/node_modules/core-js/library/fn/symbol/to-string-tag.js
deleted file mode 100644
index fc22c86..0000000
--- a/node_modules/core-js/library/fn/symbol/to-string-tag.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../../modules/es6.object.to-string');
-module.exports = require('../../modules/$.wks')('toStringTag');
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/symbol/unscopables.js b/node_modules/core-js/library/fn/symbol/unscopables.js
deleted file mode 100644
index 3993970..0000000
--- a/node_modules/core-js/library/fn/symbol/unscopables.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('../../modules/$.wks')('unscopables');
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/weak-map.js b/node_modules/core-js/library/fn/weak-map.js
deleted file mode 100644
index ebf46e6..0000000
--- a/node_modules/core-js/library/fn/weak-map.js
+++ /dev/null
@@ -1,4 +0,0 @@
-require('../modules/es6.object.to-string');
-require('../modules/web.dom.iterable');
-require('../modules/es6.weak-map');
-module.exports = require('../modules/$.core').WeakMap;
\ No newline at end of file
diff --git a/node_modules/core-js/library/fn/weak-set.js b/node_modules/core-js/library/fn/weak-set.js
deleted file mode 100644
index a058c8a..0000000
--- a/node_modules/core-js/library/fn/weak-set.js
+++ /dev/null
@@ -1,4 +0,0 @@
-require('../modules/es6.object.to-string');
-require('../modules/web.dom.iterable');
-require('../modules/es6.weak-set');
-module.exports = require('../modules/$.core').WeakSet;
\ No newline at end of file
diff --git a/node_modules/core-js/library/index.js b/node_modules/core-js/library/index.js
deleted file mode 100644
index 9acb1b4..0000000
--- a/node_modules/core-js/library/index.js
+++ /dev/null
@@ -1,16 +0,0 @@
-require('./shim');
-require('./modules/core.dict');
-require('./modules/core.get-iterator-method');
-require('./modules/core.get-iterator');
-require('./modules/core.is-iterable');
-require('./modules/core.delay');
-require('./modules/core.function.part');
-require('./modules/core.object.is-object');
-require('./modules/core.object.classof');
-require('./modules/core.object.define');
-require('./modules/core.object.make');
-require('./modules/core.number.iterator');
-require('./modules/core.string.escape-html');
-require('./modules/core.string.unescape-html');
-require('./modules/core.log');
-module.exports = require('./modules/$.core');
\ No newline at end of file
diff --git a/node_modules/core-js/library/js/array.js b/node_modules/core-js/library/js/array.js
deleted file mode 100644
index 99a53ad..0000000
--- a/node_modules/core-js/library/js/array.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/js.array.statics');
-module.exports = require('../modules/$.core').Array;
\ No newline at end of file
diff --git a/node_modules/core-js/library/js/index.js b/node_modules/core-js/library/js/index.js
deleted file mode 100644
index 47cb5ab..0000000
--- a/node_modules/core-js/library/js/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/js.array.statics');
-module.exports = require('../modules/$.core');
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.a-function.js b/node_modules/core-js/library/modules/$.a-function.js
deleted file mode 100644
index 8c35f45..0000000
--- a/node_modules/core-js/library/modules/$.a-function.js
+++ /dev/null
@@ -1,4 +0,0 @@
-module.exports = function(it){
- if(typeof it != 'function')throw TypeError(it + ' is not a function!');
- return it;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.add-to-unscopables.js b/node_modules/core-js/library/modules/$.add-to-unscopables.js
deleted file mode 100644
index faf87af..0000000
--- a/node_modules/core-js/library/modules/$.add-to-unscopables.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = function(){ /* empty */ };
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.an-object.js b/node_modules/core-js/library/modules/$.an-object.js
deleted file mode 100644
index e5c808f..0000000
--- a/node_modules/core-js/library/modules/$.an-object.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var isObject = require('./$.is-object');
-module.exports = function(it){
- if(!isObject(it))throw TypeError(it + ' is not an object!');
- return it;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.array-copy-within.js b/node_modules/core-js/library/modules/$.array-copy-within.js
deleted file mode 100644
index 5856306..0000000
--- a/node_modules/core-js/library/modules/$.array-copy-within.js
+++ /dev/null
@@ -1,27 +0,0 @@
-// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
-'use strict';
-var toObject = require('./$.to-object')
- , toIndex = require('./$.to-index')
- , toLength = require('./$.to-length');
-
-module.exports = [].copyWithin || function copyWithin(target/*= 0*/, start/*= 0, end = @length*/){
- var O = toObject(this)
- , len = toLength(O.length)
- , to = toIndex(target, len)
- , from = toIndex(start, len)
- , $$ = arguments
- , end = $$.length > 2 ? $$[2] : undefined
- , count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to)
- , inc = 1;
- if(from < to && to < from + count){
- inc = -1;
- from += count - 1;
- to += count - 1;
- }
- while(count-- > 0){
- if(from in O)O[to] = O[from];
- else delete O[to];
- to += inc;
- from += inc;
- } return O;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.array-fill.js b/node_modules/core-js/library/modules/$.array-fill.js
deleted file mode 100644
index 6b699df..0000000
--- a/node_modules/core-js/library/modules/$.array-fill.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
-'use strict';
-var toObject = require('./$.to-object')
- , toIndex = require('./$.to-index')
- , toLength = require('./$.to-length');
-module.exports = [].fill || function fill(value /*, start = 0, end = @length */){
- var O = toObject(this)
- , length = toLength(O.length)
- , $$ = arguments
- , $$len = $$.length
- , index = toIndex($$len > 1 ? $$[1] : undefined, length)
- , end = $$len > 2 ? $$[2] : undefined
- , endPos = end === undefined ? length : toIndex(end, length);
- while(endPos > index)O[index++] = value;
- return O;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.array-includes.js b/node_modules/core-js/library/modules/$.array-includes.js
deleted file mode 100644
index 9781fca..0000000
--- a/node_modules/core-js/library/modules/$.array-includes.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// false -> Array#indexOf
-// true -> Array#includes
-var toIObject = require('./$.to-iobject')
- , toLength = require('./$.to-length')
- , toIndex = require('./$.to-index');
-module.exports = function(IS_INCLUDES){
- return function($this, el, fromIndex){
- var O = toIObject($this)
- , length = toLength(O.length)
- , index = toIndex(fromIndex, length)
- , value;
- // Array#includes uses SameValueZero equality algorithm
- if(IS_INCLUDES && el != el)while(length > index){
- value = O[index++];
- if(value != value)return true;
- // Array#toIndex ignores holes, Array#includes - not
- } else for(;length > index; index++)if(IS_INCLUDES || index in O){
- if(O[index] === el)return IS_INCLUDES || index;
- } return !IS_INCLUDES && -1;
- };
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.array-methods.js b/node_modules/core-js/library/modules/$.array-methods.js
deleted file mode 100644
index e70b99f..0000000
--- a/node_modules/core-js/library/modules/$.array-methods.js
+++ /dev/null
@@ -1,43 +0,0 @@
-// 0 -> Array#forEach
-// 1 -> Array#map
-// 2 -> Array#filter
-// 3 -> Array#some
-// 4 -> Array#every
-// 5 -> Array#find
-// 6 -> Array#findIndex
-var ctx = require('./$.ctx')
- , IObject = require('./$.iobject')
- , toObject = require('./$.to-object')
- , toLength = require('./$.to-length')
- , asc = require('./$.array-species-create');
-module.exports = function(TYPE){
- var IS_MAP = TYPE == 1
- , IS_FILTER = TYPE == 2
- , IS_SOME = TYPE == 3
- , IS_EVERY = TYPE == 4
- , IS_FIND_INDEX = TYPE == 6
- , NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
- return function($this, callbackfn, that){
- var O = toObject($this)
- , self = IObject(O)
- , f = ctx(callbackfn, that, 3)
- , length = toLength(self.length)
- , index = 0
- , result = IS_MAP ? asc($this, length) : IS_FILTER ? asc($this, 0) : undefined
- , val, res;
- for(;length > index; index++)if(NO_HOLES || index in self){
- val = self[index];
- res = f(val, index, O);
- if(TYPE){
- if(IS_MAP)result[index] = res; // map
- else if(res)switch(TYPE){
- case 3: return true; // some
- case 5: return val; // find
- case 6: return index; // findIndex
- case 2: result.push(val); // filter
- } else if(IS_EVERY)return false; // every
- }
- }
- return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
- };
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.array-species-create.js b/node_modules/core-js/library/modules/$.array-species-create.js
deleted file mode 100644
index d809cae..0000000
--- a/node_modules/core-js/library/modules/$.array-species-create.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// 9.4.2.3 ArraySpeciesCreate(originalArray, length)
-var isObject = require('./$.is-object')
- , isArray = require('./$.is-array')
- , SPECIES = require('./$.wks')('species');
-module.exports = function(original, length){
- var C;
- if(isArray(original)){
- C = original.constructor;
- // cross-realm fallback
- if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined;
- if(isObject(C)){
- C = C[SPECIES];
- if(C === null)C = undefined;
- }
- } return new (C === undefined ? Array : C)(length);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.buffer.js b/node_modules/core-js/library/modules/$.buffer.js
deleted file mode 100644
index d1aae58..0000000
--- a/node_modules/core-js/library/modules/$.buffer.js
+++ /dev/null
@@ -1,288 +0,0 @@
-'use strict';
-var $ = require('./$')
- , global = require('./$.global')
- , $typed = require('./$.typed')
- , redefineAll = require('./$.redefine-all')
- , strictNew = require('./$.strict-new')
- , toInteger = require('./$.to-integer')
- , toLength = require('./$.to-length')
- , arrayFill = require('./$.array-fill')
- , $ArrayBuffer = global.ArrayBuffer
- , $DataView = global.DataView
- , Math = global.Math
- , parseInt = global.parseInt
- , abs = Math.abs
- , pow = Math.pow
- , min = Math.min
- , floor = Math.floor
- , log = Math.log
- , LN2 = Math.LN2
- , BYTE_LENGTH = 'byteLength';
-
-// pack / unpack based on
-// https://github.com/inexorabletash/polyfill/blob/v0.1.11/typedarray.js#L123-L264
-// TODO: simplify
-var signed = function(value, bits){
- var s = 32 - bits;
- return value << s >> s;
-};
-var unsigned = function(value, bits){
- var s = 32 - bits;
- return value << s >>> s;
-};
-var roundToEven = function(n){
- var w = floor(n)
- , f = n - w;
- return f < .5 ? w : f > .5 ? w + 1 : w % 2 ? w + 1 : w;
-};
-var packI8 = function(n){
- return [n & 0xff];
-};
-var unpackI8 = function(bytes){
- return signed(bytes[0], 8);
-};
-var packU8 = function(n){
- return [n & 0xff];
-};
-var unpackU8 = function(bytes){
- return unsigned(bytes[0], 8);
-};
-var packI16 = function(n){
- return [n & 0xff, n >> 8 & 0xff];
-};
-var unpackI16 = function(bytes){
- return signed(bytes[1] << 8 | bytes[0], 16);
-};
-var packU16 = function(n){
- return [n & 0xff, n >> 8 & 0xff];
-};
-var unpackU16 = function(bytes){
- return unsigned(bytes[1] << 8 | bytes[0], 16);
-};
-var packI32 = function(n){
- return [n & 0xff, n >> 8 & 0xff, n >> 16 & 0xff, n >> 24 & 0xff];
-};
-var unpackI32 = function(bytes){
- return signed(bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0], 32);
-};
-var packU32 = function(n){
- return [n & 0xff, n >> 8 & 0xff, n >> 16 & 0xff, n >> 24 & 0xff];
-};
-var unpackU32 = function(bytes){
- return unsigned(bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0], 32);
-};
-var packIEEE754 = function(v, ebits, fbits) {
- var bias = (1 << ebits - 1) - 1
- , s, e, f, i, bits, str, bytes;
- // Compute sign, exponent, fraction
- if (v !== v) {
- // NaN
- // http://dev.w3.org/2006/webapi/WebIDL/#es-type-mapping
- e = (1 << ebits) - 1;
- f = pow(2, fbits - 1);
- s = 0;
- } else if(v === Infinity || v === -Infinity){
- e = (1 << ebits) - 1;
- f = 0;
- s = v < 0 ? 1 : 0;
- } else if(v === 0){
- e = 0;
- f = 0;
- s = 1 / v === -Infinity ? 1 : 0;
- } else {
- s = v < 0;
- v = abs(v);
- if(v >= pow(2, 1 - bias)){
- e = min(floor(log(v) / LN2), 1023);
- var significand = v / pow(2, e);
- if(significand < 1){
- e -= 1;
- significand *= 2;
- }
- if(significand >= 2){
- e += 1;
- significand /= 2;
- }
- f = roundToEven(significand * pow(2, fbits));
- if(f / pow(2, fbits) >= 2){
- e = e + 1;
- f = 1;
- }
- if(e > bias){
- // Overflow
- e = (1 << ebits) - 1;
- f = 0;
- } else {
- // Normalized
- e = e + bias;
- f = f - pow(2, fbits);
- }
- } else {
- // Denormalized
- e = 0;
- f = roundToEven(v / pow(2, 1 - bias - fbits));
- }
- }
- // Pack sign, exponent, fraction
- bits = [];
- for(i = fbits; i; i -= 1){
- bits.push(f % 2 ? 1 : 0);
- f = floor(f / 2);
- }
- for(i = ebits; i; i -= 1){
- bits.push(e % 2 ? 1 : 0);
- e = floor(e / 2);
- }
- bits.push(s ? 1 : 0);
- bits.reverse();
- str = bits.join('');
- // Bits to bytes
- bytes = [];
- while(str.length){
- bytes.unshift(parseInt(str.slice(0, 8), 2));
- str = str.slice(8);
- }
- return bytes;
-};
-var unpackIEEE754 = function(bytes, ebits, fbits){
- var bits = []
- , i, j, b, str, bias, s, e, f;
- for(i = 0; i < bytes.length; ++i)for(b = bytes[i], j = 8; j; --j){
- bits.push(b % 2 ? 1 : 0);
- b = b >> 1;
- }
- bits.reverse();
- str = bits.join('');
- // Unpack sign, exponent, fraction
- bias = (1 << ebits - 1) - 1;
- s = parseInt(str.slice(0, 1), 2) ? -1 : 1;
- e = parseInt(str.slice(1, 1 + ebits), 2);
- f = parseInt(str.slice(1 + ebits), 2);
- // Produce number
- if(e === (1 << ebits) - 1)return f !== 0 ? NaN : s * Infinity;
- // Normalized
- else if(e > 0)return s * pow(2, e - bias) * (1 + f / pow(2, fbits));
- // Denormalized
- else if(f !== 0)return s * pow(2, -(bias - 1)) * (f / pow(2, fbits));
- return s < 0 ? -0 : 0;
-};
-var unpackF64 = function(b){
- return unpackIEEE754(b, 11, 52);
-};
-var packF64 = function(v){
- return packIEEE754(v, 11, 52);
-};
-var unpackF32 = function(b){
- return unpackIEEE754(b, 8, 23);
-};
-var packF32 = function(v){
- return packIEEE754(v, 8, 23);
-};
-
-var addGetter = function(C, key, internal){
- $.setDesc(C.prototype, key, {get: function(){ return this[internal]; }});
-};
-
-var get = function(view, bytes, index, conversion, isLittleEndian){
- var numIndex = +index
- , intIndex = toInteger(numIndex);
- if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view._l)throw RangeError();
- var store = view._b._b
- , start = intIndex + view._o
- , pack = store.slice(start, start + bytes);
- isLittleEndian || pack.reverse();
- return conversion(pack);
-};
-var set = function(view, bytes, index, conversion, value, isLittleEndian){
- var numIndex = +index
- , intIndex = toInteger(numIndex);
- if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view._l)throw RangeError();
- var store = view._b._b
- , start = intIndex + view._o
- , pack = conversion(+value);
- isLittleEndian || pack.reverse();
- for(var i = 0; i < bytes; i++)store[start + i] = pack[i];
-};
-
-if(!$typed.ABV){
- $ArrayBuffer = function ArrayBuffer(length){
- strictNew(this, $ArrayBuffer, 'ArrayBuffer');
- var numberLength = +length
- , byteLength = toLength(numberLength);
- if(numberLength != byteLength)throw RangeError();
- this._b = arrayFill.call(Array(byteLength), 0);
- this._l = byteLength;
- };
- addGetter($ArrayBuffer, BYTE_LENGTH, '_l');
-
- $DataView = function DataView(buffer, byteOffset, byteLength){
- strictNew(this, $DataView, 'DataView');
- if(!(buffer instanceof $ArrayBuffer))throw TypeError();
- var bufferLength = buffer._l
- , offset = toInteger(byteOffset);
- if(offset < 0 || offset > bufferLength)throw RangeError();
- byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);
- if(offset + byteLength > bufferLength)throw RangeError();
- this._b = buffer;
- this._o = offset;
- this._l = byteLength;
- };
- addGetter($DataView, 'buffer', '_b');
- addGetter($DataView, BYTE_LENGTH, '_l');
- addGetter($DataView, 'byteOffset', '_o');
- redefineAll($DataView.prototype, {
- getInt8: function getInt8(byteOffset){
- return get(this, 1, byteOffset, unpackI8);
- },
- getUint8: function getUint8(byteOffset){
- return get(this, 1, byteOffset, unpackU8);
- },
- getInt16: function getInt16(byteOffset /*, littleEndian */){
- return get(this, 2, byteOffset, unpackI16, arguments.length > 1 ? arguments[1] : undefined);
- },
- getUint16: function getUint16(byteOffset /*, littleEndian */){
- return get(this, 2, byteOffset, unpackU16, arguments.length > 1 ? arguments[1] : undefined);
- },
- getInt32: function getInt32(byteOffset /*, littleEndian */){
- return get(this, 4, byteOffset, unpackI32, arguments.length > 1 ? arguments[1] : undefined);
- },
- getUint32: function getUint32(byteOffset /*, littleEndian */){
- return get(this, 4, byteOffset, unpackU32, arguments.length > 1 ? arguments[1] : undefined);
- },
- getFloat32: function getFloat32(byteOffset /*, littleEndian */){
- return get(this, 4, byteOffset, unpackF32, arguments.length > 1 ? arguments[1] : undefined);
- },
- getFloat64: function getFloat64(byteOffset /*, littleEndian */){
- return get(this, 8, byteOffset, unpackF64, arguments.length > 1 ? arguments[1] : undefined);
- },
- setInt8: function setInt8(byteOffset, value){
- return set(this, 1, byteOffset, packI8, value);
- },
- setUint8: function setUint8(byteOffset, value){
- return set(this, 1, byteOffset, packU8, value);
- },
- setInt16: function setInt16(byteOffset, value /*, littleEndian */){
- return set(this, 2, byteOffset, packI16, value, arguments.length > 2 ? arguments[2] : undefined);
- },
- setUint16: function setUint16(byteOffset, value /*, littleEndian */){
- return set(this, 2, byteOffset, packU16, value, arguments.length > 2 ? arguments[2] : undefined);
- },
- setInt32: function setInt32(byteOffset, value /*, littleEndian */){
- return set(this, 4, byteOffset, packI32, value, arguments.length > 2 ? arguments[2] : undefined);
- },
- setUint32: function setUint32(byteOffset, value /*, littleEndian */){
- return set(this, 4, byteOffset, packU32, value, arguments.length > 2 ? arguments[2] : undefined);
- },
- setFloat32: function setFloat32(byteOffset, value /*, littleEndian */){
- return set(this, 4, byteOffset, packF32, value, arguments.length > 2 ? arguments[2] : undefined);
- },
- setFloat64: function setFloat64(byteOffset, value /*, littleEndian */){
- return set(this, 8, byteOffset, packF64, value, arguments.length > 2 ? arguments[2] : undefined);
- }
- });
-}
-require('./$.hide')($DataView.prototype, $typed.VIEW, true);
-module.exports = {
- ArrayBuffer: $ArrayBuffer,
- DataView: $DataView
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.classof.js b/node_modules/core-js/library/modules/$.classof.js
deleted file mode 100644
index 905c61f..0000000
--- a/node_modules/core-js/library/modules/$.classof.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// getting tag from 19.1.3.6 Object.prototype.toString()
-var cof = require('./$.cof')
- , TAG = require('./$.wks')('toStringTag')
- // ES3 wrong here
- , ARG = cof(function(){ return arguments; }()) == 'Arguments';
-
-module.exports = function(it){
- var O, T, B;
- return it === undefined ? 'Undefined' : it === null ? 'Null'
- // @@toStringTag case
- : typeof (T = (O = Object(it))[TAG]) == 'string' ? T
- // builtinTag case
- : ARG ? cof(O)
- // ES3 arguments fallback
- : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.cof.js b/node_modules/core-js/library/modules/$.cof.js
deleted file mode 100644
index 1dd2779..0000000
--- a/node_modules/core-js/library/modules/$.cof.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var toString = {}.toString;
-
-module.exports = function(it){
- return toString.call(it).slice(8, -1);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.collection-strong.js b/node_modules/core-js/library/modules/$.collection-strong.js
deleted file mode 100644
index 54df55a..0000000
--- a/node_modules/core-js/library/modules/$.collection-strong.js
+++ /dev/null
@@ -1,159 +0,0 @@
-'use strict';
-var $ = require('./$')
- , hide = require('./$.hide')
- , redefineAll = require('./$.redefine-all')
- , ctx = require('./$.ctx')
- , strictNew = require('./$.strict-new')
- , defined = require('./$.defined')
- , forOf = require('./$.for-of')
- , $iterDefine = require('./$.iter-define')
- , step = require('./$.iter-step')
- , ID = require('./$.uid')('id')
- , $has = require('./$.has')
- , isObject = require('./$.is-object')
- , setSpecies = require('./$.set-species')
- , DESCRIPTORS = require('./$.descriptors')
- , isExtensible = Object.isExtensible || isObject
- , SIZE = DESCRIPTORS ? '_s' : 'size'
- , id = 0;
-
-var fastKey = function(it, create){
- // return primitive with prefix
- if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
- if(!$has(it, ID)){
- // can't set id to frozen object
- if(!isExtensible(it))return 'F';
- // not necessary to add id
- if(!create)return 'E';
- // add missing object id
- hide(it, ID, ++id);
- // return object id with prefix
- } return 'O' + it[ID];
-};
-
-var getEntry = function(that, key){
- // fast case
- var index = fastKey(key), entry;
- if(index !== 'F')return that._i[index];
- // frozen object case
- for(entry = that._f; entry; entry = entry.n){
- if(entry.k == key)return entry;
- }
-};
-
-module.exports = {
- getConstructor: function(wrapper, NAME, IS_MAP, ADDER){
- var C = wrapper(function(that, iterable){
- strictNew(that, C, NAME);
- that._i = $.create(null); // index
- that._f = undefined; // first entry
- that._l = undefined; // last entry
- that[SIZE] = 0; // size
- if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
- });
- redefineAll(C.prototype, {
- // 23.1.3.1 Map.prototype.clear()
- // 23.2.3.2 Set.prototype.clear()
- clear: function clear(){
- for(var that = this, data = that._i, entry = that._f; entry; entry = entry.n){
- entry.r = true;
- if(entry.p)entry.p = entry.p.n = undefined;
- delete data[entry.i];
- }
- that._f = that._l = undefined;
- that[SIZE] = 0;
- },
- // 23.1.3.3 Map.prototype.delete(key)
- // 23.2.3.4 Set.prototype.delete(value)
- 'delete': function(key){
- var that = this
- , entry = getEntry(that, key);
- if(entry){
- var next = entry.n
- , prev = entry.p;
- delete that._i[entry.i];
- entry.r = true;
- if(prev)prev.n = next;
- if(next)next.p = prev;
- if(that._f == entry)that._f = next;
- if(that._l == entry)that._l = prev;
- that[SIZE]--;
- } return !!entry;
- },
- // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
- // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
- forEach: function forEach(callbackfn /*, that = undefined */){
- var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3)
- , entry;
- while(entry = entry ? entry.n : this._f){
- f(entry.v, entry.k, this);
- // revert to the last existing entry
- while(entry && entry.r)entry = entry.p;
- }
- },
- // 23.1.3.7 Map.prototype.has(key)
- // 23.2.3.7 Set.prototype.has(value)
- has: function has(key){
- return !!getEntry(this, key);
- }
- });
- if(DESCRIPTORS)$.setDesc(C.prototype, 'size', {
- get: function(){
- return defined(this[SIZE]);
- }
- });
- return C;
- },
- def: function(that, key, value){
- var entry = getEntry(that, key)
- , prev, index;
- // change existing entry
- if(entry){
- entry.v = value;
- // create new entry
- } else {
- that._l = entry = {
- i: index = fastKey(key, true), // <- index
- k: key, // <- key
- v: value, // <- value
- p: prev = that._l, // <- previous entry
- n: undefined, // <- next entry
- r: false // <- removed
- };
- if(!that._f)that._f = entry;
- if(prev)prev.n = entry;
- that[SIZE]++;
- // add to index
- if(index !== 'F')that._i[index] = entry;
- } return that;
- },
- getEntry: getEntry,
- setStrong: function(C, NAME, IS_MAP){
- // add .keys, .values, .entries, [@@iterator]
- // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
- $iterDefine(C, NAME, function(iterated, kind){
- this._t = iterated; // target
- this._k = kind; // kind
- this._l = undefined; // previous
- }, function(){
- var that = this
- , kind = that._k
- , entry = that._l;
- // revert to the last existing entry
- while(entry && entry.r)entry = entry.p;
- // get next entry
- if(!that._t || !(that._l = entry = entry ? entry.n : that._t._f)){
- // or finish the iteration
- that._t = undefined;
- return step(1);
- }
- // return step by kind
- if(kind == 'keys' )return step(0, entry.k);
- if(kind == 'values')return step(0, entry.v);
- return step(0, [entry.k, entry.v]);
- }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true);
-
- // add [@@species], 23.1.2.2, 23.2.2.2
- setSpecies(NAME);
- }
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.collection-to-json.js b/node_modules/core-js/library/modules/$.collection-to-json.js
deleted file mode 100644
index 41f2e6e..0000000
--- a/node_modules/core-js/library/modules/$.collection-to-json.js
+++ /dev/null
@@ -1,11 +0,0 @@
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var forOf = require('./$.for-of')
- , classof = require('./$.classof');
-module.exports = function(NAME){
- return function toJSON(){
- if(classof(this) != NAME)throw TypeError(NAME + "#toJSON isn't generic");
- var arr = [];
- forOf(this, false, arr.push, arr);
- return arr;
- };
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.collection-weak.js b/node_modules/core-js/library/modules/$.collection-weak.js
deleted file mode 100644
index 384fb39..0000000
--- a/node_modules/core-js/library/modules/$.collection-weak.js
+++ /dev/null
@@ -1,86 +0,0 @@
-'use strict';
-var hide = require('./$.hide')
- , redefineAll = require('./$.redefine-all')
- , anObject = require('./$.an-object')
- , isObject = require('./$.is-object')
- , strictNew = require('./$.strict-new')
- , forOf = require('./$.for-of')
- , createArrayMethod = require('./$.array-methods')
- , $has = require('./$.has')
- , WEAK = require('./$.uid')('weak')
- , isExtensible = Object.isExtensible || isObject
- , arrayFind = createArrayMethod(5)
- , arrayFindIndex = createArrayMethod(6)
- , id = 0;
-
-// fallback for frozen keys
-var frozenStore = function(that){
- return that._l || (that._l = new FrozenStore);
-};
-var FrozenStore = function(){
- this.a = [];
-};
-var findFrozen = function(store, key){
- return arrayFind(store.a, function(it){
- return it[0] === key;
- });
-};
-FrozenStore.prototype = {
- get: function(key){
- var entry = findFrozen(this, key);
- if(entry)return entry[1];
- },
- has: function(key){
- return !!findFrozen(this, key);
- },
- set: function(key, value){
- var entry = findFrozen(this, key);
- if(entry)entry[1] = value;
- else this.a.push([key, value]);
- },
- 'delete': function(key){
- var index = arrayFindIndex(this.a, function(it){
- return it[0] === key;
- });
- if(~index)this.a.splice(index, 1);
- return !!~index;
- }
-};
-
-module.exports = {
- getConstructor: function(wrapper, NAME, IS_MAP, ADDER){
- var C = wrapper(function(that, iterable){
- strictNew(that, C, NAME);
- that._i = id++; // collection id
- that._l = undefined; // leak store for frozen objects
- if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
- });
- redefineAll(C.prototype, {
- // 23.3.3.2 WeakMap.prototype.delete(key)
- // 23.4.3.3 WeakSet.prototype.delete(value)
- 'delete': function(key){
- if(!isObject(key))return false;
- if(!isExtensible(key))return frozenStore(this)['delete'](key);
- return $has(key, WEAK) && $has(key[WEAK], this._i) && delete key[WEAK][this._i];
- },
- // 23.3.3.4 WeakMap.prototype.has(key)
- // 23.4.3.4 WeakSet.prototype.has(value)
- has: function has(key){
- if(!isObject(key))return false;
- if(!isExtensible(key))return frozenStore(this).has(key);
- return $has(key, WEAK) && $has(key[WEAK], this._i);
- }
- });
- return C;
- },
- def: function(that, key, value){
- if(!isExtensible(anObject(key))){
- frozenStore(that).set(key, value);
- } else {
- $has(key, WEAK) || hide(key, WEAK, {});
- key[WEAK][that._i] = value;
- } return that;
- },
- frozenStore: frozenStore,
- WEAK: WEAK
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.collection.js b/node_modules/core-js/library/modules/$.collection.js
deleted file mode 100644
index 9d234d1..0000000
--- a/node_modules/core-js/library/modules/$.collection.js
+++ /dev/null
@@ -1,55 +0,0 @@
-'use strict';
-var $ = require('./$')
- , global = require('./$.global')
- , $export = require('./$.export')
- , fails = require('./$.fails')
- , hide = require('./$.hide')
- , redefineAll = require('./$.redefine-all')
- , forOf = require('./$.for-of')
- , strictNew = require('./$.strict-new')
- , isObject = require('./$.is-object')
- , setToStringTag = require('./$.set-to-string-tag')
- , DESCRIPTORS = require('./$.descriptors');
-
-module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){
- var Base = global[NAME]
- , C = Base
- , ADDER = IS_MAP ? 'set' : 'add'
- , proto = C && C.prototype
- , O = {};
- if(!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){
- new C().entries().next();
- }))){
- // create collection constructor
- C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
- redefineAll(C.prototype, methods);
- } else {
- C = wrapper(function(target, iterable){
- strictNew(target, C, NAME);
- target._c = new Base;
- if(iterable != undefined)forOf(iterable, IS_MAP, target[ADDER], target);
- });
- $.each.call('add,clear,delete,forEach,get,has,set,keys,values,entries'.split(','),function(KEY){
- var IS_ADDER = KEY == 'add' || KEY == 'set';
- if(KEY in proto && !(IS_WEAK && KEY == 'clear'))hide(C.prototype, KEY, function(a, b){
- if(!IS_ADDER && IS_WEAK && !isObject(a))return KEY == 'get' ? undefined : false;
- var result = this._c[KEY](a === 0 ? 0 : a, b);
- return IS_ADDER ? this : result;
- });
- });
- if('size' in proto)$.setDesc(C.prototype, 'size', {
- get: function(){
- return this._c.size;
- }
- });
- }
-
- setToStringTag(C, NAME);
-
- O[NAME] = C;
- $export($export.G + $export.W + $export.F, O);
-
- if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP);
-
- return C;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.core.js b/node_modules/core-js/library/modules/$.core.js
deleted file mode 100644
index 4e2a0b5..0000000
--- a/node_modules/core-js/library/modules/$.core.js
+++ /dev/null
@@ -1,2 +0,0 @@
-var core = module.exports = {version: '1.2.6'};
-if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.ctx.js b/node_modules/core-js/library/modules/$.ctx.js
deleted file mode 100644
index d233574..0000000
--- a/node_modules/core-js/library/modules/$.ctx.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// optional / simple context binding
-var aFunction = require('./$.a-function');
-module.exports = function(fn, that, length){
- aFunction(fn);
- if(that === undefined)return fn;
- switch(length){
- case 1: return function(a){
- return fn.call(that, a);
- };
- case 2: return function(a, b){
- return fn.call(that, a, b);
- };
- case 3: return function(a, b, c){
- return fn.call(that, a, b, c);
- };
- }
- return function(/* ...args */){
- return fn.apply(that, arguments);
- };
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.defined.js b/node_modules/core-js/library/modules/$.defined.js
deleted file mode 100644
index cfa476b..0000000
--- a/node_modules/core-js/library/modules/$.defined.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// 7.2.1 RequireObjectCoercible(argument)
-module.exports = function(it){
- if(it == undefined)throw TypeError("Can't call method on " + it);
- return it;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.descriptors.js b/node_modules/core-js/library/modules/$.descriptors.js
deleted file mode 100644
index 9cd47b7..0000000
--- a/node_modules/core-js/library/modules/$.descriptors.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// Thank's IE8 for his funny defineProperty
-module.exports = !require('./$.fails')(function(){
- return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.dom-create.js b/node_modules/core-js/library/modules/$.dom-create.js
deleted file mode 100644
index 240842d..0000000
--- a/node_modules/core-js/library/modules/$.dom-create.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var isObject = require('./$.is-object')
- , document = require('./$.global').document
- // in old IE typeof document.createElement is 'object'
- , is = isObject(document) && isObject(document.createElement);
-module.exports = function(it){
- return is ? document.createElement(it) : {};
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.enum-keys.js b/node_modules/core-js/library/modules/$.enum-keys.js
deleted file mode 100644
index 06f7de7..0000000
--- a/node_modules/core-js/library/modules/$.enum-keys.js
+++ /dev/null
@@ -1,14 +0,0 @@
-// all enumerable object keys, includes symbols
-var $ = require('./$');
-module.exports = function(it){
- var keys = $.getKeys(it)
- , getSymbols = $.getSymbols;
- if(getSymbols){
- var symbols = getSymbols(it)
- , isEnum = $.isEnum
- , i = 0
- , key;
- while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))keys.push(key);
- }
- return keys;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.export.js b/node_modules/core-js/library/modules/$.export.js
deleted file mode 100644
index 507b5a2..0000000
--- a/node_modules/core-js/library/modules/$.export.js
+++ /dev/null
@@ -1,46 +0,0 @@
-var global = require('./$.global')
- , core = require('./$.core')
- , ctx = require('./$.ctx')
- , PROTOTYPE = 'prototype';
-
-var $export = function(type, name, source){
- var IS_FORCED = type & $export.F
- , IS_GLOBAL = type & $export.G
- , IS_STATIC = type & $export.S
- , IS_PROTO = type & $export.P
- , IS_BIND = type & $export.B
- , IS_WRAP = type & $export.W
- , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})
- , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]
- , key, own, out;
- if(IS_GLOBAL)source = name;
- for(key in source){
- // contains in native
- own = !IS_FORCED && target && key in target;
- if(own && key in exports)continue;
- // export native or passed
- out = own ? target[key] : source[key];
- // prevent global pollution for namespaces
- exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
- // bind timers to global for call from export context
- : IS_BIND && own ? ctx(out, global)
- // wrap global constructors for prevent change them in library
- : IS_WRAP && target[key] == out ? (function(C){
- var F = function(param){
- return this instanceof C ? new C(param) : C(param);
- };
- F[PROTOTYPE] = C[PROTOTYPE];
- return F;
- // make static versions for prototype methods
- })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
- if(IS_PROTO)(exports[PROTOTYPE] || (exports[PROTOTYPE] = {}))[key] = out;
- }
-};
-// type bitmap
-$export.F = 1; // forced
-$export.G = 2; // global
-$export.S = 4; // static
-$export.P = 8; // proto
-$export.B = 16; // bind
-$export.W = 32; // wrap
-module.exports = $export;
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.fails-is-regexp.js b/node_modules/core-js/library/modules/$.fails-is-regexp.js
deleted file mode 100644
index c459a77..0000000
--- a/node_modules/core-js/library/modules/$.fails-is-regexp.js
+++ /dev/null
@@ -1,12 +0,0 @@
-var MATCH = require('./$.wks')('match');
-module.exports = function(KEY){
- var re = /./;
- try {
- '/./'[KEY](re);
- } catch(e){
- try {
- re[MATCH] = false;
- return !'/./'[KEY](re);
- } catch(f){ /* empty */ }
- } return true;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.fails.js b/node_modules/core-js/library/modules/$.fails.js
deleted file mode 100644
index 184e5ea..0000000
--- a/node_modules/core-js/library/modules/$.fails.js
+++ /dev/null
@@ -1,7 +0,0 @@
-module.exports = function(exec){
- try {
- return !!exec();
- } catch(e){
- return true;
- }
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.fix-re-wks.js b/node_modules/core-js/library/modules/$.fix-re-wks.js
deleted file mode 100644
index 3597a89..0000000
--- a/node_modules/core-js/library/modules/$.fix-re-wks.js
+++ /dev/null
@@ -1,26 +0,0 @@
-'use strict';
-var hide = require('./$.hide')
- , redefine = require('./$.redefine')
- , fails = require('./$.fails')
- , defined = require('./$.defined')
- , wks = require('./$.wks');
-
-module.exports = function(KEY, length, exec){
- var SYMBOL = wks(KEY)
- , original = ''[KEY];
- if(fails(function(){
- var O = {};
- O[SYMBOL] = function(){ return 7; };
- return ''[KEY](O) != 7;
- })){
- redefine(String.prototype, KEY, exec(defined, SYMBOL, original));
- hide(RegExp.prototype, SYMBOL, length == 2
- // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
- // 21.2.5.11 RegExp.prototype[@@split](string, limit)
- ? function(string, arg){ return original.call(string, this, arg); }
- // 21.2.5.6 RegExp.prototype[@@match](string)
- // 21.2.5.9 RegExp.prototype[@@search](string)
- : function(string){ return original.call(string, this); }
- );
- }
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.flags.js b/node_modules/core-js/library/modules/$.flags.js
deleted file mode 100644
index fc20e5d..0000000
--- a/node_modules/core-js/library/modules/$.flags.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-// 21.2.5.3 get RegExp.prototype.flags
-var anObject = require('./$.an-object');
-module.exports = function(){
- var that = anObject(this)
- , result = '';
- if(that.global) result += 'g';
- if(that.ignoreCase) result += 'i';
- if(that.multiline) result += 'm';
- if(that.unicode) result += 'u';
- if(that.sticky) result += 'y';
- return result;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.for-of.js b/node_modules/core-js/library/modules/$.for-of.js
deleted file mode 100644
index 0f2d8e9..0000000
--- a/node_modules/core-js/library/modules/$.for-of.js
+++ /dev/null
@@ -1,19 +0,0 @@
-var ctx = require('./$.ctx')
- , call = require('./$.iter-call')
- , isArrayIter = require('./$.is-array-iter')
- , anObject = require('./$.an-object')
- , toLength = require('./$.to-length')
- , getIterFn = require('./core.get-iterator-method');
-module.exports = function(iterable, entries, fn, that){
- var iterFn = getIterFn(iterable)
- , f = ctx(fn, that, entries ? 2 : 1)
- , index = 0
- , length, step, iterator;
- if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!');
- // fast case for arrays with default iterator
- if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){
- entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
- } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){
- call(iterator, f, step.value, entries);
- }
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.get-names.js b/node_modules/core-js/library/modules/$.get-names.js
deleted file mode 100644
index 2820971..0000000
--- a/node_modules/core-js/library/modules/$.get-names.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
-var toIObject = require('./$.to-iobject')
- , getNames = require('./$').getNames
- , toString = {}.toString;
-
-var windowNames = typeof window == 'object' && Object.getOwnPropertyNames
- ? Object.getOwnPropertyNames(window) : [];
-
-var getWindowNames = function(it){
- try {
- return getNames(it);
- } catch(e){
- return windowNames.slice();
- }
-};
-
-module.exports.get = function getOwnPropertyNames(it){
- if(windowNames && toString.call(it) == '[object Window]')return getWindowNames(it);
- return getNames(toIObject(it));
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.global.js b/node_modules/core-js/library/modules/$.global.js
deleted file mode 100644
index df6efb4..0000000
--- a/node_modules/core-js/library/modules/$.global.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-var global = module.exports = typeof window != 'undefined' && window.Math == Math
- ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();
-if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.has.js b/node_modules/core-js/library/modules/$.has.js
deleted file mode 100644
index 870b40e..0000000
--- a/node_modules/core-js/library/modules/$.has.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var hasOwnProperty = {}.hasOwnProperty;
-module.exports = function(it, key){
- return hasOwnProperty.call(it, key);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.hide.js b/node_modules/core-js/library/modules/$.hide.js
deleted file mode 100644
index ba025d8..0000000
--- a/node_modules/core-js/library/modules/$.hide.js
+++ /dev/null
@@ -1,8 +0,0 @@
-var $ = require('./$')
- , createDesc = require('./$.property-desc');
-module.exports = require('./$.descriptors') ? function(object, key, value){
- return $.setDesc(object, key, createDesc(1, value));
-} : function(object, key, value){
- object[key] = value;
- return object;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.html.js b/node_modules/core-js/library/modules/$.html.js
deleted file mode 100644
index 499bd2f..0000000
--- a/node_modules/core-js/library/modules/$.html.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('./$.global').document && document.documentElement;
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.invoke.js b/node_modules/core-js/library/modules/$.invoke.js
deleted file mode 100644
index 08e307f..0000000
--- a/node_modules/core-js/library/modules/$.invoke.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// fast apply, http://jsperf.lnkit.com/fast-apply/5
-module.exports = function(fn, args, that){
- var un = that === undefined;
- switch(args.length){
- case 0: return un ? fn()
- : fn.call(that);
- case 1: return un ? fn(args[0])
- : fn.call(that, args[0]);
- case 2: return un ? fn(args[0], args[1])
- : fn.call(that, args[0], args[1]);
- case 3: return un ? fn(args[0], args[1], args[2])
- : fn.call(that, args[0], args[1], args[2]);
- case 4: return un ? fn(args[0], args[1], args[2], args[3])
- : fn.call(that, args[0], args[1], args[2], args[3]);
- } return fn.apply(that, args);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.iobject.js b/node_modules/core-js/library/modules/$.iobject.js
deleted file mode 100644
index cea38fa..0000000
--- a/node_modules/core-js/library/modules/$.iobject.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// fallback for non-array-like ES3 and non-enumerable old V8 strings
-var cof = require('./$.cof');
-module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){
- return cof(it) == 'String' ? it.split('') : Object(it);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.is-array-iter.js b/node_modules/core-js/library/modules/$.is-array-iter.js
deleted file mode 100644
index b6ef701..0000000
--- a/node_modules/core-js/library/modules/$.is-array-iter.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// check on default Array iterator
-var Iterators = require('./$.iterators')
- , ITERATOR = require('./$.wks')('iterator')
- , ArrayProto = Array.prototype;
-
-module.exports = function(it){
- return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.is-array.js b/node_modules/core-js/library/modules/$.is-array.js
deleted file mode 100644
index 8168b21..0000000
--- a/node_modules/core-js/library/modules/$.is-array.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// 7.2.2 IsArray(argument)
-var cof = require('./$.cof');
-module.exports = Array.isArray || function(arg){
- return cof(arg) == 'Array';
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.is-integer.js b/node_modules/core-js/library/modules/$.is-integer.js
deleted file mode 100644
index b51e131..0000000
--- a/node_modules/core-js/library/modules/$.is-integer.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// 20.1.2.3 Number.isInteger(number)
-var isObject = require('./$.is-object')
- , floor = Math.floor;
-module.exports = function isInteger(it){
- return !isObject(it) && isFinite(it) && floor(it) === it;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.is-object.js b/node_modules/core-js/library/modules/$.is-object.js
deleted file mode 100644
index ee694be..0000000
--- a/node_modules/core-js/library/modules/$.is-object.js
+++ /dev/null
@@ -1,3 +0,0 @@
-module.exports = function(it){
- return typeof it === 'object' ? it !== null : typeof it === 'function';
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.is-regexp.js b/node_modules/core-js/library/modules/$.is-regexp.js
deleted file mode 100644
index 9ea2aad..0000000
--- a/node_modules/core-js/library/modules/$.is-regexp.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 7.2.8 IsRegExp(argument)
-var isObject = require('./$.is-object')
- , cof = require('./$.cof')
- , MATCH = require('./$.wks')('match');
-module.exports = function(it){
- var isRegExp;
- return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.iter-call.js b/node_modules/core-js/library/modules/$.iter-call.js
deleted file mode 100644
index e6b9d1b..0000000
--- a/node_modules/core-js/library/modules/$.iter-call.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// call something on iterator step with safe closing on error
-var anObject = require('./$.an-object');
-module.exports = function(iterator, fn, value, entries){
- try {
- return entries ? fn(anObject(value)[0], value[1]) : fn(value);
- // 7.4.6 IteratorClose(iterator, completion)
- } catch(e){
- var ret = iterator['return'];
- if(ret !== undefined)anObject(ret.call(iterator));
- throw e;
- }
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.iter-create.js b/node_modules/core-js/library/modules/$.iter-create.js
deleted file mode 100644
index adebcf9..0000000
--- a/node_modules/core-js/library/modules/$.iter-create.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-var $ = require('./$')
- , descriptor = require('./$.property-desc')
- , setToStringTag = require('./$.set-to-string-tag')
- , IteratorPrototype = {};
-
-// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
-require('./$.hide')(IteratorPrototype, require('./$.wks')('iterator'), function(){ return this; });
-
-module.exports = function(Constructor, NAME, next){
- Constructor.prototype = $.create(IteratorPrototype, {next: descriptor(1, next)});
- setToStringTag(Constructor, NAME + ' Iterator');
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.iter-define.js b/node_modules/core-js/library/modules/$.iter-define.js
deleted file mode 100644
index 630cdf3..0000000
--- a/node_modules/core-js/library/modules/$.iter-define.js
+++ /dev/null
@@ -1,66 +0,0 @@
-'use strict';
-var LIBRARY = require('./$.library')
- , $export = require('./$.export')
- , redefine = require('./$.redefine')
- , hide = require('./$.hide')
- , has = require('./$.has')
- , Iterators = require('./$.iterators')
- , $iterCreate = require('./$.iter-create')
- , setToStringTag = require('./$.set-to-string-tag')
- , getProto = require('./$').getProto
- , ITERATOR = require('./$.wks')('iterator')
- , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`
- , FF_ITERATOR = '@@iterator'
- , KEYS = 'keys'
- , VALUES = 'values';
-
-var returnThis = function(){ return this; };
-
-module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){
- $iterCreate(Constructor, NAME, next);
- var getMethod = function(kind){
- if(!BUGGY && kind in proto)return proto[kind];
- switch(kind){
- case KEYS: return function keys(){ return new Constructor(this, kind); };
- case VALUES: return function values(){ return new Constructor(this, kind); };
- } return function entries(){ return new Constructor(this, kind); };
- };
- var TAG = NAME + ' Iterator'
- , DEF_VALUES = DEFAULT == VALUES
- , VALUES_BUG = false
- , proto = Base.prototype
- , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]
- , $default = $native || getMethod(DEFAULT)
- , methods, key;
- // Fix native
- if($native){
- var IteratorPrototype = getProto($default.call(new Base));
- // Set @@toStringTag to native iterators
- setToStringTag(IteratorPrototype, TAG, true);
- // FF fix
- if(!LIBRARY && has(proto, FF_ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);
- // fix Array#{values, @@iterator}.name in V8 / FF
- if(DEF_VALUES && $native.name !== VALUES){
- VALUES_BUG = true;
- $default = function values(){ return $native.call(this); };
- }
- }
- // Define iterator
- if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){
- hide(proto, ITERATOR, $default);
- }
- // Plug for library
- Iterators[NAME] = $default;
- Iterators[TAG] = returnThis;
- if(DEFAULT){
- methods = {
- values: DEF_VALUES ? $default : getMethod(VALUES),
- keys: IS_SET ? $default : getMethod(KEYS),
- entries: !DEF_VALUES ? $default : getMethod('entries')
- };
- if(FORCED)for(key in methods){
- if(!(key in proto))redefine(proto, key, methods[key]);
- } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
- }
- return methods;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.iter-detect.js b/node_modules/core-js/library/modules/$.iter-detect.js
deleted file mode 100644
index 3aa84d4..0000000
--- a/node_modules/core-js/library/modules/$.iter-detect.js
+++ /dev/null
@@ -1,21 +0,0 @@
-var ITERATOR = require('./$.wks')('iterator')
- , SAFE_CLOSING = false;
-
-try {
- var riter = [7][ITERATOR]();
- riter['return'] = function(){ SAFE_CLOSING = true; };
- Array.from(riter, function(){ throw 2; });
-} catch(e){ /* empty */ }
-
-module.exports = function(exec, skipClosing){
- if(!skipClosing && !SAFE_CLOSING)return false;
- var safe = false;
- try {
- var arr = [7]
- , iter = arr[ITERATOR]();
- iter.next = function(){ safe = true; };
- arr[ITERATOR] = function(){ return iter; };
- exec(arr);
- } catch(e){ /* empty */ }
- return safe;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.iter-step.js b/node_modules/core-js/library/modules/$.iter-step.js
deleted file mode 100644
index 6ff0dc5..0000000
--- a/node_modules/core-js/library/modules/$.iter-step.js
+++ /dev/null
@@ -1,3 +0,0 @@
-module.exports = function(done, value){
- return {value: value, done: !!done};
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.iterators.js b/node_modules/core-js/library/modules/$.iterators.js
deleted file mode 100644
index a099545..0000000
--- a/node_modules/core-js/library/modules/$.iterators.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = {};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.js b/node_modules/core-js/library/modules/$.js
deleted file mode 100644
index 053bae4..0000000
--- a/node_modules/core-js/library/modules/$.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var $Object = Object;
-module.exports = {
- create: $Object.create,
- getProto: $Object.getPrototypeOf,
- isEnum: {}.propertyIsEnumerable,
- getDesc: $Object.getOwnPropertyDescriptor,
- setDesc: $Object.defineProperty,
- setDescs: $Object.defineProperties,
- getKeys: $Object.keys,
- getNames: $Object.getOwnPropertyNames,
- getSymbols: $Object.getOwnPropertySymbols,
- each: [].forEach
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.keyof.js b/node_modules/core-js/library/modules/$.keyof.js
deleted file mode 100644
index 09d183a..0000000
--- a/node_modules/core-js/library/modules/$.keyof.js
+++ /dev/null
@@ -1,10 +0,0 @@
-var $ = require('./$')
- , toIObject = require('./$.to-iobject');
-module.exports = function(object, el){
- var O = toIObject(object)
- , keys = $.getKeys(O)
- , length = keys.length
- , index = 0
- , key;
- while(length > index)if(O[key = keys[index++]] === el)return key;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.library.js b/node_modules/core-js/library/modules/$.library.js
deleted file mode 100644
index 73f737c..0000000
--- a/node_modules/core-js/library/modules/$.library.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = true;
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.math-expm1.js b/node_modules/core-js/library/modules/$.math-expm1.js
deleted file mode 100644
index 9d91be9..0000000
--- a/node_modules/core-js/library/modules/$.math-expm1.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 20.2.2.14 Math.expm1(x)
-module.exports = Math.expm1 || function expm1(x){
- return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.math-log1p.js b/node_modules/core-js/library/modules/$.math-log1p.js
deleted file mode 100644
index a92bf46..0000000
--- a/node_modules/core-js/library/modules/$.math-log1p.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 20.2.2.20 Math.log1p(x)
-module.exports = Math.log1p || function log1p(x){
- return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.math-sign.js b/node_modules/core-js/library/modules/$.math-sign.js
deleted file mode 100644
index a4848df..0000000
--- a/node_modules/core-js/library/modules/$.math-sign.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 20.2.2.28 Math.sign(x)
-module.exports = Math.sign || function sign(x){
- return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.microtask.js b/node_modules/core-js/library/modules/$.microtask.js
deleted file mode 100644
index 1f9ebeb..0000000
--- a/node_modules/core-js/library/modules/$.microtask.js
+++ /dev/null
@@ -1,64 +0,0 @@
-var global = require('./$.global')
- , macrotask = require('./$.task').set
- , Observer = global.MutationObserver || global.WebKitMutationObserver
- , process = global.process
- , Promise = global.Promise
- , isNode = require('./$.cof')(process) == 'process'
- , head, last, notify;
-
-var flush = function(){
- var parent, domain, fn;
- if(isNode && (parent = process.domain)){
- process.domain = null;
- parent.exit();
- }
- while(head){
- domain = head.domain;
- fn = head.fn;
- if(domain)domain.enter();
- fn(); // <- currently we use it only for Promise - try / catch not required
- if(domain)domain.exit();
- head = head.next;
- } last = undefined;
- if(parent)parent.enter();
-};
-
-// Node.js
-if(isNode){
- notify = function(){
- process.nextTick(flush);
- };
-// browsers with MutationObserver
-} else if(Observer){
- var toggle = 1
- , node = document.createTextNode('');
- new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new
- notify = function(){
- node.data = toggle = -toggle;
- };
-// environments with maybe non-completely correct, but existent Promise
-} else if(Promise && Promise.resolve){
- notify = function(){
- Promise.resolve().then(flush);
- };
-// for other environments - macrotask based on:
-// - setImmediate
-// - MessageChannel
-// - window.postMessag
-// - onreadystatechange
-// - setTimeout
-} else {
- notify = function(){
- // strange IE + webpack dev server bug - use .call(global)
- macrotask.call(global, flush);
- };
-}
-
-module.exports = function asap(fn){
- var task = {fn: fn, next: undefined, domain: isNode && process.domain};
- if(last)last.next = task;
- if(!head){
- head = task;
- notify();
- } last = task;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.object-assign.js b/node_modules/core-js/library/modules/$.object-assign.js
deleted file mode 100644
index 5ce43f7..0000000
--- a/node_modules/core-js/library/modules/$.object-assign.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// 19.1.2.1 Object.assign(target, source, ...)
-var $ = require('./$')
- , toObject = require('./$.to-object')
- , IObject = require('./$.iobject');
-
-// should work with symbols and should have deterministic property order (V8 bug)
-module.exports = require('./$.fails')(function(){
- var a = Object.assign
- , A = {}
- , B = {}
- , S = Symbol()
- , K = 'abcdefghijklmnopqrst';
- A[S] = 7;
- K.split('').forEach(function(k){ B[k] = k; });
- return a({}, A)[S] != 7 || Object.keys(a({}, B)).join('') != K;
-}) ? function assign(target, source){ // eslint-disable-line no-unused-vars
- var T = toObject(target)
- , $$ = arguments
- , $$len = $$.length
- , index = 1
- , getKeys = $.getKeys
- , getSymbols = $.getSymbols
- , isEnum = $.isEnum;
- while($$len > index){
- var S = IObject($$[index++])
- , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)
- , length = keys.length
- , j = 0
- , key;
- while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];
- }
- return T;
-} : Object.assign;
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.object-define.js b/node_modules/core-js/library/modules/$.object-define.js
deleted file mode 100644
index 2fff248..0000000
--- a/node_modules/core-js/library/modules/$.object-define.js
+++ /dev/null
@@ -1,11 +0,0 @@
-var $ = require('./$')
- , ownKeys = require('./$.own-keys')
- , toIObject = require('./$.to-iobject');
-
-module.exports = function define(target, mixin){
- var keys = ownKeys(toIObject(mixin))
- , length = keys.length
- , i = 0, key;
- while(length > i)$.setDesc(target, key = keys[i++], $.getDesc(mixin, key));
- return target;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.object-sap.js b/node_modules/core-js/library/modules/$.object-sap.js
deleted file mode 100644
index 5fa7288..0000000
--- a/node_modules/core-js/library/modules/$.object-sap.js
+++ /dev/null
@@ -1,10 +0,0 @@
-// most Object methods by ES6 should accept primitives
-var $export = require('./$.export')
- , core = require('./$.core')
- , fails = require('./$.fails');
-module.exports = function(KEY, exec){
- var fn = (core.Object || {})[KEY] || Object[KEY]
- , exp = {};
- exp[KEY] = exec(fn);
- $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.object-to-array.js b/node_modules/core-js/library/modules/$.object-to-array.js
deleted file mode 100644
index d46425b..0000000
--- a/node_modules/core-js/library/modules/$.object-to-array.js
+++ /dev/null
@@ -1,16 +0,0 @@
-var $ = require('./$')
- , toIObject = require('./$.to-iobject')
- , isEnum = $.isEnum;
-module.exports = function(isEntries){
- return function(it){
- var O = toIObject(it)
- , keys = $.getKeys(O)
- , length = keys.length
- , i = 0
- , result = []
- , key;
- while(length > i)if(isEnum.call(O, key = keys[i++])){
- result.push(isEntries ? [key, O[key]] : O[key]);
- } return result;
- };
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.own-keys.js b/node_modules/core-js/library/modules/$.own-keys.js
deleted file mode 100644
index 0218c4b..0000000
--- a/node_modules/core-js/library/modules/$.own-keys.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// all object keys, includes non-enumerable and symbols
-var $ = require('./$')
- , anObject = require('./$.an-object')
- , Reflect = require('./$.global').Reflect;
-module.exports = Reflect && Reflect.ownKeys || function ownKeys(it){
- var keys = $.getNames(anObject(it))
- , getSymbols = $.getSymbols;
- return getSymbols ? keys.concat(getSymbols(it)) : keys;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.partial.js b/node_modules/core-js/library/modules/$.partial.js
deleted file mode 100644
index 53f97aa..0000000
--- a/node_modules/core-js/library/modules/$.partial.js
+++ /dev/null
@@ -1,24 +0,0 @@
-'use strict';
-var path = require('./$.path')
- , invoke = require('./$.invoke')
- , aFunction = require('./$.a-function');
-module.exports = function(/* ...pargs */){
- var fn = aFunction(this)
- , length = arguments.length
- , pargs = Array(length)
- , i = 0
- , _ = path._
- , holder = false;
- while(length > i)if((pargs[i] = arguments[i++]) === _)holder = true;
- return function(/* ...args */){
- var that = this
- , $$ = arguments
- , $$len = $$.length
- , j = 0, k = 0, args;
- if(!holder && !$$len)return invoke(fn, pargs, that);
- args = pargs.slice();
- if(holder)for(;length > j; j++)if(args[j] === _)args[j] = $$[k++];
- while($$len > k)args.push($$[k++]);
- return invoke(fn, args, that);
- };
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.path.js b/node_modules/core-js/library/modules/$.path.js
deleted file mode 100644
index 27bb24b..0000000
--- a/node_modules/core-js/library/modules/$.path.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('./$.core');
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.property-desc.js b/node_modules/core-js/library/modules/$.property-desc.js
deleted file mode 100644
index e3f7ab2..0000000
--- a/node_modules/core-js/library/modules/$.property-desc.js
+++ /dev/null
@@ -1,8 +0,0 @@
-module.exports = function(bitmap, value){
- return {
- enumerable : !(bitmap & 1),
- configurable: !(bitmap & 2),
- writable : !(bitmap & 4),
- value : value
- };
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.redefine-all.js b/node_modules/core-js/library/modules/$.redefine-all.js
deleted file mode 100644
index 01fe55b..0000000
--- a/node_modules/core-js/library/modules/$.redefine-all.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var redefine = require('./$.redefine');
-module.exports = function(target, src){
- for(var key in src)redefine(target, key, src[key]);
- return target;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.redefine.js b/node_modules/core-js/library/modules/$.redefine.js
deleted file mode 100644
index 57453fd..0000000
--- a/node_modules/core-js/library/modules/$.redefine.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('./$.hide');
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.replacer.js b/node_modules/core-js/library/modules/$.replacer.js
deleted file mode 100644
index 5360a3d..0000000
--- a/node_modules/core-js/library/modules/$.replacer.js
+++ /dev/null
@@ -1,8 +0,0 @@
-module.exports = function(regExp, replace){
- var replacer = replace === Object(replace) ? function(part){
- return replace[part];
- } : replace;
- return function(it){
- return String(it).replace(regExp, replacer);
- };
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.same-value.js b/node_modules/core-js/library/modules/$.same-value.js
deleted file mode 100644
index 8c2b8c7..0000000
--- a/node_modules/core-js/library/modules/$.same-value.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 7.2.9 SameValue(x, y)
-module.exports = Object.is || function is(x, y){
- return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.set-proto.js b/node_modules/core-js/library/modules/$.set-proto.js
deleted file mode 100644
index b1edd68..0000000
--- a/node_modules/core-js/library/modules/$.set-proto.js
+++ /dev/null
@@ -1,26 +0,0 @@
-// Works with __proto__ only. Old v8 can't work with null proto objects.
-/* eslint-disable no-proto */
-var getDesc = require('./$').getDesc
- , isObject = require('./$.is-object')
- , anObject = require('./$.an-object');
-var check = function(O, proto){
- anObject(O);
- if(!isObject(proto) && proto !== null)throw TypeError(proto + ": can't set as prototype!");
-};
-module.exports = {
- set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
- function(test, buggy, set){
- try {
- set = require('./$.ctx')(Function.call, getDesc(Object.prototype, '__proto__').set, 2);
- set(test, []);
- buggy = !(test instanceof Array);
- } catch(e){ buggy = true; }
- return function setPrototypeOf(O, proto){
- check(O, proto);
- if(buggy)O.__proto__ = proto;
- else set(O, proto);
- return O;
- };
- }({}, false) : undefined),
- check: check
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.set-species.js b/node_modules/core-js/library/modules/$.set-species.js
deleted file mode 100644
index f6720c3..0000000
--- a/node_modules/core-js/library/modules/$.set-species.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-var core = require('./$.core')
- , $ = require('./$')
- , DESCRIPTORS = require('./$.descriptors')
- , SPECIES = require('./$.wks')('species');
-
-module.exports = function(KEY){
- var C = core[KEY];
- if(DESCRIPTORS && C && !C[SPECIES])$.setDesc(C, SPECIES, {
- configurable: true,
- get: function(){ return this; }
- });
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.set-to-string-tag.js b/node_modules/core-js/library/modules/$.set-to-string-tag.js
deleted file mode 100644
index 22b3424..0000000
--- a/node_modules/core-js/library/modules/$.set-to-string-tag.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var def = require('./$').setDesc
- , has = require('./$.has')
- , TAG = require('./$.wks')('toStringTag');
-
-module.exports = function(it, tag, stat){
- if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.shared.js b/node_modules/core-js/library/modules/$.shared.js
deleted file mode 100644
index 8dea827..0000000
--- a/node_modules/core-js/library/modules/$.shared.js
+++ /dev/null
@@ -1,6 +0,0 @@
-var global = require('./$.global')
- , SHARED = '__core-js_shared__'
- , store = global[SHARED] || (global[SHARED] = {});
-module.exports = function(key){
- return store[key] || (store[key] = {});
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.species-constructor.js b/node_modules/core-js/library/modules/$.species-constructor.js
deleted file mode 100644
index f71168b..0000000
--- a/node_modules/core-js/library/modules/$.species-constructor.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 7.3.20 SpeciesConstructor(O, defaultConstructor)
-var anObject = require('./$.an-object')
- , aFunction = require('./$.a-function')
- , SPECIES = require('./$.wks')('species');
-module.exports = function(O, D){
- var C = anObject(O).constructor, S;
- return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.strict-new.js b/node_modules/core-js/library/modules/$.strict-new.js
deleted file mode 100644
index 8bab9ed..0000000
--- a/node_modules/core-js/library/modules/$.strict-new.js
+++ /dev/null
@@ -1,4 +0,0 @@
-module.exports = function(it, Constructor, name){
- if(!(it instanceof Constructor))throw TypeError(name + ": use the 'new' operator!");
- return it;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.string-at.js b/node_modules/core-js/library/modules/$.string-at.js
deleted file mode 100644
index 3d344bb..0000000
--- a/node_modules/core-js/library/modules/$.string-at.js
+++ /dev/null
@@ -1,17 +0,0 @@
-var toInteger = require('./$.to-integer')
- , defined = require('./$.defined');
-// true -> String#at
-// false -> String#codePointAt
-module.exports = function(TO_STRING){
- return function(that, pos){
- var s = String(defined(that))
- , i = toInteger(pos)
- , l = s.length
- , a, b;
- if(i < 0 || i >= l)return TO_STRING ? '' : undefined;
- a = s.charCodeAt(i);
- return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
- ? TO_STRING ? s.charAt(i) : a
- : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
- };
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.string-context.js b/node_modules/core-js/library/modules/$.string-context.js
deleted file mode 100644
index d6485a4..0000000
--- a/node_modules/core-js/library/modules/$.string-context.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// helper for String#{startsWith, endsWith, includes}
-var isRegExp = require('./$.is-regexp')
- , defined = require('./$.defined');
-
-module.exports = function(that, searchString, NAME){
- if(isRegExp(searchString))throw TypeError('String#' + NAME + " doesn't accept regex!");
- return String(defined(that));
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.string-pad.js b/node_modules/core-js/library/modules/$.string-pad.js
deleted file mode 100644
index f0507d9..0000000
--- a/node_modules/core-js/library/modules/$.string-pad.js
+++ /dev/null
@@ -1,17 +0,0 @@
-// https://github.com/ljharb/proposal-string-pad-left-right
-var toLength = require('./$.to-length')
- , repeat = require('./$.string-repeat')
- , defined = require('./$.defined');
-
-module.exports = function(that, maxLength, fillString, left){
- var S = String(defined(that))
- , stringLength = S.length
- , fillStr = fillString === undefined ? ' ' : String(fillString)
- , intMaxLength = toLength(maxLength);
- if(intMaxLength <= stringLength)return S;
- if(fillStr == '')fillStr = ' ';
- var fillLen = intMaxLength - stringLength
- , stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));
- if(stringFiller.length > fillLen)stringFiller = stringFiller.slice(0, fillLen);
- return left ? stringFiller + S : S + stringFiller;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.string-repeat.js b/node_modules/core-js/library/modules/$.string-repeat.js
deleted file mode 100644
index 491d085..0000000
--- a/node_modules/core-js/library/modules/$.string-repeat.js
+++ /dev/null
@@ -1,12 +0,0 @@
-'use strict';
-var toInteger = require('./$.to-integer')
- , defined = require('./$.defined');
-
-module.exports = function repeat(count){
- var str = String(defined(this))
- , res = ''
- , n = toInteger(count);
- if(n < 0 || n == Infinity)throw RangeError("Count can't be negative");
- for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str;
- return res;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.string-trim.js b/node_modules/core-js/library/modules/$.string-trim.js
deleted file mode 100644
index 04423f4..0000000
--- a/node_modules/core-js/library/modules/$.string-trim.js
+++ /dev/null
@@ -1,29 +0,0 @@
-var $export = require('./$.export')
- , defined = require('./$.defined')
- , fails = require('./$.fails')
- , spaces = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' +
- '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'
- , space = '[' + spaces + ']'
- , non = '\u200b\u0085'
- , ltrim = RegExp('^' + space + space + '*')
- , rtrim = RegExp(space + space + '*$');
-
-var exporter = function(KEY, exec){
- var exp = {};
- exp[KEY] = exec(trim);
- $export($export.P + $export.F * fails(function(){
- return !!spaces[KEY]() || non[KEY]() != non;
- }), 'String', exp);
-};
-
-// 1 -> String#trimLeft
-// 2 -> String#trimRight
-// 3 -> String#trim
-var trim = exporter.trim = function(string, TYPE){
- string = String(defined(string));
- if(TYPE & 1)string = string.replace(ltrim, '');
- if(TYPE & 2)string = string.replace(rtrim, '');
- return string;
-};
-
-module.exports = exporter;
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.task.js b/node_modules/core-js/library/modules/$.task.js
deleted file mode 100644
index 5d7759e..0000000
--- a/node_modules/core-js/library/modules/$.task.js
+++ /dev/null
@@ -1,75 +0,0 @@
-var ctx = require('./$.ctx')
- , invoke = require('./$.invoke')
- , html = require('./$.html')
- , cel = require('./$.dom-create')
- , global = require('./$.global')
- , process = global.process
- , setTask = global.setImmediate
- , clearTask = global.clearImmediate
- , MessageChannel = global.MessageChannel
- , counter = 0
- , queue = {}
- , ONREADYSTATECHANGE = 'onreadystatechange'
- , defer, channel, port;
-var run = function(){
- var id = +this;
- if(queue.hasOwnProperty(id)){
- var fn = queue[id];
- delete queue[id];
- fn();
- }
-};
-var listner = function(event){
- run.call(event.data);
-};
-// Node.js 0.9+ & IE10+ has setImmediate, otherwise:
-if(!setTask || !clearTask){
- setTask = function setImmediate(fn){
- var args = [], i = 1;
- while(arguments.length > i)args.push(arguments[i++]);
- queue[++counter] = function(){
- invoke(typeof fn == 'function' ? fn : Function(fn), args);
- };
- defer(counter);
- return counter;
- };
- clearTask = function clearImmediate(id){
- delete queue[id];
- };
- // Node.js 0.8-
- if(require('./$.cof')(process) == 'process'){
- defer = function(id){
- process.nextTick(ctx(run, id, 1));
- };
- // Browsers with MessageChannel, includes WebWorkers
- } else if(MessageChannel){
- channel = new MessageChannel;
- port = channel.port2;
- channel.port1.onmessage = listner;
- defer = ctx(port.postMessage, port, 1);
- // Browsers with postMessage, skip WebWorkers
- // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
- } else if(global.addEventListener && typeof postMessage == 'function' && !global.importScripts){
- defer = function(id){
- global.postMessage(id + '', '*');
- };
- global.addEventListener('message', listner, false);
- // IE8-
- } else if(ONREADYSTATECHANGE in cel('script')){
- defer = function(id){
- html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function(){
- html.removeChild(this);
- run.call(id);
- };
- };
- // Rest old browsers
- } else {
- defer = function(id){
- setTimeout(ctx(run, id, 1), 0);
- };
- }
-}
-module.exports = {
- set: setTask,
- clear: clearTask
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.to-index.js b/node_modules/core-js/library/modules/$.to-index.js
deleted file mode 100644
index 9346a8f..0000000
--- a/node_modules/core-js/library/modules/$.to-index.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var toInteger = require('./$.to-integer')
- , max = Math.max
- , min = Math.min;
-module.exports = function(index, length){
- index = toInteger(index);
- return index < 0 ? max(index + length, 0) : min(index, length);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.to-integer.js b/node_modules/core-js/library/modules/$.to-integer.js
deleted file mode 100644
index f63baaf..0000000
--- a/node_modules/core-js/library/modules/$.to-integer.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// 7.1.4 ToInteger
-var ceil = Math.ceil
- , floor = Math.floor;
-module.exports = function(it){
- return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.to-iobject.js b/node_modules/core-js/library/modules/$.to-iobject.js
deleted file mode 100644
index fcf54c8..0000000
--- a/node_modules/core-js/library/modules/$.to-iobject.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// to indexed object, toObject with fallback for non-array-like ES3 strings
-var IObject = require('./$.iobject')
- , defined = require('./$.defined');
-module.exports = function(it){
- return IObject(defined(it));
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.to-length.js b/node_modules/core-js/library/modules/$.to-length.js
deleted file mode 100644
index 0e15b1b..0000000
--- a/node_modules/core-js/library/modules/$.to-length.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// 7.1.15 ToLength
-var toInteger = require('./$.to-integer')
- , min = Math.min;
-module.exports = function(it){
- return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.to-object.js b/node_modules/core-js/library/modules/$.to-object.js
deleted file mode 100644
index 2c57a29..0000000
--- a/node_modules/core-js/library/modules/$.to-object.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// 7.1.13 ToObject(argument)
-var defined = require('./$.defined');
-module.exports = function(it){
- return Object(defined(it));
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.to-primitive.js b/node_modules/core-js/library/modules/$.to-primitive.js
deleted file mode 100644
index 6fb4585..0000000
--- a/node_modules/core-js/library/modules/$.to-primitive.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// 7.1.1 ToPrimitive(input [, PreferredType])
-var isObject = require('./$.is-object');
-// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-// and the second argument - flag - preferred type is a string
-module.exports = function(it, S){
- if(!isObject(it))return it;
- var fn, val;
- if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;
- if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;
- if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;
- throw TypeError("Can't convert object to primitive value");
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.typed-array.js b/node_modules/core-js/library/modules/$.typed-array.js
deleted file mode 100644
index 1bd5cf0..0000000
--- a/node_modules/core-js/library/modules/$.typed-array.js
+++ /dev/null
@@ -1,365 +0,0 @@
-'use strict';
-if(require('./$.descriptors')){
- var LIBRARY = require('./$.library')
- , global = require('./$.global')
- , $ = require('./$')
- , fails = require('./$.fails')
- , $export = require('./$.export')
- , $typed = require('./$.typed')
- , $buffer = require('./$.buffer')
- , ctx = require('./$.ctx')
- , strictNew = require('./$.strict-new')
- , propertyDesc = require('./$.property-desc')
- , hide = require('./$.hide')
- , redefineAll = require('./$.redefine-all')
- , isInteger = require('./$.is-integer')
- , toInteger = require('./$.to-integer')
- , toLength = require('./$.to-length')
- , toIndex = require('./$.to-index')
- , toPrimitive = require('./$.to-primitive')
- , isObject = require('./$.is-object')
- , toObject = require('./$.to-object')
- , isArrayIter = require('./$.is-array-iter')
- , isIterable = require('./core.is-iterable')
- , getIterFn = require('./core.get-iterator-method')
- , wks = require('./$.wks')
- , createArrayMethod = require('./$.array-methods')
- , createArrayIncludes = require('./$.array-includes')
- , speciesConstructor = require('./$.species-constructor')
- , ArrayIterators = require('./es6.array.iterator')
- , Iterators = require('./$.iterators')
- , $iterDetect = require('./$.iter-detect')
- , setSpecies = require('./$.set-species')
- , arrayFill = require('./$.array-fill')
- , arrayCopyWithin = require('./$.array-copy-within')
- , ArrayProto = Array.prototype
- , $ArrayBuffer = $buffer.ArrayBuffer
- , $DataView = $buffer.DataView
- , setDesc = $.setDesc
- , getDesc = $.getDesc
- , arrayForEach = createArrayMethod(0)
- , arrayMap = createArrayMethod(1)
- , arrayFilter = createArrayMethod(2)
- , arraySome = createArrayMethod(3)
- , arrayEvery = createArrayMethod(4)
- , arrayFind = createArrayMethod(5)
- , arrayFindIndex = createArrayMethod(6)
- , arrayIncludes = createArrayIncludes(true)
- , arrayIndexOf = createArrayIncludes(false)
- , arrayValues = ArrayIterators.values
- , arrayKeys = ArrayIterators.keys
- , arrayEntries = ArrayIterators.entries
- , arrayLastIndexOf = ArrayProto.lastIndexOf
- , arrayReduce = ArrayProto.reduce
- , arrayReduceRight = ArrayProto.reduceRight
- , arrayJoin = ArrayProto.join
- , arrayReverse = ArrayProto.reverse
- , arraySort = ArrayProto.sort
- , arraySlice = ArrayProto.slice
- , arrayToString = ArrayProto.toString
- , arrayToLocaleString = ArrayProto.toLocaleString
- , ITERATOR = wks('iterator')
- , TAG = wks('toStringTag')
- , TYPED_CONSTRUCTOR = wks('typed_constructor')
- , DEF_CONSTRUCTOR = wks('def_constructor')
- , ALL_ARRAYS = $typed.ARRAYS
- , TYPED_ARRAY = $typed.TYPED
- , VIEW = $typed.VIEW
- , BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';
-
- var LITTLE_ENDIAN = fails(function(){
- return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;
- });
-
- var validate = function(it){
- if(isObject(it) && TYPED_ARRAY in it)return it;
- throw TypeError(it + ' is not a typed array!');
- };
-
- var fromList = function(O, list){
- var index = 0
- , length = list.length
- , result = allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);
- while(length > index)result[index] = list[index++];
- return result;
- };
-
- var allocate = function(C, length){
- if(!(isObject(C) && TYPED_CONSTRUCTOR in C)){
- throw TypeError('It is not a typed array constructor!');
- } return new C(length);
- };
-
- var $from = function from(source /*, mapfn, thisArg */){
- var O = toObject(source)
- , $$ = arguments
- , $$len = $$.length
- , mapfn = $$len > 1 ? $$[1] : undefined
- , mapping = mapfn !== undefined
- , iterFn = getIterFn(O)
- , i, length, values, result, step, iterator;
- if(iterFn != undefined && !isArrayIter(iterFn)){
- for(iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++){
- values.push(step.value);
- } O = values;
- }
- if(mapping && $$len > 2)mapfn = ctx(mapfn, $$[2], 2);
- for(i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++){
- result[i] = mapping ? mapfn(O[i], i) : O[i];
- }
- return result;
- };
-
- var addGetter = function(C, key, internal){
- setDesc(C.prototype, key, {get: function(){ return this._d[internal]; }});
- };
-
- var $of = function of(/*...items*/){
- var index = 0
- , length = arguments.length
- , result = allocate(this, length);
- while(length > index)result[index] = arguments[index++];
- return result;
- };
- var $toLocaleString = function toLocaleString(){
- return arrayToLocaleString.apply(validate(this), arguments);
- };
-
- var proto = {
- copyWithin: function copyWithin(target, start /*, end */){
- return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);
- },
- every: function every(callbackfn /*, thisArg */){
- return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- },
- fill: function fill(value /*, start, end */){ // eslint-disable-line no-unused-vars
- return arrayFill.apply(validate(this), arguments);
- },
- filter: function filter(callbackfn /*, thisArg */){
- return fromList(this, arrayFilter(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined));
- },
- find: function find(predicate /*, thisArg */){
- return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
- },
- findIndex: function findIndex(predicate /*, thisArg */){
- return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
- },
- forEach: function forEach(callbackfn /*, thisArg */){
- arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- },
- indexOf: function indexOf(searchElement /*, fromIndex */){
- return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
- },
- includes: function includes(searchElement /*, fromIndex */){
- return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
- },
- join: function join(separator){ // eslint-disable-line no-unused-vars
- return arrayJoin.apply(validate(this), arguments);
- },
- lastIndexOf: function lastIndexOf(searchElement /*, fromIndex */){ // eslint-disable-line no-unused-vars
- return arrayLastIndexOf.apply(validate(this), arguments);
- },
- map: function map(mapfn /*, thisArg */){
- return fromList(this, arrayMap(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined)); // TODO
- },
- reduce: function reduce(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars
- return arrayReduce.apply(validate(this), arguments);
- },
- reduceRight: function reduceRight(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars
- return arrayReduceRight.apply(validate(this), arguments);
- },
- reverse: function reverse(){
- return arrayReverse.call(validate(this));
- },
- set: function set(arrayLike /*, offset */){
- validate(this);
- var offset = toInteger(arguments.length > 1 ? arguments[1] : undefined);
- if(offset < 0)throw RangeError();
- var length = this.length;
- var src = toObject(arrayLike);
- var index = 0;
- var len = toLength(src.length);
- if(len + offset > length)throw RangeError();
- while(index < len)this[offset + index] = src[index++];
- },
- slice: function slice(start, end){
- return fromList(this, arraySlice.call(validate(this), start, end)); // TODO
- },
- some: function some(callbackfn /*, thisArg */){
- return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- },
- sort: function sort(comparefn){
- return arraySort.call(validate(this), comparefn);
- },
- subarray: function subarray(begin, end){
- var O = validate(this)
- , length = O.length
- , $begin = toIndex(begin, length);
- return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(
- O.buffer,
- O.byteOffset + $begin * O.BYTES_PER_ELEMENT,
- toLength((end === undefined ? length : toIndex(end, length)) - $begin)
- );
- },
- entries: function entries(){
- return arrayEntries.call(validate(this));
- },
- keys: function keys(){
- return arrayKeys.call(validate(this));
- },
- values: function values(){
- return arrayValues.call(validate(this));
- }
- };
-
- var isTAIndex = function(target, key){
- return isObject(target)
- && TYPED_ARRAY in target
- && typeof key != 'symbol'
- && key in target
- && String(+key) == String(key);
- };
- var $getDesc = function getOwnPropertyDescriptor(target, key){
- return isTAIndex(target, key = toPrimitive(key, true))
- ? propertyDesc(2, target[key])
- : getDesc(target, key);
- };
- var $setDesc = function defineProperty(target, key, desc){
- if(isTAIndex(target, key = toPrimitive(key, true)) && isObject(desc)){
- if('value' in desc)target[key] = desc.value;
- return target;
- } else return setDesc(target, key, desc);
- };
-
- if(!ALL_ARRAYS){
- $.getDesc = $getDesc;
- $.setDesc = $setDesc;
- }
-
- $export($export.S + $export.F * !ALL_ARRAYS, 'Object', {
- getOwnPropertyDescriptor: $getDesc,
- defineProperty: $setDesc
- });
-
- var $TypedArrayPrototype$ = redefineAll({}, proto);
- redefineAll($TypedArrayPrototype$, {
- constructor: function(){ /* noop */ },
- toString: arrayToString,
- toLocaleString: $toLocaleString
- });
- $.setDesc($TypedArrayPrototype$, TAG, {
- get: function(){ return this[TYPED_ARRAY]; }
- });
-
- module.exports = function(KEY, BYTES, wrapper, CLAMPED){
- CLAMPED = !!CLAMPED;
- var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array'
- , GETTER = 'get' + KEY
- , SETTER = 'set' + KEY
- , TypedArray = global[NAME]
- , Base = TypedArray || {}
- , FORCED = !TypedArray || !$typed.ABV
- , $iterator = proto.values
- , O = {};
- var addElement = function(that, index){
- setDesc(that, index, {
- get: function(){
- var data = this._d;
- return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);
- },
- set: function(it){
- var data = this._d;
- if(CLAMPED)it = (it = Math.round(it)) < 0 ? 0 : it > 0xff ? 0xff : it & 0xff;
- data.v[SETTER](index * BYTES + data.o, it, LITTLE_ENDIAN);
- },
- enumerable: true
- });
- };
- if(!$ArrayBuffer)return;
- if(FORCED){
- TypedArray = wrapper(function(that, data, $offset, $length){
- strictNew(that, TypedArray, NAME);
- var index = 0
- , offset = 0
- , buffer, byteLength, length;
- if(!isObject(data)){
- byteLength = toInteger(data) * BYTES;
- buffer = new $ArrayBuffer(byteLength);
- // TODO TA case
- } else if(data instanceof $ArrayBuffer){
- buffer = data;
- offset = toInteger($offset);
- if(offset < 0 || offset % BYTES)throw RangeError();
- var $len = data.byteLength;
- if($length === undefined){
- if($len % BYTES)throw RangeError();
- byteLength = $len - offset;
- if(byteLength < 0)throw RangeError();
- } else {
- byteLength = toLength($length) * BYTES;
- if(byteLength + offset > $len)throw RangeError();
- }
- } else return $from.call(TypedArray, data);
- length = byteLength / BYTES;
- hide(that, '_d', {
- b: buffer,
- o: offset,
- l: byteLength,
- e: length,
- v: new $DataView(buffer)
- });
- while(index < length)addElement(that, index++);
- });
- TypedArray.prototype = $.create($TypedArrayPrototype$);
- addGetter(TypedArray, 'buffer', 'b');
- addGetter(TypedArray, 'byteOffset', 'o');
- addGetter(TypedArray, 'byteLength', 'l');
- addGetter(TypedArray, 'length', 'e');
- hide(TypedArray, BYTES_PER_ELEMENT, BYTES);
- hide(TypedArray.prototype, BYTES_PER_ELEMENT, BYTES);
- hide(TypedArray.prototype, 'constructor', TypedArray);
- } else if(!$iterDetect(function(iter){
- new TypedArray(iter); // eslint-disable-line no-new
- }, true)){
- TypedArray = wrapper(function(that, data, $offset, $length){
- strictNew(that, TypedArray, NAME);
- if(isObject(data) && isIterable(data))return $from.call(TypedArray, data);
- return $length === undefined ? new Base(data, $offset) : new Base(data, $offset, $length);
- });
- TypedArray.prototype = Base.prototype;
- if(!LIBRARY)TypedArray.prototype.constructor = TypedArray;
- }
- var TypedArrayPrototype = TypedArray.prototype;
- var $nativeIterator = TypedArrayPrototype[ITERATOR];
- hide(TypedArray, TYPED_CONSTRUCTOR, true);
- hide(TypedArrayPrototype, TYPED_ARRAY, NAME);
- hide(TypedArrayPrototype, VIEW, true);
- hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);
- TAG in TypedArrayPrototype || $.setDesc(TypedArrayPrototype, TAG, {
- get: function(){ return NAME; }
- });
-
- O[NAME] = TypedArray;
-
- $export($export.G + $export.W + $export.F * (TypedArray != Base), O);
-
- $export($export.S + $export.F * (TypedArray != Base), NAME, {
- BYTES_PER_ELEMENT: BYTES,
- from: Base.from || $from,
- of: Base.of || $of
- });
-
- $export($export.P + $export.F * FORCED, NAME, proto);
-
- $export($export.P + $export.F * (TypedArrayPrototype.toString != arrayToString), NAME, {toString: arrayToString});
-
- $export($export.P + $export.F * fails(function(){
- return [1, 2].toLocaleString() != new Typed([1, 2]).toLocaleString()
- }), NAME, {toLocaleString: $toLocaleString});
-
- Iterators[NAME] = $nativeIterator || $iterator;
- LIBRARY || $nativeIterator || hide(TypedArrayPrototype, ITERATOR, $iterator);
-
- setSpecies(NAME);
- };
-} else module.exports = function(){ /* empty */};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.typed.js b/node_modules/core-js/library/modules/$.typed.js
deleted file mode 100644
index ced2412..0000000
--- a/node_modules/core-js/library/modules/$.typed.js
+++ /dev/null
@@ -1,36 +0,0 @@
-var global = require('./$.global')
- , hide = require('./$.hide')
- , uid = require('./$.uid')
- , TYPED = uid('typed_array')
- , VIEW = uid('view')
- , ABV = !!(global.ArrayBuffer && global.DataView)
- , ARRAYS = true
- , i = 0, l = 9;
-
-var TypedArrayConstructors = [
- 'Int8Array',
- 'Uint8Array',
- 'Uint8ClampedArray',
- 'Int16Array',
- 'Uint16Array',
- 'Int32Array',
- 'Uint32Array',
- 'Float32Array',
- 'Float64Array'
-];
-
-while(i < l){
- var Typed = global[TypedArrayConstructors[i++]];
- if(Typed){
- hide(Typed.prototype, TYPED, true);
- hide(Typed.prototype, VIEW, true);
- } else ARRAYS = false;
-}
-
-module.exports = {
- ARRAYS: ARRAYS,
- ABV: ABV,
- CONSTR: ARRAYS && ABV,
- TYPED: TYPED,
- VIEW: VIEW
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.uid.js b/node_modules/core-js/library/modules/$.uid.js
deleted file mode 100644
index 3be4196..0000000
--- a/node_modules/core-js/library/modules/$.uid.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var id = 0
- , px = Math.random();
-module.exports = function(key){
- return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/$.wks.js b/node_modules/core-js/library/modules/$.wks.js
deleted file mode 100644
index 87a3d29..0000000
--- a/node_modules/core-js/library/modules/$.wks.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var store = require('./$.shared')('wks')
- , uid = require('./$.uid')
- , Symbol = require('./$.global').Symbol;
-module.exports = function(name){
- return store[name] || (store[name] =
- Symbol && Symbol[name] || (Symbol || uid)('Symbol.' + name));
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/core.delay.js b/node_modules/core-js/library/modules/core.delay.js
deleted file mode 100644
index 3e19ef3..0000000
--- a/node_modules/core-js/library/modules/core.delay.js
+++ /dev/null
@@ -1,12 +0,0 @@
-var global = require('./$.global')
- , core = require('./$.core')
- , $export = require('./$.export')
- , partial = require('./$.partial');
-// https://esdiscuss.org/topic/promise-returning-delay-function
-$export($export.G + $export.F, {
- delay: function delay(time){
- return new (core.Promise || global.Promise)(function(resolve){
- setTimeout(partial.call(resolve, true), time);
- });
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/core.dict.js b/node_modules/core-js/library/modules/core.dict.js
deleted file mode 100644
index df31498..0000000
--- a/node_modules/core-js/library/modules/core.dict.js
+++ /dev/null
@@ -1,153 +0,0 @@
-'use strict';
-var $ = require('./$')
- , ctx = require('./$.ctx')
- , $export = require('./$.export')
- , createDesc = require('./$.property-desc')
- , assign = require('./$.object-assign')
- , keyOf = require('./$.keyof')
- , aFunction = require('./$.a-function')
- , forOf = require('./$.for-of')
- , isIterable = require('./core.is-iterable')
- , $iterCreate = require('./$.iter-create')
- , step = require('./$.iter-step')
- , isObject = require('./$.is-object')
- , toIObject = require('./$.to-iobject')
- , DESCRIPTORS = require('./$.descriptors')
- , has = require('./$.has')
- , getKeys = $.getKeys;
-
-// 0 -> Dict.forEach
-// 1 -> Dict.map
-// 2 -> Dict.filter
-// 3 -> Dict.some
-// 4 -> Dict.every
-// 5 -> Dict.find
-// 6 -> Dict.findKey
-// 7 -> Dict.mapPairs
-var createDictMethod = function(TYPE){
- var IS_MAP = TYPE == 1
- , IS_EVERY = TYPE == 4;
- return function(object, callbackfn, that /* = undefined */){
- var f = ctx(callbackfn, that, 3)
- , O = toIObject(object)
- , result = IS_MAP || TYPE == 7 || TYPE == 2
- ? new (typeof this == 'function' ? this : Dict) : undefined
- , key, val, res;
- for(key in O)if(has(O, key)){
- val = O[key];
- res = f(val, key, object);
- if(TYPE){
- if(IS_MAP)result[key] = res; // map
- else if(res)switch(TYPE){
- case 2: result[key] = val; break; // filter
- case 3: return true; // some
- case 5: return val; // find
- case 6: return key; // findKey
- case 7: result[res[0]] = res[1]; // mapPairs
- } else if(IS_EVERY)return false; // every
- }
- }
- return TYPE == 3 || IS_EVERY ? IS_EVERY : result;
- };
-};
-var findKey = createDictMethod(6);
-
-var createDictIter = function(kind){
- return function(it){
- return new DictIterator(it, kind);
- };
-};
-var DictIterator = function(iterated, kind){
- this._t = toIObject(iterated); // target
- this._a = getKeys(iterated); // keys
- this._i = 0; // next index
- this._k = kind; // kind
-};
-$iterCreate(DictIterator, 'Dict', function(){
- var that = this
- , O = that._t
- , keys = that._a
- , kind = that._k
- , key;
- do {
- if(that._i >= keys.length){
- that._t = undefined;
- return step(1);
- }
- } while(!has(O, key = keys[that._i++]));
- if(kind == 'keys' )return step(0, key);
- if(kind == 'values')return step(0, O[key]);
- return step(0, [key, O[key]]);
-});
-
-function Dict(iterable){
- var dict = $.create(null);
- if(iterable != undefined){
- if(isIterable(iterable)){
- forOf(iterable, true, function(key, value){
- dict[key] = value;
- });
- } else assign(dict, iterable);
- }
- return dict;
-}
-Dict.prototype = null;
-
-function reduce(object, mapfn, init){
- aFunction(mapfn);
- var O = toIObject(object)
- , keys = getKeys(O)
- , length = keys.length
- , i = 0
- , memo, key;
- if(arguments.length < 3){
- if(!length)throw TypeError('Reduce of empty object with no initial value');
- memo = O[keys[i++]];
- } else memo = Object(init);
- while(length > i)if(has(O, key = keys[i++])){
- memo = mapfn(memo, O[key], key, object);
- }
- return memo;
-}
-
-function includes(object, el){
- return (el == el ? keyOf(object, el) : findKey(object, function(it){
- return it != it;
- })) !== undefined;
-}
-
-function get(object, key){
- if(has(object, key))return object[key];
-}
-function set(object, key, value){
- if(DESCRIPTORS && key in Object)$.setDesc(object, key, createDesc(0, value));
- else object[key] = value;
- return object;
-}
-
-function isDict(it){
- return isObject(it) && $.getProto(it) === Dict.prototype;
-}
-
-$export($export.G + $export.F, {Dict: Dict});
-
-$export($export.S, 'Dict', {
- keys: createDictIter('keys'),
- values: createDictIter('values'),
- entries: createDictIter('entries'),
- forEach: createDictMethod(0),
- map: createDictMethod(1),
- filter: createDictMethod(2),
- some: createDictMethod(3),
- every: createDictMethod(4),
- find: createDictMethod(5),
- findKey: findKey,
- mapPairs: createDictMethod(7),
- reduce: reduce,
- keyOf: keyOf,
- includes: includes,
- has: has,
- get: get,
- set: set,
- isDict: isDict
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/core.function.part.js b/node_modules/core-js/library/modules/core.function.part.js
deleted file mode 100644
index 9943b30..0000000
--- a/node_modules/core-js/library/modules/core.function.part.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var path = require('./$.path')
- , $export = require('./$.export');
-
-// Placeholder
-require('./$.core')._ = path._ = path._ || {};
-
-$export($export.P + $export.F, 'Function', {part: require('./$.partial')});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/core.get-iterator-method.js b/node_modules/core-js/library/modules/core.get-iterator-method.js
deleted file mode 100644
index 02db743..0000000
--- a/node_modules/core-js/library/modules/core.get-iterator-method.js
+++ /dev/null
@@ -1,8 +0,0 @@
-var classof = require('./$.classof')
- , ITERATOR = require('./$.wks')('iterator')
- , Iterators = require('./$.iterators');
-module.exports = require('./$.core').getIteratorMethod = function(it){
- if(it != undefined)return it[ITERATOR]
- || it['@@iterator']
- || Iterators[classof(it)];
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/core.get-iterator.js b/node_modules/core-js/library/modules/core.get-iterator.js
deleted file mode 100644
index 7290904..0000000
--- a/node_modules/core-js/library/modules/core.get-iterator.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var anObject = require('./$.an-object')
- , get = require('./core.get-iterator-method');
-module.exports = require('./$.core').getIterator = function(it){
- var iterFn = get(it);
- if(typeof iterFn != 'function')throw TypeError(it + ' is not iterable!');
- return anObject(iterFn.call(it));
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/core.is-iterable.js b/node_modules/core-js/library/modules/core.is-iterable.js
deleted file mode 100644
index c27e658..0000000
--- a/node_modules/core-js/library/modules/core.is-iterable.js
+++ /dev/null
@@ -1,9 +0,0 @@
-var classof = require('./$.classof')
- , ITERATOR = require('./$.wks')('iterator')
- , Iterators = require('./$.iterators');
-module.exports = require('./$.core').isIterable = function(it){
- var O = Object(it);
- return O[ITERATOR] !== undefined
- || '@@iterator' in O
- || Iterators.hasOwnProperty(classof(O));
-};
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/core.log.js b/node_modules/core-js/library/modules/core.log.js
deleted file mode 100644
index 4c0ea53..0000000
--- a/node_modules/core-js/library/modules/core.log.js
+++ /dev/null
@@ -1,26 +0,0 @@
-var $ = require('./$')
- , global = require('./$.global')
- , $export = require('./$.export')
- , log = {}
- , enabled = true;
-// Methods from https://github.com/DeveloperToolsWG/console-object/blob/master/api.md
-$.each.call((
- 'assert,clear,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,' +
- 'info,isIndependentlyComposed,log,markTimeline,profile,profileEnd,table,' +
- 'time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn'
-).split(','), function(key){
- log[key] = function(){
- var $console = global.console;
- if(enabled && $console && $console[key]){
- return Function.apply.call($console[key], $console, arguments);
- }
- };
-});
-$export($export.G + $export.F, {log: require('./$.object-assign')(log.log, log, {
- enable: function(){
- enabled = true;
- },
- disable: function(){
- enabled = false;
- }
-})});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/core.number.iterator.js b/node_modules/core-js/library/modules/core.number.iterator.js
deleted file mode 100644
index d927378..0000000
--- a/node_modules/core-js/library/modules/core.number.iterator.js
+++ /dev/null
@@ -1,9 +0,0 @@
-'use strict';
-require('./$.iter-define')(Number, 'Number', function(iterated){
- this._l = +iterated;
- this._i = 0;
-}, function(){
- var i = this._i++
- , done = !(i < this._l);
- return {done: done, value: done ? undefined : i};
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/core.object.classof.js b/node_modules/core-js/library/modules/core.object.classof.js
deleted file mode 100644
index df682e4..0000000
--- a/node_modules/core-js/library/modules/core.object.classof.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var $export = require('./$.export');
-
-$export($export.S + $export.F, 'Object', {classof: require('./$.classof')});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/core.object.define.js b/node_modules/core-js/library/modules/core.object.define.js
deleted file mode 100644
index fe4cbe9..0000000
--- a/node_modules/core-js/library/modules/core.object.define.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var $export = require('./$.export')
- , define = require('./$.object-define');
-
-$export($export.S + $export.F, 'Object', {define: define});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/core.object.is-object.js b/node_modules/core-js/library/modules/core.object.is-object.js
deleted file mode 100644
index c60a977..0000000
--- a/node_modules/core-js/library/modules/core.object.is-object.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var $export = require('./$.export');
-
-$export($export.S + $export.F, 'Object', {isObject: require('./$.is-object')});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/core.object.make.js b/node_modules/core-js/library/modules/core.object.make.js
deleted file mode 100644
index 95b9996..0000000
--- a/node_modules/core-js/library/modules/core.object.make.js
+++ /dev/null
@@ -1,9 +0,0 @@
-var $export = require('./$.export')
- , define = require('./$.object-define')
- , create = require('./$').create;
-
-$export($export.S + $export.F, 'Object', {
- make: function(proto, mixin){
- return define(create(proto), mixin);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/core.string.escape-html.js b/node_modules/core-js/library/modules/core.string.escape-html.js
deleted file mode 100644
index 81737e7..0000000
--- a/node_modules/core-js/library/modules/core.string.escape-html.js
+++ /dev/null
@@ -1,11 +0,0 @@
-'use strict';
-var $export = require('./$.export');
-var $re = require('./$.replacer')(/[&<>"']/g, {
- '&': '&',
- '<': '<',
- '>': '>',
- '"': '"',
- "'": '''
-});
-
-$export($export.P + $export.F, 'String', {escapeHTML: function escapeHTML(){ return $re(this); }});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/core.string.unescape-html.js b/node_modules/core-js/library/modules/core.string.unescape-html.js
deleted file mode 100644
index 9d7a3d2..0000000
--- a/node_modules/core-js/library/modules/core.string.unescape-html.js
+++ /dev/null
@@ -1,11 +0,0 @@
-'use strict';
-var $export = require('./$.export');
-var $re = require('./$.replacer')(/&(?:amp|lt|gt|quot|apos);/g, {
- '&': '&',
- '<': '<',
- '>': '>',
- '"': '"',
- ''': "'"
-});
-
-$export($export.P + $export.F, 'String', {unescapeHTML: function unescapeHTML(){ return $re(this); }});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es5.js b/node_modules/core-js/library/modules/es5.js
deleted file mode 100644
index 50f72b0..0000000
--- a/node_modules/core-js/library/modules/es5.js
+++ /dev/null
@@ -1,276 +0,0 @@
-'use strict';
-var $ = require('./$')
- , $export = require('./$.export')
- , DESCRIPTORS = require('./$.descriptors')
- , createDesc = require('./$.property-desc')
- , html = require('./$.html')
- , cel = require('./$.dom-create')
- , has = require('./$.has')
- , cof = require('./$.cof')
- , invoke = require('./$.invoke')
- , fails = require('./$.fails')
- , anObject = require('./$.an-object')
- , aFunction = require('./$.a-function')
- , isObject = require('./$.is-object')
- , toObject = require('./$.to-object')
- , toIObject = require('./$.to-iobject')
- , toInteger = require('./$.to-integer')
- , toIndex = require('./$.to-index')
- , toLength = require('./$.to-length')
- , IObject = require('./$.iobject')
- , IE_PROTO = require('./$.uid')('__proto__')
- , createArrayMethod = require('./$.array-methods')
- , arrayIndexOf = require('./$.array-includes')(false)
- , ObjectProto = Object.prototype
- , ArrayProto = Array.prototype
- , arraySlice = ArrayProto.slice
- , arrayJoin = ArrayProto.join
- , defineProperty = $.setDesc
- , getOwnDescriptor = $.getDesc
- , defineProperties = $.setDescs
- , factories = {}
- , IE8_DOM_DEFINE;
-
-if(!DESCRIPTORS){
- IE8_DOM_DEFINE = !fails(function(){
- return defineProperty(cel('div'), 'a', {get: function(){ return 7; }}).a != 7;
- });
- $.setDesc = function(O, P, Attributes){
- if(IE8_DOM_DEFINE)try {
- return defineProperty(O, P, Attributes);
- } catch(e){ /* empty */ }
- if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');
- if('value' in Attributes)anObject(O)[P] = Attributes.value;
- return O;
- };
- $.getDesc = function(O, P){
- if(IE8_DOM_DEFINE)try {
- return getOwnDescriptor(O, P);
- } catch(e){ /* empty */ }
- if(has(O, P))return createDesc(!ObjectProto.propertyIsEnumerable.call(O, P), O[P]);
- };
- $.setDescs = defineProperties = function(O, Properties){
- anObject(O);
- var keys = $.getKeys(Properties)
- , length = keys.length
- , i = 0
- , P;
- while(length > i)$.setDesc(O, P = keys[i++], Properties[P]);
- return O;
- };
-}
-$export($export.S + $export.F * !DESCRIPTORS, 'Object', {
- // 19.1.2.6 / 15.2.3.3 Object.getOwnPropertyDescriptor(O, P)
- getOwnPropertyDescriptor: $.getDesc,
- // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
- defineProperty: $.setDesc,
- // 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)
- defineProperties: defineProperties
-});
-
- // IE 8- don't enum bug keys
-var keys1 = ('constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,' +
- 'toLocaleString,toString,valueOf').split(',')
- // Additional keys for getOwnPropertyNames
- , keys2 = keys1.concat('length', 'prototype')
- , keysLen1 = keys1.length;
-
-// Create object with `null` prototype: use iframe Object with cleared prototype
-var createDict = function(){
- // Thrash, waste and sodomy: IE GC bug
- var iframe = cel('iframe')
- , i = keysLen1
- , gt = '>'
- , iframeDocument;
- iframe.style.display = 'none';
- html.appendChild(iframe);
- iframe.src = 'javascript:'; // eslint-disable-line no-script-url
- // createDict = iframe.contentWindow.Object;
- // html.removeChild(iframe);
- iframeDocument = iframe.contentWindow.document;
- iframeDocument.open();
- iframeDocument.write(' i)if(has(O, key = names[i++])){
- ~arrayIndexOf(result, key) || result.push(key);
- }
- return result;
- };
-};
-var Empty = function(){};
-$export($export.S, 'Object', {
- // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
- getPrototypeOf: $.getProto = $.getProto || function(O){
- O = toObject(O);
- if(has(O, IE_PROTO))return O[IE_PROTO];
- if(typeof O.constructor == 'function' && O instanceof O.constructor){
- return O.constructor.prototype;
- } return O instanceof Object ? ObjectProto : null;
- },
- // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
- getOwnPropertyNames: $.getNames = $.getNames || createGetKeys(keys2, keys2.length, true),
- // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
- create: $.create = $.create || function(O, /*?*/Properties){
- var result;
- if(O !== null){
- Empty.prototype = anObject(O);
- result = new Empty();
- Empty.prototype = null;
- // add "__proto__" for Object.getPrototypeOf shim
- result[IE_PROTO] = O;
- } else result = createDict();
- return Properties === undefined ? result : defineProperties(result, Properties);
- },
- // 19.1.2.14 / 15.2.3.14 Object.keys(O)
- keys: $.getKeys = $.getKeys || createGetKeys(keys1, keysLen1, false)
-});
-
-var construct = function(F, len, args){
- if(!(len in factories)){
- for(var n = [], i = 0; i < len; i++)n[i] = 'a[' + i + ']';
- factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');
- }
- return factories[len](F, args);
-};
-
-// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)
-$export($export.P, 'Function', {
- bind: function bind(that /*, args... */){
- var fn = aFunction(this)
- , partArgs = arraySlice.call(arguments, 1);
- var bound = function(/* args... */){
- var args = partArgs.concat(arraySlice.call(arguments));
- return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);
- };
- if(isObject(fn.prototype))bound.prototype = fn.prototype;
- return bound;
- }
-});
-
-// fallback for not array-like ES3 strings and DOM objects
-$export($export.P + $export.F * fails(function(){
- if(html)arraySlice.call(html);
-}), 'Array', {
- slice: function(begin, end){
- var len = toLength(this.length)
- , klass = cof(this);
- end = end === undefined ? len : end;
- if(klass == 'Array')return arraySlice.call(this, begin, end);
- var start = toIndex(begin, len)
- , upTo = toIndex(end, len)
- , size = toLength(upTo - start)
- , cloned = Array(size)
- , i = 0;
- for(; i < size; i++)cloned[i] = klass == 'String'
- ? this.charAt(start + i)
- : this[start + i];
- return cloned;
- }
-});
-$export($export.P + $export.F * (IObject != Object), 'Array', {
- join: function join(separator){
- return arrayJoin.call(IObject(this), separator === undefined ? ',' : separator);
- }
-});
-
-// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
-$export($export.S, 'Array', {isArray: require('./$.is-array')});
-
-var createArrayReduce = function(isRight){
- return function(callbackfn, memo){
- aFunction(callbackfn);
- var O = IObject(this)
- , length = toLength(O.length)
- , index = isRight ? length - 1 : 0
- , i = isRight ? -1 : 1;
- if(arguments.length < 2)for(;;){
- if(index in O){
- memo = O[index];
- index += i;
- break;
- }
- index += i;
- if(isRight ? index < 0 : length <= index){
- throw TypeError('Reduce of empty array with no initial value');
- }
- }
- for(;isRight ? index >= 0 : length > index; index += i)if(index in O){
- memo = callbackfn(memo, O[index], index, this);
- }
- return memo;
- };
-};
-
-var methodize = function($fn){
- return function(arg1/*, arg2 = undefined */){
- return $fn(this, arg1, arguments[1]);
- };
-};
-
-$export($export.P, 'Array', {
- // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])
- forEach: $.each = $.each || methodize(createArrayMethod(0)),
- // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])
- map: methodize(createArrayMethod(1)),
- // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])
- filter: methodize(createArrayMethod(2)),
- // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])
- some: methodize(createArrayMethod(3)),
- // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])
- every: methodize(createArrayMethod(4)),
- // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])
- reduce: createArrayReduce(false),
- // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])
- reduceRight: createArrayReduce(true),
- // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])
- indexOf: methodize(arrayIndexOf),
- // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])
- lastIndexOf: function(el, fromIndex /* = @[*-1] */){
- var O = toIObject(this)
- , length = toLength(O.length)
- , index = length - 1;
- if(arguments.length > 1)index = Math.min(index, toInteger(fromIndex));
- if(index < 0)index = toLength(length + index);
- for(;index >= 0; index--)if(index in O)if(O[index] === el)return index;
- return -1;
- }
-});
-
-// 20.3.3.1 / 15.9.4.4 Date.now()
-$export($export.S, 'Date', {now: function(){ return +new Date; }});
-
-var lz = function(num){
- return num > 9 ? num : '0' + num;
-};
-
-// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()
-// PhantomJS / old WebKit has a broken implementations
-$export($export.P + $export.F * (fails(function(){
- return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z';
-}) || !fails(function(){
- new Date(NaN).toISOString();
-})), 'Date', {
- toISOString: function toISOString(){
- if(!isFinite(this))throw RangeError('Invalid time value');
- var d = this
- , y = d.getUTCFullYear()
- , m = d.getUTCMilliseconds()
- , s = y < 0 ? '-' : y > 9999 ? '+' : '';
- return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +
- '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +
- 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +
- ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.array.copy-within.js b/node_modules/core-js/library/modules/es6.array.copy-within.js
deleted file mode 100644
index 930ba78..0000000
--- a/node_modules/core-js/library/modules/es6.array.copy-within.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
-var $export = require('./$.export');
-
-$export($export.P, 'Array', {copyWithin: require('./$.array-copy-within')});
-
-require('./$.add-to-unscopables')('copyWithin');
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.array.fill.js b/node_modules/core-js/library/modules/es6.array.fill.js
deleted file mode 100644
index c3b3e2e..0000000
--- a/node_modules/core-js/library/modules/es6.array.fill.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
-var $export = require('./$.export');
-
-$export($export.P, 'Array', {fill: require('./$.array-fill')});
-
-require('./$.add-to-unscopables')('fill');
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.array.find-index.js b/node_modules/core-js/library/modules/es6.array.find-index.js
deleted file mode 100644
index 7224a60..0000000
--- a/node_modules/core-js/library/modules/es6.array.find-index.js
+++ /dev/null
@@ -1,14 +0,0 @@
-'use strict';
-// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)
-var $export = require('./$.export')
- , $find = require('./$.array-methods')(6)
- , KEY = 'findIndex'
- , forced = true;
-// Shouldn't skip holes
-if(KEY in [])Array(1)[KEY](function(){ forced = false; });
-$export($export.P + $export.F * forced, 'Array', {
- findIndex: function findIndex(callbackfn/*, that = undefined */){
- return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- }
-});
-require('./$.add-to-unscopables')(KEY);
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.array.find.js b/node_modules/core-js/library/modules/es6.array.find.js
deleted file mode 100644
index 199e987..0000000
--- a/node_modules/core-js/library/modules/es6.array.find.js
+++ /dev/null
@@ -1,14 +0,0 @@
-'use strict';
-// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)
-var $export = require('./$.export')
- , $find = require('./$.array-methods')(5)
- , KEY = 'find'
- , forced = true;
-// Shouldn't skip holes
-if(KEY in [])Array(1)[KEY](function(){ forced = false; });
-$export($export.P + $export.F * forced, 'Array', {
- find: function find(callbackfn/*, that = undefined */){
- return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- }
-});
-require('./$.add-to-unscopables')(KEY);
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.array.from.js b/node_modules/core-js/library/modules/es6.array.from.js
deleted file mode 100644
index 4637d8d..0000000
--- a/node_modules/core-js/library/modules/es6.array.from.js
+++ /dev/null
@@ -1,36 +0,0 @@
-'use strict';
-var ctx = require('./$.ctx')
- , $export = require('./$.export')
- , toObject = require('./$.to-object')
- , call = require('./$.iter-call')
- , isArrayIter = require('./$.is-array-iter')
- , toLength = require('./$.to-length')
- , getIterFn = require('./core.get-iterator-method');
-$export($export.S + $export.F * !require('./$.iter-detect')(function(iter){ Array.from(iter); }), 'Array', {
- // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
- from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){
- var O = toObject(arrayLike)
- , C = typeof this == 'function' ? this : Array
- , $$ = arguments
- , $$len = $$.length
- , mapfn = $$len > 1 ? $$[1] : undefined
- , mapping = mapfn !== undefined
- , index = 0
- , iterFn = getIterFn(O)
- , length, result, step, iterator;
- if(mapping)mapfn = ctx(mapfn, $$len > 2 ? $$[2] : undefined, 2);
- // if object isn't iterable or it's array with default iterator - use simple case
- if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){
- for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){
- result[index] = mapping ? call(iterator, mapfn, [step.value, index], true) : step.value;
- }
- } else {
- length = toLength(O.length);
- for(result = new C(length); length > index; index++){
- result[index] = mapping ? mapfn(O[index], index) : O[index];
- }
- }
- result.length = index;
- return result;
- }
-});
diff --git a/node_modules/core-js/library/modules/es6.array.iterator.js b/node_modules/core-js/library/modules/es6.array.iterator.js
deleted file mode 100644
index 52a546d..0000000
--- a/node_modules/core-js/library/modules/es6.array.iterator.js
+++ /dev/null
@@ -1,34 +0,0 @@
-'use strict';
-var addToUnscopables = require('./$.add-to-unscopables')
- , step = require('./$.iter-step')
- , Iterators = require('./$.iterators')
- , toIObject = require('./$.to-iobject');
-
-// 22.1.3.4 Array.prototype.entries()
-// 22.1.3.13 Array.prototype.keys()
-// 22.1.3.29 Array.prototype.values()
-// 22.1.3.30 Array.prototype[@@iterator]()
-module.exports = require('./$.iter-define')(Array, 'Array', function(iterated, kind){
- this._t = toIObject(iterated); // target
- this._i = 0; // next index
- this._k = kind; // kind
-// 22.1.5.2.1 %ArrayIteratorPrototype%.next()
-}, function(){
- var O = this._t
- , kind = this._k
- , index = this._i++;
- if(!O || index >= O.length){
- this._t = undefined;
- return step(1);
- }
- if(kind == 'keys' )return step(0, index);
- if(kind == 'values')return step(0, O[index]);
- return step(0, [index, O[index]]);
-}, 'values');
-
-// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
-Iterators.Arguments = Iterators.Array;
-
-addToUnscopables('keys');
-addToUnscopables('values');
-addToUnscopables('entries');
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.array.of.js b/node_modules/core-js/library/modules/es6.array.of.js
deleted file mode 100644
index f623f15..0000000
--- a/node_modules/core-js/library/modules/es6.array.of.js
+++ /dev/null
@@ -1,19 +0,0 @@
-'use strict';
-var $export = require('./$.export');
-
-// WebKit Array.of isn't generic
-$export($export.S + $export.F * require('./$.fails')(function(){
- function F(){}
- return !(Array.of.call(F) instanceof F);
-}), 'Array', {
- // 22.1.2.3 Array.of( ...items)
- of: function of(/* ...args */){
- var index = 0
- , $$ = arguments
- , $$len = $$.length
- , result = new (typeof this == 'function' ? this : Array)($$len);
- while($$len > index)result[index] = $$[index++];
- result.length = $$len;
- return result;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.array.species.js b/node_modules/core-js/library/modules/es6.array.species.js
deleted file mode 100644
index 543bdfe..0000000
--- a/node_modules/core-js/library/modules/es6.array.species.js
+++ /dev/null
@@ -1 +0,0 @@
-require('./$.set-species')('Array');
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.date.to-string.js b/node_modules/core-js/library/modules/es6.date.to-string.js
deleted file mode 100644
index e69de29..0000000
diff --git a/node_modules/core-js/library/modules/es6.function.has-instance.js b/node_modules/core-js/library/modules/es6.function.has-instance.js
deleted file mode 100644
index 94d840f..0000000
--- a/node_modules/core-js/library/modules/es6.function.has-instance.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-var $ = require('./$')
- , isObject = require('./$.is-object')
- , HAS_INSTANCE = require('./$.wks')('hasInstance')
- , FunctionProto = Function.prototype;
-// 19.2.3.6 Function.prototype[@@hasInstance](V)
-if(!(HAS_INSTANCE in FunctionProto))$.setDesc(FunctionProto, HAS_INSTANCE, {value: function(O){
- if(typeof this != 'function' || !isObject(O))return false;
- if(!isObject(this.prototype))return O instanceof this;
- // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:
- while(O = $.getProto(O))if(this.prototype === O)return true;
- return false;
-}});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.function.name.js b/node_modules/core-js/library/modules/es6.function.name.js
deleted file mode 100644
index e69de29..0000000
diff --git a/node_modules/core-js/library/modules/es6.map.js b/node_modules/core-js/library/modules/es6.map.js
deleted file mode 100644
index 54fd5c1..0000000
--- a/node_modules/core-js/library/modules/es6.map.js
+++ /dev/null
@@ -1,17 +0,0 @@
-'use strict';
-var strong = require('./$.collection-strong');
-
-// 23.1 Map Objects
-require('./$.collection')('Map', function(get){
- return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };
-}, {
- // 23.1.3.6 Map.prototype.get(key)
- get: function get(key){
- var entry = strong.getEntry(this, key);
- return entry && entry.v;
- },
- // 23.1.3.9 Map.prototype.set(key, value)
- set: function set(key, value){
- return strong.def(this, key === 0 ? 0 : key, value);
- }
-}, strong, true);
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.math.acosh.js b/node_modules/core-js/library/modules/es6.math.acosh.js
deleted file mode 100644
index f69282a..0000000
--- a/node_modules/core-js/library/modules/es6.math.acosh.js
+++ /dev/null
@@ -1,14 +0,0 @@
-// 20.2.2.3 Math.acosh(x)
-var $export = require('./$.export')
- , log1p = require('./$.math-log1p')
- , sqrt = Math.sqrt
- , $acosh = Math.acosh;
-
-// V8 bug https://code.google.com/p/v8/issues/detail?id=3509
-$export($export.S + $export.F * !($acosh && Math.floor($acosh(Number.MAX_VALUE)) == 710), 'Math', {
- acosh: function acosh(x){
- return (x = +x) < 1 ? NaN : x > 94906265.62425156
- ? Math.log(x) + Math.LN2
- : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.math.asinh.js b/node_modules/core-js/library/modules/es6.math.asinh.js
deleted file mode 100644
index bd34adf..0000000
--- a/node_modules/core-js/library/modules/es6.math.asinh.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 20.2.2.5 Math.asinh(x)
-var $export = require('./$.export');
-
-function asinh(x){
- return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));
-}
-
-$export($export.S, 'Math', {asinh: asinh});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.math.atanh.js b/node_modules/core-js/library/modules/es6.math.atanh.js
deleted file mode 100644
index 656ea40..0000000
--- a/node_modules/core-js/library/modules/es6.math.atanh.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 20.2.2.7 Math.atanh(x)
-var $export = require('./$.export');
-
-$export($export.S, 'Math', {
- atanh: function atanh(x){
- return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.math.cbrt.js b/node_modules/core-js/library/modules/es6.math.cbrt.js
deleted file mode 100644
index 79a1fbc..0000000
--- a/node_modules/core-js/library/modules/es6.math.cbrt.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// 20.2.2.9 Math.cbrt(x)
-var $export = require('./$.export')
- , sign = require('./$.math-sign');
-
-$export($export.S, 'Math', {
- cbrt: function cbrt(x){
- return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.math.clz32.js b/node_modules/core-js/library/modules/es6.math.clz32.js
deleted file mode 100644
index edd1158..0000000
--- a/node_modules/core-js/library/modules/es6.math.clz32.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 20.2.2.11 Math.clz32(x)
-var $export = require('./$.export');
-
-$export($export.S, 'Math', {
- clz32: function clz32(x){
- return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.math.cosh.js b/node_modules/core-js/library/modules/es6.math.cosh.js
deleted file mode 100644
index d1df749..0000000
--- a/node_modules/core-js/library/modules/es6.math.cosh.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// 20.2.2.12 Math.cosh(x)
-var $export = require('./$.export')
- , exp = Math.exp;
-
-$export($export.S, 'Math', {
- cosh: function cosh(x){
- return (exp(x = +x) + exp(-x)) / 2;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.math.expm1.js b/node_modules/core-js/library/modules/es6.math.expm1.js
deleted file mode 100644
index e27742f..0000000
--- a/node_modules/core-js/library/modules/es6.math.expm1.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 20.2.2.14 Math.expm1(x)
-var $export = require('./$.export');
-
-$export($export.S, 'Math', {expm1: require('./$.math-expm1')});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.math.fround.js b/node_modules/core-js/library/modules/es6.math.fround.js
deleted file mode 100644
index 43cd70c..0000000
--- a/node_modules/core-js/library/modules/es6.math.fround.js
+++ /dev/null
@@ -1,26 +0,0 @@
-// 20.2.2.16 Math.fround(x)
-var $export = require('./$.export')
- , sign = require('./$.math-sign')
- , pow = Math.pow
- , EPSILON = pow(2, -52)
- , EPSILON32 = pow(2, -23)
- , MAX32 = pow(2, 127) * (2 - EPSILON32)
- , MIN32 = pow(2, -126);
-
-var roundTiesToEven = function(n){
- return n + 1 / EPSILON - 1 / EPSILON;
-};
-
-
-$export($export.S, 'Math', {
- fround: function fround(x){
- var $abs = Math.abs(x)
- , $sign = sign(x)
- , a, result;
- if($abs < MIN32)return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;
- a = (1 + EPSILON32 / EPSILON) * $abs;
- result = a - (a - $abs);
- if(result > MAX32 || result != result)return $sign * Infinity;
- return $sign * result;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.math.hypot.js b/node_modules/core-js/library/modules/es6.math.hypot.js
deleted file mode 100644
index a8edf7c..0000000
--- a/node_modules/core-js/library/modules/es6.math.hypot.js
+++ /dev/null
@@ -1,26 +0,0 @@
-// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])
-var $export = require('./$.export')
- , abs = Math.abs;
-
-$export($export.S, 'Math', {
- hypot: function hypot(value1, value2){ // eslint-disable-line no-unused-vars
- var sum = 0
- , i = 0
- , $$ = arguments
- , $$len = $$.length
- , larg = 0
- , arg, div;
- while(i < $$len){
- arg = abs($$[i++]);
- if(larg < arg){
- div = larg / arg;
- sum = sum * div * div + 1;
- larg = arg;
- } else if(arg > 0){
- div = arg / larg;
- sum += div * div;
- } else sum += arg;
- }
- return larg === Infinity ? Infinity : larg * Math.sqrt(sum);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.math.imul.js b/node_modules/core-js/library/modules/es6.math.imul.js
deleted file mode 100644
index 926053d..0000000
--- a/node_modules/core-js/library/modules/es6.math.imul.js
+++ /dev/null
@@ -1,17 +0,0 @@
-// 20.2.2.18 Math.imul(x, y)
-var $export = require('./$.export')
- , $imul = Math.imul;
-
-// some WebKit versions fails with big numbers, some has wrong arity
-$export($export.S + $export.F * require('./$.fails')(function(){
- return $imul(0xffffffff, 5) != -5 || $imul.length != 2;
-}), 'Math', {
- imul: function imul(x, y){
- var UINT16 = 0xffff
- , xn = +x
- , yn = +y
- , xl = UINT16 & xn
- , yl = UINT16 & yn;
- return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.math.log10.js b/node_modules/core-js/library/modules/es6.math.log10.js
deleted file mode 100644
index ef5ae6a..0000000
--- a/node_modules/core-js/library/modules/es6.math.log10.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 20.2.2.21 Math.log10(x)
-var $export = require('./$.export');
-
-$export($export.S, 'Math', {
- log10: function log10(x){
- return Math.log(x) / Math.LN10;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.math.log1p.js b/node_modules/core-js/library/modules/es6.math.log1p.js
deleted file mode 100644
index 31c395e..0000000
--- a/node_modules/core-js/library/modules/es6.math.log1p.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 20.2.2.20 Math.log1p(x)
-var $export = require('./$.export');
-
-$export($export.S, 'Math', {log1p: require('./$.math-log1p')});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.math.log2.js b/node_modules/core-js/library/modules/es6.math.log2.js
deleted file mode 100644
index 24c0124..0000000
--- a/node_modules/core-js/library/modules/es6.math.log2.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 20.2.2.22 Math.log2(x)
-var $export = require('./$.export');
-
-$export($export.S, 'Math', {
- log2: function log2(x){
- return Math.log(x) / Math.LN2;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.math.sign.js b/node_modules/core-js/library/modules/es6.math.sign.js
deleted file mode 100644
index fd8d8bc..0000000
--- a/node_modules/core-js/library/modules/es6.math.sign.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 20.2.2.28 Math.sign(x)
-var $export = require('./$.export');
-
-$export($export.S, 'Math', {sign: require('./$.math-sign')});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.math.sinh.js b/node_modules/core-js/library/modules/es6.math.sinh.js
deleted file mode 100644
index a01c4d3..0000000
--- a/node_modules/core-js/library/modules/es6.math.sinh.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// 20.2.2.30 Math.sinh(x)
-var $export = require('./$.export')
- , expm1 = require('./$.math-expm1')
- , exp = Math.exp;
-
-// V8 near Chromium 38 has a problem with very small numbers
-$export($export.S + $export.F * require('./$.fails')(function(){
- return !Math.sinh(-2e-17) != -2e-17;
-}), 'Math', {
- sinh: function sinh(x){
- return Math.abs(x = +x) < 1
- ? (expm1(x) - expm1(-x)) / 2
- : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.math.tanh.js b/node_modules/core-js/library/modules/es6.math.tanh.js
deleted file mode 100644
index 0d081a5..0000000
--- a/node_modules/core-js/library/modules/es6.math.tanh.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// 20.2.2.33 Math.tanh(x)
-var $export = require('./$.export')
- , expm1 = require('./$.math-expm1')
- , exp = Math.exp;
-
-$export($export.S, 'Math', {
- tanh: function tanh(x){
- var a = expm1(x = +x)
- , b = expm1(-x);
- return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.math.trunc.js b/node_modules/core-js/library/modules/es6.math.trunc.js
deleted file mode 100644
index f3f0855..0000000
--- a/node_modules/core-js/library/modules/es6.math.trunc.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 20.2.2.34 Math.trunc(x)
-var $export = require('./$.export');
-
-$export($export.S, 'Math', {
- trunc: function trunc(it){
- return (it > 0 ? Math.floor : Math.ceil)(it);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.number.constructor.js b/node_modules/core-js/library/modules/es6.number.constructor.js
deleted file mode 100644
index e69de29..0000000
diff --git a/node_modules/core-js/library/modules/es6.number.epsilon.js b/node_modules/core-js/library/modules/es6.number.epsilon.js
deleted file mode 100644
index 45c865c..0000000
--- a/node_modules/core-js/library/modules/es6.number.epsilon.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 20.1.2.1 Number.EPSILON
-var $export = require('./$.export');
-
-$export($export.S, 'Number', {EPSILON: Math.pow(2, -52)});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.number.is-finite.js b/node_modules/core-js/library/modules/es6.number.is-finite.js
deleted file mode 100644
index 362a6c8..0000000
--- a/node_modules/core-js/library/modules/es6.number.is-finite.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// 20.1.2.2 Number.isFinite(number)
-var $export = require('./$.export')
- , _isFinite = require('./$.global').isFinite;
-
-$export($export.S, 'Number', {
- isFinite: function isFinite(it){
- return typeof it == 'number' && _isFinite(it);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.number.is-integer.js b/node_modules/core-js/library/modules/es6.number.is-integer.js
deleted file mode 100644
index 189db9a..0000000
--- a/node_modules/core-js/library/modules/es6.number.is-integer.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 20.1.2.3 Number.isInteger(number)
-var $export = require('./$.export');
-
-$export($export.S, 'Number', {isInteger: require('./$.is-integer')});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.number.is-nan.js b/node_modules/core-js/library/modules/es6.number.is-nan.js
deleted file mode 100644
index 151bb4b..0000000
--- a/node_modules/core-js/library/modules/es6.number.is-nan.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 20.1.2.4 Number.isNaN(number)
-var $export = require('./$.export');
-
-$export($export.S, 'Number', {
- isNaN: function isNaN(number){
- return number != number;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.number.is-safe-integer.js b/node_modules/core-js/library/modules/es6.number.is-safe-integer.js
deleted file mode 100644
index e23b4cb..0000000
--- a/node_modules/core-js/library/modules/es6.number.is-safe-integer.js
+++ /dev/null
@@ -1,10 +0,0 @@
-// 20.1.2.5 Number.isSafeInteger(number)
-var $export = require('./$.export')
- , isInteger = require('./$.is-integer')
- , abs = Math.abs;
-
-$export($export.S, 'Number', {
- isSafeInteger: function isSafeInteger(number){
- return isInteger(number) && abs(number) <= 0x1fffffffffffff;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.number.max-safe-integer.js b/node_modules/core-js/library/modules/es6.number.max-safe-integer.js
deleted file mode 100644
index a1aaf74..0000000
--- a/node_modules/core-js/library/modules/es6.number.max-safe-integer.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 20.1.2.6 Number.MAX_SAFE_INTEGER
-var $export = require('./$.export');
-
-$export($export.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.number.min-safe-integer.js b/node_modules/core-js/library/modules/es6.number.min-safe-integer.js
deleted file mode 100644
index ab97cb5..0000000
--- a/node_modules/core-js/library/modules/es6.number.min-safe-integer.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 20.1.2.10 Number.MIN_SAFE_INTEGER
-var $export = require('./$.export');
-
-$export($export.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.number.parse-float.js b/node_modules/core-js/library/modules/es6.number.parse-float.js
deleted file mode 100644
index 1d0c967..0000000
--- a/node_modules/core-js/library/modules/es6.number.parse-float.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 20.1.2.12 Number.parseFloat(string)
-var $export = require('./$.export');
-
-$export($export.S, 'Number', {parseFloat: parseFloat});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.number.parse-int.js b/node_modules/core-js/library/modules/es6.number.parse-int.js
deleted file mode 100644
index 813b5b7..0000000
--- a/node_modules/core-js/library/modules/es6.number.parse-int.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 20.1.2.13 Number.parseInt(string, radix)
-var $export = require('./$.export');
-
-$export($export.S, 'Number', {parseInt: parseInt});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.object.assign.js b/node_modules/core-js/library/modules/es6.object.assign.js
deleted file mode 100644
index b62e7a4..0000000
--- a/node_modules/core-js/library/modules/es6.object.assign.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 19.1.3.1 Object.assign(target, source)
-var $export = require('./$.export');
-
-$export($export.S + $export.F, 'Object', {assign: require('./$.object-assign')});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.object.freeze.js b/node_modules/core-js/library/modules/es6.object.freeze.js
deleted file mode 100644
index fa87c95..0000000
--- a/node_modules/core-js/library/modules/es6.object.freeze.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 19.1.2.5 Object.freeze(O)
-var isObject = require('./$.is-object');
-
-require('./$.object-sap')('freeze', function($freeze){
- return function freeze(it){
- return $freeze && isObject(it) ? $freeze(it) : it;
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js b/node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js
deleted file mode 100644
index 9b253ac..0000000
--- a/node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
-var toIObject = require('./$.to-iobject');
-
-require('./$.object-sap')('getOwnPropertyDescriptor', function($getOwnPropertyDescriptor){
- return function getOwnPropertyDescriptor(it, key){
- return $getOwnPropertyDescriptor(toIObject(it), key);
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.object.get-own-property-names.js b/node_modules/core-js/library/modules/es6.object.get-own-property-names.js
deleted file mode 100644
index e87bcf6..0000000
--- a/node_modules/core-js/library/modules/es6.object.get-own-property-names.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 19.1.2.7 Object.getOwnPropertyNames(O)
-require('./$.object-sap')('getOwnPropertyNames', function(){
- return require('./$.get-names').get;
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.object.get-prototype-of.js b/node_modules/core-js/library/modules/es6.object.get-prototype-of.js
deleted file mode 100644
index 9ec0405..0000000
--- a/node_modules/core-js/library/modules/es6.object.get-prototype-of.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 19.1.2.9 Object.getPrototypeOf(O)
-var toObject = require('./$.to-object');
-
-require('./$.object-sap')('getPrototypeOf', function($getPrototypeOf){
- return function getPrototypeOf(it){
- return $getPrototypeOf(toObject(it));
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.object.is-extensible.js b/node_modules/core-js/library/modules/es6.object.is-extensible.js
deleted file mode 100644
index ada2b95..0000000
--- a/node_modules/core-js/library/modules/es6.object.is-extensible.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 19.1.2.11 Object.isExtensible(O)
-var isObject = require('./$.is-object');
-
-require('./$.object-sap')('isExtensible', function($isExtensible){
- return function isExtensible(it){
- return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.object.is-frozen.js b/node_modules/core-js/library/modules/es6.object.is-frozen.js
deleted file mode 100644
index b3e44d1..0000000
--- a/node_modules/core-js/library/modules/es6.object.is-frozen.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 19.1.2.12 Object.isFrozen(O)
-var isObject = require('./$.is-object');
-
-require('./$.object-sap')('isFrozen', function($isFrozen){
- return function isFrozen(it){
- return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.object.is-sealed.js b/node_modules/core-js/library/modules/es6.object.is-sealed.js
deleted file mode 100644
index 423caf3..0000000
--- a/node_modules/core-js/library/modules/es6.object.is-sealed.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 19.1.2.13 Object.isSealed(O)
-var isObject = require('./$.is-object');
-
-require('./$.object-sap')('isSealed', function($isSealed){
- return function isSealed(it){
- return isObject(it) ? $isSealed ? $isSealed(it) : false : true;
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.object.is.js b/node_modules/core-js/library/modules/es6.object.is.js
deleted file mode 100644
index 3ae3b60..0000000
--- a/node_modules/core-js/library/modules/es6.object.is.js
+++ /dev/null
@@ -1,3 +0,0 @@
-// 19.1.3.10 Object.is(value1, value2)
-var $export = require('./$.export');
-$export($export.S, 'Object', {is: require('./$.same-value')});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.object.keys.js b/node_modules/core-js/library/modules/es6.object.keys.js
deleted file mode 100644
index e3c18c0..0000000
--- a/node_modules/core-js/library/modules/es6.object.keys.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 19.1.2.14 Object.keys(O)
-var toObject = require('./$.to-object');
-
-require('./$.object-sap')('keys', function($keys){
- return function keys(it){
- return $keys(toObject(it));
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.object.prevent-extensions.js b/node_modules/core-js/library/modules/es6.object.prevent-extensions.js
deleted file mode 100644
index 20f879e..0000000
--- a/node_modules/core-js/library/modules/es6.object.prevent-extensions.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 19.1.2.15 Object.preventExtensions(O)
-var isObject = require('./$.is-object');
-
-require('./$.object-sap')('preventExtensions', function($preventExtensions){
- return function preventExtensions(it){
- return $preventExtensions && isObject(it) ? $preventExtensions(it) : it;
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.object.seal.js b/node_modules/core-js/library/modules/es6.object.seal.js
deleted file mode 100644
index 85a7fa9..0000000
--- a/node_modules/core-js/library/modules/es6.object.seal.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 19.1.2.17 Object.seal(O)
-var isObject = require('./$.is-object');
-
-require('./$.object-sap')('seal', function($seal){
- return function seal(it){
- return $seal && isObject(it) ? $seal(it) : it;
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.object.set-prototype-of.js b/node_modules/core-js/library/modules/es6.object.set-prototype-of.js
deleted file mode 100644
index 79a147c..0000000
--- a/node_modules/core-js/library/modules/es6.object.set-prototype-of.js
+++ /dev/null
@@ -1,3 +0,0 @@
-// 19.1.3.19 Object.setPrototypeOf(O, proto)
-var $export = require('./$.export');
-$export($export.S, 'Object', {setPrototypeOf: require('./$.set-proto').set});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.object.to-string.js b/node_modules/core-js/library/modules/es6.object.to-string.js
deleted file mode 100644
index e69de29..0000000
diff --git a/node_modules/core-js/library/modules/es6.promise.js b/node_modules/core-js/library/modules/es6.promise.js
deleted file mode 100644
index 28fa22c..0000000
--- a/node_modules/core-js/library/modules/es6.promise.js
+++ /dev/null
@@ -1,289 +0,0 @@
-'use strict';
-var $ = require('./$')
- , LIBRARY = require('./$.library')
- , global = require('./$.global')
- , ctx = require('./$.ctx')
- , classof = require('./$.classof')
- , $export = require('./$.export')
- , isObject = require('./$.is-object')
- , anObject = require('./$.an-object')
- , aFunction = require('./$.a-function')
- , strictNew = require('./$.strict-new')
- , forOf = require('./$.for-of')
- , setProto = require('./$.set-proto').set
- , same = require('./$.same-value')
- , SPECIES = require('./$.wks')('species')
- , speciesConstructor = require('./$.species-constructor')
- , asap = require('./$.microtask')
- , PROMISE = 'Promise'
- , process = global.process
- , isNode = classof(process) == 'process'
- , P = global[PROMISE]
- , Wrapper;
-
-var testResolve = function(sub){
- var test = new P(function(){});
- if(sub)test.constructor = Object;
- return P.resolve(test) === test;
-};
-
-var USE_NATIVE = function(){
- var works = false;
- function P2(x){
- var self = new P(x);
- setProto(self, P2.prototype);
- return self;
- }
- try {
- works = P && P.resolve && testResolve();
- setProto(P2, P);
- P2.prototype = $.create(P.prototype, {constructor: {value: P2}});
- // actual Firefox has broken subclass support, test that
- if(!(P2.resolve(5).then(function(){}) instanceof P2)){
- works = false;
- }
- // actual V8 bug, https://code.google.com/p/v8/issues/detail?id=4162
- if(works && require('./$.descriptors')){
- var thenableThenGotten = false;
- P.resolve($.setDesc({}, 'then', {
- get: function(){ thenableThenGotten = true; }
- }));
- works = thenableThenGotten;
- }
- } catch(e){ works = false; }
- return works;
-}();
-
-// helpers
-var sameConstructor = function(a, b){
- // library wrapper special case
- if(LIBRARY && a === P && b === Wrapper)return true;
- return same(a, b);
-};
-var getConstructor = function(C){
- var S = anObject(C)[SPECIES];
- return S != undefined ? S : C;
-};
-var isThenable = function(it){
- var then;
- return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
-};
-var PromiseCapability = function(C){
- var resolve, reject;
- this.promise = new C(function($$resolve, $$reject){
- if(resolve !== undefined || reject !== undefined)throw TypeError('Bad Promise constructor');
- resolve = $$resolve;
- reject = $$reject;
- });
- this.resolve = aFunction(resolve),
- this.reject = aFunction(reject)
-};
-var perform = function(exec){
- try {
- exec();
- } catch(e){
- return {error: e};
- }
-};
-var notify = function(record, isReject){
- if(record.n)return;
- record.n = true;
- var chain = record.c;
- asap(function(){
- var value = record.v
- , ok = record.s == 1
- , i = 0;
- var run = function(reaction){
- var handler = ok ? reaction.ok : reaction.fail
- , resolve = reaction.resolve
- , reject = reaction.reject
- , result, then;
- try {
- if(handler){
- if(!ok)record.h = true;
- result = handler === true ? value : handler(value);
- if(result === reaction.promise){
- reject(TypeError('Promise-chain cycle'));
- } else if(then = isThenable(result)){
- then.call(result, resolve, reject);
- } else resolve(result);
- } else reject(value);
- } catch(e){
- reject(e);
- }
- };
- while(chain.length > i)run(chain[i++]); // variable length - can't use forEach
- chain.length = 0;
- record.n = false;
- if(isReject)setTimeout(function(){
- var promise = record.p
- , handler, console;
- if(isUnhandled(promise)){
- if(isNode){
- process.emit('unhandledRejection', value, promise);
- } else if(handler = global.onunhandledrejection){
- handler({promise: promise, reason: value});
- } else if((console = global.console) && console.error){
- console.error('Unhandled promise rejection', value);
- }
- } record.a = undefined;
- }, 1);
- });
-};
-var isUnhandled = function(promise){
- var record = promise._d
- , chain = record.a || record.c
- , i = 0
- , reaction;
- if(record.h)return false;
- while(chain.length > i){
- reaction = chain[i++];
- if(reaction.fail || !isUnhandled(reaction.promise))return false;
- } return true;
-};
-var $reject = function(value){
- var record = this;
- if(record.d)return;
- record.d = true;
- record = record.r || record; // unwrap
- record.v = value;
- record.s = 2;
- record.a = record.c.slice();
- notify(record, true);
-};
-var $resolve = function(value){
- var record = this
- , then;
- if(record.d)return;
- record.d = true;
- record = record.r || record; // unwrap
- try {
- if(record.p === value)throw TypeError("Promise can't be resolved itself");
- if(then = isThenable(value)){
- asap(function(){
- var wrapper = {r: record, d: false}; // wrap
- try {
- then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));
- } catch(e){
- $reject.call(wrapper, e);
- }
- });
- } else {
- record.v = value;
- record.s = 1;
- notify(record, false);
- }
- } catch(e){
- $reject.call({r: record, d: false}, e); // wrap
- }
-};
-
-// constructor polyfill
-if(!USE_NATIVE){
- // 25.4.3.1 Promise(executor)
- P = function Promise(executor){
- aFunction(executor);
- var record = this._d = {
- p: strictNew(this, P, PROMISE), // <- promise
- c: [], // <- awaiting reactions
- a: undefined, // <- checked in isUnhandled reactions
- s: 0, // <- state
- d: false, // <- done
- v: undefined, // <- value
- h: false, // <- handled rejection
- n: false // <- notify
- };
- try {
- executor(ctx($resolve, record, 1), ctx($reject, record, 1));
- } catch(err){
- $reject.call(record, err);
- }
- };
- require('./$.redefine-all')(P.prototype, {
- // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)
- then: function then(onFulfilled, onRejected){
- var reaction = new PromiseCapability(speciesConstructor(this, P))
- , promise = reaction.promise
- , record = this._d;
- reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
- reaction.fail = typeof onRejected == 'function' && onRejected;
- record.c.push(reaction);
- if(record.a)record.a.push(reaction);
- if(record.s)notify(record, false);
- return promise;
- },
- // 25.4.5.1 Promise.prototype.catch(onRejected)
- 'catch': function(onRejected){
- return this.then(undefined, onRejected);
- }
- });
-}
-
-$export($export.G + $export.W + $export.F * !USE_NATIVE, {Promise: P});
-require('./$.set-to-string-tag')(P, PROMISE);
-require('./$.set-species')(PROMISE);
-Wrapper = require('./$.core')[PROMISE];
-
-// statics
-$export($export.S + $export.F * !USE_NATIVE, PROMISE, {
- // 25.4.4.5 Promise.reject(r)
- reject: function reject(r){
- var capability = new PromiseCapability(this)
- , $$reject = capability.reject;
- $$reject(r);
- return capability.promise;
- }
-});
-$export($export.S + $export.F * (!USE_NATIVE || testResolve(true)), PROMISE, {
- // 25.4.4.6 Promise.resolve(x)
- resolve: function resolve(x){
- // instanceof instead of internal slot check because we should fix it without replacement native Promise core
- if(x instanceof P && sameConstructor(x.constructor, this))return x;
- var capability = new PromiseCapability(this)
- , $$resolve = capability.resolve;
- $$resolve(x);
- return capability.promise;
- }
-});
-$export($export.S + $export.F * !(USE_NATIVE && require('./$.iter-detect')(function(iter){
- P.all(iter)['catch'](function(){});
-})), PROMISE, {
- // 25.4.4.1 Promise.all(iterable)
- all: function all(iterable){
- var C = getConstructor(this)
- , capability = new PromiseCapability(C)
- , resolve = capability.resolve
- , reject = capability.reject
- , values = [];
- var abrupt = perform(function(){
- forOf(iterable, false, values.push, values);
- var remaining = values.length
- , results = Array(remaining);
- if(remaining)$.each.call(values, function(promise, index){
- var alreadyCalled = false;
- C.resolve(promise).then(function(value){
- if(alreadyCalled)return;
- alreadyCalled = true;
- results[index] = value;
- --remaining || resolve(results);
- }, reject);
- });
- else resolve(results);
- });
- if(abrupt)reject(abrupt.error);
- return capability.promise;
- },
- // 25.4.4.4 Promise.race(iterable)
- race: function race(iterable){
- var C = getConstructor(this)
- , capability = new PromiseCapability(C)
- , reject = capability.reject;
- var abrupt = perform(function(){
- forOf(iterable, false, function(promise){
- C.resolve(promise).then(capability.resolve, reject);
- });
- });
- if(abrupt)reject(abrupt.error);
- return capability.promise;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.reflect.apply.js b/node_modules/core-js/library/modules/es6.reflect.apply.js
deleted file mode 100644
index b392712..0000000
--- a/node_modules/core-js/library/modules/es6.reflect.apply.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)
-var $export = require('./$.export')
- , _apply = Function.apply;
-
-$export($export.S, 'Reflect', {
- apply: function apply(target, thisArgument, argumentsList){
- return _apply.call(target, thisArgument, argumentsList);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.reflect.construct.js b/node_modules/core-js/library/modules/es6.reflect.construct.js
deleted file mode 100644
index 29d245f..0000000
--- a/node_modules/core-js/library/modules/es6.reflect.construct.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])
-var $ = require('./$')
- , $export = require('./$.export')
- , aFunction = require('./$.a-function')
- , anObject = require('./$.an-object')
- , isObject = require('./$.is-object')
- , bind = Function.bind || require('./$.core').Function.prototype.bind;
-
-// MS Edge supports only 2 arguments
-// FF Nightly sets third argument as `new.target`, but does not create `this` from it
-$export($export.S + $export.F * require('./$.fails')(function(){
- function F(){}
- return !(Reflect.construct(function(){}, [], F) instanceof F);
-}), 'Reflect', {
- construct: function construct(Target, args /*, newTarget*/){
- aFunction(Target);
- var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);
- if(Target == newTarget){
- // w/o altered newTarget, optimization for 0-4 arguments
- if(args != undefined)switch(anObject(args).length){
- case 0: return new Target;
- case 1: return new Target(args[0]);
- case 2: return new Target(args[0], args[1]);
- case 3: return new Target(args[0], args[1], args[2]);
- case 4: return new Target(args[0], args[1], args[2], args[3]);
- }
- // w/o altered newTarget, lot of arguments case
- var $args = [null];
- $args.push.apply($args, args);
- return new (bind.apply(Target, $args));
- }
- // with altered newTarget, not support built-in constructors
- var proto = newTarget.prototype
- , instance = $.create(isObject(proto) ? proto : Object.prototype)
- , result = Function.apply.call(Target, instance, args);
- return isObject(result) ? result : instance;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.reflect.define-property.js b/node_modules/core-js/library/modules/es6.reflect.define-property.js
deleted file mode 100644
index 5f7fc6a..0000000
--- a/node_modules/core-js/library/modules/es6.reflect.define-property.js
+++ /dev/null
@@ -1,19 +0,0 @@
-// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)
-var $ = require('./$')
- , $export = require('./$.export')
- , anObject = require('./$.an-object');
-
-// MS Edge has broken Reflect.defineProperty - throwing instead of returning false
-$export($export.S + $export.F * require('./$.fails')(function(){
- Reflect.defineProperty($.setDesc({}, 1, {value: 1}), 1, {value: 2});
-}), 'Reflect', {
- defineProperty: function defineProperty(target, propertyKey, attributes){
- anObject(target);
- try {
- $.setDesc(target, propertyKey, attributes);
- return true;
- } catch(e){
- return false;
- }
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.reflect.delete-property.js b/node_modules/core-js/library/modules/es6.reflect.delete-property.js
deleted file mode 100644
index 18526e5..0000000
--- a/node_modules/core-js/library/modules/es6.reflect.delete-property.js
+++ /dev/null
@@ -1,11 +0,0 @@
-// 26.1.4 Reflect.deleteProperty(target, propertyKey)
-var $export = require('./$.export')
- , getDesc = require('./$').getDesc
- , anObject = require('./$.an-object');
-
-$export($export.S, 'Reflect', {
- deleteProperty: function deleteProperty(target, propertyKey){
- var desc = getDesc(anObject(target), propertyKey);
- return desc && !desc.configurable ? false : delete target[propertyKey];
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.reflect.enumerate.js b/node_modules/core-js/library/modules/es6.reflect.enumerate.js
deleted file mode 100644
index 73452e2..0000000
--- a/node_modules/core-js/library/modules/es6.reflect.enumerate.js
+++ /dev/null
@@ -1,26 +0,0 @@
-'use strict';
-// 26.1.5 Reflect.enumerate(target)
-var $export = require('./$.export')
- , anObject = require('./$.an-object');
-var Enumerate = function(iterated){
- this._t = anObject(iterated); // target
- this._i = 0; // next index
- var keys = this._k = [] // keys
- , key;
- for(key in iterated)keys.push(key);
-};
-require('./$.iter-create')(Enumerate, 'Object', function(){
- var that = this
- , keys = that._k
- , key;
- do {
- if(that._i >= keys.length)return {value: undefined, done: true};
- } while(!((key = keys[that._i++]) in that._t));
- return {value: key, done: false};
-});
-
-$export($export.S, 'Reflect', {
- enumerate: function enumerate(target){
- return new Enumerate(target);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.reflect.get-own-property-descriptor.js b/node_modules/core-js/library/modules/es6.reflect.get-own-property-descriptor.js
deleted file mode 100644
index a3a2e01..0000000
--- a/node_modules/core-js/library/modules/es6.reflect.get-own-property-descriptor.js
+++ /dev/null
@@ -1,10 +0,0 @@
-// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)
-var $ = require('./$')
- , $export = require('./$.export')
- , anObject = require('./$.an-object');
-
-$export($export.S, 'Reflect', {
- getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey){
- return $.getDesc(anObject(target), propertyKey);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.reflect.get-prototype-of.js b/node_modules/core-js/library/modules/es6.reflect.get-prototype-of.js
deleted file mode 100644
index c06bfa4..0000000
--- a/node_modules/core-js/library/modules/es6.reflect.get-prototype-of.js
+++ /dev/null
@@ -1,10 +0,0 @@
-// 26.1.8 Reflect.getPrototypeOf(target)
-var $export = require('./$.export')
- , getProto = require('./$').getProto
- , anObject = require('./$.an-object');
-
-$export($export.S, 'Reflect', {
- getPrototypeOf: function getPrototypeOf(target){
- return getProto(anObject(target));
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.reflect.get.js b/node_modules/core-js/library/modules/es6.reflect.get.js
deleted file mode 100644
index cbb0caa..0000000
--- a/node_modules/core-js/library/modules/es6.reflect.get.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// 26.1.6 Reflect.get(target, propertyKey [, receiver])
-var $ = require('./$')
- , has = require('./$.has')
- , $export = require('./$.export')
- , isObject = require('./$.is-object')
- , anObject = require('./$.an-object');
-
-function get(target, propertyKey/*, receiver*/){
- var receiver = arguments.length < 3 ? target : arguments[2]
- , desc, proto;
- if(anObject(target) === receiver)return target[propertyKey];
- if(desc = $.getDesc(target, propertyKey))return has(desc, 'value')
- ? desc.value
- : desc.get !== undefined
- ? desc.get.call(receiver)
- : undefined;
- if(isObject(proto = $.getProto(target)))return get(proto, propertyKey, receiver);
-}
-
-$export($export.S, 'Reflect', {get: get});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.reflect.has.js b/node_modules/core-js/library/modules/es6.reflect.has.js
deleted file mode 100644
index 65c9e82..0000000
--- a/node_modules/core-js/library/modules/es6.reflect.has.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 26.1.9 Reflect.has(target, propertyKey)
-var $export = require('./$.export');
-
-$export($export.S, 'Reflect', {
- has: function has(target, propertyKey){
- return propertyKey in target;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.reflect.is-extensible.js b/node_modules/core-js/library/modules/es6.reflect.is-extensible.js
deleted file mode 100644
index b92c4f6..0000000
--- a/node_modules/core-js/library/modules/es6.reflect.is-extensible.js
+++ /dev/null
@@ -1,11 +0,0 @@
-// 26.1.10 Reflect.isExtensible(target)
-var $export = require('./$.export')
- , anObject = require('./$.an-object')
- , $isExtensible = Object.isExtensible;
-
-$export($export.S, 'Reflect', {
- isExtensible: function isExtensible(target){
- anObject(target);
- return $isExtensible ? $isExtensible(target) : true;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.reflect.own-keys.js b/node_modules/core-js/library/modules/es6.reflect.own-keys.js
deleted file mode 100644
index db79fda..0000000
--- a/node_modules/core-js/library/modules/es6.reflect.own-keys.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 26.1.11 Reflect.ownKeys(target)
-var $export = require('./$.export');
-
-$export($export.S, 'Reflect', {ownKeys: require('./$.own-keys')});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.reflect.prevent-extensions.js b/node_modules/core-js/library/modules/es6.reflect.prevent-extensions.js
deleted file mode 100644
index f5ccfc2..0000000
--- a/node_modules/core-js/library/modules/es6.reflect.prevent-extensions.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// 26.1.12 Reflect.preventExtensions(target)
-var $export = require('./$.export')
- , anObject = require('./$.an-object')
- , $preventExtensions = Object.preventExtensions;
-
-$export($export.S, 'Reflect', {
- preventExtensions: function preventExtensions(target){
- anObject(target);
- try {
- if($preventExtensions)$preventExtensions(target);
- return true;
- } catch(e){
- return false;
- }
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.reflect.set-prototype-of.js b/node_modules/core-js/library/modules/es6.reflect.set-prototype-of.js
deleted file mode 100644
index e769436..0000000
--- a/node_modules/core-js/library/modules/es6.reflect.set-prototype-of.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// 26.1.14 Reflect.setPrototypeOf(target, proto)
-var $export = require('./$.export')
- , setProto = require('./$.set-proto');
-
-if(setProto)$export($export.S, 'Reflect', {
- setPrototypeOf: function setPrototypeOf(target, proto){
- setProto.check(target, proto);
- try {
- setProto.set(target, proto);
- return true;
- } catch(e){
- return false;
- }
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.reflect.set.js b/node_modules/core-js/library/modules/es6.reflect.set.js
deleted file mode 100644
index 0a938e7..0000000
--- a/node_modules/core-js/library/modules/es6.reflect.set.js
+++ /dev/null
@@ -1,29 +0,0 @@
-// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])
-var $ = require('./$')
- , has = require('./$.has')
- , $export = require('./$.export')
- , createDesc = require('./$.property-desc')
- , anObject = require('./$.an-object')
- , isObject = require('./$.is-object');
-
-function set(target, propertyKey, V/*, receiver*/){
- var receiver = arguments.length < 4 ? target : arguments[3]
- , ownDesc = $.getDesc(anObject(target), propertyKey)
- , existingDescriptor, proto;
- if(!ownDesc){
- if(isObject(proto = $.getProto(target))){
- return set(proto, propertyKey, V, receiver);
- }
- ownDesc = createDesc(0);
- }
- if(has(ownDesc, 'value')){
- if(ownDesc.writable === false || !isObject(receiver))return false;
- existingDescriptor = $.getDesc(receiver, propertyKey) || createDesc(0);
- existingDescriptor.value = V;
- $.setDesc(receiver, propertyKey, existingDescriptor);
- return true;
- }
- return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);
-}
-
-$export($export.S, 'Reflect', {set: set});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.regexp.constructor.js b/node_modules/core-js/library/modules/es6.regexp.constructor.js
deleted file mode 100644
index 087d9be..0000000
--- a/node_modules/core-js/library/modules/es6.regexp.constructor.js
+++ /dev/null
@@ -1 +0,0 @@
-require('./$.set-species')('RegExp');
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.regexp.flags.js b/node_modules/core-js/library/modules/es6.regexp.flags.js
deleted file mode 100644
index e69de29..0000000
diff --git a/node_modules/core-js/library/modules/es6.regexp.match.js b/node_modules/core-js/library/modules/es6.regexp.match.js
deleted file mode 100644
index e69de29..0000000
diff --git a/node_modules/core-js/library/modules/es6.regexp.replace.js b/node_modules/core-js/library/modules/es6.regexp.replace.js
deleted file mode 100644
index e69de29..0000000
diff --git a/node_modules/core-js/library/modules/es6.regexp.search.js b/node_modules/core-js/library/modules/es6.regexp.search.js
deleted file mode 100644
index e69de29..0000000
diff --git a/node_modules/core-js/library/modules/es6.regexp.split.js b/node_modules/core-js/library/modules/es6.regexp.split.js
deleted file mode 100644
index e69de29..0000000
diff --git a/node_modules/core-js/library/modules/es6.set.js b/node_modules/core-js/library/modules/es6.set.js
deleted file mode 100644
index 8e148c9..0000000
--- a/node_modules/core-js/library/modules/es6.set.js
+++ /dev/null
@@ -1,12 +0,0 @@
-'use strict';
-var strong = require('./$.collection-strong');
-
-// 23.2 Set Objects
-require('./$.collection')('Set', function(get){
- return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };
-}, {
- // 23.2.3.1 Set.prototype.add(value)
- add: function add(value){
- return strong.def(this, value = value === 0 ? 0 : value, value);
- }
-}, strong);
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.string.code-point-at.js b/node_modules/core-js/library/modules/es6.string.code-point-at.js
deleted file mode 100644
index ebac551..0000000
--- a/node_modules/core-js/library/modules/es6.string.code-point-at.js
+++ /dev/null
@@ -1,9 +0,0 @@
-'use strict';
-var $export = require('./$.export')
- , $at = require('./$.string-at')(false);
-$export($export.P, 'String', {
- // 21.1.3.3 String.prototype.codePointAt(pos)
- codePointAt: function codePointAt(pos){
- return $at(this, pos);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.string.ends-with.js b/node_modules/core-js/library/modules/es6.string.ends-with.js
deleted file mode 100644
index a102da2..0000000
--- a/node_modules/core-js/library/modules/es6.string.ends-with.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])
-'use strict';
-var $export = require('./$.export')
- , toLength = require('./$.to-length')
- , context = require('./$.string-context')
- , ENDS_WITH = 'endsWith'
- , $endsWith = ''[ENDS_WITH];
-
-$export($export.P + $export.F * require('./$.fails-is-regexp')(ENDS_WITH), 'String', {
- endsWith: function endsWith(searchString /*, endPosition = @length */){
- var that = context(this, searchString, ENDS_WITH)
- , $$ = arguments
- , endPosition = $$.length > 1 ? $$[1] : undefined
- , len = toLength(that.length)
- , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len)
- , search = String(searchString);
- return $endsWith
- ? $endsWith.call(that, search, end)
- : that.slice(end - search.length, end) === search;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.string.from-code-point.js b/node_modules/core-js/library/modules/es6.string.from-code-point.js
deleted file mode 100644
index b0bd166..0000000
--- a/node_modules/core-js/library/modules/es6.string.from-code-point.js
+++ /dev/null
@@ -1,24 +0,0 @@
-var $export = require('./$.export')
- , toIndex = require('./$.to-index')
- , fromCharCode = String.fromCharCode
- , $fromCodePoint = String.fromCodePoint;
-
-// length should be 1, old FF problem
-$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {
- // 21.1.2.2 String.fromCodePoint(...codePoints)
- fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars
- var res = []
- , $$ = arguments
- , $$len = $$.length
- , i = 0
- , code;
- while($$len > i){
- code = +$$[i++];
- if(toIndex(code, 0x10ffff) !== code)throw RangeError(code + ' is not a valid code point');
- res.push(code < 0x10000
- ? fromCharCode(code)
- : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)
- );
- } return res.join('');
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.string.includes.js b/node_modules/core-js/library/modules/es6.string.includes.js
deleted file mode 100644
index e2ab8db..0000000
--- a/node_modules/core-js/library/modules/es6.string.includes.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// 21.1.3.7 String.prototype.includes(searchString, position = 0)
-'use strict';
-var $export = require('./$.export')
- , context = require('./$.string-context')
- , INCLUDES = 'includes';
-
-$export($export.P + $export.F * require('./$.fails-is-regexp')(INCLUDES), 'String', {
- includes: function includes(searchString /*, position = 0 */){
- return !!~context(this, searchString, INCLUDES)
- .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.string.iterator.js b/node_modules/core-js/library/modules/es6.string.iterator.js
deleted file mode 100644
index 2f4c772..0000000
--- a/node_modules/core-js/library/modules/es6.string.iterator.js
+++ /dev/null
@@ -1,17 +0,0 @@
-'use strict';
-var $at = require('./$.string-at')(true);
-
-// 21.1.3.27 String.prototype[@@iterator]()
-require('./$.iter-define')(String, 'String', function(iterated){
- this._t = String(iterated); // target
- this._i = 0; // next index
-// 21.1.5.2.1 %StringIteratorPrototype%.next()
-}, function(){
- var O = this._t
- , index = this._i
- , point;
- if(index >= O.length)return {value: undefined, done: true};
- point = $at(O, index);
- this._i += point.length;
- return {value: point, done: false};
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.string.raw.js b/node_modules/core-js/library/modules/es6.string.raw.js
deleted file mode 100644
index 64279d2..0000000
--- a/node_modules/core-js/library/modules/es6.string.raw.js
+++ /dev/null
@@ -1,19 +0,0 @@
-var $export = require('./$.export')
- , toIObject = require('./$.to-iobject')
- , toLength = require('./$.to-length');
-
-$export($export.S, 'String', {
- // 21.1.2.4 String.raw(callSite, ...substitutions)
- raw: function raw(callSite){
- var tpl = toIObject(callSite.raw)
- , len = toLength(tpl.length)
- , $$ = arguments
- , $$len = $$.length
- , res = []
- , i = 0;
- while(len > i){
- res.push(String(tpl[i++]));
- if(i < $$len)res.push(String($$[i]));
- } return res.join('');
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.string.repeat.js b/node_modules/core-js/library/modules/es6.string.repeat.js
deleted file mode 100644
index 4ec29f6..0000000
--- a/node_modules/core-js/library/modules/es6.string.repeat.js
+++ /dev/null
@@ -1,6 +0,0 @@
-var $export = require('./$.export');
-
-$export($export.P, 'String', {
- // 21.1.3.13 String.prototype.repeat(count)
- repeat: require('./$.string-repeat')
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.string.starts-with.js b/node_modules/core-js/library/modules/es6.string.starts-with.js
deleted file mode 100644
index 2114307..0000000
--- a/node_modules/core-js/library/modules/es6.string.starts-with.js
+++ /dev/null
@@ -1,19 +0,0 @@
-// 21.1.3.18 String.prototype.startsWith(searchString [, position ])
-'use strict';
-var $export = require('./$.export')
- , toLength = require('./$.to-length')
- , context = require('./$.string-context')
- , STARTS_WITH = 'startsWith'
- , $startsWith = ''[STARTS_WITH];
-
-$export($export.P + $export.F * require('./$.fails-is-regexp')(STARTS_WITH), 'String', {
- startsWith: function startsWith(searchString /*, position = 0 */){
- var that = context(this, searchString, STARTS_WITH)
- , $$ = arguments
- , index = toLength(Math.min($$.length > 1 ? $$[1] : undefined, that.length))
- , search = String(searchString);
- return $startsWith
- ? $startsWith.call(that, search, index)
- : that.slice(index, index + search.length) === search;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.string.trim.js b/node_modules/core-js/library/modules/es6.string.trim.js
deleted file mode 100644
index 52b75ca..0000000
--- a/node_modules/core-js/library/modules/es6.string.trim.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-// 21.1.3.25 String.prototype.trim()
-require('./$.string-trim')('trim', function($trim){
- return function trim(){
- return $trim(this, 3);
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.symbol.js b/node_modules/core-js/library/modules/es6.symbol.js
deleted file mode 100644
index 42b7a3a..0000000
--- a/node_modules/core-js/library/modules/es6.symbol.js
+++ /dev/null
@@ -1,227 +0,0 @@
-'use strict';
-// ECMAScript 6 symbols shim
-var $ = require('./$')
- , global = require('./$.global')
- , has = require('./$.has')
- , DESCRIPTORS = require('./$.descriptors')
- , $export = require('./$.export')
- , redefine = require('./$.redefine')
- , $fails = require('./$.fails')
- , shared = require('./$.shared')
- , setToStringTag = require('./$.set-to-string-tag')
- , uid = require('./$.uid')
- , wks = require('./$.wks')
- , keyOf = require('./$.keyof')
- , $names = require('./$.get-names')
- , enumKeys = require('./$.enum-keys')
- , isArray = require('./$.is-array')
- , anObject = require('./$.an-object')
- , toIObject = require('./$.to-iobject')
- , createDesc = require('./$.property-desc')
- , getDesc = $.getDesc
- , setDesc = $.setDesc
- , _create = $.create
- , getNames = $names.get
- , $Symbol = global.Symbol
- , $JSON = global.JSON
- , _stringify = $JSON && $JSON.stringify
- , setter = false
- , HIDDEN = wks('_hidden')
- , isEnum = $.isEnum
- , SymbolRegistry = shared('symbol-registry')
- , AllSymbols = shared('symbols')
- , useNative = typeof $Symbol == 'function'
- , ObjectProto = Object.prototype;
-
-// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
-var setSymbolDesc = DESCRIPTORS && $fails(function(){
- return _create(setDesc({}, 'a', {
- get: function(){ return setDesc(this, 'a', {value: 7}).a; }
- })).a != 7;
-}) ? function(it, key, D){
- var protoDesc = getDesc(ObjectProto, key);
- if(protoDesc)delete ObjectProto[key];
- setDesc(it, key, D);
- if(protoDesc && it !== ObjectProto)setDesc(ObjectProto, key, protoDesc);
-} : setDesc;
-
-var wrap = function(tag){
- var sym = AllSymbols[tag] = _create($Symbol.prototype);
- sym._k = tag;
- DESCRIPTORS && setter && setSymbolDesc(ObjectProto, tag, {
- configurable: true,
- set: function(value){
- if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;
- setSymbolDesc(this, tag, createDesc(1, value));
- }
- });
- return sym;
-};
-
-var isSymbol = function(it){
- return typeof it == 'symbol';
-};
-
-var $defineProperty = function defineProperty(it, key, D){
- if(D && has(AllSymbols, key)){
- if(!D.enumerable){
- if(!has(it, HIDDEN))setDesc(it, HIDDEN, createDesc(1, {}));
- it[HIDDEN][key] = true;
- } else {
- if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;
- D = _create(D, {enumerable: createDesc(0, false)});
- } return setSymbolDesc(it, key, D);
- } return setDesc(it, key, D);
-};
-var $defineProperties = function defineProperties(it, P){
- anObject(it);
- var keys = enumKeys(P = toIObject(P))
- , i = 0
- , l = keys.length
- , key;
- while(l > i)$defineProperty(it, key = keys[i++], P[key]);
- return it;
-};
-var $create = function create(it, P){
- return P === undefined ? _create(it) : $defineProperties(_create(it), P);
-};
-var $propertyIsEnumerable = function propertyIsEnumerable(key){
- var E = isEnum.call(this, key);
- return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key]
- ? E : true;
-};
-var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){
- var D = getDesc(it = toIObject(it), key);
- if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;
- return D;
-};
-var $getOwnPropertyNames = function getOwnPropertyNames(it){
- var names = getNames(toIObject(it))
- , result = []
- , i = 0
- , key;
- while(names.length > i)if(!has(AllSymbols, key = names[i++]) && key != HIDDEN)result.push(key);
- return result;
-};
-var $getOwnPropertySymbols = function getOwnPropertySymbols(it){
- var names = getNames(toIObject(it))
- , result = []
- , i = 0
- , key;
- while(names.length > i)if(has(AllSymbols, key = names[i++]))result.push(AllSymbols[key]);
- return result;
-};
-var $stringify = function stringify(it){
- if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined
- var args = [it]
- , i = 1
- , $$ = arguments
- , replacer, $replacer;
- while($$.length > i)args.push($$[i++]);
- replacer = args[1];
- if(typeof replacer == 'function')$replacer = replacer;
- if($replacer || !isArray(replacer))replacer = function(key, value){
- if($replacer)value = $replacer.call(this, key, value);
- if(!isSymbol(value))return value;
- };
- args[1] = replacer;
- return _stringify.apply($JSON, args);
-};
-var buggyJSON = $fails(function(){
- var S = $Symbol();
- // MS Edge converts symbol values to JSON as {}
- // WebKit converts symbol values to JSON as null
- // V8 throws on boxed symbols
- return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';
-});
-
-// 19.4.1.1 Symbol([description])
-if(!useNative){
- $Symbol = function Symbol(){
- if(isSymbol(this))throw TypeError('Symbol is not a constructor');
- return wrap(uid(arguments.length > 0 ? arguments[0] : undefined));
- };
- redefine($Symbol.prototype, 'toString', function toString(){
- return this._k;
- });
-
- isSymbol = function(it){
- return it instanceof $Symbol;
- };
-
- $.create = $create;
- $.isEnum = $propertyIsEnumerable;
- $.getDesc = $getOwnPropertyDescriptor;
- $.setDesc = $defineProperty;
- $.setDescs = $defineProperties;
- $.getNames = $names.get = $getOwnPropertyNames;
- $.getSymbols = $getOwnPropertySymbols;
-
- if(DESCRIPTORS && !require('./$.library')){
- redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
- }
-}
-
-var symbolStatics = {
- // 19.4.2.1 Symbol.for(key)
- 'for': function(key){
- return has(SymbolRegistry, key += '')
- ? SymbolRegistry[key]
- : SymbolRegistry[key] = $Symbol(key);
- },
- // 19.4.2.5 Symbol.keyFor(sym)
- keyFor: function keyFor(key){
- return keyOf(SymbolRegistry, key);
- },
- useSetter: function(){ setter = true; },
- useSimple: function(){ setter = false; }
-};
-// 19.4.2.2 Symbol.hasInstance
-// 19.4.2.3 Symbol.isConcatSpreadable
-// 19.4.2.4 Symbol.iterator
-// 19.4.2.6 Symbol.match
-// 19.4.2.8 Symbol.replace
-// 19.4.2.9 Symbol.search
-// 19.4.2.10 Symbol.species
-// 19.4.2.11 Symbol.split
-// 19.4.2.12 Symbol.toPrimitive
-// 19.4.2.13 Symbol.toStringTag
-// 19.4.2.14 Symbol.unscopables
-$.each.call((
- 'hasInstance,isConcatSpreadable,iterator,match,replace,search,' +
- 'species,split,toPrimitive,toStringTag,unscopables'
-).split(','), function(it){
- var sym = wks(it);
- symbolStatics[it] = useNative ? sym : wrap(sym);
-});
-
-setter = true;
-
-$export($export.G + $export.W, {Symbol: $Symbol});
-
-$export($export.S, 'Symbol', symbolStatics);
-
-$export($export.S + $export.F * !useNative, 'Object', {
- // 19.1.2.2 Object.create(O [, Properties])
- create: $create,
- // 19.1.2.4 Object.defineProperty(O, P, Attributes)
- defineProperty: $defineProperty,
- // 19.1.2.3 Object.defineProperties(O, Properties)
- defineProperties: $defineProperties,
- // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
- getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
- // 19.1.2.7 Object.getOwnPropertyNames(O)
- getOwnPropertyNames: $getOwnPropertyNames,
- // 19.1.2.8 Object.getOwnPropertySymbols(O)
- getOwnPropertySymbols: $getOwnPropertySymbols
-});
-
-// 24.3.2 JSON.stringify(value [, replacer [, space]])
-$JSON && $export($export.S + $export.F * (!useNative || buggyJSON), 'JSON', {stringify: $stringify});
-
-// 19.4.3.5 Symbol.prototype[@@toStringTag]
-setToStringTag($Symbol, 'Symbol');
-// 20.2.1.9 Math[@@toStringTag]
-setToStringTag(Math, 'Math', true);
-// 24.3.3 JSON[@@toStringTag]
-setToStringTag(global.JSON, 'JSON', true);
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.typed.array-buffer.js b/node_modules/core-js/library/modules/es6.typed.array-buffer.js
deleted file mode 100644
index a8209bd..0000000
--- a/node_modules/core-js/library/modules/es6.typed.array-buffer.js
+++ /dev/null
@@ -1,43 +0,0 @@
-'use strict';
-if(require('./$.descriptors')){
- var $export = require('./$.export')
- , $typed = require('./$.typed')
- , buffer = require('./$.buffer')
- , toIndex = require('./$.to-index')
- , toLength = require('./$.to-length')
- , isObject = require('./$.is-object')
- , TYPED_ARRAY = require('./$.wks')('typed_array')
- , $ArrayBuffer = buffer.ArrayBuffer
- , $DataView = buffer.DataView
- , $slice = $ArrayBuffer && $ArrayBuffer.prototype.slice
- , VIEW = $typed.VIEW
- , ARRAY_BUFFER = 'ArrayBuffer';
-
- $export($export.G + $export.W + $export.F * !$typed.ABV, {ArrayBuffer: $ArrayBuffer});
-
- $export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {
- // 24.1.3.1 ArrayBuffer.isView(arg)
- isView: function isView(it){ // not cross-realm
- return isObject(it) && VIEW in it;
- }
- });
-
- $export($export.P + $export.F * require('./$.fails')(function(){
- return !new $ArrayBuffer(2).slice(1, undefined).byteLength;
- }), ARRAY_BUFFER, {
- // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)
- slice: function slice(start, end){
- if($slice !== undefined && end === undefined)return $slice.call(this, start); // FF fix
- var len = this.byteLength
- , first = toIndex(start, len)
- , final = toIndex(end === undefined ? len : end, len)
- , result = new $ArrayBuffer(toLength(final - first))
- , viewS = new $DataView(this)
- , viewT = new $DataView(result)
- , index = 0;
- while(first < final){
- viewT.setUint8(index++, viewS.getUint8(first++));
- } return result;
- }
- });
-}
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.typed.data-view.js b/node_modules/core-js/library/modules/es6.typed.data-view.js
deleted file mode 100644
index 44e0353..0000000
--- a/node_modules/core-js/library/modules/es6.typed.data-view.js
+++ /dev/null
@@ -1,4 +0,0 @@
-if(require('./$.descriptors')){
- var $export = require('./$.export');
- $export($export.G + $export.W + $export.F * !require('./$.typed').ABV, {DataView: require('./$.buffer').DataView});
-}
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.typed.float32-array.js b/node_modules/core-js/library/modules/es6.typed.float32-array.js
deleted file mode 100644
index 95d78a6..0000000
--- a/node_modules/core-js/library/modules/es6.typed.float32-array.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('./$.typed-array')('Float32', 4, function(init){
- return function Float32Array(data, byteOffset, length){
- return init(this, data, byteOffset, length);
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.typed.float64-array.js b/node_modules/core-js/library/modules/es6.typed.float64-array.js
deleted file mode 100644
index 16fadec..0000000
--- a/node_modules/core-js/library/modules/es6.typed.float64-array.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('./$.typed-array')('Float64', 8, function(init){
- return function Float64Array(data, byteOffset, length){
- return init(this, data, byteOffset, length);
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.typed.int16-array.js b/node_modules/core-js/library/modules/es6.typed.int16-array.js
deleted file mode 100644
index a3d04cb..0000000
--- a/node_modules/core-js/library/modules/es6.typed.int16-array.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('./$.typed-array')('Int16', 2, function(init){
- return function Int16Array(data, byteOffset, length){
- return init(this, data, byteOffset, length);
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.typed.int32-array.js b/node_modules/core-js/library/modules/es6.typed.int32-array.js
deleted file mode 100644
index 1923463..0000000
--- a/node_modules/core-js/library/modules/es6.typed.int32-array.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('./$.typed-array')('Int32', 4, function(init){
- return function Int32Array(data, byteOffset, length){
- return init(this, data, byteOffset, length);
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.typed.int8-array.js b/node_modules/core-js/library/modules/es6.typed.int8-array.js
deleted file mode 100644
index e9182c4..0000000
--- a/node_modules/core-js/library/modules/es6.typed.int8-array.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('./$.typed-array')('Int8', 1, function(init){
- return function Int8Array(data, byteOffset, length){
- return init(this, data, byteOffset, length);
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.typed.uint16-array.js b/node_modules/core-js/library/modules/es6.typed.uint16-array.js
deleted file mode 100644
index ec6e834..0000000
--- a/node_modules/core-js/library/modules/es6.typed.uint16-array.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('./$.typed-array')('Uint16', 2, function(init){
- return function Uint16Array(data, byteOffset, length){
- return init(this, data, byteOffset, length);
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.typed.uint32-array.js b/node_modules/core-js/library/modules/es6.typed.uint32-array.js
deleted file mode 100644
index ddfc22d..0000000
--- a/node_modules/core-js/library/modules/es6.typed.uint32-array.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('./$.typed-array')('Uint32', 4, function(init){
- return function Uint32Array(data, byteOffset, length){
- return init(this, data, byteOffset, length);
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.typed.uint8-array.js b/node_modules/core-js/library/modules/es6.typed.uint8-array.js
deleted file mode 100644
index 7ab1e4d..0000000
--- a/node_modules/core-js/library/modules/es6.typed.uint8-array.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('./$.typed-array')('Uint8', 1, function(init){
- return function Uint8Array(data, byteOffset, length){
- return init(this, data, byteOffset, length);
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.typed.uint8-clamped-array.js b/node_modules/core-js/library/modules/es6.typed.uint8-clamped-array.js
deleted file mode 100644
index f85f9d5..0000000
--- a/node_modules/core-js/library/modules/es6.typed.uint8-clamped-array.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('./$.typed-array')('Uint8', 1, function(init){
- return function Uint8ClampedArray(data, byteOffset, length){
- return init(this, data, byteOffset, length);
- };
-}, true);
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.weak-map.js b/node_modules/core-js/library/modules/es6.weak-map.js
deleted file mode 100644
index 72a9b32..0000000
--- a/node_modules/core-js/library/modules/es6.weak-map.js
+++ /dev/null
@@ -1,43 +0,0 @@
-'use strict';
-var $ = require('./$')
- , redefine = require('./$.redefine')
- , weak = require('./$.collection-weak')
- , isObject = require('./$.is-object')
- , has = require('./$.has')
- , frozenStore = weak.frozenStore
- , WEAK = weak.WEAK
- , isExtensible = Object.isExtensible || isObject
- , tmp = {};
-
-// 23.3 WeakMap Objects
-var $WeakMap = require('./$.collection')('WeakMap', function(get){
- return function WeakMap(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };
-}, {
- // 23.3.3.3 WeakMap.prototype.get(key)
- get: function get(key){
- if(isObject(key)){
- if(!isExtensible(key))return frozenStore(this).get(key);
- if(has(key, WEAK))return key[WEAK][this._i];
- }
- },
- // 23.3.3.5 WeakMap.prototype.set(key, value)
- set: function set(key, value){
- return weak.def(this, key, value);
- }
-}, weak, true, true);
-
-// IE11 WeakMap frozen keys fix
-if(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){
- $.each.call(['delete', 'has', 'get', 'set'], function(key){
- var proto = $WeakMap.prototype
- , method = proto[key];
- redefine(proto, key, function(a, b){
- // store frozen objects on leaky map
- if(isObject(a) && !isExtensible(a)){
- var result = frozenStore(this)[key](a, b);
- return key == 'set' ? this : result;
- // store all the rest on native weakmap
- } return method.call(this, a, b);
- });
- });
-}
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es6.weak-set.js b/node_modules/core-js/library/modules/es6.weak-set.js
deleted file mode 100644
index efdf1d7..0000000
--- a/node_modules/core-js/library/modules/es6.weak-set.js
+++ /dev/null
@@ -1,12 +0,0 @@
-'use strict';
-var weak = require('./$.collection-weak');
-
-// 23.4 WeakSet Objects
-require('./$.collection')('WeakSet', function(get){
- return function WeakSet(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };
-}, {
- // 23.4.3.1 WeakSet.prototype.add(value)
- add: function add(value){
- return weak.def(this, value, true);
- }
-}, weak, false, true);
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es7.array.includes.js b/node_modules/core-js/library/modules/es7.array.includes.js
deleted file mode 100644
index dcfad70..0000000
--- a/node_modules/core-js/library/modules/es7.array.includes.js
+++ /dev/null
@@ -1,12 +0,0 @@
-'use strict';
-var $export = require('./$.export')
- , $includes = require('./$.array-includes')(true);
-
-$export($export.P, 'Array', {
- // https://github.com/domenic/Array.prototype.includes
- includes: function includes(el /*, fromIndex = 0 */){
- return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
- }
-});
-
-require('./$.add-to-unscopables')('includes');
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es7.map.to-json.js b/node_modules/core-js/library/modules/es7.map.to-json.js
deleted file mode 100644
index 8093705..0000000
--- a/node_modules/core-js/library/modules/es7.map.to-json.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var $export = require('./$.export');
-
-$export($export.P, 'Map', {toJSON: require('./$.collection-to-json')('Map')});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es7.object.entries.js b/node_modules/core-js/library/modules/es7.object.entries.js
deleted file mode 100644
index fec1bc3..0000000
--- a/node_modules/core-js/library/modules/es7.object.entries.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// http://goo.gl/XkBrjD
-var $export = require('./$.export')
- , $entries = require('./$.object-to-array')(true);
-
-$export($export.S, 'Object', {
- entries: function entries(it){
- return $entries(it);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es7.object.get-own-property-descriptors.js b/node_modules/core-js/library/modules/es7.object.get-own-property-descriptors.js
deleted file mode 100644
index e4d80a3..0000000
--- a/node_modules/core-js/library/modules/es7.object.get-own-property-descriptors.js
+++ /dev/null
@@ -1,23 +0,0 @@
-// https://gist.github.com/WebReflection/9353781
-var $ = require('./$')
- , $export = require('./$.export')
- , ownKeys = require('./$.own-keys')
- , toIObject = require('./$.to-iobject')
- , createDesc = require('./$.property-desc');
-
-$export($export.S, 'Object', {
- getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){
- var O = toIObject(object)
- , setDesc = $.setDesc
- , getDesc = $.getDesc
- , keys = ownKeys(O)
- , result = {}
- , i = 0
- , key, D;
- while(keys.length > i){
- D = getDesc(O, key = keys[i++]);
- if(key in result)setDesc(result, key, createDesc(0, D));
- else result[key] = D;
- } return result;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es7.object.values.js b/node_modules/core-js/library/modules/es7.object.values.js
deleted file mode 100644
index 697e935..0000000
--- a/node_modules/core-js/library/modules/es7.object.values.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// http://goo.gl/XkBrjD
-var $export = require('./$.export')
- , $values = require('./$.object-to-array')(false);
-
-$export($export.S, 'Object', {
- values: function values(it){
- return $values(it);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es7.regexp.escape.js b/node_modules/core-js/library/modules/es7.regexp.escape.js
deleted file mode 100644
index 9c4c542..0000000
--- a/node_modules/core-js/library/modules/es7.regexp.escape.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// https://github.com/benjamingr/RexExp.escape
-var $export = require('./$.export')
- , $re = require('./$.replacer')(/[\\^$*+?.()|[\]{}]/g, '\\$&');
-
-$export($export.S, 'RegExp', {escape: function escape(it){ return $re(it); }});
diff --git a/node_modules/core-js/library/modules/es7.set.to-json.js b/node_modules/core-js/library/modules/es7.set.to-json.js
deleted file mode 100644
index e632f2a..0000000
--- a/node_modules/core-js/library/modules/es7.set.to-json.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var $export = require('./$.export');
-
-$export($export.P, 'Set', {toJSON: require('./$.collection-to-json')('Set')});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es7.string.at.js b/node_modules/core-js/library/modules/es7.string.at.js
deleted file mode 100644
index fee583b..0000000
--- a/node_modules/core-js/library/modules/es7.string.at.js
+++ /dev/null
@@ -1,10 +0,0 @@
-'use strict';
-// https://github.com/mathiasbynens/String.prototype.at
-var $export = require('./$.export')
- , $at = require('./$.string-at')(true);
-
-$export($export.P, 'String', {
- at: function at(pos){
- return $at(this, pos);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es7.string.pad-left.js b/node_modules/core-js/library/modules/es7.string.pad-left.js
deleted file mode 100644
index 643621a..0000000
--- a/node_modules/core-js/library/modules/es7.string.pad-left.js
+++ /dev/null
@@ -1,9 +0,0 @@
-'use strict';
-var $export = require('./$.export')
- , $pad = require('./$.string-pad');
-
-$export($export.P, 'String', {
- padLeft: function padLeft(maxLength /*, fillString = ' ' */){
- return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es7.string.pad-right.js b/node_modules/core-js/library/modules/es7.string.pad-right.js
deleted file mode 100644
index e423096..0000000
--- a/node_modules/core-js/library/modules/es7.string.pad-right.js
+++ /dev/null
@@ -1,9 +0,0 @@
-'use strict';
-var $export = require('./$.export')
- , $pad = require('./$.string-pad');
-
-$export($export.P, 'String', {
- padRight: function padRight(maxLength /*, fillString = ' ' */){
- return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es7.string.trim-left.js b/node_modules/core-js/library/modules/es7.string.trim-left.js
deleted file mode 100644
index dbaf630..0000000
--- a/node_modules/core-js/library/modules/es7.string.trim-left.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-// https://github.com/sebmarkbage/ecmascript-string-left-right-trim
-require('./$.string-trim')('trimLeft', function($trim){
- return function trimLeft(){
- return $trim(this, 1);
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/es7.string.trim-right.js b/node_modules/core-js/library/modules/es7.string.trim-right.js
deleted file mode 100644
index 6b02d39..0000000
--- a/node_modules/core-js/library/modules/es7.string.trim-right.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-// https://github.com/sebmarkbage/ecmascript-string-left-right-trim
-require('./$.string-trim')('trimRight', function($trim){
- return function trimRight(){
- return $trim(this, 2);
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/js.array.statics.js b/node_modules/core-js/library/modules/js.array.statics.js
deleted file mode 100644
index 9536c2e..0000000
--- a/node_modules/core-js/library/modules/js.array.statics.js
+++ /dev/null
@@ -1,17 +0,0 @@
-// JavaScript 1.6 / Strawman array statics shim
-var $ = require('./$')
- , $export = require('./$.export')
- , $ctx = require('./$.ctx')
- , $Array = require('./$.core').Array || Array
- , statics = {};
-var setStatics = function(keys, length){
- $.each.call(keys.split(','), function(key){
- if(length == undefined && key in $Array)statics[key] = $Array[key];
- else if(key in [])statics[key] = $ctx(Function.call, [][key], length);
- });
-};
-setStatics('pop,reverse,shift,keys,values,entries', 1);
-setStatics('indexOf,every,some,forEach,map,filter,find,findIndex,includes', 3);
-setStatics('join,slice,concat,push,splice,unshift,sort,lastIndexOf,' +
- 'reduce,reduceRight,copyWithin,fill');
-$export($export.S, 'Array', statics);
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/web.dom.iterable.js b/node_modules/core-js/library/modules/web.dom.iterable.js
deleted file mode 100644
index 988c6da..0000000
--- a/node_modules/core-js/library/modules/web.dom.iterable.js
+++ /dev/null
@@ -1,3 +0,0 @@
-require('./es6.array.iterator');
-var Iterators = require('./$.iterators');
-Iterators.NodeList = Iterators.HTMLCollection = Iterators.Array;
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/web.immediate.js b/node_modules/core-js/library/modules/web.immediate.js
deleted file mode 100644
index fa64f08..0000000
--- a/node_modules/core-js/library/modules/web.immediate.js
+++ /dev/null
@@ -1,6 +0,0 @@
-var $export = require('./$.export')
- , $task = require('./$.task');
-$export($export.G + $export.B, {
- setImmediate: $task.set,
- clearImmediate: $task.clear
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/modules/web.timers.js b/node_modules/core-js/library/modules/web.timers.js
deleted file mode 100644
index 74b7201..0000000
--- a/node_modules/core-js/library/modules/web.timers.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// ie9- setTimeout & setInterval additional parameters fix
-var global = require('./$.global')
- , $export = require('./$.export')
- , invoke = require('./$.invoke')
- , partial = require('./$.partial')
- , navigator = global.navigator
- , MSIE = !!navigator && /MSIE .\./.test(navigator.userAgent); // <- dirty ie9- check
-var wrap = function(set){
- return MSIE ? function(fn, time /*, ...args */){
- return set(invoke(
- partial,
- [].slice.call(arguments, 2),
- typeof fn == 'function' ? fn : Function(fn)
- ), time);
- } : set;
-};
-$export($export.G + $export.B + $export.F * MSIE, {
- setTimeout: wrap(global.setTimeout),
- setInterval: wrap(global.setInterval)
-});
\ No newline at end of file
diff --git a/node_modules/core-js/library/shim.js b/node_modules/core-js/library/shim.js
deleted file mode 100644
index 6d38d2e..0000000
--- a/node_modules/core-js/library/shim.js
+++ /dev/null
@@ -1,104 +0,0 @@
-require('./modules/es5');
-require('./modules/es6.symbol');
-require('./modules/es6.object.assign');
-require('./modules/es6.object.is');
-require('./modules/es6.object.set-prototype-of');
-require('./modules/es6.object.to-string');
-require('./modules/es6.object.freeze');
-require('./modules/es6.object.seal');
-require('./modules/es6.object.prevent-extensions');
-require('./modules/es6.object.is-frozen');
-require('./modules/es6.object.is-sealed');
-require('./modules/es6.object.is-extensible');
-require('./modules/es6.object.get-own-property-descriptor');
-require('./modules/es6.object.get-prototype-of');
-require('./modules/es6.object.keys');
-require('./modules/es6.object.get-own-property-names');
-require('./modules/es6.function.name');
-require('./modules/es6.function.has-instance');
-require('./modules/es6.number.constructor');
-require('./modules/es6.number.epsilon');
-require('./modules/es6.number.is-finite');
-require('./modules/es6.number.is-integer');
-require('./modules/es6.number.is-nan');
-require('./modules/es6.number.is-safe-integer');
-require('./modules/es6.number.max-safe-integer');
-require('./modules/es6.number.min-safe-integer');
-require('./modules/es6.number.parse-float');
-require('./modules/es6.number.parse-int');
-require('./modules/es6.math.acosh');
-require('./modules/es6.math.asinh');
-require('./modules/es6.math.atanh');
-require('./modules/es6.math.cbrt');
-require('./modules/es6.math.clz32');
-require('./modules/es6.math.cosh');
-require('./modules/es6.math.expm1');
-require('./modules/es6.math.fround');
-require('./modules/es6.math.hypot');
-require('./modules/es6.math.imul');
-require('./modules/es6.math.log10');
-require('./modules/es6.math.log1p');
-require('./modules/es6.math.log2');
-require('./modules/es6.math.sign');
-require('./modules/es6.math.sinh');
-require('./modules/es6.math.tanh');
-require('./modules/es6.math.trunc');
-require('./modules/es6.string.from-code-point');
-require('./modules/es6.string.raw');
-require('./modules/es6.string.trim');
-require('./modules/es6.string.iterator');
-require('./modules/es6.string.code-point-at');
-require('./modules/es6.string.ends-with');
-require('./modules/es6.string.includes');
-require('./modules/es6.string.repeat');
-require('./modules/es6.string.starts-with');
-require('./modules/es6.array.from');
-require('./modules/es6.array.of');
-require('./modules/es6.array.iterator');
-require('./modules/es6.array.species');
-require('./modules/es6.array.copy-within');
-require('./modules/es6.array.fill');
-require('./modules/es6.array.find');
-require('./modules/es6.array.find-index');
-require('./modules/es6.regexp.constructor');
-require('./modules/es6.regexp.flags');
-require('./modules/es6.regexp.match');
-require('./modules/es6.regexp.replace');
-require('./modules/es6.regexp.search');
-require('./modules/es6.regexp.split');
-require('./modules/es6.promise');
-require('./modules/es6.map');
-require('./modules/es6.set');
-require('./modules/es6.weak-map');
-require('./modules/es6.weak-set');
-require('./modules/es6.reflect.apply');
-require('./modules/es6.reflect.construct');
-require('./modules/es6.reflect.define-property');
-require('./modules/es6.reflect.delete-property');
-require('./modules/es6.reflect.enumerate');
-require('./modules/es6.reflect.get');
-require('./modules/es6.reflect.get-own-property-descriptor');
-require('./modules/es6.reflect.get-prototype-of');
-require('./modules/es6.reflect.has');
-require('./modules/es6.reflect.is-extensible');
-require('./modules/es6.reflect.own-keys');
-require('./modules/es6.reflect.prevent-extensions');
-require('./modules/es6.reflect.set');
-require('./modules/es6.reflect.set-prototype-of');
-require('./modules/es7.array.includes');
-require('./modules/es7.string.at');
-require('./modules/es7.string.pad-left');
-require('./modules/es7.string.pad-right');
-require('./modules/es7.string.trim-left');
-require('./modules/es7.string.trim-right');
-require('./modules/es7.regexp.escape');
-require('./modules/es7.object.get-own-property-descriptors');
-require('./modules/es7.object.values');
-require('./modules/es7.object.entries');
-require('./modules/es7.map.to-json');
-require('./modules/es7.set.to-json');
-require('./modules/js.array.statics');
-require('./modules/web.timers');
-require('./modules/web.immediate');
-require('./modules/web.dom.iterable');
-module.exports = require('./modules/$.core');
\ No newline at end of file
diff --git a/node_modules/core-js/library/web/dom.js b/node_modules/core-js/library/web/dom.js
deleted file mode 100644
index 9b448cf..0000000
--- a/node_modules/core-js/library/web/dom.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/web.dom.iterable');
-module.exports = require('../modules/$.core');
\ No newline at end of file
diff --git a/node_modules/core-js/library/web/immediate.js b/node_modules/core-js/library/web/immediate.js
deleted file mode 100644
index e4e5493..0000000
--- a/node_modules/core-js/library/web/immediate.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/web.immediate');
-module.exports = require('../modules/$.core');
\ No newline at end of file
diff --git a/node_modules/core-js/library/web/index.js b/node_modules/core-js/library/web/index.js
deleted file mode 100644
index 6c3221e..0000000
--- a/node_modules/core-js/library/web/index.js
+++ /dev/null
@@ -1,4 +0,0 @@
-require('../modules/web.timers');
-require('../modules/web.immediate');
-require('../modules/web.dom.iterable');
-module.exports = require('../modules/$.core');
\ No newline at end of file
diff --git a/node_modules/core-js/library/web/timers.js b/node_modules/core-js/library/web/timers.js
deleted file mode 100644
index 763ea44..0000000
--- a/node_modules/core-js/library/web/timers.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/web.timers');
-module.exports = require('../modules/$.core');
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.a-function.js b/node_modules/core-js/modules/$.a-function.js
deleted file mode 100644
index 8c35f45..0000000
--- a/node_modules/core-js/modules/$.a-function.js
+++ /dev/null
@@ -1,4 +0,0 @@
-module.exports = function(it){
- if(typeof it != 'function')throw TypeError(it + ' is not a function!');
- return it;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.add-to-unscopables.js b/node_modules/core-js/modules/$.add-to-unscopables.js
deleted file mode 100644
index bffd161..0000000
--- a/node_modules/core-js/modules/$.add-to-unscopables.js
+++ /dev/null
@@ -1,7 +0,0 @@
-// 22.1.3.31 Array.prototype[@@unscopables]
-var UNSCOPABLES = require('./$.wks')('unscopables')
- , ArrayProto = Array.prototype;
-if(ArrayProto[UNSCOPABLES] == undefined)require('./$.hide')(ArrayProto, UNSCOPABLES, {});
-module.exports = function(key){
- ArrayProto[UNSCOPABLES][key] = true;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.an-object.js b/node_modules/core-js/modules/$.an-object.js
deleted file mode 100644
index e5c808f..0000000
--- a/node_modules/core-js/modules/$.an-object.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var isObject = require('./$.is-object');
-module.exports = function(it){
- if(!isObject(it))throw TypeError(it + ' is not an object!');
- return it;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.array-copy-within.js b/node_modules/core-js/modules/$.array-copy-within.js
deleted file mode 100644
index 5856306..0000000
--- a/node_modules/core-js/modules/$.array-copy-within.js
+++ /dev/null
@@ -1,27 +0,0 @@
-// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
-'use strict';
-var toObject = require('./$.to-object')
- , toIndex = require('./$.to-index')
- , toLength = require('./$.to-length');
-
-module.exports = [].copyWithin || function copyWithin(target/*= 0*/, start/*= 0, end = @length*/){
- var O = toObject(this)
- , len = toLength(O.length)
- , to = toIndex(target, len)
- , from = toIndex(start, len)
- , $$ = arguments
- , end = $$.length > 2 ? $$[2] : undefined
- , count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to)
- , inc = 1;
- if(from < to && to < from + count){
- inc = -1;
- from += count - 1;
- to += count - 1;
- }
- while(count-- > 0){
- if(from in O)O[to] = O[from];
- else delete O[to];
- to += inc;
- from += inc;
- } return O;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.array-fill.js b/node_modules/core-js/modules/$.array-fill.js
deleted file mode 100644
index 6b699df..0000000
--- a/node_modules/core-js/modules/$.array-fill.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
-'use strict';
-var toObject = require('./$.to-object')
- , toIndex = require('./$.to-index')
- , toLength = require('./$.to-length');
-module.exports = [].fill || function fill(value /*, start = 0, end = @length */){
- var O = toObject(this)
- , length = toLength(O.length)
- , $$ = arguments
- , $$len = $$.length
- , index = toIndex($$len > 1 ? $$[1] : undefined, length)
- , end = $$len > 2 ? $$[2] : undefined
- , endPos = end === undefined ? length : toIndex(end, length);
- while(endPos > index)O[index++] = value;
- return O;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.array-includes.js b/node_modules/core-js/modules/$.array-includes.js
deleted file mode 100644
index 9781fca..0000000
--- a/node_modules/core-js/modules/$.array-includes.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// false -> Array#indexOf
-// true -> Array#includes
-var toIObject = require('./$.to-iobject')
- , toLength = require('./$.to-length')
- , toIndex = require('./$.to-index');
-module.exports = function(IS_INCLUDES){
- return function($this, el, fromIndex){
- var O = toIObject($this)
- , length = toLength(O.length)
- , index = toIndex(fromIndex, length)
- , value;
- // Array#includes uses SameValueZero equality algorithm
- if(IS_INCLUDES && el != el)while(length > index){
- value = O[index++];
- if(value != value)return true;
- // Array#toIndex ignores holes, Array#includes - not
- } else for(;length > index; index++)if(IS_INCLUDES || index in O){
- if(O[index] === el)return IS_INCLUDES || index;
- } return !IS_INCLUDES && -1;
- };
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.array-methods.js b/node_modules/core-js/modules/$.array-methods.js
deleted file mode 100644
index e70b99f..0000000
--- a/node_modules/core-js/modules/$.array-methods.js
+++ /dev/null
@@ -1,43 +0,0 @@
-// 0 -> Array#forEach
-// 1 -> Array#map
-// 2 -> Array#filter
-// 3 -> Array#some
-// 4 -> Array#every
-// 5 -> Array#find
-// 6 -> Array#findIndex
-var ctx = require('./$.ctx')
- , IObject = require('./$.iobject')
- , toObject = require('./$.to-object')
- , toLength = require('./$.to-length')
- , asc = require('./$.array-species-create');
-module.exports = function(TYPE){
- var IS_MAP = TYPE == 1
- , IS_FILTER = TYPE == 2
- , IS_SOME = TYPE == 3
- , IS_EVERY = TYPE == 4
- , IS_FIND_INDEX = TYPE == 6
- , NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
- return function($this, callbackfn, that){
- var O = toObject($this)
- , self = IObject(O)
- , f = ctx(callbackfn, that, 3)
- , length = toLength(self.length)
- , index = 0
- , result = IS_MAP ? asc($this, length) : IS_FILTER ? asc($this, 0) : undefined
- , val, res;
- for(;length > index; index++)if(NO_HOLES || index in self){
- val = self[index];
- res = f(val, index, O);
- if(TYPE){
- if(IS_MAP)result[index] = res; // map
- else if(res)switch(TYPE){
- case 3: return true; // some
- case 5: return val; // find
- case 6: return index; // findIndex
- case 2: result.push(val); // filter
- } else if(IS_EVERY)return false; // every
- }
- }
- return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
- };
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.array-species-create.js b/node_modules/core-js/modules/$.array-species-create.js
deleted file mode 100644
index d809cae..0000000
--- a/node_modules/core-js/modules/$.array-species-create.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// 9.4.2.3 ArraySpeciesCreate(originalArray, length)
-var isObject = require('./$.is-object')
- , isArray = require('./$.is-array')
- , SPECIES = require('./$.wks')('species');
-module.exports = function(original, length){
- var C;
- if(isArray(original)){
- C = original.constructor;
- // cross-realm fallback
- if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined;
- if(isObject(C)){
- C = C[SPECIES];
- if(C === null)C = undefined;
- }
- } return new (C === undefined ? Array : C)(length);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.buffer.js b/node_modules/core-js/modules/$.buffer.js
deleted file mode 100644
index d1aae58..0000000
--- a/node_modules/core-js/modules/$.buffer.js
+++ /dev/null
@@ -1,288 +0,0 @@
-'use strict';
-var $ = require('./$')
- , global = require('./$.global')
- , $typed = require('./$.typed')
- , redefineAll = require('./$.redefine-all')
- , strictNew = require('./$.strict-new')
- , toInteger = require('./$.to-integer')
- , toLength = require('./$.to-length')
- , arrayFill = require('./$.array-fill')
- , $ArrayBuffer = global.ArrayBuffer
- , $DataView = global.DataView
- , Math = global.Math
- , parseInt = global.parseInt
- , abs = Math.abs
- , pow = Math.pow
- , min = Math.min
- , floor = Math.floor
- , log = Math.log
- , LN2 = Math.LN2
- , BYTE_LENGTH = 'byteLength';
-
-// pack / unpack based on
-// https://github.com/inexorabletash/polyfill/blob/v0.1.11/typedarray.js#L123-L264
-// TODO: simplify
-var signed = function(value, bits){
- var s = 32 - bits;
- return value << s >> s;
-};
-var unsigned = function(value, bits){
- var s = 32 - bits;
- return value << s >>> s;
-};
-var roundToEven = function(n){
- var w = floor(n)
- , f = n - w;
- return f < .5 ? w : f > .5 ? w + 1 : w % 2 ? w + 1 : w;
-};
-var packI8 = function(n){
- return [n & 0xff];
-};
-var unpackI8 = function(bytes){
- return signed(bytes[0], 8);
-};
-var packU8 = function(n){
- return [n & 0xff];
-};
-var unpackU8 = function(bytes){
- return unsigned(bytes[0], 8);
-};
-var packI16 = function(n){
- return [n & 0xff, n >> 8 & 0xff];
-};
-var unpackI16 = function(bytes){
- return signed(bytes[1] << 8 | bytes[0], 16);
-};
-var packU16 = function(n){
- return [n & 0xff, n >> 8 & 0xff];
-};
-var unpackU16 = function(bytes){
- return unsigned(bytes[1] << 8 | bytes[0], 16);
-};
-var packI32 = function(n){
- return [n & 0xff, n >> 8 & 0xff, n >> 16 & 0xff, n >> 24 & 0xff];
-};
-var unpackI32 = function(bytes){
- return signed(bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0], 32);
-};
-var packU32 = function(n){
- return [n & 0xff, n >> 8 & 0xff, n >> 16 & 0xff, n >> 24 & 0xff];
-};
-var unpackU32 = function(bytes){
- return unsigned(bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0], 32);
-};
-var packIEEE754 = function(v, ebits, fbits) {
- var bias = (1 << ebits - 1) - 1
- , s, e, f, i, bits, str, bytes;
- // Compute sign, exponent, fraction
- if (v !== v) {
- // NaN
- // http://dev.w3.org/2006/webapi/WebIDL/#es-type-mapping
- e = (1 << ebits) - 1;
- f = pow(2, fbits - 1);
- s = 0;
- } else if(v === Infinity || v === -Infinity){
- e = (1 << ebits) - 1;
- f = 0;
- s = v < 0 ? 1 : 0;
- } else if(v === 0){
- e = 0;
- f = 0;
- s = 1 / v === -Infinity ? 1 : 0;
- } else {
- s = v < 0;
- v = abs(v);
- if(v >= pow(2, 1 - bias)){
- e = min(floor(log(v) / LN2), 1023);
- var significand = v / pow(2, e);
- if(significand < 1){
- e -= 1;
- significand *= 2;
- }
- if(significand >= 2){
- e += 1;
- significand /= 2;
- }
- f = roundToEven(significand * pow(2, fbits));
- if(f / pow(2, fbits) >= 2){
- e = e + 1;
- f = 1;
- }
- if(e > bias){
- // Overflow
- e = (1 << ebits) - 1;
- f = 0;
- } else {
- // Normalized
- e = e + bias;
- f = f - pow(2, fbits);
- }
- } else {
- // Denormalized
- e = 0;
- f = roundToEven(v / pow(2, 1 - bias - fbits));
- }
- }
- // Pack sign, exponent, fraction
- bits = [];
- for(i = fbits; i; i -= 1){
- bits.push(f % 2 ? 1 : 0);
- f = floor(f / 2);
- }
- for(i = ebits; i; i -= 1){
- bits.push(e % 2 ? 1 : 0);
- e = floor(e / 2);
- }
- bits.push(s ? 1 : 0);
- bits.reverse();
- str = bits.join('');
- // Bits to bytes
- bytes = [];
- while(str.length){
- bytes.unshift(parseInt(str.slice(0, 8), 2));
- str = str.slice(8);
- }
- return bytes;
-};
-var unpackIEEE754 = function(bytes, ebits, fbits){
- var bits = []
- , i, j, b, str, bias, s, e, f;
- for(i = 0; i < bytes.length; ++i)for(b = bytes[i], j = 8; j; --j){
- bits.push(b % 2 ? 1 : 0);
- b = b >> 1;
- }
- bits.reverse();
- str = bits.join('');
- // Unpack sign, exponent, fraction
- bias = (1 << ebits - 1) - 1;
- s = parseInt(str.slice(0, 1), 2) ? -1 : 1;
- e = parseInt(str.slice(1, 1 + ebits), 2);
- f = parseInt(str.slice(1 + ebits), 2);
- // Produce number
- if(e === (1 << ebits) - 1)return f !== 0 ? NaN : s * Infinity;
- // Normalized
- else if(e > 0)return s * pow(2, e - bias) * (1 + f / pow(2, fbits));
- // Denormalized
- else if(f !== 0)return s * pow(2, -(bias - 1)) * (f / pow(2, fbits));
- return s < 0 ? -0 : 0;
-};
-var unpackF64 = function(b){
- return unpackIEEE754(b, 11, 52);
-};
-var packF64 = function(v){
- return packIEEE754(v, 11, 52);
-};
-var unpackF32 = function(b){
- return unpackIEEE754(b, 8, 23);
-};
-var packF32 = function(v){
- return packIEEE754(v, 8, 23);
-};
-
-var addGetter = function(C, key, internal){
- $.setDesc(C.prototype, key, {get: function(){ return this[internal]; }});
-};
-
-var get = function(view, bytes, index, conversion, isLittleEndian){
- var numIndex = +index
- , intIndex = toInteger(numIndex);
- if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view._l)throw RangeError();
- var store = view._b._b
- , start = intIndex + view._o
- , pack = store.slice(start, start + bytes);
- isLittleEndian || pack.reverse();
- return conversion(pack);
-};
-var set = function(view, bytes, index, conversion, value, isLittleEndian){
- var numIndex = +index
- , intIndex = toInteger(numIndex);
- if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view._l)throw RangeError();
- var store = view._b._b
- , start = intIndex + view._o
- , pack = conversion(+value);
- isLittleEndian || pack.reverse();
- for(var i = 0; i < bytes; i++)store[start + i] = pack[i];
-};
-
-if(!$typed.ABV){
- $ArrayBuffer = function ArrayBuffer(length){
- strictNew(this, $ArrayBuffer, 'ArrayBuffer');
- var numberLength = +length
- , byteLength = toLength(numberLength);
- if(numberLength != byteLength)throw RangeError();
- this._b = arrayFill.call(Array(byteLength), 0);
- this._l = byteLength;
- };
- addGetter($ArrayBuffer, BYTE_LENGTH, '_l');
-
- $DataView = function DataView(buffer, byteOffset, byteLength){
- strictNew(this, $DataView, 'DataView');
- if(!(buffer instanceof $ArrayBuffer))throw TypeError();
- var bufferLength = buffer._l
- , offset = toInteger(byteOffset);
- if(offset < 0 || offset > bufferLength)throw RangeError();
- byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);
- if(offset + byteLength > bufferLength)throw RangeError();
- this._b = buffer;
- this._o = offset;
- this._l = byteLength;
- };
- addGetter($DataView, 'buffer', '_b');
- addGetter($DataView, BYTE_LENGTH, '_l');
- addGetter($DataView, 'byteOffset', '_o');
- redefineAll($DataView.prototype, {
- getInt8: function getInt8(byteOffset){
- return get(this, 1, byteOffset, unpackI8);
- },
- getUint8: function getUint8(byteOffset){
- return get(this, 1, byteOffset, unpackU8);
- },
- getInt16: function getInt16(byteOffset /*, littleEndian */){
- return get(this, 2, byteOffset, unpackI16, arguments.length > 1 ? arguments[1] : undefined);
- },
- getUint16: function getUint16(byteOffset /*, littleEndian */){
- return get(this, 2, byteOffset, unpackU16, arguments.length > 1 ? arguments[1] : undefined);
- },
- getInt32: function getInt32(byteOffset /*, littleEndian */){
- return get(this, 4, byteOffset, unpackI32, arguments.length > 1 ? arguments[1] : undefined);
- },
- getUint32: function getUint32(byteOffset /*, littleEndian */){
- return get(this, 4, byteOffset, unpackU32, arguments.length > 1 ? arguments[1] : undefined);
- },
- getFloat32: function getFloat32(byteOffset /*, littleEndian */){
- return get(this, 4, byteOffset, unpackF32, arguments.length > 1 ? arguments[1] : undefined);
- },
- getFloat64: function getFloat64(byteOffset /*, littleEndian */){
- return get(this, 8, byteOffset, unpackF64, arguments.length > 1 ? arguments[1] : undefined);
- },
- setInt8: function setInt8(byteOffset, value){
- return set(this, 1, byteOffset, packI8, value);
- },
- setUint8: function setUint8(byteOffset, value){
- return set(this, 1, byteOffset, packU8, value);
- },
- setInt16: function setInt16(byteOffset, value /*, littleEndian */){
- return set(this, 2, byteOffset, packI16, value, arguments.length > 2 ? arguments[2] : undefined);
- },
- setUint16: function setUint16(byteOffset, value /*, littleEndian */){
- return set(this, 2, byteOffset, packU16, value, arguments.length > 2 ? arguments[2] : undefined);
- },
- setInt32: function setInt32(byteOffset, value /*, littleEndian */){
- return set(this, 4, byteOffset, packI32, value, arguments.length > 2 ? arguments[2] : undefined);
- },
- setUint32: function setUint32(byteOffset, value /*, littleEndian */){
- return set(this, 4, byteOffset, packU32, value, arguments.length > 2 ? arguments[2] : undefined);
- },
- setFloat32: function setFloat32(byteOffset, value /*, littleEndian */){
- return set(this, 4, byteOffset, packF32, value, arguments.length > 2 ? arguments[2] : undefined);
- },
- setFloat64: function setFloat64(byteOffset, value /*, littleEndian */){
- return set(this, 8, byteOffset, packF64, value, arguments.length > 2 ? arguments[2] : undefined);
- }
- });
-}
-require('./$.hide')($DataView.prototype, $typed.VIEW, true);
-module.exports = {
- ArrayBuffer: $ArrayBuffer,
- DataView: $DataView
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.classof.js b/node_modules/core-js/modules/$.classof.js
deleted file mode 100644
index 905c61f..0000000
--- a/node_modules/core-js/modules/$.classof.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// getting tag from 19.1.3.6 Object.prototype.toString()
-var cof = require('./$.cof')
- , TAG = require('./$.wks')('toStringTag')
- // ES3 wrong here
- , ARG = cof(function(){ return arguments; }()) == 'Arguments';
-
-module.exports = function(it){
- var O, T, B;
- return it === undefined ? 'Undefined' : it === null ? 'Null'
- // @@toStringTag case
- : typeof (T = (O = Object(it))[TAG]) == 'string' ? T
- // builtinTag case
- : ARG ? cof(O)
- // ES3 arguments fallback
- : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.cof.js b/node_modules/core-js/modules/$.cof.js
deleted file mode 100644
index 1dd2779..0000000
--- a/node_modules/core-js/modules/$.cof.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var toString = {}.toString;
-
-module.exports = function(it){
- return toString.call(it).slice(8, -1);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.collection-strong.js b/node_modules/core-js/modules/$.collection-strong.js
deleted file mode 100644
index 54df55a..0000000
--- a/node_modules/core-js/modules/$.collection-strong.js
+++ /dev/null
@@ -1,159 +0,0 @@
-'use strict';
-var $ = require('./$')
- , hide = require('./$.hide')
- , redefineAll = require('./$.redefine-all')
- , ctx = require('./$.ctx')
- , strictNew = require('./$.strict-new')
- , defined = require('./$.defined')
- , forOf = require('./$.for-of')
- , $iterDefine = require('./$.iter-define')
- , step = require('./$.iter-step')
- , ID = require('./$.uid')('id')
- , $has = require('./$.has')
- , isObject = require('./$.is-object')
- , setSpecies = require('./$.set-species')
- , DESCRIPTORS = require('./$.descriptors')
- , isExtensible = Object.isExtensible || isObject
- , SIZE = DESCRIPTORS ? '_s' : 'size'
- , id = 0;
-
-var fastKey = function(it, create){
- // return primitive with prefix
- if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
- if(!$has(it, ID)){
- // can't set id to frozen object
- if(!isExtensible(it))return 'F';
- // not necessary to add id
- if(!create)return 'E';
- // add missing object id
- hide(it, ID, ++id);
- // return object id with prefix
- } return 'O' + it[ID];
-};
-
-var getEntry = function(that, key){
- // fast case
- var index = fastKey(key), entry;
- if(index !== 'F')return that._i[index];
- // frozen object case
- for(entry = that._f; entry; entry = entry.n){
- if(entry.k == key)return entry;
- }
-};
-
-module.exports = {
- getConstructor: function(wrapper, NAME, IS_MAP, ADDER){
- var C = wrapper(function(that, iterable){
- strictNew(that, C, NAME);
- that._i = $.create(null); // index
- that._f = undefined; // first entry
- that._l = undefined; // last entry
- that[SIZE] = 0; // size
- if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
- });
- redefineAll(C.prototype, {
- // 23.1.3.1 Map.prototype.clear()
- // 23.2.3.2 Set.prototype.clear()
- clear: function clear(){
- for(var that = this, data = that._i, entry = that._f; entry; entry = entry.n){
- entry.r = true;
- if(entry.p)entry.p = entry.p.n = undefined;
- delete data[entry.i];
- }
- that._f = that._l = undefined;
- that[SIZE] = 0;
- },
- // 23.1.3.3 Map.prototype.delete(key)
- // 23.2.3.4 Set.prototype.delete(value)
- 'delete': function(key){
- var that = this
- , entry = getEntry(that, key);
- if(entry){
- var next = entry.n
- , prev = entry.p;
- delete that._i[entry.i];
- entry.r = true;
- if(prev)prev.n = next;
- if(next)next.p = prev;
- if(that._f == entry)that._f = next;
- if(that._l == entry)that._l = prev;
- that[SIZE]--;
- } return !!entry;
- },
- // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
- // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
- forEach: function forEach(callbackfn /*, that = undefined */){
- var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3)
- , entry;
- while(entry = entry ? entry.n : this._f){
- f(entry.v, entry.k, this);
- // revert to the last existing entry
- while(entry && entry.r)entry = entry.p;
- }
- },
- // 23.1.3.7 Map.prototype.has(key)
- // 23.2.3.7 Set.prototype.has(value)
- has: function has(key){
- return !!getEntry(this, key);
- }
- });
- if(DESCRIPTORS)$.setDesc(C.prototype, 'size', {
- get: function(){
- return defined(this[SIZE]);
- }
- });
- return C;
- },
- def: function(that, key, value){
- var entry = getEntry(that, key)
- , prev, index;
- // change existing entry
- if(entry){
- entry.v = value;
- // create new entry
- } else {
- that._l = entry = {
- i: index = fastKey(key, true), // <- index
- k: key, // <- key
- v: value, // <- value
- p: prev = that._l, // <- previous entry
- n: undefined, // <- next entry
- r: false // <- removed
- };
- if(!that._f)that._f = entry;
- if(prev)prev.n = entry;
- that[SIZE]++;
- // add to index
- if(index !== 'F')that._i[index] = entry;
- } return that;
- },
- getEntry: getEntry,
- setStrong: function(C, NAME, IS_MAP){
- // add .keys, .values, .entries, [@@iterator]
- // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
- $iterDefine(C, NAME, function(iterated, kind){
- this._t = iterated; // target
- this._k = kind; // kind
- this._l = undefined; // previous
- }, function(){
- var that = this
- , kind = that._k
- , entry = that._l;
- // revert to the last existing entry
- while(entry && entry.r)entry = entry.p;
- // get next entry
- if(!that._t || !(that._l = entry = entry ? entry.n : that._t._f)){
- // or finish the iteration
- that._t = undefined;
- return step(1);
- }
- // return step by kind
- if(kind == 'keys' )return step(0, entry.k);
- if(kind == 'values')return step(0, entry.v);
- return step(0, [entry.k, entry.v]);
- }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true);
-
- // add [@@species], 23.1.2.2, 23.2.2.2
- setSpecies(NAME);
- }
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.collection-to-json.js b/node_modules/core-js/modules/$.collection-to-json.js
deleted file mode 100644
index 41f2e6e..0000000
--- a/node_modules/core-js/modules/$.collection-to-json.js
+++ /dev/null
@@ -1,11 +0,0 @@
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var forOf = require('./$.for-of')
- , classof = require('./$.classof');
-module.exports = function(NAME){
- return function toJSON(){
- if(classof(this) != NAME)throw TypeError(NAME + "#toJSON isn't generic");
- var arr = [];
- forOf(this, false, arr.push, arr);
- return arr;
- };
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.collection-weak.js b/node_modules/core-js/modules/$.collection-weak.js
deleted file mode 100644
index 384fb39..0000000
--- a/node_modules/core-js/modules/$.collection-weak.js
+++ /dev/null
@@ -1,86 +0,0 @@
-'use strict';
-var hide = require('./$.hide')
- , redefineAll = require('./$.redefine-all')
- , anObject = require('./$.an-object')
- , isObject = require('./$.is-object')
- , strictNew = require('./$.strict-new')
- , forOf = require('./$.for-of')
- , createArrayMethod = require('./$.array-methods')
- , $has = require('./$.has')
- , WEAK = require('./$.uid')('weak')
- , isExtensible = Object.isExtensible || isObject
- , arrayFind = createArrayMethod(5)
- , arrayFindIndex = createArrayMethod(6)
- , id = 0;
-
-// fallback for frozen keys
-var frozenStore = function(that){
- return that._l || (that._l = new FrozenStore);
-};
-var FrozenStore = function(){
- this.a = [];
-};
-var findFrozen = function(store, key){
- return arrayFind(store.a, function(it){
- return it[0] === key;
- });
-};
-FrozenStore.prototype = {
- get: function(key){
- var entry = findFrozen(this, key);
- if(entry)return entry[1];
- },
- has: function(key){
- return !!findFrozen(this, key);
- },
- set: function(key, value){
- var entry = findFrozen(this, key);
- if(entry)entry[1] = value;
- else this.a.push([key, value]);
- },
- 'delete': function(key){
- var index = arrayFindIndex(this.a, function(it){
- return it[0] === key;
- });
- if(~index)this.a.splice(index, 1);
- return !!~index;
- }
-};
-
-module.exports = {
- getConstructor: function(wrapper, NAME, IS_MAP, ADDER){
- var C = wrapper(function(that, iterable){
- strictNew(that, C, NAME);
- that._i = id++; // collection id
- that._l = undefined; // leak store for frozen objects
- if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
- });
- redefineAll(C.prototype, {
- // 23.3.3.2 WeakMap.prototype.delete(key)
- // 23.4.3.3 WeakSet.prototype.delete(value)
- 'delete': function(key){
- if(!isObject(key))return false;
- if(!isExtensible(key))return frozenStore(this)['delete'](key);
- return $has(key, WEAK) && $has(key[WEAK], this._i) && delete key[WEAK][this._i];
- },
- // 23.3.3.4 WeakMap.prototype.has(key)
- // 23.4.3.4 WeakSet.prototype.has(value)
- has: function has(key){
- if(!isObject(key))return false;
- if(!isExtensible(key))return frozenStore(this).has(key);
- return $has(key, WEAK) && $has(key[WEAK], this._i);
- }
- });
- return C;
- },
- def: function(that, key, value){
- if(!isExtensible(anObject(key))){
- frozenStore(that).set(key, value);
- } else {
- $has(key, WEAK) || hide(key, WEAK, {});
- key[WEAK][that._i] = value;
- } return that;
- },
- frozenStore: frozenStore,
- WEAK: WEAK
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.collection.js b/node_modules/core-js/modules/$.collection.js
deleted file mode 100644
index 61ae123..0000000
--- a/node_modules/core-js/modules/$.collection.js
+++ /dev/null
@@ -1,79 +0,0 @@
-'use strict';
-var global = require('./$.global')
- , $export = require('./$.export')
- , redefine = require('./$.redefine')
- , redefineAll = require('./$.redefine-all')
- , forOf = require('./$.for-of')
- , strictNew = require('./$.strict-new')
- , isObject = require('./$.is-object')
- , fails = require('./$.fails')
- , $iterDetect = require('./$.iter-detect')
- , setToStringTag = require('./$.set-to-string-tag');
-
-module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){
- var Base = global[NAME]
- , C = Base
- , ADDER = IS_MAP ? 'set' : 'add'
- , proto = C && C.prototype
- , O = {};
- var fixMethod = function(KEY){
- var fn = proto[KEY];
- redefine(proto, KEY,
- KEY == 'delete' ? function(a){
- return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);
- } : KEY == 'has' ? function has(a){
- return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);
- } : KEY == 'get' ? function get(a){
- return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);
- } : KEY == 'add' ? function add(a){ fn.call(this, a === 0 ? 0 : a); return this; }
- : function set(a, b){ fn.call(this, a === 0 ? 0 : a, b); return this; }
- );
- };
- if(typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){
- new C().entries().next();
- }))){
- // create collection constructor
- C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
- redefineAll(C.prototype, methods);
- } else {
- var instance = new C
- // early implementations not supports chaining
- , HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance
- // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false
- , THROWS_ON_PRIMITIVES = fails(function(){ instance.has(1); })
- // most early implementations doesn't supports iterables, most modern - not close it correctly
- , ACCEPT_ITERABLES = $iterDetect(function(iter){ new C(iter); }) // eslint-disable-line no-new
- // for early implementations -0 and +0 not the same
- , BUGGY_ZERO;
- if(!ACCEPT_ITERABLES){
- C = wrapper(function(target, iterable){
- strictNew(target, C, NAME);
- var that = new Base;
- if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
- return that;
- });
- C.prototype = proto;
- proto.constructor = C;
- }
- IS_WEAK || instance.forEach(function(val, key){
- BUGGY_ZERO = 1 / key === -Infinity;
- });
- if(THROWS_ON_PRIMITIVES || BUGGY_ZERO){
- fixMethod('delete');
- fixMethod('has');
- IS_MAP && fixMethod('get');
- }
- if(BUGGY_ZERO || HASNT_CHAINING)fixMethod(ADDER);
- // weak collections should not contains .clear method
- if(IS_WEAK && proto.clear)delete proto.clear;
- }
-
- setToStringTag(C, NAME);
-
- O[NAME] = C;
- $export($export.G + $export.W + $export.F * (C != Base), O);
-
- if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP);
-
- return C;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.core.js b/node_modules/core-js/modules/$.core.js
deleted file mode 100644
index 4e2a0b5..0000000
--- a/node_modules/core-js/modules/$.core.js
+++ /dev/null
@@ -1,2 +0,0 @@
-var core = module.exports = {version: '1.2.6'};
-if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.ctx.js b/node_modules/core-js/modules/$.ctx.js
deleted file mode 100644
index d233574..0000000
--- a/node_modules/core-js/modules/$.ctx.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// optional / simple context binding
-var aFunction = require('./$.a-function');
-module.exports = function(fn, that, length){
- aFunction(fn);
- if(that === undefined)return fn;
- switch(length){
- case 1: return function(a){
- return fn.call(that, a);
- };
- case 2: return function(a, b){
- return fn.call(that, a, b);
- };
- case 3: return function(a, b, c){
- return fn.call(that, a, b, c);
- };
- }
- return function(/* ...args */){
- return fn.apply(that, arguments);
- };
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.defined.js b/node_modules/core-js/modules/$.defined.js
deleted file mode 100644
index cfa476b..0000000
--- a/node_modules/core-js/modules/$.defined.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// 7.2.1 RequireObjectCoercible(argument)
-module.exports = function(it){
- if(it == undefined)throw TypeError("Can't call method on " + it);
- return it;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.descriptors.js b/node_modules/core-js/modules/$.descriptors.js
deleted file mode 100644
index 9cd47b7..0000000
--- a/node_modules/core-js/modules/$.descriptors.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// Thank's IE8 for his funny defineProperty
-module.exports = !require('./$.fails')(function(){
- return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.dom-create.js b/node_modules/core-js/modules/$.dom-create.js
deleted file mode 100644
index 240842d..0000000
--- a/node_modules/core-js/modules/$.dom-create.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var isObject = require('./$.is-object')
- , document = require('./$.global').document
- // in old IE typeof document.createElement is 'object'
- , is = isObject(document) && isObject(document.createElement);
-module.exports = function(it){
- return is ? document.createElement(it) : {};
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.enum-keys.js b/node_modules/core-js/modules/$.enum-keys.js
deleted file mode 100644
index 06f7de7..0000000
--- a/node_modules/core-js/modules/$.enum-keys.js
+++ /dev/null
@@ -1,14 +0,0 @@
-// all enumerable object keys, includes symbols
-var $ = require('./$');
-module.exports = function(it){
- var keys = $.getKeys(it)
- , getSymbols = $.getSymbols;
- if(getSymbols){
- var symbols = getSymbols(it)
- , isEnum = $.isEnum
- , i = 0
- , key;
- while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))keys.push(key);
- }
- return keys;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.export.js b/node_modules/core-js/modules/$.export.js
deleted file mode 100644
index 5d4fea0..0000000
--- a/node_modules/core-js/modules/$.export.js
+++ /dev/null
@@ -1,41 +0,0 @@
-var global = require('./$.global')
- , core = require('./$.core')
- , hide = require('./$.hide')
- , redefine = require('./$.redefine')
- , ctx = require('./$.ctx')
- , PROTOTYPE = 'prototype';
-
-var $export = function(type, name, source){
- var IS_FORCED = type & $export.F
- , IS_GLOBAL = type & $export.G
- , IS_STATIC = type & $export.S
- , IS_PROTO = type & $export.P
- , IS_BIND = type & $export.B
- , target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]
- , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})
- , expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {})
- , key, own, out, exp;
- if(IS_GLOBAL)source = name;
- for(key in source){
- // contains in native
- own = !IS_FORCED && target && key in target;
- // export native or passed
- out = (own ? target : source)[key];
- // bind timers to global for call from export context
- exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
- // extend global
- if(target && !own)redefine(target, key, out);
- // export
- if(exports[key] != out)hide(exports, key, exp);
- if(IS_PROTO && expProto[key] != out)expProto[key] = out;
- }
-};
-global.core = core;
-// type bitmap
-$export.F = 1; // forced
-$export.G = 2; // global
-$export.S = 4; // static
-$export.P = 8; // proto
-$export.B = 16; // bind
-$export.W = 32; // wrap
-module.exports = $export;
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.fails-is-regexp.js b/node_modules/core-js/modules/$.fails-is-regexp.js
deleted file mode 100644
index c459a77..0000000
--- a/node_modules/core-js/modules/$.fails-is-regexp.js
+++ /dev/null
@@ -1,12 +0,0 @@
-var MATCH = require('./$.wks')('match');
-module.exports = function(KEY){
- var re = /./;
- try {
- '/./'[KEY](re);
- } catch(e){
- try {
- re[MATCH] = false;
- return !'/./'[KEY](re);
- } catch(f){ /* empty */ }
- } return true;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.fails.js b/node_modules/core-js/modules/$.fails.js
deleted file mode 100644
index 184e5ea..0000000
--- a/node_modules/core-js/modules/$.fails.js
+++ /dev/null
@@ -1,7 +0,0 @@
-module.exports = function(exec){
- try {
- return !!exec();
- } catch(e){
- return true;
- }
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.fix-re-wks.js b/node_modules/core-js/modules/$.fix-re-wks.js
deleted file mode 100644
index 3597a89..0000000
--- a/node_modules/core-js/modules/$.fix-re-wks.js
+++ /dev/null
@@ -1,26 +0,0 @@
-'use strict';
-var hide = require('./$.hide')
- , redefine = require('./$.redefine')
- , fails = require('./$.fails')
- , defined = require('./$.defined')
- , wks = require('./$.wks');
-
-module.exports = function(KEY, length, exec){
- var SYMBOL = wks(KEY)
- , original = ''[KEY];
- if(fails(function(){
- var O = {};
- O[SYMBOL] = function(){ return 7; };
- return ''[KEY](O) != 7;
- })){
- redefine(String.prototype, KEY, exec(defined, SYMBOL, original));
- hide(RegExp.prototype, SYMBOL, length == 2
- // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
- // 21.2.5.11 RegExp.prototype[@@split](string, limit)
- ? function(string, arg){ return original.call(string, this, arg); }
- // 21.2.5.6 RegExp.prototype[@@match](string)
- // 21.2.5.9 RegExp.prototype[@@search](string)
- : function(string){ return original.call(string, this); }
- );
- }
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.flags.js b/node_modules/core-js/modules/$.flags.js
deleted file mode 100644
index fc20e5d..0000000
--- a/node_modules/core-js/modules/$.flags.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-// 21.2.5.3 get RegExp.prototype.flags
-var anObject = require('./$.an-object');
-module.exports = function(){
- var that = anObject(this)
- , result = '';
- if(that.global) result += 'g';
- if(that.ignoreCase) result += 'i';
- if(that.multiline) result += 'm';
- if(that.unicode) result += 'u';
- if(that.sticky) result += 'y';
- return result;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.for-of.js b/node_modules/core-js/modules/$.for-of.js
deleted file mode 100644
index 0f2d8e9..0000000
--- a/node_modules/core-js/modules/$.for-of.js
+++ /dev/null
@@ -1,19 +0,0 @@
-var ctx = require('./$.ctx')
- , call = require('./$.iter-call')
- , isArrayIter = require('./$.is-array-iter')
- , anObject = require('./$.an-object')
- , toLength = require('./$.to-length')
- , getIterFn = require('./core.get-iterator-method');
-module.exports = function(iterable, entries, fn, that){
- var iterFn = getIterFn(iterable)
- , f = ctx(fn, that, entries ? 2 : 1)
- , index = 0
- , length, step, iterator;
- if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!');
- // fast case for arrays with default iterator
- if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){
- entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
- } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){
- call(iterator, f, step.value, entries);
- }
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.get-names.js b/node_modules/core-js/modules/$.get-names.js
deleted file mode 100644
index 2820971..0000000
--- a/node_modules/core-js/modules/$.get-names.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
-var toIObject = require('./$.to-iobject')
- , getNames = require('./$').getNames
- , toString = {}.toString;
-
-var windowNames = typeof window == 'object' && Object.getOwnPropertyNames
- ? Object.getOwnPropertyNames(window) : [];
-
-var getWindowNames = function(it){
- try {
- return getNames(it);
- } catch(e){
- return windowNames.slice();
- }
-};
-
-module.exports.get = function getOwnPropertyNames(it){
- if(windowNames && toString.call(it) == '[object Window]')return getWindowNames(it);
- return getNames(toIObject(it));
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.global.js b/node_modules/core-js/modules/$.global.js
deleted file mode 100644
index df6efb4..0000000
--- a/node_modules/core-js/modules/$.global.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-var global = module.exports = typeof window != 'undefined' && window.Math == Math
- ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();
-if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.has.js b/node_modules/core-js/modules/$.has.js
deleted file mode 100644
index 870b40e..0000000
--- a/node_modules/core-js/modules/$.has.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var hasOwnProperty = {}.hasOwnProperty;
-module.exports = function(it, key){
- return hasOwnProperty.call(it, key);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.hide.js b/node_modules/core-js/modules/$.hide.js
deleted file mode 100644
index ba025d8..0000000
--- a/node_modules/core-js/modules/$.hide.js
+++ /dev/null
@@ -1,8 +0,0 @@
-var $ = require('./$')
- , createDesc = require('./$.property-desc');
-module.exports = require('./$.descriptors') ? function(object, key, value){
- return $.setDesc(object, key, createDesc(1, value));
-} : function(object, key, value){
- object[key] = value;
- return object;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.html.js b/node_modules/core-js/modules/$.html.js
deleted file mode 100644
index 499bd2f..0000000
--- a/node_modules/core-js/modules/$.html.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('./$.global').document && document.documentElement;
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.invoke.js b/node_modules/core-js/modules/$.invoke.js
deleted file mode 100644
index 08e307f..0000000
--- a/node_modules/core-js/modules/$.invoke.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// fast apply, http://jsperf.lnkit.com/fast-apply/5
-module.exports = function(fn, args, that){
- var un = that === undefined;
- switch(args.length){
- case 0: return un ? fn()
- : fn.call(that);
- case 1: return un ? fn(args[0])
- : fn.call(that, args[0]);
- case 2: return un ? fn(args[0], args[1])
- : fn.call(that, args[0], args[1]);
- case 3: return un ? fn(args[0], args[1], args[2])
- : fn.call(that, args[0], args[1], args[2]);
- case 4: return un ? fn(args[0], args[1], args[2], args[3])
- : fn.call(that, args[0], args[1], args[2], args[3]);
- } return fn.apply(that, args);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.iobject.js b/node_modules/core-js/modules/$.iobject.js
deleted file mode 100644
index cea38fa..0000000
--- a/node_modules/core-js/modules/$.iobject.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// fallback for non-array-like ES3 and non-enumerable old V8 strings
-var cof = require('./$.cof');
-module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){
- return cof(it) == 'String' ? it.split('') : Object(it);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.is-array-iter.js b/node_modules/core-js/modules/$.is-array-iter.js
deleted file mode 100644
index b6ef701..0000000
--- a/node_modules/core-js/modules/$.is-array-iter.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// check on default Array iterator
-var Iterators = require('./$.iterators')
- , ITERATOR = require('./$.wks')('iterator')
- , ArrayProto = Array.prototype;
-
-module.exports = function(it){
- return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.is-array.js b/node_modules/core-js/modules/$.is-array.js
deleted file mode 100644
index 8168b21..0000000
--- a/node_modules/core-js/modules/$.is-array.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// 7.2.2 IsArray(argument)
-var cof = require('./$.cof');
-module.exports = Array.isArray || function(arg){
- return cof(arg) == 'Array';
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.is-integer.js b/node_modules/core-js/modules/$.is-integer.js
deleted file mode 100644
index b51e131..0000000
--- a/node_modules/core-js/modules/$.is-integer.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// 20.1.2.3 Number.isInteger(number)
-var isObject = require('./$.is-object')
- , floor = Math.floor;
-module.exports = function isInteger(it){
- return !isObject(it) && isFinite(it) && floor(it) === it;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.is-object.js b/node_modules/core-js/modules/$.is-object.js
deleted file mode 100644
index ee694be..0000000
--- a/node_modules/core-js/modules/$.is-object.js
+++ /dev/null
@@ -1,3 +0,0 @@
-module.exports = function(it){
- return typeof it === 'object' ? it !== null : typeof it === 'function';
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.is-regexp.js b/node_modules/core-js/modules/$.is-regexp.js
deleted file mode 100644
index 9ea2aad..0000000
--- a/node_modules/core-js/modules/$.is-regexp.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 7.2.8 IsRegExp(argument)
-var isObject = require('./$.is-object')
- , cof = require('./$.cof')
- , MATCH = require('./$.wks')('match');
-module.exports = function(it){
- var isRegExp;
- return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.iter-call.js b/node_modules/core-js/modules/$.iter-call.js
deleted file mode 100644
index e6b9d1b..0000000
--- a/node_modules/core-js/modules/$.iter-call.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// call something on iterator step with safe closing on error
-var anObject = require('./$.an-object');
-module.exports = function(iterator, fn, value, entries){
- try {
- return entries ? fn(anObject(value)[0], value[1]) : fn(value);
- // 7.4.6 IteratorClose(iterator, completion)
- } catch(e){
- var ret = iterator['return'];
- if(ret !== undefined)anObject(ret.call(iterator));
- throw e;
- }
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.iter-create.js b/node_modules/core-js/modules/$.iter-create.js
deleted file mode 100644
index adebcf9..0000000
--- a/node_modules/core-js/modules/$.iter-create.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-var $ = require('./$')
- , descriptor = require('./$.property-desc')
- , setToStringTag = require('./$.set-to-string-tag')
- , IteratorPrototype = {};
-
-// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
-require('./$.hide')(IteratorPrototype, require('./$.wks')('iterator'), function(){ return this; });
-
-module.exports = function(Constructor, NAME, next){
- Constructor.prototype = $.create(IteratorPrototype, {next: descriptor(1, next)});
- setToStringTag(Constructor, NAME + ' Iterator');
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.iter-define.js b/node_modules/core-js/modules/$.iter-define.js
deleted file mode 100644
index 630cdf3..0000000
--- a/node_modules/core-js/modules/$.iter-define.js
+++ /dev/null
@@ -1,66 +0,0 @@
-'use strict';
-var LIBRARY = require('./$.library')
- , $export = require('./$.export')
- , redefine = require('./$.redefine')
- , hide = require('./$.hide')
- , has = require('./$.has')
- , Iterators = require('./$.iterators')
- , $iterCreate = require('./$.iter-create')
- , setToStringTag = require('./$.set-to-string-tag')
- , getProto = require('./$').getProto
- , ITERATOR = require('./$.wks')('iterator')
- , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`
- , FF_ITERATOR = '@@iterator'
- , KEYS = 'keys'
- , VALUES = 'values';
-
-var returnThis = function(){ return this; };
-
-module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){
- $iterCreate(Constructor, NAME, next);
- var getMethod = function(kind){
- if(!BUGGY && kind in proto)return proto[kind];
- switch(kind){
- case KEYS: return function keys(){ return new Constructor(this, kind); };
- case VALUES: return function values(){ return new Constructor(this, kind); };
- } return function entries(){ return new Constructor(this, kind); };
- };
- var TAG = NAME + ' Iterator'
- , DEF_VALUES = DEFAULT == VALUES
- , VALUES_BUG = false
- , proto = Base.prototype
- , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]
- , $default = $native || getMethod(DEFAULT)
- , methods, key;
- // Fix native
- if($native){
- var IteratorPrototype = getProto($default.call(new Base));
- // Set @@toStringTag to native iterators
- setToStringTag(IteratorPrototype, TAG, true);
- // FF fix
- if(!LIBRARY && has(proto, FF_ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);
- // fix Array#{values, @@iterator}.name in V8 / FF
- if(DEF_VALUES && $native.name !== VALUES){
- VALUES_BUG = true;
- $default = function values(){ return $native.call(this); };
- }
- }
- // Define iterator
- if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){
- hide(proto, ITERATOR, $default);
- }
- // Plug for library
- Iterators[NAME] = $default;
- Iterators[TAG] = returnThis;
- if(DEFAULT){
- methods = {
- values: DEF_VALUES ? $default : getMethod(VALUES),
- keys: IS_SET ? $default : getMethod(KEYS),
- entries: !DEF_VALUES ? $default : getMethod('entries')
- };
- if(FORCED)for(key in methods){
- if(!(key in proto))redefine(proto, key, methods[key]);
- } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
- }
- return methods;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.iter-detect.js b/node_modules/core-js/modules/$.iter-detect.js
deleted file mode 100644
index 3aa84d4..0000000
--- a/node_modules/core-js/modules/$.iter-detect.js
+++ /dev/null
@@ -1,21 +0,0 @@
-var ITERATOR = require('./$.wks')('iterator')
- , SAFE_CLOSING = false;
-
-try {
- var riter = [7][ITERATOR]();
- riter['return'] = function(){ SAFE_CLOSING = true; };
- Array.from(riter, function(){ throw 2; });
-} catch(e){ /* empty */ }
-
-module.exports = function(exec, skipClosing){
- if(!skipClosing && !SAFE_CLOSING)return false;
- var safe = false;
- try {
- var arr = [7]
- , iter = arr[ITERATOR]();
- iter.next = function(){ safe = true; };
- arr[ITERATOR] = function(){ return iter; };
- exec(arr);
- } catch(e){ /* empty */ }
- return safe;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.iter-step.js b/node_modules/core-js/modules/$.iter-step.js
deleted file mode 100644
index 6ff0dc5..0000000
--- a/node_modules/core-js/modules/$.iter-step.js
+++ /dev/null
@@ -1,3 +0,0 @@
-module.exports = function(done, value){
- return {value: value, done: !!done};
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.iterators.js b/node_modules/core-js/modules/$.iterators.js
deleted file mode 100644
index a099545..0000000
--- a/node_modules/core-js/modules/$.iterators.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = {};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.js b/node_modules/core-js/modules/$.js
deleted file mode 100644
index 053bae4..0000000
--- a/node_modules/core-js/modules/$.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var $Object = Object;
-module.exports = {
- create: $Object.create,
- getProto: $Object.getPrototypeOf,
- isEnum: {}.propertyIsEnumerable,
- getDesc: $Object.getOwnPropertyDescriptor,
- setDesc: $Object.defineProperty,
- setDescs: $Object.defineProperties,
- getKeys: $Object.keys,
- getNames: $Object.getOwnPropertyNames,
- getSymbols: $Object.getOwnPropertySymbols,
- each: [].forEach
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.keyof.js b/node_modules/core-js/modules/$.keyof.js
deleted file mode 100644
index 09d183a..0000000
--- a/node_modules/core-js/modules/$.keyof.js
+++ /dev/null
@@ -1,10 +0,0 @@
-var $ = require('./$')
- , toIObject = require('./$.to-iobject');
-module.exports = function(object, el){
- var O = toIObject(object)
- , keys = $.getKeys(O)
- , length = keys.length
- , index = 0
- , key;
- while(length > index)if(O[key = keys[index++]] === el)return key;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.library.js b/node_modules/core-js/modules/$.library.js
deleted file mode 100644
index 82e47dd..0000000
--- a/node_modules/core-js/modules/$.library.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = false;
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.math-expm1.js b/node_modules/core-js/modules/$.math-expm1.js
deleted file mode 100644
index 9d91be9..0000000
--- a/node_modules/core-js/modules/$.math-expm1.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 20.2.2.14 Math.expm1(x)
-module.exports = Math.expm1 || function expm1(x){
- return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.math-log1p.js b/node_modules/core-js/modules/$.math-log1p.js
deleted file mode 100644
index a92bf46..0000000
--- a/node_modules/core-js/modules/$.math-log1p.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 20.2.2.20 Math.log1p(x)
-module.exports = Math.log1p || function log1p(x){
- return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.math-sign.js b/node_modules/core-js/modules/$.math-sign.js
deleted file mode 100644
index a4848df..0000000
--- a/node_modules/core-js/modules/$.math-sign.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 20.2.2.28 Math.sign(x)
-module.exports = Math.sign || function sign(x){
- return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.microtask.js b/node_modules/core-js/modules/$.microtask.js
deleted file mode 100644
index 1f9ebeb..0000000
--- a/node_modules/core-js/modules/$.microtask.js
+++ /dev/null
@@ -1,64 +0,0 @@
-var global = require('./$.global')
- , macrotask = require('./$.task').set
- , Observer = global.MutationObserver || global.WebKitMutationObserver
- , process = global.process
- , Promise = global.Promise
- , isNode = require('./$.cof')(process) == 'process'
- , head, last, notify;
-
-var flush = function(){
- var parent, domain, fn;
- if(isNode && (parent = process.domain)){
- process.domain = null;
- parent.exit();
- }
- while(head){
- domain = head.domain;
- fn = head.fn;
- if(domain)domain.enter();
- fn(); // <- currently we use it only for Promise - try / catch not required
- if(domain)domain.exit();
- head = head.next;
- } last = undefined;
- if(parent)parent.enter();
-};
-
-// Node.js
-if(isNode){
- notify = function(){
- process.nextTick(flush);
- };
-// browsers with MutationObserver
-} else if(Observer){
- var toggle = 1
- , node = document.createTextNode('');
- new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new
- notify = function(){
- node.data = toggle = -toggle;
- };
-// environments with maybe non-completely correct, but existent Promise
-} else if(Promise && Promise.resolve){
- notify = function(){
- Promise.resolve().then(flush);
- };
-// for other environments - macrotask based on:
-// - setImmediate
-// - MessageChannel
-// - window.postMessag
-// - onreadystatechange
-// - setTimeout
-} else {
- notify = function(){
- // strange IE + webpack dev server bug - use .call(global)
- macrotask.call(global, flush);
- };
-}
-
-module.exports = function asap(fn){
- var task = {fn: fn, next: undefined, domain: isNode && process.domain};
- if(last)last.next = task;
- if(!head){
- head = task;
- notify();
- } last = task;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.object-assign.js b/node_modules/core-js/modules/$.object-assign.js
deleted file mode 100644
index 5ce43f7..0000000
--- a/node_modules/core-js/modules/$.object-assign.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// 19.1.2.1 Object.assign(target, source, ...)
-var $ = require('./$')
- , toObject = require('./$.to-object')
- , IObject = require('./$.iobject');
-
-// should work with symbols and should have deterministic property order (V8 bug)
-module.exports = require('./$.fails')(function(){
- var a = Object.assign
- , A = {}
- , B = {}
- , S = Symbol()
- , K = 'abcdefghijklmnopqrst';
- A[S] = 7;
- K.split('').forEach(function(k){ B[k] = k; });
- return a({}, A)[S] != 7 || Object.keys(a({}, B)).join('') != K;
-}) ? function assign(target, source){ // eslint-disable-line no-unused-vars
- var T = toObject(target)
- , $$ = arguments
- , $$len = $$.length
- , index = 1
- , getKeys = $.getKeys
- , getSymbols = $.getSymbols
- , isEnum = $.isEnum;
- while($$len > index){
- var S = IObject($$[index++])
- , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)
- , length = keys.length
- , j = 0
- , key;
- while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];
- }
- return T;
-} : Object.assign;
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.object-define.js b/node_modules/core-js/modules/$.object-define.js
deleted file mode 100644
index 2fff248..0000000
--- a/node_modules/core-js/modules/$.object-define.js
+++ /dev/null
@@ -1,11 +0,0 @@
-var $ = require('./$')
- , ownKeys = require('./$.own-keys')
- , toIObject = require('./$.to-iobject');
-
-module.exports = function define(target, mixin){
- var keys = ownKeys(toIObject(mixin))
- , length = keys.length
- , i = 0, key;
- while(length > i)$.setDesc(target, key = keys[i++], $.getDesc(mixin, key));
- return target;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.object-sap.js b/node_modules/core-js/modules/$.object-sap.js
deleted file mode 100644
index 5fa7288..0000000
--- a/node_modules/core-js/modules/$.object-sap.js
+++ /dev/null
@@ -1,10 +0,0 @@
-// most Object methods by ES6 should accept primitives
-var $export = require('./$.export')
- , core = require('./$.core')
- , fails = require('./$.fails');
-module.exports = function(KEY, exec){
- var fn = (core.Object || {})[KEY] || Object[KEY]
- , exp = {};
- exp[KEY] = exec(fn);
- $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.object-to-array.js b/node_modules/core-js/modules/$.object-to-array.js
deleted file mode 100644
index d46425b..0000000
--- a/node_modules/core-js/modules/$.object-to-array.js
+++ /dev/null
@@ -1,16 +0,0 @@
-var $ = require('./$')
- , toIObject = require('./$.to-iobject')
- , isEnum = $.isEnum;
-module.exports = function(isEntries){
- return function(it){
- var O = toIObject(it)
- , keys = $.getKeys(O)
- , length = keys.length
- , i = 0
- , result = []
- , key;
- while(length > i)if(isEnum.call(O, key = keys[i++])){
- result.push(isEntries ? [key, O[key]] : O[key]);
- } return result;
- };
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.own-keys.js b/node_modules/core-js/modules/$.own-keys.js
deleted file mode 100644
index 0218c4b..0000000
--- a/node_modules/core-js/modules/$.own-keys.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// all object keys, includes non-enumerable and symbols
-var $ = require('./$')
- , anObject = require('./$.an-object')
- , Reflect = require('./$.global').Reflect;
-module.exports = Reflect && Reflect.ownKeys || function ownKeys(it){
- var keys = $.getNames(anObject(it))
- , getSymbols = $.getSymbols;
- return getSymbols ? keys.concat(getSymbols(it)) : keys;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.partial.js b/node_modules/core-js/modules/$.partial.js
deleted file mode 100644
index 53f97aa..0000000
--- a/node_modules/core-js/modules/$.partial.js
+++ /dev/null
@@ -1,24 +0,0 @@
-'use strict';
-var path = require('./$.path')
- , invoke = require('./$.invoke')
- , aFunction = require('./$.a-function');
-module.exports = function(/* ...pargs */){
- var fn = aFunction(this)
- , length = arguments.length
- , pargs = Array(length)
- , i = 0
- , _ = path._
- , holder = false;
- while(length > i)if((pargs[i] = arguments[i++]) === _)holder = true;
- return function(/* ...args */){
- var that = this
- , $$ = arguments
- , $$len = $$.length
- , j = 0, k = 0, args;
- if(!holder && !$$len)return invoke(fn, pargs, that);
- args = pargs.slice();
- if(holder)for(;length > j; j++)if(args[j] === _)args[j] = $$[k++];
- while($$len > k)args.push($$[k++]);
- return invoke(fn, args, that);
- };
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.path.js b/node_modules/core-js/modules/$.path.js
deleted file mode 100644
index 11ff15e..0000000
--- a/node_modules/core-js/modules/$.path.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('./$.global');
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.property-desc.js b/node_modules/core-js/modules/$.property-desc.js
deleted file mode 100644
index e3f7ab2..0000000
--- a/node_modules/core-js/modules/$.property-desc.js
+++ /dev/null
@@ -1,8 +0,0 @@
-module.exports = function(bitmap, value){
- return {
- enumerable : !(bitmap & 1),
- configurable: !(bitmap & 2),
- writable : !(bitmap & 4),
- value : value
- };
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.redefine-all.js b/node_modules/core-js/modules/$.redefine-all.js
deleted file mode 100644
index 01fe55b..0000000
--- a/node_modules/core-js/modules/$.redefine-all.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var redefine = require('./$.redefine');
-module.exports = function(target, src){
- for(var key in src)redefine(target, key, src[key]);
- return target;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.redefine.js b/node_modules/core-js/modules/$.redefine.js
deleted file mode 100644
index 1783e3a..0000000
--- a/node_modules/core-js/modules/$.redefine.js
+++ /dev/null
@@ -1,27 +0,0 @@
-// add fake Function#toString
-// for correct work wrapped methods / constructors with methods like LoDash isNative
-var global = require('./$.global')
- , hide = require('./$.hide')
- , SRC = require('./$.uid')('src')
- , TO_STRING = 'toString'
- , $toString = Function[TO_STRING]
- , TPL = ('' + $toString).split(TO_STRING);
-
-require('./$.core').inspectSource = function(it){
- return $toString.call(it);
-};
-
-(module.exports = function(O, key, val, safe){
- if(typeof val == 'function'){
- val.hasOwnProperty(SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));
- val.hasOwnProperty('name') || hide(val, 'name', key);
- }
- if(O === global){
- O[key] = val;
- } else {
- if(!safe)delete O[key];
- hide(O, key, val);
- }
-})(Function.prototype, TO_STRING, function toString(){
- return typeof this == 'function' && this[SRC] || $toString.call(this);
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.replacer.js b/node_modules/core-js/modules/$.replacer.js
deleted file mode 100644
index 5360a3d..0000000
--- a/node_modules/core-js/modules/$.replacer.js
+++ /dev/null
@@ -1,8 +0,0 @@
-module.exports = function(regExp, replace){
- var replacer = replace === Object(replace) ? function(part){
- return replace[part];
- } : replace;
- return function(it){
- return String(it).replace(regExp, replacer);
- };
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.same-value.js b/node_modules/core-js/modules/$.same-value.js
deleted file mode 100644
index 8c2b8c7..0000000
--- a/node_modules/core-js/modules/$.same-value.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 7.2.9 SameValue(x, y)
-module.exports = Object.is || function is(x, y){
- return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.set-proto.js b/node_modules/core-js/modules/$.set-proto.js
deleted file mode 100644
index b1edd68..0000000
--- a/node_modules/core-js/modules/$.set-proto.js
+++ /dev/null
@@ -1,26 +0,0 @@
-// Works with __proto__ only. Old v8 can't work with null proto objects.
-/* eslint-disable no-proto */
-var getDesc = require('./$').getDesc
- , isObject = require('./$.is-object')
- , anObject = require('./$.an-object');
-var check = function(O, proto){
- anObject(O);
- if(!isObject(proto) && proto !== null)throw TypeError(proto + ": can't set as prototype!");
-};
-module.exports = {
- set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
- function(test, buggy, set){
- try {
- set = require('./$.ctx')(Function.call, getDesc(Object.prototype, '__proto__').set, 2);
- set(test, []);
- buggy = !(test instanceof Array);
- } catch(e){ buggy = true; }
- return function setPrototypeOf(O, proto){
- check(O, proto);
- if(buggy)O.__proto__ = proto;
- else set(O, proto);
- return O;
- };
- }({}, false) : undefined),
- check: check
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.set-species.js b/node_modules/core-js/modules/$.set-species.js
deleted file mode 100644
index b1d04c6..0000000
--- a/node_modules/core-js/modules/$.set-species.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-var global = require('./$.global')
- , $ = require('./$')
- , DESCRIPTORS = require('./$.descriptors')
- , SPECIES = require('./$.wks')('species');
-
-module.exports = function(KEY){
- var C = global[KEY];
- if(DESCRIPTORS && C && !C[SPECIES])$.setDesc(C, SPECIES, {
- configurable: true,
- get: function(){ return this; }
- });
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.set-to-string-tag.js b/node_modules/core-js/modules/$.set-to-string-tag.js
deleted file mode 100644
index 22b3424..0000000
--- a/node_modules/core-js/modules/$.set-to-string-tag.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var def = require('./$').setDesc
- , has = require('./$.has')
- , TAG = require('./$.wks')('toStringTag');
-
-module.exports = function(it, tag, stat){
- if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.shared.js b/node_modules/core-js/modules/$.shared.js
deleted file mode 100644
index 8dea827..0000000
--- a/node_modules/core-js/modules/$.shared.js
+++ /dev/null
@@ -1,6 +0,0 @@
-var global = require('./$.global')
- , SHARED = '__core-js_shared__'
- , store = global[SHARED] || (global[SHARED] = {});
-module.exports = function(key){
- return store[key] || (store[key] = {});
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.species-constructor.js b/node_modules/core-js/modules/$.species-constructor.js
deleted file mode 100644
index f71168b..0000000
--- a/node_modules/core-js/modules/$.species-constructor.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 7.3.20 SpeciesConstructor(O, defaultConstructor)
-var anObject = require('./$.an-object')
- , aFunction = require('./$.a-function')
- , SPECIES = require('./$.wks')('species');
-module.exports = function(O, D){
- var C = anObject(O).constructor, S;
- return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.strict-new.js b/node_modules/core-js/modules/$.strict-new.js
deleted file mode 100644
index 8bab9ed..0000000
--- a/node_modules/core-js/modules/$.strict-new.js
+++ /dev/null
@@ -1,4 +0,0 @@
-module.exports = function(it, Constructor, name){
- if(!(it instanceof Constructor))throw TypeError(name + ": use the 'new' operator!");
- return it;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.string-at.js b/node_modules/core-js/modules/$.string-at.js
deleted file mode 100644
index 3d344bb..0000000
--- a/node_modules/core-js/modules/$.string-at.js
+++ /dev/null
@@ -1,17 +0,0 @@
-var toInteger = require('./$.to-integer')
- , defined = require('./$.defined');
-// true -> String#at
-// false -> String#codePointAt
-module.exports = function(TO_STRING){
- return function(that, pos){
- var s = String(defined(that))
- , i = toInteger(pos)
- , l = s.length
- , a, b;
- if(i < 0 || i >= l)return TO_STRING ? '' : undefined;
- a = s.charCodeAt(i);
- return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
- ? TO_STRING ? s.charAt(i) : a
- : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
- };
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.string-context.js b/node_modules/core-js/modules/$.string-context.js
deleted file mode 100644
index d6485a4..0000000
--- a/node_modules/core-js/modules/$.string-context.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// helper for String#{startsWith, endsWith, includes}
-var isRegExp = require('./$.is-regexp')
- , defined = require('./$.defined');
-
-module.exports = function(that, searchString, NAME){
- if(isRegExp(searchString))throw TypeError('String#' + NAME + " doesn't accept regex!");
- return String(defined(that));
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.string-pad.js b/node_modules/core-js/modules/$.string-pad.js
deleted file mode 100644
index f0507d9..0000000
--- a/node_modules/core-js/modules/$.string-pad.js
+++ /dev/null
@@ -1,17 +0,0 @@
-// https://github.com/ljharb/proposal-string-pad-left-right
-var toLength = require('./$.to-length')
- , repeat = require('./$.string-repeat')
- , defined = require('./$.defined');
-
-module.exports = function(that, maxLength, fillString, left){
- var S = String(defined(that))
- , stringLength = S.length
- , fillStr = fillString === undefined ? ' ' : String(fillString)
- , intMaxLength = toLength(maxLength);
- if(intMaxLength <= stringLength)return S;
- if(fillStr == '')fillStr = ' ';
- var fillLen = intMaxLength - stringLength
- , stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));
- if(stringFiller.length > fillLen)stringFiller = stringFiller.slice(0, fillLen);
- return left ? stringFiller + S : S + stringFiller;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.string-repeat.js b/node_modules/core-js/modules/$.string-repeat.js
deleted file mode 100644
index 491d085..0000000
--- a/node_modules/core-js/modules/$.string-repeat.js
+++ /dev/null
@@ -1,12 +0,0 @@
-'use strict';
-var toInteger = require('./$.to-integer')
- , defined = require('./$.defined');
-
-module.exports = function repeat(count){
- var str = String(defined(this))
- , res = ''
- , n = toInteger(count);
- if(n < 0 || n == Infinity)throw RangeError("Count can't be negative");
- for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str;
- return res;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.string-trim.js b/node_modules/core-js/modules/$.string-trim.js
deleted file mode 100644
index 04423f4..0000000
--- a/node_modules/core-js/modules/$.string-trim.js
+++ /dev/null
@@ -1,29 +0,0 @@
-var $export = require('./$.export')
- , defined = require('./$.defined')
- , fails = require('./$.fails')
- , spaces = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' +
- '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'
- , space = '[' + spaces + ']'
- , non = '\u200b\u0085'
- , ltrim = RegExp('^' + space + space + '*')
- , rtrim = RegExp(space + space + '*$');
-
-var exporter = function(KEY, exec){
- var exp = {};
- exp[KEY] = exec(trim);
- $export($export.P + $export.F * fails(function(){
- return !!spaces[KEY]() || non[KEY]() != non;
- }), 'String', exp);
-};
-
-// 1 -> String#trimLeft
-// 2 -> String#trimRight
-// 3 -> String#trim
-var trim = exporter.trim = function(string, TYPE){
- string = String(defined(string));
- if(TYPE & 1)string = string.replace(ltrim, '');
- if(TYPE & 2)string = string.replace(rtrim, '');
- return string;
-};
-
-module.exports = exporter;
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.task.js b/node_modules/core-js/modules/$.task.js
deleted file mode 100644
index 5d7759e..0000000
--- a/node_modules/core-js/modules/$.task.js
+++ /dev/null
@@ -1,75 +0,0 @@
-var ctx = require('./$.ctx')
- , invoke = require('./$.invoke')
- , html = require('./$.html')
- , cel = require('./$.dom-create')
- , global = require('./$.global')
- , process = global.process
- , setTask = global.setImmediate
- , clearTask = global.clearImmediate
- , MessageChannel = global.MessageChannel
- , counter = 0
- , queue = {}
- , ONREADYSTATECHANGE = 'onreadystatechange'
- , defer, channel, port;
-var run = function(){
- var id = +this;
- if(queue.hasOwnProperty(id)){
- var fn = queue[id];
- delete queue[id];
- fn();
- }
-};
-var listner = function(event){
- run.call(event.data);
-};
-// Node.js 0.9+ & IE10+ has setImmediate, otherwise:
-if(!setTask || !clearTask){
- setTask = function setImmediate(fn){
- var args = [], i = 1;
- while(arguments.length > i)args.push(arguments[i++]);
- queue[++counter] = function(){
- invoke(typeof fn == 'function' ? fn : Function(fn), args);
- };
- defer(counter);
- return counter;
- };
- clearTask = function clearImmediate(id){
- delete queue[id];
- };
- // Node.js 0.8-
- if(require('./$.cof')(process) == 'process'){
- defer = function(id){
- process.nextTick(ctx(run, id, 1));
- };
- // Browsers with MessageChannel, includes WebWorkers
- } else if(MessageChannel){
- channel = new MessageChannel;
- port = channel.port2;
- channel.port1.onmessage = listner;
- defer = ctx(port.postMessage, port, 1);
- // Browsers with postMessage, skip WebWorkers
- // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
- } else if(global.addEventListener && typeof postMessage == 'function' && !global.importScripts){
- defer = function(id){
- global.postMessage(id + '', '*');
- };
- global.addEventListener('message', listner, false);
- // IE8-
- } else if(ONREADYSTATECHANGE in cel('script')){
- defer = function(id){
- html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function(){
- html.removeChild(this);
- run.call(id);
- };
- };
- // Rest old browsers
- } else {
- defer = function(id){
- setTimeout(ctx(run, id, 1), 0);
- };
- }
-}
-module.exports = {
- set: setTask,
- clear: clearTask
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.to-index.js b/node_modules/core-js/modules/$.to-index.js
deleted file mode 100644
index 9346a8f..0000000
--- a/node_modules/core-js/modules/$.to-index.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var toInteger = require('./$.to-integer')
- , max = Math.max
- , min = Math.min;
-module.exports = function(index, length){
- index = toInteger(index);
- return index < 0 ? max(index + length, 0) : min(index, length);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.to-integer.js b/node_modules/core-js/modules/$.to-integer.js
deleted file mode 100644
index f63baaf..0000000
--- a/node_modules/core-js/modules/$.to-integer.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// 7.1.4 ToInteger
-var ceil = Math.ceil
- , floor = Math.floor;
-module.exports = function(it){
- return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.to-iobject.js b/node_modules/core-js/modules/$.to-iobject.js
deleted file mode 100644
index fcf54c8..0000000
--- a/node_modules/core-js/modules/$.to-iobject.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// to indexed object, toObject with fallback for non-array-like ES3 strings
-var IObject = require('./$.iobject')
- , defined = require('./$.defined');
-module.exports = function(it){
- return IObject(defined(it));
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.to-length.js b/node_modules/core-js/modules/$.to-length.js
deleted file mode 100644
index 0e15b1b..0000000
--- a/node_modules/core-js/modules/$.to-length.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// 7.1.15 ToLength
-var toInteger = require('./$.to-integer')
- , min = Math.min;
-module.exports = function(it){
- return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.to-object.js b/node_modules/core-js/modules/$.to-object.js
deleted file mode 100644
index 2c57a29..0000000
--- a/node_modules/core-js/modules/$.to-object.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// 7.1.13 ToObject(argument)
-var defined = require('./$.defined');
-module.exports = function(it){
- return Object(defined(it));
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.to-primitive.js b/node_modules/core-js/modules/$.to-primitive.js
deleted file mode 100644
index 6fb4585..0000000
--- a/node_modules/core-js/modules/$.to-primitive.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// 7.1.1 ToPrimitive(input [, PreferredType])
-var isObject = require('./$.is-object');
-// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-// and the second argument - flag - preferred type is a string
-module.exports = function(it, S){
- if(!isObject(it))return it;
- var fn, val;
- if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;
- if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;
- if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;
- throw TypeError("Can't convert object to primitive value");
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.typed-array.js b/node_modules/core-js/modules/$.typed-array.js
deleted file mode 100644
index 1bd5cf0..0000000
--- a/node_modules/core-js/modules/$.typed-array.js
+++ /dev/null
@@ -1,365 +0,0 @@
-'use strict';
-if(require('./$.descriptors')){
- var LIBRARY = require('./$.library')
- , global = require('./$.global')
- , $ = require('./$')
- , fails = require('./$.fails')
- , $export = require('./$.export')
- , $typed = require('./$.typed')
- , $buffer = require('./$.buffer')
- , ctx = require('./$.ctx')
- , strictNew = require('./$.strict-new')
- , propertyDesc = require('./$.property-desc')
- , hide = require('./$.hide')
- , redefineAll = require('./$.redefine-all')
- , isInteger = require('./$.is-integer')
- , toInteger = require('./$.to-integer')
- , toLength = require('./$.to-length')
- , toIndex = require('./$.to-index')
- , toPrimitive = require('./$.to-primitive')
- , isObject = require('./$.is-object')
- , toObject = require('./$.to-object')
- , isArrayIter = require('./$.is-array-iter')
- , isIterable = require('./core.is-iterable')
- , getIterFn = require('./core.get-iterator-method')
- , wks = require('./$.wks')
- , createArrayMethod = require('./$.array-methods')
- , createArrayIncludes = require('./$.array-includes')
- , speciesConstructor = require('./$.species-constructor')
- , ArrayIterators = require('./es6.array.iterator')
- , Iterators = require('./$.iterators')
- , $iterDetect = require('./$.iter-detect')
- , setSpecies = require('./$.set-species')
- , arrayFill = require('./$.array-fill')
- , arrayCopyWithin = require('./$.array-copy-within')
- , ArrayProto = Array.prototype
- , $ArrayBuffer = $buffer.ArrayBuffer
- , $DataView = $buffer.DataView
- , setDesc = $.setDesc
- , getDesc = $.getDesc
- , arrayForEach = createArrayMethod(0)
- , arrayMap = createArrayMethod(1)
- , arrayFilter = createArrayMethod(2)
- , arraySome = createArrayMethod(3)
- , arrayEvery = createArrayMethod(4)
- , arrayFind = createArrayMethod(5)
- , arrayFindIndex = createArrayMethod(6)
- , arrayIncludes = createArrayIncludes(true)
- , arrayIndexOf = createArrayIncludes(false)
- , arrayValues = ArrayIterators.values
- , arrayKeys = ArrayIterators.keys
- , arrayEntries = ArrayIterators.entries
- , arrayLastIndexOf = ArrayProto.lastIndexOf
- , arrayReduce = ArrayProto.reduce
- , arrayReduceRight = ArrayProto.reduceRight
- , arrayJoin = ArrayProto.join
- , arrayReverse = ArrayProto.reverse
- , arraySort = ArrayProto.sort
- , arraySlice = ArrayProto.slice
- , arrayToString = ArrayProto.toString
- , arrayToLocaleString = ArrayProto.toLocaleString
- , ITERATOR = wks('iterator')
- , TAG = wks('toStringTag')
- , TYPED_CONSTRUCTOR = wks('typed_constructor')
- , DEF_CONSTRUCTOR = wks('def_constructor')
- , ALL_ARRAYS = $typed.ARRAYS
- , TYPED_ARRAY = $typed.TYPED
- , VIEW = $typed.VIEW
- , BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';
-
- var LITTLE_ENDIAN = fails(function(){
- return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;
- });
-
- var validate = function(it){
- if(isObject(it) && TYPED_ARRAY in it)return it;
- throw TypeError(it + ' is not a typed array!');
- };
-
- var fromList = function(O, list){
- var index = 0
- , length = list.length
- , result = allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);
- while(length > index)result[index] = list[index++];
- return result;
- };
-
- var allocate = function(C, length){
- if(!(isObject(C) && TYPED_CONSTRUCTOR in C)){
- throw TypeError('It is not a typed array constructor!');
- } return new C(length);
- };
-
- var $from = function from(source /*, mapfn, thisArg */){
- var O = toObject(source)
- , $$ = arguments
- , $$len = $$.length
- , mapfn = $$len > 1 ? $$[1] : undefined
- , mapping = mapfn !== undefined
- , iterFn = getIterFn(O)
- , i, length, values, result, step, iterator;
- if(iterFn != undefined && !isArrayIter(iterFn)){
- for(iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++){
- values.push(step.value);
- } O = values;
- }
- if(mapping && $$len > 2)mapfn = ctx(mapfn, $$[2], 2);
- for(i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++){
- result[i] = mapping ? mapfn(O[i], i) : O[i];
- }
- return result;
- };
-
- var addGetter = function(C, key, internal){
- setDesc(C.prototype, key, {get: function(){ return this._d[internal]; }});
- };
-
- var $of = function of(/*...items*/){
- var index = 0
- , length = arguments.length
- , result = allocate(this, length);
- while(length > index)result[index] = arguments[index++];
- return result;
- };
- var $toLocaleString = function toLocaleString(){
- return arrayToLocaleString.apply(validate(this), arguments);
- };
-
- var proto = {
- copyWithin: function copyWithin(target, start /*, end */){
- return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);
- },
- every: function every(callbackfn /*, thisArg */){
- return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- },
- fill: function fill(value /*, start, end */){ // eslint-disable-line no-unused-vars
- return arrayFill.apply(validate(this), arguments);
- },
- filter: function filter(callbackfn /*, thisArg */){
- return fromList(this, arrayFilter(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined));
- },
- find: function find(predicate /*, thisArg */){
- return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
- },
- findIndex: function findIndex(predicate /*, thisArg */){
- return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
- },
- forEach: function forEach(callbackfn /*, thisArg */){
- arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- },
- indexOf: function indexOf(searchElement /*, fromIndex */){
- return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
- },
- includes: function includes(searchElement /*, fromIndex */){
- return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
- },
- join: function join(separator){ // eslint-disable-line no-unused-vars
- return arrayJoin.apply(validate(this), arguments);
- },
- lastIndexOf: function lastIndexOf(searchElement /*, fromIndex */){ // eslint-disable-line no-unused-vars
- return arrayLastIndexOf.apply(validate(this), arguments);
- },
- map: function map(mapfn /*, thisArg */){
- return fromList(this, arrayMap(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined)); // TODO
- },
- reduce: function reduce(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars
- return arrayReduce.apply(validate(this), arguments);
- },
- reduceRight: function reduceRight(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars
- return arrayReduceRight.apply(validate(this), arguments);
- },
- reverse: function reverse(){
- return arrayReverse.call(validate(this));
- },
- set: function set(arrayLike /*, offset */){
- validate(this);
- var offset = toInteger(arguments.length > 1 ? arguments[1] : undefined);
- if(offset < 0)throw RangeError();
- var length = this.length;
- var src = toObject(arrayLike);
- var index = 0;
- var len = toLength(src.length);
- if(len + offset > length)throw RangeError();
- while(index < len)this[offset + index] = src[index++];
- },
- slice: function slice(start, end){
- return fromList(this, arraySlice.call(validate(this), start, end)); // TODO
- },
- some: function some(callbackfn /*, thisArg */){
- return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- },
- sort: function sort(comparefn){
- return arraySort.call(validate(this), comparefn);
- },
- subarray: function subarray(begin, end){
- var O = validate(this)
- , length = O.length
- , $begin = toIndex(begin, length);
- return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(
- O.buffer,
- O.byteOffset + $begin * O.BYTES_PER_ELEMENT,
- toLength((end === undefined ? length : toIndex(end, length)) - $begin)
- );
- },
- entries: function entries(){
- return arrayEntries.call(validate(this));
- },
- keys: function keys(){
- return arrayKeys.call(validate(this));
- },
- values: function values(){
- return arrayValues.call(validate(this));
- }
- };
-
- var isTAIndex = function(target, key){
- return isObject(target)
- && TYPED_ARRAY in target
- && typeof key != 'symbol'
- && key in target
- && String(+key) == String(key);
- };
- var $getDesc = function getOwnPropertyDescriptor(target, key){
- return isTAIndex(target, key = toPrimitive(key, true))
- ? propertyDesc(2, target[key])
- : getDesc(target, key);
- };
- var $setDesc = function defineProperty(target, key, desc){
- if(isTAIndex(target, key = toPrimitive(key, true)) && isObject(desc)){
- if('value' in desc)target[key] = desc.value;
- return target;
- } else return setDesc(target, key, desc);
- };
-
- if(!ALL_ARRAYS){
- $.getDesc = $getDesc;
- $.setDesc = $setDesc;
- }
-
- $export($export.S + $export.F * !ALL_ARRAYS, 'Object', {
- getOwnPropertyDescriptor: $getDesc,
- defineProperty: $setDesc
- });
-
- var $TypedArrayPrototype$ = redefineAll({}, proto);
- redefineAll($TypedArrayPrototype$, {
- constructor: function(){ /* noop */ },
- toString: arrayToString,
- toLocaleString: $toLocaleString
- });
- $.setDesc($TypedArrayPrototype$, TAG, {
- get: function(){ return this[TYPED_ARRAY]; }
- });
-
- module.exports = function(KEY, BYTES, wrapper, CLAMPED){
- CLAMPED = !!CLAMPED;
- var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array'
- , GETTER = 'get' + KEY
- , SETTER = 'set' + KEY
- , TypedArray = global[NAME]
- , Base = TypedArray || {}
- , FORCED = !TypedArray || !$typed.ABV
- , $iterator = proto.values
- , O = {};
- var addElement = function(that, index){
- setDesc(that, index, {
- get: function(){
- var data = this._d;
- return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);
- },
- set: function(it){
- var data = this._d;
- if(CLAMPED)it = (it = Math.round(it)) < 0 ? 0 : it > 0xff ? 0xff : it & 0xff;
- data.v[SETTER](index * BYTES + data.o, it, LITTLE_ENDIAN);
- },
- enumerable: true
- });
- };
- if(!$ArrayBuffer)return;
- if(FORCED){
- TypedArray = wrapper(function(that, data, $offset, $length){
- strictNew(that, TypedArray, NAME);
- var index = 0
- , offset = 0
- , buffer, byteLength, length;
- if(!isObject(data)){
- byteLength = toInteger(data) * BYTES;
- buffer = new $ArrayBuffer(byteLength);
- // TODO TA case
- } else if(data instanceof $ArrayBuffer){
- buffer = data;
- offset = toInteger($offset);
- if(offset < 0 || offset % BYTES)throw RangeError();
- var $len = data.byteLength;
- if($length === undefined){
- if($len % BYTES)throw RangeError();
- byteLength = $len - offset;
- if(byteLength < 0)throw RangeError();
- } else {
- byteLength = toLength($length) * BYTES;
- if(byteLength + offset > $len)throw RangeError();
- }
- } else return $from.call(TypedArray, data);
- length = byteLength / BYTES;
- hide(that, '_d', {
- b: buffer,
- o: offset,
- l: byteLength,
- e: length,
- v: new $DataView(buffer)
- });
- while(index < length)addElement(that, index++);
- });
- TypedArray.prototype = $.create($TypedArrayPrototype$);
- addGetter(TypedArray, 'buffer', 'b');
- addGetter(TypedArray, 'byteOffset', 'o');
- addGetter(TypedArray, 'byteLength', 'l');
- addGetter(TypedArray, 'length', 'e');
- hide(TypedArray, BYTES_PER_ELEMENT, BYTES);
- hide(TypedArray.prototype, BYTES_PER_ELEMENT, BYTES);
- hide(TypedArray.prototype, 'constructor', TypedArray);
- } else if(!$iterDetect(function(iter){
- new TypedArray(iter); // eslint-disable-line no-new
- }, true)){
- TypedArray = wrapper(function(that, data, $offset, $length){
- strictNew(that, TypedArray, NAME);
- if(isObject(data) && isIterable(data))return $from.call(TypedArray, data);
- return $length === undefined ? new Base(data, $offset) : new Base(data, $offset, $length);
- });
- TypedArray.prototype = Base.prototype;
- if(!LIBRARY)TypedArray.prototype.constructor = TypedArray;
- }
- var TypedArrayPrototype = TypedArray.prototype;
- var $nativeIterator = TypedArrayPrototype[ITERATOR];
- hide(TypedArray, TYPED_CONSTRUCTOR, true);
- hide(TypedArrayPrototype, TYPED_ARRAY, NAME);
- hide(TypedArrayPrototype, VIEW, true);
- hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);
- TAG in TypedArrayPrototype || $.setDesc(TypedArrayPrototype, TAG, {
- get: function(){ return NAME; }
- });
-
- O[NAME] = TypedArray;
-
- $export($export.G + $export.W + $export.F * (TypedArray != Base), O);
-
- $export($export.S + $export.F * (TypedArray != Base), NAME, {
- BYTES_PER_ELEMENT: BYTES,
- from: Base.from || $from,
- of: Base.of || $of
- });
-
- $export($export.P + $export.F * FORCED, NAME, proto);
-
- $export($export.P + $export.F * (TypedArrayPrototype.toString != arrayToString), NAME, {toString: arrayToString});
-
- $export($export.P + $export.F * fails(function(){
- return [1, 2].toLocaleString() != new Typed([1, 2]).toLocaleString()
- }), NAME, {toLocaleString: $toLocaleString});
-
- Iterators[NAME] = $nativeIterator || $iterator;
- LIBRARY || $nativeIterator || hide(TypedArrayPrototype, ITERATOR, $iterator);
-
- setSpecies(NAME);
- };
-} else module.exports = function(){ /* empty */};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.typed.js b/node_modules/core-js/modules/$.typed.js
deleted file mode 100644
index ced2412..0000000
--- a/node_modules/core-js/modules/$.typed.js
+++ /dev/null
@@ -1,36 +0,0 @@
-var global = require('./$.global')
- , hide = require('./$.hide')
- , uid = require('./$.uid')
- , TYPED = uid('typed_array')
- , VIEW = uid('view')
- , ABV = !!(global.ArrayBuffer && global.DataView)
- , ARRAYS = true
- , i = 0, l = 9;
-
-var TypedArrayConstructors = [
- 'Int8Array',
- 'Uint8Array',
- 'Uint8ClampedArray',
- 'Int16Array',
- 'Uint16Array',
- 'Int32Array',
- 'Uint32Array',
- 'Float32Array',
- 'Float64Array'
-];
-
-while(i < l){
- var Typed = global[TypedArrayConstructors[i++]];
- if(Typed){
- hide(Typed.prototype, TYPED, true);
- hide(Typed.prototype, VIEW, true);
- } else ARRAYS = false;
-}
-
-module.exports = {
- ARRAYS: ARRAYS,
- ABV: ABV,
- CONSTR: ARRAYS && ABV,
- TYPED: TYPED,
- VIEW: VIEW
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.uid.js b/node_modules/core-js/modules/$.uid.js
deleted file mode 100644
index 3be4196..0000000
--- a/node_modules/core-js/modules/$.uid.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var id = 0
- , px = Math.random();
-module.exports = function(key){
- return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/$.wks.js b/node_modules/core-js/modules/$.wks.js
deleted file mode 100644
index 87a3d29..0000000
--- a/node_modules/core-js/modules/$.wks.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var store = require('./$.shared')('wks')
- , uid = require('./$.uid')
- , Symbol = require('./$.global').Symbol;
-module.exports = function(name){
- return store[name] || (store[name] =
- Symbol && Symbol[name] || (Symbol || uid)('Symbol.' + name));
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/core.delay.js b/node_modules/core-js/modules/core.delay.js
deleted file mode 100644
index 3e19ef3..0000000
--- a/node_modules/core-js/modules/core.delay.js
+++ /dev/null
@@ -1,12 +0,0 @@
-var global = require('./$.global')
- , core = require('./$.core')
- , $export = require('./$.export')
- , partial = require('./$.partial');
-// https://esdiscuss.org/topic/promise-returning-delay-function
-$export($export.G + $export.F, {
- delay: function delay(time){
- return new (core.Promise || global.Promise)(function(resolve){
- setTimeout(partial.call(resolve, true), time);
- });
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/core.dict.js b/node_modules/core-js/modules/core.dict.js
deleted file mode 100644
index df31498..0000000
--- a/node_modules/core-js/modules/core.dict.js
+++ /dev/null
@@ -1,153 +0,0 @@
-'use strict';
-var $ = require('./$')
- , ctx = require('./$.ctx')
- , $export = require('./$.export')
- , createDesc = require('./$.property-desc')
- , assign = require('./$.object-assign')
- , keyOf = require('./$.keyof')
- , aFunction = require('./$.a-function')
- , forOf = require('./$.for-of')
- , isIterable = require('./core.is-iterable')
- , $iterCreate = require('./$.iter-create')
- , step = require('./$.iter-step')
- , isObject = require('./$.is-object')
- , toIObject = require('./$.to-iobject')
- , DESCRIPTORS = require('./$.descriptors')
- , has = require('./$.has')
- , getKeys = $.getKeys;
-
-// 0 -> Dict.forEach
-// 1 -> Dict.map
-// 2 -> Dict.filter
-// 3 -> Dict.some
-// 4 -> Dict.every
-// 5 -> Dict.find
-// 6 -> Dict.findKey
-// 7 -> Dict.mapPairs
-var createDictMethod = function(TYPE){
- var IS_MAP = TYPE == 1
- , IS_EVERY = TYPE == 4;
- return function(object, callbackfn, that /* = undefined */){
- var f = ctx(callbackfn, that, 3)
- , O = toIObject(object)
- , result = IS_MAP || TYPE == 7 || TYPE == 2
- ? new (typeof this == 'function' ? this : Dict) : undefined
- , key, val, res;
- for(key in O)if(has(O, key)){
- val = O[key];
- res = f(val, key, object);
- if(TYPE){
- if(IS_MAP)result[key] = res; // map
- else if(res)switch(TYPE){
- case 2: result[key] = val; break; // filter
- case 3: return true; // some
- case 5: return val; // find
- case 6: return key; // findKey
- case 7: result[res[0]] = res[1]; // mapPairs
- } else if(IS_EVERY)return false; // every
- }
- }
- return TYPE == 3 || IS_EVERY ? IS_EVERY : result;
- };
-};
-var findKey = createDictMethod(6);
-
-var createDictIter = function(kind){
- return function(it){
- return new DictIterator(it, kind);
- };
-};
-var DictIterator = function(iterated, kind){
- this._t = toIObject(iterated); // target
- this._a = getKeys(iterated); // keys
- this._i = 0; // next index
- this._k = kind; // kind
-};
-$iterCreate(DictIterator, 'Dict', function(){
- var that = this
- , O = that._t
- , keys = that._a
- , kind = that._k
- , key;
- do {
- if(that._i >= keys.length){
- that._t = undefined;
- return step(1);
- }
- } while(!has(O, key = keys[that._i++]));
- if(kind == 'keys' )return step(0, key);
- if(kind == 'values')return step(0, O[key]);
- return step(0, [key, O[key]]);
-});
-
-function Dict(iterable){
- var dict = $.create(null);
- if(iterable != undefined){
- if(isIterable(iterable)){
- forOf(iterable, true, function(key, value){
- dict[key] = value;
- });
- } else assign(dict, iterable);
- }
- return dict;
-}
-Dict.prototype = null;
-
-function reduce(object, mapfn, init){
- aFunction(mapfn);
- var O = toIObject(object)
- , keys = getKeys(O)
- , length = keys.length
- , i = 0
- , memo, key;
- if(arguments.length < 3){
- if(!length)throw TypeError('Reduce of empty object with no initial value');
- memo = O[keys[i++]];
- } else memo = Object(init);
- while(length > i)if(has(O, key = keys[i++])){
- memo = mapfn(memo, O[key], key, object);
- }
- return memo;
-}
-
-function includes(object, el){
- return (el == el ? keyOf(object, el) : findKey(object, function(it){
- return it != it;
- })) !== undefined;
-}
-
-function get(object, key){
- if(has(object, key))return object[key];
-}
-function set(object, key, value){
- if(DESCRIPTORS && key in Object)$.setDesc(object, key, createDesc(0, value));
- else object[key] = value;
- return object;
-}
-
-function isDict(it){
- return isObject(it) && $.getProto(it) === Dict.prototype;
-}
-
-$export($export.G + $export.F, {Dict: Dict});
-
-$export($export.S, 'Dict', {
- keys: createDictIter('keys'),
- values: createDictIter('values'),
- entries: createDictIter('entries'),
- forEach: createDictMethod(0),
- map: createDictMethod(1),
- filter: createDictMethod(2),
- some: createDictMethod(3),
- every: createDictMethod(4),
- find: createDictMethod(5),
- findKey: findKey,
- mapPairs: createDictMethod(7),
- reduce: reduce,
- keyOf: keyOf,
- includes: includes,
- has: has,
- get: get,
- set: set,
- isDict: isDict
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/core.function.part.js b/node_modules/core-js/modules/core.function.part.js
deleted file mode 100644
index 9943b30..0000000
--- a/node_modules/core-js/modules/core.function.part.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var path = require('./$.path')
- , $export = require('./$.export');
-
-// Placeholder
-require('./$.core')._ = path._ = path._ || {};
-
-$export($export.P + $export.F, 'Function', {part: require('./$.partial')});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/core.get-iterator-method.js b/node_modules/core-js/modules/core.get-iterator-method.js
deleted file mode 100644
index 02db743..0000000
--- a/node_modules/core-js/modules/core.get-iterator-method.js
+++ /dev/null
@@ -1,8 +0,0 @@
-var classof = require('./$.classof')
- , ITERATOR = require('./$.wks')('iterator')
- , Iterators = require('./$.iterators');
-module.exports = require('./$.core').getIteratorMethod = function(it){
- if(it != undefined)return it[ITERATOR]
- || it['@@iterator']
- || Iterators[classof(it)];
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/core.get-iterator.js b/node_modules/core-js/modules/core.get-iterator.js
deleted file mode 100644
index 7290904..0000000
--- a/node_modules/core-js/modules/core.get-iterator.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var anObject = require('./$.an-object')
- , get = require('./core.get-iterator-method');
-module.exports = require('./$.core').getIterator = function(it){
- var iterFn = get(it);
- if(typeof iterFn != 'function')throw TypeError(it + ' is not iterable!');
- return anObject(iterFn.call(it));
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/core.is-iterable.js b/node_modules/core-js/modules/core.is-iterable.js
deleted file mode 100644
index c27e658..0000000
--- a/node_modules/core-js/modules/core.is-iterable.js
+++ /dev/null
@@ -1,9 +0,0 @@
-var classof = require('./$.classof')
- , ITERATOR = require('./$.wks')('iterator')
- , Iterators = require('./$.iterators');
-module.exports = require('./$.core').isIterable = function(it){
- var O = Object(it);
- return O[ITERATOR] !== undefined
- || '@@iterator' in O
- || Iterators.hasOwnProperty(classof(O));
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/core.log.js b/node_modules/core-js/modules/core.log.js
deleted file mode 100644
index 4c0ea53..0000000
--- a/node_modules/core-js/modules/core.log.js
+++ /dev/null
@@ -1,26 +0,0 @@
-var $ = require('./$')
- , global = require('./$.global')
- , $export = require('./$.export')
- , log = {}
- , enabled = true;
-// Methods from https://github.com/DeveloperToolsWG/console-object/blob/master/api.md
-$.each.call((
- 'assert,clear,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,' +
- 'info,isIndependentlyComposed,log,markTimeline,profile,profileEnd,table,' +
- 'time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn'
-).split(','), function(key){
- log[key] = function(){
- var $console = global.console;
- if(enabled && $console && $console[key]){
- return Function.apply.call($console[key], $console, arguments);
- }
- };
-});
-$export($export.G + $export.F, {log: require('./$.object-assign')(log.log, log, {
- enable: function(){
- enabled = true;
- },
- disable: function(){
- enabled = false;
- }
-})});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/core.number.iterator.js b/node_modules/core-js/modules/core.number.iterator.js
deleted file mode 100644
index d927378..0000000
--- a/node_modules/core-js/modules/core.number.iterator.js
+++ /dev/null
@@ -1,9 +0,0 @@
-'use strict';
-require('./$.iter-define')(Number, 'Number', function(iterated){
- this._l = +iterated;
- this._i = 0;
-}, function(){
- var i = this._i++
- , done = !(i < this._l);
- return {done: done, value: done ? undefined : i};
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/core.object.classof.js b/node_modules/core-js/modules/core.object.classof.js
deleted file mode 100644
index df682e4..0000000
--- a/node_modules/core-js/modules/core.object.classof.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var $export = require('./$.export');
-
-$export($export.S + $export.F, 'Object', {classof: require('./$.classof')});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/core.object.define.js b/node_modules/core-js/modules/core.object.define.js
deleted file mode 100644
index fe4cbe9..0000000
--- a/node_modules/core-js/modules/core.object.define.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var $export = require('./$.export')
- , define = require('./$.object-define');
-
-$export($export.S + $export.F, 'Object', {define: define});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/core.object.is-object.js b/node_modules/core-js/modules/core.object.is-object.js
deleted file mode 100644
index c60a977..0000000
--- a/node_modules/core-js/modules/core.object.is-object.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var $export = require('./$.export');
-
-$export($export.S + $export.F, 'Object', {isObject: require('./$.is-object')});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/core.object.make.js b/node_modules/core-js/modules/core.object.make.js
deleted file mode 100644
index 95b9996..0000000
--- a/node_modules/core-js/modules/core.object.make.js
+++ /dev/null
@@ -1,9 +0,0 @@
-var $export = require('./$.export')
- , define = require('./$.object-define')
- , create = require('./$').create;
-
-$export($export.S + $export.F, 'Object', {
- make: function(proto, mixin){
- return define(create(proto), mixin);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/core.string.escape-html.js b/node_modules/core-js/modules/core.string.escape-html.js
deleted file mode 100644
index 81737e7..0000000
--- a/node_modules/core-js/modules/core.string.escape-html.js
+++ /dev/null
@@ -1,11 +0,0 @@
-'use strict';
-var $export = require('./$.export');
-var $re = require('./$.replacer')(/[&<>"']/g, {
- '&': '&',
- '<': '<',
- '>': '>',
- '"': '"',
- "'": '''
-});
-
-$export($export.P + $export.F, 'String', {escapeHTML: function escapeHTML(){ return $re(this); }});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/core.string.unescape-html.js b/node_modules/core-js/modules/core.string.unescape-html.js
deleted file mode 100644
index 9d7a3d2..0000000
--- a/node_modules/core-js/modules/core.string.unescape-html.js
+++ /dev/null
@@ -1,11 +0,0 @@
-'use strict';
-var $export = require('./$.export');
-var $re = require('./$.replacer')(/&(?:amp|lt|gt|quot|apos);/g, {
- '&': '&',
- '<': '<',
- '>': '>',
- '"': '"',
- ''': "'"
-});
-
-$export($export.P + $export.F, 'String', {unescapeHTML: function unescapeHTML(){ return $re(this); }});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es5.js b/node_modules/core-js/modules/es5.js
deleted file mode 100644
index 50f72b0..0000000
--- a/node_modules/core-js/modules/es5.js
+++ /dev/null
@@ -1,276 +0,0 @@
-'use strict';
-var $ = require('./$')
- , $export = require('./$.export')
- , DESCRIPTORS = require('./$.descriptors')
- , createDesc = require('./$.property-desc')
- , html = require('./$.html')
- , cel = require('./$.dom-create')
- , has = require('./$.has')
- , cof = require('./$.cof')
- , invoke = require('./$.invoke')
- , fails = require('./$.fails')
- , anObject = require('./$.an-object')
- , aFunction = require('./$.a-function')
- , isObject = require('./$.is-object')
- , toObject = require('./$.to-object')
- , toIObject = require('./$.to-iobject')
- , toInteger = require('./$.to-integer')
- , toIndex = require('./$.to-index')
- , toLength = require('./$.to-length')
- , IObject = require('./$.iobject')
- , IE_PROTO = require('./$.uid')('__proto__')
- , createArrayMethod = require('./$.array-methods')
- , arrayIndexOf = require('./$.array-includes')(false)
- , ObjectProto = Object.prototype
- , ArrayProto = Array.prototype
- , arraySlice = ArrayProto.slice
- , arrayJoin = ArrayProto.join
- , defineProperty = $.setDesc
- , getOwnDescriptor = $.getDesc
- , defineProperties = $.setDescs
- , factories = {}
- , IE8_DOM_DEFINE;
-
-if(!DESCRIPTORS){
- IE8_DOM_DEFINE = !fails(function(){
- return defineProperty(cel('div'), 'a', {get: function(){ return 7; }}).a != 7;
- });
- $.setDesc = function(O, P, Attributes){
- if(IE8_DOM_DEFINE)try {
- return defineProperty(O, P, Attributes);
- } catch(e){ /* empty */ }
- if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');
- if('value' in Attributes)anObject(O)[P] = Attributes.value;
- return O;
- };
- $.getDesc = function(O, P){
- if(IE8_DOM_DEFINE)try {
- return getOwnDescriptor(O, P);
- } catch(e){ /* empty */ }
- if(has(O, P))return createDesc(!ObjectProto.propertyIsEnumerable.call(O, P), O[P]);
- };
- $.setDescs = defineProperties = function(O, Properties){
- anObject(O);
- var keys = $.getKeys(Properties)
- , length = keys.length
- , i = 0
- , P;
- while(length > i)$.setDesc(O, P = keys[i++], Properties[P]);
- return O;
- };
-}
-$export($export.S + $export.F * !DESCRIPTORS, 'Object', {
- // 19.1.2.6 / 15.2.3.3 Object.getOwnPropertyDescriptor(O, P)
- getOwnPropertyDescriptor: $.getDesc,
- // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
- defineProperty: $.setDesc,
- // 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)
- defineProperties: defineProperties
-});
-
- // IE 8- don't enum bug keys
-var keys1 = ('constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,' +
- 'toLocaleString,toString,valueOf').split(',')
- // Additional keys for getOwnPropertyNames
- , keys2 = keys1.concat('length', 'prototype')
- , keysLen1 = keys1.length;
-
-// Create object with `null` prototype: use iframe Object with cleared prototype
-var createDict = function(){
- // Thrash, waste and sodomy: IE GC bug
- var iframe = cel('iframe')
- , i = keysLen1
- , gt = '>'
- , iframeDocument;
- iframe.style.display = 'none';
- html.appendChild(iframe);
- iframe.src = 'javascript:'; // eslint-disable-line no-script-url
- // createDict = iframe.contentWindow.Object;
- // html.removeChild(iframe);
- iframeDocument = iframe.contentWindow.document;
- iframeDocument.open();
- iframeDocument.write(' i)if(has(O, key = names[i++])){
- ~arrayIndexOf(result, key) || result.push(key);
- }
- return result;
- };
-};
-var Empty = function(){};
-$export($export.S, 'Object', {
- // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
- getPrototypeOf: $.getProto = $.getProto || function(O){
- O = toObject(O);
- if(has(O, IE_PROTO))return O[IE_PROTO];
- if(typeof O.constructor == 'function' && O instanceof O.constructor){
- return O.constructor.prototype;
- } return O instanceof Object ? ObjectProto : null;
- },
- // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
- getOwnPropertyNames: $.getNames = $.getNames || createGetKeys(keys2, keys2.length, true),
- // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
- create: $.create = $.create || function(O, /*?*/Properties){
- var result;
- if(O !== null){
- Empty.prototype = anObject(O);
- result = new Empty();
- Empty.prototype = null;
- // add "__proto__" for Object.getPrototypeOf shim
- result[IE_PROTO] = O;
- } else result = createDict();
- return Properties === undefined ? result : defineProperties(result, Properties);
- },
- // 19.1.2.14 / 15.2.3.14 Object.keys(O)
- keys: $.getKeys = $.getKeys || createGetKeys(keys1, keysLen1, false)
-});
-
-var construct = function(F, len, args){
- if(!(len in factories)){
- for(var n = [], i = 0; i < len; i++)n[i] = 'a[' + i + ']';
- factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');
- }
- return factories[len](F, args);
-};
-
-// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)
-$export($export.P, 'Function', {
- bind: function bind(that /*, args... */){
- var fn = aFunction(this)
- , partArgs = arraySlice.call(arguments, 1);
- var bound = function(/* args... */){
- var args = partArgs.concat(arraySlice.call(arguments));
- return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);
- };
- if(isObject(fn.prototype))bound.prototype = fn.prototype;
- return bound;
- }
-});
-
-// fallback for not array-like ES3 strings and DOM objects
-$export($export.P + $export.F * fails(function(){
- if(html)arraySlice.call(html);
-}), 'Array', {
- slice: function(begin, end){
- var len = toLength(this.length)
- , klass = cof(this);
- end = end === undefined ? len : end;
- if(klass == 'Array')return arraySlice.call(this, begin, end);
- var start = toIndex(begin, len)
- , upTo = toIndex(end, len)
- , size = toLength(upTo - start)
- , cloned = Array(size)
- , i = 0;
- for(; i < size; i++)cloned[i] = klass == 'String'
- ? this.charAt(start + i)
- : this[start + i];
- return cloned;
- }
-});
-$export($export.P + $export.F * (IObject != Object), 'Array', {
- join: function join(separator){
- return arrayJoin.call(IObject(this), separator === undefined ? ',' : separator);
- }
-});
-
-// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
-$export($export.S, 'Array', {isArray: require('./$.is-array')});
-
-var createArrayReduce = function(isRight){
- return function(callbackfn, memo){
- aFunction(callbackfn);
- var O = IObject(this)
- , length = toLength(O.length)
- , index = isRight ? length - 1 : 0
- , i = isRight ? -1 : 1;
- if(arguments.length < 2)for(;;){
- if(index in O){
- memo = O[index];
- index += i;
- break;
- }
- index += i;
- if(isRight ? index < 0 : length <= index){
- throw TypeError('Reduce of empty array with no initial value');
- }
- }
- for(;isRight ? index >= 0 : length > index; index += i)if(index in O){
- memo = callbackfn(memo, O[index], index, this);
- }
- return memo;
- };
-};
-
-var methodize = function($fn){
- return function(arg1/*, arg2 = undefined */){
- return $fn(this, arg1, arguments[1]);
- };
-};
-
-$export($export.P, 'Array', {
- // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])
- forEach: $.each = $.each || methodize(createArrayMethod(0)),
- // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])
- map: methodize(createArrayMethod(1)),
- // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])
- filter: methodize(createArrayMethod(2)),
- // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])
- some: methodize(createArrayMethod(3)),
- // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])
- every: methodize(createArrayMethod(4)),
- // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])
- reduce: createArrayReduce(false),
- // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])
- reduceRight: createArrayReduce(true),
- // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])
- indexOf: methodize(arrayIndexOf),
- // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])
- lastIndexOf: function(el, fromIndex /* = @[*-1] */){
- var O = toIObject(this)
- , length = toLength(O.length)
- , index = length - 1;
- if(arguments.length > 1)index = Math.min(index, toInteger(fromIndex));
- if(index < 0)index = toLength(length + index);
- for(;index >= 0; index--)if(index in O)if(O[index] === el)return index;
- return -1;
- }
-});
-
-// 20.3.3.1 / 15.9.4.4 Date.now()
-$export($export.S, 'Date', {now: function(){ return +new Date; }});
-
-var lz = function(num){
- return num > 9 ? num : '0' + num;
-};
-
-// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()
-// PhantomJS / old WebKit has a broken implementations
-$export($export.P + $export.F * (fails(function(){
- return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z';
-}) || !fails(function(){
- new Date(NaN).toISOString();
-})), 'Date', {
- toISOString: function toISOString(){
- if(!isFinite(this))throw RangeError('Invalid time value');
- var d = this
- , y = d.getUTCFullYear()
- , m = d.getUTCMilliseconds()
- , s = y < 0 ? '-' : y > 9999 ? '+' : '';
- return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +
- '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +
- 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +
- ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.array.copy-within.js b/node_modules/core-js/modules/es6.array.copy-within.js
deleted file mode 100644
index 930ba78..0000000
--- a/node_modules/core-js/modules/es6.array.copy-within.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
-var $export = require('./$.export');
-
-$export($export.P, 'Array', {copyWithin: require('./$.array-copy-within')});
-
-require('./$.add-to-unscopables')('copyWithin');
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.array.fill.js b/node_modules/core-js/modules/es6.array.fill.js
deleted file mode 100644
index c3b3e2e..0000000
--- a/node_modules/core-js/modules/es6.array.fill.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
-var $export = require('./$.export');
-
-$export($export.P, 'Array', {fill: require('./$.array-fill')});
-
-require('./$.add-to-unscopables')('fill');
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.array.find-index.js b/node_modules/core-js/modules/es6.array.find-index.js
deleted file mode 100644
index 7224a60..0000000
--- a/node_modules/core-js/modules/es6.array.find-index.js
+++ /dev/null
@@ -1,14 +0,0 @@
-'use strict';
-// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)
-var $export = require('./$.export')
- , $find = require('./$.array-methods')(6)
- , KEY = 'findIndex'
- , forced = true;
-// Shouldn't skip holes
-if(KEY in [])Array(1)[KEY](function(){ forced = false; });
-$export($export.P + $export.F * forced, 'Array', {
- findIndex: function findIndex(callbackfn/*, that = undefined */){
- return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- }
-});
-require('./$.add-to-unscopables')(KEY);
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.array.find.js b/node_modules/core-js/modules/es6.array.find.js
deleted file mode 100644
index 199e987..0000000
--- a/node_modules/core-js/modules/es6.array.find.js
+++ /dev/null
@@ -1,14 +0,0 @@
-'use strict';
-// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)
-var $export = require('./$.export')
- , $find = require('./$.array-methods')(5)
- , KEY = 'find'
- , forced = true;
-// Shouldn't skip holes
-if(KEY in [])Array(1)[KEY](function(){ forced = false; });
-$export($export.P + $export.F * forced, 'Array', {
- find: function find(callbackfn/*, that = undefined */){
- return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- }
-});
-require('./$.add-to-unscopables')(KEY);
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.array.from.js b/node_modules/core-js/modules/es6.array.from.js
deleted file mode 100644
index 4637d8d..0000000
--- a/node_modules/core-js/modules/es6.array.from.js
+++ /dev/null
@@ -1,36 +0,0 @@
-'use strict';
-var ctx = require('./$.ctx')
- , $export = require('./$.export')
- , toObject = require('./$.to-object')
- , call = require('./$.iter-call')
- , isArrayIter = require('./$.is-array-iter')
- , toLength = require('./$.to-length')
- , getIterFn = require('./core.get-iterator-method');
-$export($export.S + $export.F * !require('./$.iter-detect')(function(iter){ Array.from(iter); }), 'Array', {
- // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
- from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){
- var O = toObject(arrayLike)
- , C = typeof this == 'function' ? this : Array
- , $$ = arguments
- , $$len = $$.length
- , mapfn = $$len > 1 ? $$[1] : undefined
- , mapping = mapfn !== undefined
- , index = 0
- , iterFn = getIterFn(O)
- , length, result, step, iterator;
- if(mapping)mapfn = ctx(mapfn, $$len > 2 ? $$[2] : undefined, 2);
- // if object isn't iterable or it's array with default iterator - use simple case
- if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){
- for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){
- result[index] = mapping ? call(iterator, mapfn, [step.value, index], true) : step.value;
- }
- } else {
- length = toLength(O.length);
- for(result = new C(length); length > index; index++){
- result[index] = mapping ? mapfn(O[index], index) : O[index];
- }
- }
- result.length = index;
- return result;
- }
-});
diff --git a/node_modules/core-js/modules/es6.array.iterator.js b/node_modules/core-js/modules/es6.array.iterator.js
deleted file mode 100644
index 52a546d..0000000
--- a/node_modules/core-js/modules/es6.array.iterator.js
+++ /dev/null
@@ -1,34 +0,0 @@
-'use strict';
-var addToUnscopables = require('./$.add-to-unscopables')
- , step = require('./$.iter-step')
- , Iterators = require('./$.iterators')
- , toIObject = require('./$.to-iobject');
-
-// 22.1.3.4 Array.prototype.entries()
-// 22.1.3.13 Array.prototype.keys()
-// 22.1.3.29 Array.prototype.values()
-// 22.1.3.30 Array.prototype[@@iterator]()
-module.exports = require('./$.iter-define')(Array, 'Array', function(iterated, kind){
- this._t = toIObject(iterated); // target
- this._i = 0; // next index
- this._k = kind; // kind
-// 22.1.5.2.1 %ArrayIteratorPrototype%.next()
-}, function(){
- var O = this._t
- , kind = this._k
- , index = this._i++;
- if(!O || index >= O.length){
- this._t = undefined;
- return step(1);
- }
- if(kind == 'keys' )return step(0, index);
- if(kind == 'values')return step(0, O[index]);
- return step(0, [index, O[index]]);
-}, 'values');
-
-// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
-Iterators.Arguments = Iterators.Array;
-
-addToUnscopables('keys');
-addToUnscopables('values');
-addToUnscopables('entries');
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.array.of.js b/node_modules/core-js/modules/es6.array.of.js
deleted file mode 100644
index f623f15..0000000
--- a/node_modules/core-js/modules/es6.array.of.js
+++ /dev/null
@@ -1,19 +0,0 @@
-'use strict';
-var $export = require('./$.export');
-
-// WebKit Array.of isn't generic
-$export($export.S + $export.F * require('./$.fails')(function(){
- function F(){}
- return !(Array.of.call(F) instanceof F);
-}), 'Array', {
- // 22.1.2.3 Array.of( ...items)
- of: function of(/* ...args */){
- var index = 0
- , $$ = arguments
- , $$len = $$.length
- , result = new (typeof this == 'function' ? this : Array)($$len);
- while($$len > index)result[index] = $$[index++];
- result.length = $$len;
- return result;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.array.species.js b/node_modules/core-js/modules/es6.array.species.js
deleted file mode 100644
index 543bdfe..0000000
--- a/node_modules/core-js/modules/es6.array.species.js
+++ /dev/null
@@ -1 +0,0 @@
-require('./$.set-species')('Array');
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.date.to-string.js b/node_modules/core-js/modules/es6.date.to-string.js
deleted file mode 100644
index 59bf836..0000000
--- a/node_modules/core-js/modules/es6.date.to-string.js
+++ /dev/null
@@ -1,10 +0,0 @@
-var DateProto = Date.prototype
- , INVALID_DATE = 'Invalid Date'
- , TO_STRING = 'toString'
- , $toString = DateProto[TO_STRING];
-if(new Date(NaN) + '' != INVALID_DATE){
- require('./$.redefine')(DateProto, TO_STRING, function toString(){
- var value = +this;
- return value === value ? $toString.call(this) : INVALID_DATE;
- });
-}
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.function.has-instance.js b/node_modules/core-js/modules/es6.function.has-instance.js
deleted file mode 100644
index 94d840f..0000000
--- a/node_modules/core-js/modules/es6.function.has-instance.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-var $ = require('./$')
- , isObject = require('./$.is-object')
- , HAS_INSTANCE = require('./$.wks')('hasInstance')
- , FunctionProto = Function.prototype;
-// 19.2.3.6 Function.prototype[@@hasInstance](V)
-if(!(HAS_INSTANCE in FunctionProto))$.setDesc(FunctionProto, HAS_INSTANCE, {value: function(O){
- if(typeof this != 'function' || !isObject(O))return false;
- if(!isObject(this.prototype))return O instanceof this;
- // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:
- while(O = $.getProto(O))if(this.prototype === O)return true;
- return false;
-}});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.function.name.js b/node_modules/core-js/modules/es6.function.name.js
deleted file mode 100644
index 0f10fc1..0000000
--- a/node_modules/core-js/modules/es6.function.name.js
+++ /dev/null
@@ -1,16 +0,0 @@
-var setDesc = require('./$').setDesc
- , createDesc = require('./$.property-desc')
- , has = require('./$.has')
- , FProto = Function.prototype
- , nameRE = /^\s*function ([^ (]*)/
- , NAME = 'name';
-// 19.2.4.2 name
-NAME in FProto || require('./$.descriptors') && setDesc(FProto, NAME, {
- configurable: true,
- get: function(){
- var match = ('' + this).match(nameRE)
- , name = match ? match[1] : '';
- has(this, NAME) || setDesc(this, NAME, createDesc(5, name));
- return name;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.map.js b/node_modules/core-js/modules/es6.map.js
deleted file mode 100644
index 54fd5c1..0000000
--- a/node_modules/core-js/modules/es6.map.js
+++ /dev/null
@@ -1,17 +0,0 @@
-'use strict';
-var strong = require('./$.collection-strong');
-
-// 23.1 Map Objects
-require('./$.collection')('Map', function(get){
- return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };
-}, {
- // 23.1.3.6 Map.prototype.get(key)
- get: function get(key){
- var entry = strong.getEntry(this, key);
- return entry && entry.v;
- },
- // 23.1.3.9 Map.prototype.set(key, value)
- set: function set(key, value){
- return strong.def(this, key === 0 ? 0 : key, value);
- }
-}, strong, true);
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.math.acosh.js b/node_modules/core-js/modules/es6.math.acosh.js
deleted file mode 100644
index f69282a..0000000
--- a/node_modules/core-js/modules/es6.math.acosh.js
+++ /dev/null
@@ -1,14 +0,0 @@
-// 20.2.2.3 Math.acosh(x)
-var $export = require('./$.export')
- , log1p = require('./$.math-log1p')
- , sqrt = Math.sqrt
- , $acosh = Math.acosh;
-
-// V8 bug https://code.google.com/p/v8/issues/detail?id=3509
-$export($export.S + $export.F * !($acosh && Math.floor($acosh(Number.MAX_VALUE)) == 710), 'Math', {
- acosh: function acosh(x){
- return (x = +x) < 1 ? NaN : x > 94906265.62425156
- ? Math.log(x) + Math.LN2
- : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.math.asinh.js b/node_modules/core-js/modules/es6.math.asinh.js
deleted file mode 100644
index bd34adf..0000000
--- a/node_modules/core-js/modules/es6.math.asinh.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 20.2.2.5 Math.asinh(x)
-var $export = require('./$.export');
-
-function asinh(x){
- return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));
-}
-
-$export($export.S, 'Math', {asinh: asinh});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.math.atanh.js b/node_modules/core-js/modules/es6.math.atanh.js
deleted file mode 100644
index 656ea40..0000000
--- a/node_modules/core-js/modules/es6.math.atanh.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 20.2.2.7 Math.atanh(x)
-var $export = require('./$.export');
-
-$export($export.S, 'Math', {
- atanh: function atanh(x){
- return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.math.cbrt.js b/node_modules/core-js/modules/es6.math.cbrt.js
deleted file mode 100644
index 79a1fbc..0000000
--- a/node_modules/core-js/modules/es6.math.cbrt.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// 20.2.2.9 Math.cbrt(x)
-var $export = require('./$.export')
- , sign = require('./$.math-sign');
-
-$export($export.S, 'Math', {
- cbrt: function cbrt(x){
- return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.math.clz32.js b/node_modules/core-js/modules/es6.math.clz32.js
deleted file mode 100644
index edd1158..0000000
--- a/node_modules/core-js/modules/es6.math.clz32.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 20.2.2.11 Math.clz32(x)
-var $export = require('./$.export');
-
-$export($export.S, 'Math', {
- clz32: function clz32(x){
- return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.math.cosh.js b/node_modules/core-js/modules/es6.math.cosh.js
deleted file mode 100644
index d1df749..0000000
--- a/node_modules/core-js/modules/es6.math.cosh.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// 20.2.2.12 Math.cosh(x)
-var $export = require('./$.export')
- , exp = Math.exp;
-
-$export($export.S, 'Math', {
- cosh: function cosh(x){
- return (exp(x = +x) + exp(-x)) / 2;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.math.expm1.js b/node_modules/core-js/modules/es6.math.expm1.js
deleted file mode 100644
index e27742f..0000000
--- a/node_modules/core-js/modules/es6.math.expm1.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 20.2.2.14 Math.expm1(x)
-var $export = require('./$.export');
-
-$export($export.S, 'Math', {expm1: require('./$.math-expm1')});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.math.fround.js b/node_modules/core-js/modules/es6.math.fround.js
deleted file mode 100644
index 43cd70c..0000000
--- a/node_modules/core-js/modules/es6.math.fround.js
+++ /dev/null
@@ -1,26 +0,0 @@
-// 20.2.2.16 Math.fround(x)
-var $export = require('./$.export')
- , sign = require('./$.math-sign')
- , pow = Math.pow
- , EPSILON = pow(2, -52)
- , EPSILON32 = pow(2, -23)
- , MAX32 = pow(2, 127) * (2 - EPSILON32)
- , MIN32 = pow(2, -126);
-
-var roundTiesToEven = function(n){
- return n + 1 / EPSILON - 1 / EPSILON;
-};
-
-
-$export($export.S, 'Math', {
- fround: function fround(x){
- var $abs = Math.abs(x)
- , $sign = sign(x)
- , a, result;
- if($abs < MIN32)return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;
- a = (1 + EPSILON32 / EPSILON) * $abs;
- result = a - (a - $abs);
- if(result > MAX32 || result != result)return $sign * Infinity;
- return $sign * result;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.math.hypot.js b/node_modules/core-js/modules/es6.math.hypot.js
deleted file mode 100644
index a8edf7c..0000000
--- a/node_modules/core-js/modules/es6.math.hypot.js
+++ /dev/null
@@ -1,26 +0,0 @@
-// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])
-var $export = require('./$.export')
- , abs = Math.abs;
-
-$export($export.S, 'Math', {
- hypot: function hypot(value1, value2){ // eslint-disable-line no-unused-vars
- var sum = 0
- , i = 0
- , $$ = arguments
- , $$len = $$.length
- , larg = 0
- , arg, div;
- while(i < $$len){
- arg = abs($$[i++]);
- if(larg < arg){
- div = larg / arg;
- sum = sum * div * div + 1;
- larg = arg;
- } else if(arg > 0){
- div = arg / larg;
- sum += div * div;
- } else sum += arg;
- }
- return larg === Infinity ? Infinity : larg * Math.sqrt(sum);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.math.imul.js b/node_modules/core-js/modules/es6.math.imul.js
deleted file mode 100644
index 926053d..0000000
--- a/node_modules/core-js/modules/es6.math.imul.js
+++ /dev/null
@@ -1,17 +0,0 @@
-// 20.2.2.18 Math.imul(x, y)
-var $export = require('./$.export')
- , $imul = Math.imul;
-
-// some WebKit versions fails with big numbers, some has wrong arity
-$export($export.S + $export.F * require('./$.fails')(function(){
- return $imul(0xffffffff, 5) != -5 || $imul.length != 2;
-}), 'Math', {
- imul: function imul(x, y){
- var UINT16 = 0xffff
- , xn = +x
- , yn = +y
- , xl = UINT16 & xn
- , yl = UINT16 & yn;
- return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.math.log10.js b/node_modules/core-js/modules/es6.math.log10.js
deleted file mode 100644
index ef5ae6a..0000000
--- a/node_modules/core-js/modules/es6.math.log10.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 20.2.2.21 Math.log10(x)
-var $export = require('./$.export');
-
-$export($export.S, 'Math', {
- log10: function log10(x){
- return Math.log(x) / Math.LN10;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.math.log1p.js b/node_modules/core-js/modules/es6.math.log1p.js
deleted file mode 100644
index 31c395e..0000000
--- a/node_modules/core-js/modules/es6.math.log1p.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 20.2.2.20 Math.log1p(x)
-var $export = require('./$.export');
-
-$export($export.S, 'Math', {log1p: require('./$.math-log1p')});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.math.log2.js b/node_modules/core-js/modules/es6.math.log2.js
deleted file mode 100644
index 24c0124..0000000
--- a/node_modules/core-js/modules/es6.math.log2.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 20.2.2.22 Math.log2(x)
-var $export = require('./$.export');
-
-$export($export.S, 'Math', {
- log2: function log2(x){
- return Math.log(x) / Math.LN2;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.math.sign.js b/node_modules/core-js/modules/es6.math.sign.js
deleted file mode 100644
index fd8d8bc..0000000
--- a/node_modules/core-js/modules/es6.math.sign.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 20.2.2.28 Math.sign(x)
-var $export = require('./$.export');
-
-$export($export.S, 'Math', {sign: require('./$.math-sign')});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.math.sinh.js b/node_modules/core-js/modules/es6.math.sinh.js
deleted file mode 100644
index a01c4d3..0000000
--- a/node_modules/core-js/modules/es6.math.sinh.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// 20.2.2.30 Math.sinh(x)
-var $export = require('./$.export')
- , expm1 = require('./$.math-expm1')
- , exp = Math.exp;
-
-// V8 near Chromium 38 has a problem with very small numbers
-$export($export.S + $export.F * require('./$.fails')(function(){
- return !Math.sinh(-2e-17) != -2e-17;
-}), 'Math', {
- sinh: function sinh(x){
- return Math.abs(x = +x) < 1
- ? (expm1(x) - expm1(-x)) / 2
- : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.math.tanh.js b/node_modules/core-js/modules/es6.math.tanh.js
deleted file mode 100644
index 0d081a5..0000000
--- a/node_modules/core-js/modules/es6.math.tanh.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// 20.2.2.33 Math.tanh(x)
-var $export = require('./$.export')
- , expm1 = require('./$.math-expm1')
- , exp = Math.exp;
-
-$export($export.S, 'Math', {
- tanh: function tanh(x){
- var a = expm1(x = +x)
- , b = expm1(-x);
- return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.math.trunc.js b/node_modules/core-js/modules/es6.math.trunc.js
deleted file mode 100644
index f3f0855..0000000
--- a/node_modules/core-js/modules/es6.math.trunc.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 20.2.2.34 Math.trunc(x)
-var $export = require('./$.export');
-
-$export($export.S, 'Math', {
- trunc: function trunc(it){
- return (it > 0 ? Math.floor : Math.ceil)(it);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.number.constructor.js b/node_modules/core-js/modules/es6.number.constructor.js
deleted file mode 100644
index 065af1a..0000000
--- a/node_modules/core-js/modules/es6.number.constructor.js
+++ /dev/null
@@ -1,66 +0,0 @@
-'use strict';
-var $ = require('./$')
- , global = require('./$.global')
- , has = require('./$.has')
- , cof = require('./$.cof')
- , toPrimitive = require('./$.to-primitive')
- , fails = require('./$.fails')
- , $trim = require('./$.string-trim').trim
- , NUMBER = 'Number'
- , $Number = global[NUMBER]
- , Base = $Number
- , proto = $Number.prototype
- // Opera ~12 has broken Object#toString
- , BROKEN_COF = cof($.create(proto)) == NUMBER
- , TRIM = 'trim' in String.prototype;
-
-// 7.1.3 ToNumber(argument)
-var toNumber = function(argument){
- var it = toPrimitive(argument, false);
- if(typeof it == 'string' && it.length > 2){
- it = TRIM ? it.trim() : $trim(it, 3);
- var first = it.charCodeAt(0)
- , third, radix, maxCode;
- if(first === 43 || first === 45){
- third = it.charCodeAt(2);
- if(third === 88 || third === 120)return NaN; // Number('+0x1') should be NaN, old V8 fix
- } else if(first === 48){
- switch(it.charCodeAt(1)){
- case 66 : case 98 : radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i
- case 79 : case 111 : radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i
- default : return +it;
- }
- for(var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++){
- code = digits.charCodeAt(i);
- // parseInt parses a string to a first unavailable symbol
- // but ToNumber should return NaN if a string contains unavailable symbols
- if(code < 48 || code > maxCode)return NaN;
- } return parseInt(digits, radix);
- }
- } return +it;
-};
-
-if(!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')){
- $Number = function Number(value){
- var it = arguments.length < 1 ? 0 : value
- , that = this;
- return that instanceof $Number
- // check on 1..constructor(foo) case
- && (BROKEN_COF ? fails(function(){ proto.valueOf.call(that); }) : cof(that) != NUMBER)
- ? new Base(toNumber(it)) : toNumber(it);
- };
- $.each.call(require('./$.descriptors') ? $.getNames(Base) : (
- // ES3:
- 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
- // ES6 (in case, if modules with ES6 Number statics required before):
- 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +
- 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'
- ).split(','), function(key){
- if(has(Base, key) && !has($Number, key)){
- $.setDesc($Number, key, $.getDesc(Base, key));
- }
- });
- $Number.prototype = proto;
- proto.constructor = $Number;
- require('./$.redefine')(global, NUMBER, $Number);
-}
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.number.epsilon.js b/node_modules/core-js/modules/es6.number.epsilon.js
deleted file mode 100644
index 45c865c..0000000
--- a/node_modules/core-js/modules/es6.number.epsilon.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 20.1.2.1 Number.EPSILON
-var $export = require('./$.export');
-
-$export($export.S, 'Number', {EPSILON: Math.pow(2, -52)});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.number.is-finite.js b/node_modules/core-js/modules/es6.number.is-finite.js
deleted file mode 100644
index 362a6c8..0000000
--- a/node_modules/core-js/modules/es6.number.is-finite.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// 20.1.2.2 Number.isFinite(number)
-var $export = require('./$.export')
- , _isFinite = require('./$.global').isFinite;
-
-$export($export.S, 'Number', {
- isFinite: function isFinite(it){
- return typeof it == 'number' && _isFinite(it);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.number.is-integer.js b/node_modules/core-js/modules/es6.number.is-integer.js
deleted file mode 100644
index 189db9a..0000000
--- a/node_modules/core-js/modules/es6.number.is-integer.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 20.1.2.3 Number.isInteger(number)
-var $export = require('./$.export');
-
-$export($export.S, 'Number', {isInteger: require('./$.is-integer')});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.number.is-nan.js b/node_modules/core-js/modules/es6.number.is-nan.js
deleted file mode 100644
index 151bb4b..0000000
--- a/node_modules/core-js/modules/es6.number.is-nan.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 20.1.2.4 Number.isNaN(number)
-var $export = require('./$.export');
-
-$export($export.S, 'Number', {
- isNaN: function isNaN(number){
- return number != number;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.number.is-safe-integer.js b/node_modules/core-js/modules/es6.number.is-safe-integer.js
deleted file mode 100644
index e23b4cb..0000000
--- a/node_modules/core-js/modules/es6.number.is-safe-integer.js
+++ /dev/null
@@ -1,10 +0,0 @@
-// 20.1.2.5 Number.isSafeInteger(number)
-var $export = require('./$.export')
- , isInteger = require('./$.is-integer')
- , abs = Math.abs;
-
-$export($export.S, 'Number', {
- isSafeInteger: function isSafeInteger(number){
- return isInteger(number) && abs(number) <= 0x1fffffffffffff;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.number.max-safe-integer.js b/node_modules/core-js/modules/es6.number.max-safe-integer.js
deleted file mode 100644
index a1aaf74..0000000
--- a/node_modules/core-js/modules/es6.number.max-safe-integer.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 20.1.2.6 Number.MAX_SAFE_INTEGER
-var $export = require('./$.export');
-
-$export($export.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.number.min-safe-integer.js b/node_modules/core-js/modules/es6.number.min-safe-integer.js
deleted file mode 100644
index ab97cb5..0000000
--- a/node_modules/core-js/modules/es6.number.min-safe-integer.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 20.1.2.10 Number.MIN_SAFE_INTEGER
-var $export = require('./$.export');
-
-$export($export.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.number.parse-float.js b/node_modules/core-js/modules/es6.number.parse-float.js
deleted file mode 100644
index 1d0c967..0000000
--- a/node_modules/core-js/modules/es6.number.parse-float.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 20.1.2.12 Number.parseFloat(string)
-var $export = require('./$.export');
-
-$export($export.S, 'Number', {parseFloat: parseFloat});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.number.parse-int.js b/node_modules/core-js/modules/es6.number.parse-int.js
deleted file mode 100644
index 813b5b7..0000000
--- a/node_modules/core-js/modules/es6.number.parse-int.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 20.1.2.13 Number.parseInt(string, radix)
-var $export = require('./$.export');
-
-$export($export.S, 'Number', {parseInt: parseInt});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.object.assign.js b/node_modules/core-js/modules/es6.object.assign.js
deleted file mode 100644
index b62e7a4..0000000
--- a/node_modules/core-js/modules/es6.object.assign.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 19.1.3.1 Object.assign(target, source)
-var $export = require('./$.export');
-
-$export($export.S + $export.F, 'Object', {assign: require('./$.object-assign')});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.object.freeze.js b/node_modules/core-js/modules/es6.object.freeze.js
deleted file mode 100644
index fa87c95..0000000
--- a/node_modules/core-js/modules/es6.object.freeze.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 19.1.2.5 Object.freeze(O)
-var isObject = require('./$.is-object');
-
-require('./$.object-sap')('freeze', function($freeze){
- return function freeze(it){
- return $freeze && isObject(it) ? $freeze(it) : it;
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.object.get-own-property-descriptor.js b/node_modules/core-js/modules/es6.object.get-own-property-descriptor.js
deleted file mode 100644
index 9b253ac..0000000
--- a/node_modules/core-js/modules/es6.object.get-own-property-descriptor.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
-var toIObject = require('./$.to-iobject');
-
-require('./$.object-sap')('getOwnPropertyDescriptor', function($getOwnPropertyDescriptor){
- return function getOwnPropertyDescriptor(it, key){
- return $getOwnPropertyDescriptor(toIObject(it), key);
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.object.get-own-property-names.js b/node_modules/core-js/modules/es6.object.get-own-property-names.js
deleted file mode 100644
index e87bcf6..0000000
--- a/node_modules/core-js/modules/es6.object.get-own-property-names.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 19.1.2.7 Object.getOwnPropertyNames(O)
-require('./$.object-sap')('getOwnPropertyNames', function(){
- return require('./$.get-names').get;
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.object.get-prototype-of.js b/node_modules/core-js/modules/es6.object.get-prototype-of.js
deleted file mode 100644
index 9ec0405..0000000
--- a/node_modules/core-js/modules/es6.object.get-prototype-of.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 19.1.2.9 Object.getPrototypeOf(O)
-var toObject = require('./$.to-object');
-
-require('./$.object-sap')('getPrototypeOf', function($getPrototypeOf){
- return function getPrototypeOf(it){
- return $getPrototypeOf(toObject(it));
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.object.is-extensible.js b/node_modules/core-js/modules/es6.object.is-extensible.js
deleted file mode 100644
index ada2b95..0000000
--- a/node_modules/core-js/modules/es6.object.is-extensible.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 19.1.2.11 Object.isExtensible(O)
-var isObject = require('./$.is-object');
-
-require('./$.object-sap')('isExtensible', function($isExtensible){
- return function isExtensible(it){
- return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.object.is-frozen.js b/node_modules/core-js/modules/es6.object.is-frozen.js
deleted file mode 100644
index b3e44d1..0000000
--- a/node_modules/core-js/modules/es6.object.is-frozen.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 19.1.2.12 Object.isFrozen(O)
-var isObject = require('./$.is-object');
-
-require('./$.object-sap')('isFrozen', function($isFrozen){
- return function isFrozen(it){
- return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.object.is-sealed.js b/node_modules/core-js/modules/es6.object.is-sealed.js
deleted file mode 100644
index 423caf3..0000000
--- a/node_modules/core-js/modules/es6.object.is-sealed.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 19.1.2.13 Object.isSealed(O)
-var isObject = require('./$.is-object');
-
-require('./$.object-sap')('isSealed', function($isSealed){
- return function isSealed(it){
- return isObject(it) ? $isSealed ? $isSealed(it) : false : true;
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.object.is.js b/node_modules/core-js/modules/es6.object.is.js
deleted file mode 100644
index 3ae3b60..0000000
--- a/node_modules/core-js/modules/es6.object.is.js
+++ /dev/null
@@ -1,3 +0,0 @@
-// 19.1.3.10 Object.is(value1, value2)
-var $export = require('./$.export');
-$export($export.S, 'Object', {is: require('./$.same-value')});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.object.keys.js b/node_modules/core-js/modules/es6.object.keys.js
deleted file mode 100644
index e3c18c0..0000000
--- a/node_modules/core-js/modules/es6.object.keys.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 19.1.2.14 Object.keys(O)
-var toObject = require('./$.to-object');
-
-require('./$.object-sap')('keys', function($keys){
- return function keys(it){
- return $keys(toObject(it));
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.object.prevent-extensions.js b/node_modules/core-js/modules/es6.object.prevent-extensions.js
deleted file mode 100644
index 20f879e..0000000
--- a/node_modules/core-js/modules/es6.object.prevent-extensions.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 19.1.2.15 Object.preventExtensions(O)
-var isObject = require('./$.is-object');
-
-require('./$.object-sap')('preventExtensions', function($preventExtensions){
- return function preventExtensions(it){
- return $preventExtensions && isObject(it) ? $preventExtensions(it) : it;
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.object.seal.js b/node_modules/core-js/modules/es6.object.seal.js
deleted file mode 100644
index 85a7fa9..0000000
--- a/node_modules/core-js/modules/es6.object.seal.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 19.1.2.17 Object.seal(O)
-var isObject = require('./$.is-object');
-
-require('./$.object-sap')('seal', function($seal){
- return function seal(it){
- return $seal && isObject(it) ? $seal(it) : it;
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.object.set-prototype-of.js b/node_modules/core-js/modules/es6.object.set-prototype-of.js
deleted file mode 100644
index 79a147c..0000000
--- a/node_modules/core-js/modules/es6.object.set-prototype-of.js
+++ /dev/null
@@ -1,3 +0,0 @@
-// 19.1.3.19 Object.setPrototypeOf(O, proto)
-var $export = require('./$.export');
-$export($export.S, 'Object', {setPrototypeOf: require('./$.set-proto').set});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.object.to-string.js b/node_modules/core-js/modules/es6.object.to-string.js
deleted file mode 100644
index 409d519..0000000
--- a/node_modules/core-js/modules/es6.object.to-string.js
+++ /dev/null
@@ -1,10 +0,0 @@
-'use strict';
-// 19.1.3.6 Object.prototype.toString()
-var classof = require('./$.classof')
- , test = {};
-test[require('./$.wks')('toStringTag')] = 'z';
-if(test + '' != '[object z]'){
- require('./$.redefine')(Object.prototype, 'toString', function toString(){
- return '[object ' + classof(this) + ']';
- }, true);
-}
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.promise.js b/node_modules/core-js/modules/es6.promise.js
deleted file mode 100644
index 28fa22c..0000000
--- a/node_modules/core-js/modules/es6.promise.js
+++ /dev/null
@@ -1,289 +0,0 @@
-'use strict';
-var $ = require('./$')
- , LIBRARY = require('./$.library')
- , global = require('./$.global')
- , ctx = require('./$.ctx')
- , classof = require('./$.classof')
- , $export = require('./$.export')
- , isObject = require('./$.is-object')
- , anObject = require('./$.an-object')
- , aFunction = require('./$.a-function')
- , strictNew = require('./$.strict-new')
- , forOf = require('./$.for-of')
- , setProto = require('./$.set-proto').set
- , same = require('./$.same-value')
- , SPECIES = require('./$.wks')('species')
- , speciesConstructor = require('./$.species-constructor')
- , asap = require('./$.microtask')
- , PROMISE = 'Promise'
- , process = global.process
- , isNode = classof(process) == 'process'
- , P = global[PROMISE]
- , Wrapper;
-
-var testResolve = function(sub){
- var test = new P(function(){});
- if(sub)test.constructor = Object;
- return P.resolve(test) === test;
-};
-
-var USE_NATIVE = function(){
- var works = false;
- function P2(x){
- var self = new P(x);
- setProto(self, P2.prototype);
- return self;
- }
- try {
- works = P && P.resolve && testResolve();
- setProto(P2, P);
- P2.prototype = $.create(P.prototype, {constructor: {value: P2}});
- // actual Firefox has broken subclass support, test that
- if(!(P2.resolve(5).then(function(){}) instanceof P2)){
- works = false;
- }
- // actual V8 bug, https://code.google.com/p/v8/issues/detail?id=4162
- if(works && require('./$.descriptors')){
- var thenableThenGotten = false;
- P.resolve($.setDesc({}, 'then', {
- get: function(){ thenableThenGotten = true; }
- }));
- works = thenableThenGotten;
- }
- } catch(e){ works = false; }
- return works;
-}();
-
-// helpers
-var sameConstructor = function(a, b){
- // library wrapper special case
- if(LIBRARY && a === P && b === Wrapper)return true;
- return same(a, b);
-};
-var getConstructor = function(C){
- var S = anObject(C)[SPECIES];
- return S != undefined ? S : C;
-};
-var isThenable = function(it){
- var then;
- return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
-};
-var PromiseCapability = function(C){
- var resolve, reject;
- this.promise = new C(function($$resolve, $$reject){
- if(resolve !== undefined || reject !== undefined)throw TypeError('Bad Promise constructor');
- resolve = $$resolve;
- reject = $$reject;
- });
- this.resolve = aFunction(resolve),
- this.reject = aFunction(reject)
-};
-var perform = function(exec){
- try {
- exec();
- } catch(e){
- return {error: e};
- }
-};
-var notify = function(record, isReject){
- if(record.n)return;
- record.n = true;
- var chain = record.c;
- asap(function(){
- var value = record.v
- , ok = record.s == 1
- , i = 0;
- var run = function(reaction){
- var handler = ok ? reaction.ok : reaction.fail
- , resolve = reaction.resolve
- , reject = reaction.reject
- , result, then;
- try {
- if(handler){
- if(!ok)record.h = true;
- result = handler === true ? value : handler(value);
- if(result === reaction.promise){
- reject(TypeError('Promise-chain cycle'));
- } else if(then = isThenable(result)){
- then.call(result, resolve, reject);
- } else resolve(result);
- } else reject(value);
- } catch(e){
- reject(e);
- }
- };
- while(chain.length > i)run(chain[i++]); // variable length - can't use forEach
- chain.length = 0;
- record.n = false;
- if(isReject)setTimeout(function(){
- var promise = record.p
- , handler, console;
- if(isUnhandled(promise)){
- if(isNode){
- process.emit('unhandledRejection', value, promise);
- } else if(handler = global.onunhandledrejection){
- handler({promise: promise, reason: value});
- } else if((console = global.console) && console.error){
- console.error('Unhandled promise rejection', value);
- }
- } record.a = undefined;
- }, 1);
- });
-};
-var isUnhandled = function(promise){
- var record = promise._d
- , chain = record.a || record.c
- , i = 0
- , reaction;
- if(record.h)return false;
- while(chain.length > i){
- reaction = chain[i++];
- if(reaction.fail || !isUnhandled(reaction.promise))return false;
- } return true;
-};
-var $reject = function(value){
- var record = this;
- if(record.d)return;
- record.d = true;
- record = record.r || record; // unwrap
- record.v = value;
- record.s = 2;
- record.a = record.c.slice();
- notify(record, true);
-};
-var $resolve = function(value){
- var record = this
- , then;
- if(record.d)return;
- record.d = true;
- record = record.r || record; // unwrap
- try {
- if(record.p === value)throw TypeError("Promise can't be resolved itself");
- if(then = isThenable(value)){
- asap(function(){
- var wrapper = {r: record, d: false}; // wrap
- try {
- then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));
- } catch(e){
- $reject.call(wrapper, e);
- }
- });
- } else {
- record.v = value;
- record.s = 1;
- notify(record, false);
- }
- } catch(e){
- $reject.call({r: record, d: false}, e); // wrap
- }
-};
-
-// constructor polyfill
-if(!USE_NATIVE){
- // 25.4.3.1 Promise(executor)
- P = function Promise(executor){
- aFunction(executor);
- var record = this._d = {
- p: strictNew(this, P, PROMISE), // <- promise
- c: [], // <- awaiting reactions
- a: undefined, // <- checked in isUnhandled reactions
- s: 0, // <- state
- d: false, // <- done
- v: undefined, // <- value
- h: false, // <- handled rejection
- n: false // <- notify
- };
- try {
- executor(ctx($resolve, record, 1), ctx($reject, record, 1));
- } catch(err){
- $reject.call(record, err);
- }
- };
- require('./$.redefine-all')(P.prototype, {
- // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)
- then: function then(onFulfilled, onRejected){
- var reaction = new PromiseCapability(speciesConstructor(this, P))
- , promise = reaction.promise
- , record = this._d;
- reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
- reaction.fail = typeof onRejected == 'function' && onRejected;
- record.c.push(reaction);
- if(record.a)record.a.push(reaction);
- if(record.s)notify(record, false);
- return promise;
- },
- // 25.4.5.1 Promise.prototype.catch(onRejected)
- 'catch': function(onRejected){
- return this.then(undefined, onRejected);
- }
- });
-}
-
-$export($export.G + $export.W + $export.F * !USE_NATIVE, {Promise: P});
-require('./$.set-to-string-tag')(P, PROMISE);
-require('./$.set-species')(PROMISE);
-Wrapper = require('./$.core')[PROMISE];
-
-// statics
-$export($export.S + $export.F * !USE_NATIVE, PROMISE, {
- // 25.4.4.5 Promise.reject(r)
- reject: function reject(r){
- var capability = new PromiseCapability(this)
- , $$reject = capability.reject;
- $$reject(r);
- return capability.promise;
- }
-});
-$export($export.S + $export.F * (!USE_NATIVE || testResolve(true)), PROMISE, {
- // 25.4.4.6 Promise.resolve(x)
- resolve: function resolve(x){
- // instanceof instead of internal slot check because we should fix it without replacement native Promise core
- if(x instanceof P && sameConstructor(x.constructor, this))return x;
- var capability = new PromiseCapability(this)
- , $$resolve = capability.resolve;
- $$resolve(x);
- return capability.promise;
- }
-});
-$export($export.S + $export.F * !(USE_NATIVE && require('./$.iter-detect')(function(iter){
- P.all(iter)['catch'](function(){});
-})), PROMISE, {
- // 25.4.4.1 Promise.all(iterable)
- all: function all(iterable){
- var C = getConstructor(this)
- , capability = new PromiseCapability(C)
- , resolve = capability.resolve
- , reject = capability.reject
- , values = [];
- var abrupt = perform(function(){
- forOf(iterable, false, values.push, values);
- var remaining = values.length
- , results = Array(remaining);
- if(remaining)$.each.call(values, function(promise, index){
- var alreadyCalled = false;
- C.resolve(promise).then(function(value){
- if(alreadyCalled)return;
- alreadyCalled = true;
- results[index] = value;
- --remaining || resolve(results);
- }, reject);
- });
- else resolve(results);
- });
- if(abrupt)reject(abrupt.error);
- return capability.promise;
- },
- // 25.4.4.4 Promise.race(iterable)
- race: function race(iterable){
- var C = getConstructor(this)
- , capability = new PromiseCapability(C)
- , reject = capability.reject;
- var abrupt = perform(function(){
- forOf(iterable, false, function(promise){
- C.resolve(promise).then(capability.resolve, reject);
- });
- });
- if(abrupt)reject(abrupt.error);
- return capability.promise;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.reflect.apply.js b/node_modules/core-js/modules/es6.reflect.apply.js
deleted file mode 100644
index b392712..0000000
--- a/node_modules/core-js/modules/es6.reflect.apply.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)
-var $export = require('./$.export')
- , _apply = Function.apply;
-
-$export($export.S, 'Reflect', {
- apply: function apply(target, thisArgument, argumentsList){
- return _apply.call(target, thisArgument, argumentsList);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.reflect.construct.js b/node_modules/core-js/modules/es6.reflect.construct.js
deleted file mode 100644
index 29d245f..0000000
--- a/node_modules/core-js/modules/es6.reflect.construct.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])
-var $ = require('./$')
- , $export = require('./$.export')
- , aFunction = require('./$.a-function')
- , anObject = require('./$.an-object')
- , isObject = require('./$.is-object')
- , bind = Function.bind || require('./$.core').Function.prototype.bind;
-
-// MS Edge supports only 2 arguments
-// FF Nightly sets third argument as `new.target`, but does not create `this` from it
-$export($export.S + $export.F * require('./$.fails')(function(){
- function F(){}
- return !(Reflect.construct(function(){}, [], F) instanceof F);
-}), 'Reflect', {
- construct: function construct(Target, args /*, newTarget*/){
- aFunction(Target);
- var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);
- if(Target == newTarget){
- // w/o altered newTarget, optimization for 0-4 arguments
- if(args != undefined)switch(anObject(args).length){
- case 0: return new Target;
- case 1: return new Target(args[0]);
- case 2: return new Target(args[0], args[1]);
- case 3: return new Target(args[0], args[1], args[2]);
- case 4: return new Target(args[0], args[1], args[2], args[3]);
- }
- // w/o altered newTarget, lot of arguments case
- var $args = [null];
- $args.push.apply($args, args);
- return new (bind.apply(Target, $args));
- }
- // with altered newTarget, not support built-in constructors
- var proto = newTarget.prototype
- , instance = $.create(isObject(proto) ? proto : Object.prototype)
- , result = Function.apply.call(Target, instance, args);
- return isObject(result) ? result : instance;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.reflect.define-property.js b/node_modules/core-js/modules/es6.reflect.define-property.js
deleted file mode 100644
index 5f7fc6a..0000000
--- a/node_modules/core-js/modules/es6.reflect.define-property.js
+++ /dev/null
@@ -1,19 +0,0 @@
-// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)
-var $ = require('./$')
- , $export = require('./$.export')
- , anObject = require('./$.an-object');
-
-// MS Edge has broken Reflect.defineProperty - throwing instead of returning false
-$export($export.S + $export.F * require('./$.fails')(function(){
- Reflect.defineProperty($.setDesc({}, 1, {value: 1}), 1, {value: 2});
-}), 'Reflect', {
- defineProperty: function defineProperty(target, propertyKey, attributes){
- anObject(target);
- try {
- $.setDesc(target, propertyKey, attributes);
- return true;
- } catch(e){
- return false;
- }
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.reflect.delete-property.js b/node_modules/core-js/modules/es6.reflect.delete-property.js
deleted file mode 100644
index 18526e5..0000000
--- a/node_modules/core-js/modules/es6.reflect.delete-property.js
+++ /dev/null
@@ -1,11 +0,0 @@
-// 26.1.4 Reflect.deleteProperty(target, propertyKey)
-var $export = require('./$.export')
- , getDesc = require('./$').getDesc
- , anObject = require('./$.an-object');
-
-$export($export.S, 'Reflect', {
- deleteProperty: function deleteProperty(target, propertyKey){
- var desc = getDesc(anObject(target), propertyKey);
- return desc && !desc.configurable ? false : delete target[propertyKey];
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.reflect.enumerate.js b/node_modules/core-js/modules/es6.reflect.enumerate.js
deleted file mode 100644
index 73452e2..0000000
--- a/node_modules/core-js/modules/es6.reflect.enumerate.js
+++ /dev/null
@@ -1,26 +0,0 @@
-'use strict';
-// 26.1.5 Reflect.enumerate(target)
-var $export = require('./$.export')
- , anObject = require('./$.an-object');
-var Enumerate = function(iterated){
- this._t = anObject(iterated); // target
- this._i = 0; // next index
- var keys = this._k = [] // keys
- , key;
- for(key in iterated)keys.push(key);
-};
-require('./$.iter-create')(Enumerate, 'Object', function(){
- var that = this
- , keys = that._k
- , key;
- do {
- if(that._i >= keys.length)return {value: undefined, done: true};
- } while(!((key = keys[that._i++]) in that._t));
- return {value: key, done: false};
-});
-
-$export($export.S, 'Reflect', {
- enumerate: function enumerate(target){
- return new Enumerate(target);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js b/node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js
deleted file mode 100644
index a3a2e01..0000000
--- a/node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js
+++ /dev/null
@@ -1,10 +0,0 @@
-// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)
-var $ = require('./$')
- , $export = require('./$.export')
- , anObject = require('./$.an-object');
-
-$export($export.S, 'Reflect', {
- getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey){
- return $.getDesc(anObject(target), propertyKey);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.reflect.get-prototype-of.js b/node_modules/core-js/modules/es6.reflect.get-prototype-of.js
deleted file mode 100644
index c06bfa4..0000000
--- a/node_modules/core-js/modules/es6.reflect.get-prototype-of.js
+++ /dev/null
@@ -1,10 +0,0 @@
-// 26.1.8 Reflect.getPrototypeOf(target)
-var $export = require('./$.export')
- , getProto = require('./$').getProto
- , anObject = require('./$.an-object');
-
-$export($export.S, 'Reflect', {
- getPrototypeOf: function getPrototypeOf(target){
- return getProto(anObject(target));
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.reflect.get.js b/node_modules/core-js/modules/es6.reflect.get.js
deleted file mode 100644
index cbb0caa..0000000
--- a/node_modules/core-js/modules/es6.reflect.get.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// 26.1.6 Reflect.get(target, propertyKey [, receiver])
-var $ = require('./$')
- , has = require('./$.has')
- , $export = require('./$.export')
- , isObject = require('./$.is-object')
- , anObject = require('./$.an-object');
-
-function get(target, propertyKey/*, receiver*/){
- var receiver = arguments.length < 3 ? target : arguments[2]
- , desc, proto;
- if(anObject(target) === receiver)return target[propertyKey];
- if(desc = $.getDesc(target, propertyKey))return has(desc, 'value')
- ? desc.value
- : desc.get !== undefined
- ? desc.get.call(receiver)
- : undefined;
- if(isObject(proto = $.getProto(target)))return get(proto, propertyKey, receiver);
-}
-
-$export($export.S, 'Reflect', {get: get});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.reflect.has.js b/node_modules/core-js/modules/es6.reflect.has.js
deleted file mode 100644
index 65c9e82..0000000
--- a/node_modules/core-js/modules/es6.reflect.has.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// 26.1.9 Reflect.has(target, propertyKey)
-var $export = require('./$.export');
-
-$export($export.S, 'Reflect', {
- has: function has(target, propertyKey){
- return propertyKey in target;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.reflect.is-extensible.js b/node_modules/core-js/modules/es6.reflect.is-extensible.js
deleted file mode 100644
index b92c4f6..0000000
--- a/node_modules/core-js/modules/es6.reflect.is-extensible.js
+++ /dev/null
@@ -1,11 +0,0 @@
-// 26.1.10 Reflect.isExtensible(target)
-var $export = require('./$.export')
- , anObject = require('./$.an-object')
- , $isExtensible = Object.isExtensible;
-
-$export($export.S, 'Reflect', {
- isExtensible: function isExtensible(target){
- anObject(target);
- return $isExtensible ? $isExtensible(target) : true;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.reflect.own-keys.js b/node_modules/core-js/modules/es6.reflect.own-keys.js
deleted file mode 100644
index db79fda..0000000
--- a/node_modules/core-js/modules/es6.reflect.own-keys.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// 26.1.11 Reflect.ownKeys(target)
-var $export = require('./$.export');
-
-$export($export.S, 'Reflect', {ownKeys: require('./$.own-keys')});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.reflect.prevent-extensions.js b/node_modules/core-js/modules/es6.reflect.prevent-extensions.js
deleted file mode 100644
index f5ccfc2..0000000
--- a/node_modules/core-js/modules/es6.reflect.prevent-extensions.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// 26.1.12 Reflect.preventExtensions(target)
-var $export = require('./$.export')
- , anObject = require('./$.an-object')
- , $preventExtensions = Object.preventExtensions;
-
-$export($export.S, 'Reflect', {
- preventExtensions: function preventExtensions(target){
- anObject(target);
- try {
- if($preventExtensions)$preventExtensions(target);
- return true;
- } catch(e){
- return false;
- }
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.reflect.set-prototype-of.js b/node_modules/core-js/modules/es6.reflect.set-prototype-of.js
deleted file mode 100644
index e769436..0000000
--- a/node_modules/core-js/modules/es6.reflect.set-prototype-of.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// 26.1.14 Reflect.setPrototypeOf(target, proto)
-var $export = require('./$.export')
- , setProto = require('./$.set-proto');
-
-if(setProto)$export($export.S, 'Reflect', {
- setPrototypeOf: function setPrototypeOf(target, proto){
- setProto.check(target, proto);
- try {
- setProto.set(target, proto);
- return true;
- } catch(e){
- return false;
- }
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.reflect.set.js b/node_modules/core-js/modules/es6.reflect.set.js
deleted file mode 100644
index 0a938e7..0000000
--- a/node_modules/core-js/modules/es6.reflect.set.js
+++ /dev/null
@@ -1,29 +0,0 @@
-// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])
-var $ = require('./$')
- , has = require('./$.has')
- , $export = require('./$.export')
- , createDesc = require('./$.property-desc')
- , anObject = require('./$.an-object')
- , isObject = require('./$.is-object');
-
-function set(target, propertyKey, V/*, receiver*/){
- var receiver = arguments.length < 4 ? target : arguments[3]
- , ownDesc = $.getDesc(anObject(target), propertyKey)
- , existingDescriptor, proto;
- if(!ownDesc){
- if(isObject(proto = $.getProto(target))){
- return set(proto, propertyKey, V, receiver);
- }
- ownDesc = createDesc(0);
- }
- if(has(ownDesc, 'value')){
- if(ownDesc.writable === false || !isObject(receiver))return false;
- existingDescriptor = $.getDesc(receiver, propertyKey) || createDesc(0);
- existingDescriptor.value = V;
- $.setDesc(receiver, propertyKey, existingDescriptor);
- return true;
- }
- return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);
-}
-
-$export($export.S, 'Reflect', {set: set});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.regexp.constructor.js b/node_modules/core-js/modules/es6.regexp.constructor.js
deleted file mode 100644
index c7ef61c..0000000
--- a/node_modules/core-js/modules/es6.regexp.constructor.js
+++ /dev/null
@@ -1,38 +0,0 @@
-var $ = require('./$')
- , global = require('./$.global')
- , isRegExp = require('./$.is-regexp')
- , $flags = require('./$.flags')
- , $RegExp = global.RegExp
- , Base = $RegExp
- , proto = $RegExp.prototype
- , re1 = /a/g
- , re2 = /a/g
- // "new" creates a new object, old webkit buggy here
- , CORRECT_NEW = new $RegExp(re1) !== re1;
-
-if(require('./$.descriptors') && (!CORRECT_NEW || require('./$.fails')(function(){
- re2[require('./$.wks')('match')] = false;
- // RegExp constructor can alter flags and IsRegExp works correct with @@match
- return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';
-}))){
- $RegExp = function RegExp(p, f){
- var piRE = isRegExp(p)
- , fiU = f === undefined;
- return !(this instanceof $RegExp) && piRE && p.constructor === $RegExp && fiU ? p
- : CORRECT_NEW
- ? new Base(piRE && !fiU ? p.source : p, f)
- : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f);
- };
- $.each.call($.getNames(Base), function(key){
- key in $RegExp || $.setDesc($RegExp, key, {
- configurable: true,
- get: function(){ return Base[key]; },
- set: function(it){ Base[key] = it; }
- });
- });
- proto.constructor = $RegExp;
- $RegExp.prototype = proto;
- require('./$.redefine')(global, 'RegExp', $RegExp);
-}
-
-require('./$.set-species')('RegExp');
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.regexp.flags.js b/node_modules/core-js/modules/es6.regexp.flags.js
deleted file mode 100644
index 5984c21..0000000
--- a/node_modules/core-js/modules/es6.regexp.flags.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// 21.2.5.3 get RegExp.prototype.flags()
-var $ = require('./$');
-if(require('./$.descriptors') && /./g.flags != 'g')$.setDesc(RegExp.prototype, 'flags', {
- configurable: true,
- get: require('./$.flags')
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.regexp.match.js b/node_modules/core-js/modules/es6.regexp.match.js
deleted file mode 100644
index 5cd194c..0000000
--- a/node_modules/core-js/modules/es6.regexp.match.js
+++ /dev/null
@@ -1,10 +0,0 @@
-// @@match logic
-require('./$.fix-re-wks')('match', 1, function(defined, MATCH){
- // 21.1.3.11 String.prototype.match(regexp)
- return function match(regexp){
- 'use strict';
- var O = defined(this)
- , fn = regexp == undefined ? undefined : regexp[MATCH];
- return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.regexp.replace.js b/node_modules/core-js/modules/es6.regexp.replace.js
deleted file mode 100644
index 140c507..0000000
--- a/node_modules/core-js/modules/es6.regexp.replace.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// @@replace logic
-require('./$.fix-re-wks')('replace', 2, function(defined, REPLACE, $replace){
- // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)
- return function replace(searchValue, replaceValue){
- 'use strict';
- var O = defined(this)
- , fn = searchValue == undefined ? undefined : searchValue[REPLACE];
- return fn !== undefined
- ? fn.call(searchValue, O, replaceValue)
- : $replace.call(String(O), searchValue, replaceValue);
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.regexp.search.js b/node_modules/core-js/modules/es6.regexp.search.js
deleted file mode 100644
index adfd5c9..0000000
--- a/node_modules/core-js/modules/es6.regexp.search.js
+++ /dev/null
@@ -1,10 +0,0 @@
-// @@search logic
-require('./$.fix-re-wks')('search', 1, function(defined, SEARCH){
- // 21.1.3.15 String.prototype.search(regexp)
- return function search(regexp){
- 'use strict';
- var O = defined(this)
- , fn = regexp == undefined ? undefined : regexp[SEARCH];
- return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.regexp.split.js b/node_modules/core-js/modules/es6.regexp.split.js
deleted file mode 100644
index 0607fb0..0000000
--- a/node_modules/core-js/modules/es6.regexp.split.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// @@split logic
-require('./$.fix-re-wks')('split', 2, function(defined, SPLIT, $split){
- // 21.1.3.17 String.prototype.split(separator, limit)
- return function split(separator, limit){
- 'use strict';
- var O = defined(this)
- , fn = separator == undefined ? undefined : separator[SPLIT];
- return fn !== undefined
- ? fn.call(separator, O, limit)
- : $split.call(String(O), separator, limit);
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.set.js b/node_modules/core-js/modules/es6.set.js
deleted file mode 100644
index 8e148c9..0000000
--- a/node_modules/core-js/modules/es6.set.js
+++ /dev/null
@@ -1,12 +0,0 @@
-'use strict';
-var strong = require('./$.collection-strong');
-
-// 23.2 Set Objects
-require('./$.collection')('Set', function(get){
- return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };
-}, {
- // 23.2.3.1 Set.prototype.add(value)
- add: function add(value){
- return strong.def(this, value = value === 0 ? 0 : value, value);
- }
-}, strong);
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.string.code-point-at.js b/node_modules/core-js/modules/es6.string.code-point-at.js
deleted file mode 100644
index ebac551..0000000
--- a/node_modules/core-js/modules/es6.string.code-point-at.js
+++ /dev/null
@@ -1,9 +0,0 @@
-'use strict';
-var $export = require('./$.export')
- , $at = require('./$.string-at')(false);
-$export($export.P, 'String', {
- // 21.1.3.3 String.prototype.codePointAt(pos)
- codePointAt: function codePointAt(pos){
- return $at(this, pos);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.string.ends-with.js b/node_modules/core-js/modules/es6.string.ends-with.js
deleted file mode 100644
index a102da2..0000000
--- a/node_modules/core-js/modules/es6.string.ends-with.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])
-'use strict';
-var $export = require('./$.export')
- , toLength = require('./$.to-length')
- , context = require('./$.string-context')
- , ENDS_WITH = 'endsWith'
- , $endsWith = ''[ENDS_WITH];
-
-$export($export.P + $export.F * require('./$.fails-is-regexp')(ENDS_WITH), 'String', {
- endsWith: function endsWith(searchString /*, endPosition = @length */){
- var that = context(this, searchString, ENDS_WITH)
- , $$ = arguments
- , endPosition = $$.length > 1 ? $$[1] : undefined
- , len = toLength(that.length)
- , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len)
- , search = String(searchString);
- return $endsWith
- ? $endsWith.call(that, search, end)
- : that.slice(end - search.length, end) === search;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.string.from-code-point.js b/node_modules/core-js/modules/es6.string.from-code-point.js
deleted file mode 100644
index b0bd166..0000000
--- a/node_modules/core-js/modules/es6.string.from-code-point.js
+++ /dev/null
@@ -1,24 +0,0 @@
-var $export = require('./$.export')
- , toIndex = require('./$.to-index')
- , fromCharCode = String.fromCharCode
- , $fromCodePoint = String.fromCodePoint;
-
-// length should be 1, old FF problem
-$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {
- // 21.1.2.2 String.fromCodePoint(...codePoints)
- fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars
- var res = []
- , $$ = arguments
- , $$len = $$.length
- , i = 0
- , code;
- while($$len > i){
- code = +$$[i++];
- if(toIndex(code, 0x10ffff) !== code)throw RangeError(code + ' is not a valid code point');
- res.push(code < 0x10000
- ? fromCharCode(code)
- : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)
- );
- } return res.join('');
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.string.includes.js b/node_modules/core-js/modules/es6.string.includes.js
deleted file mode 100644
index e2ab8db..0000000
--- a/node_modules/core-js/modules/es6.string.includes.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// 21.1.3.7 String.prototype.includes(searchString, position = 0)
-'use strict';
-var $export = require('./$.export')
- , context = require('./$.string-context')
- , INCLUDES = 'includes';
-
-$export($export.P + $export.F * require('./$.fails-is-regexp')(INCLUDES), 'String', {
- includes: function includes(searchString /*, position = 0 */){
- return !!~context(this, searchString, INCLUDES)
- .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.string.iterator.js b/node_modules/core-js/modules/es6.string.iterator.js
deleted file mode 100644
index 2f4c772..0000000
--- a/node_modules/core-js/modules/es6.string.iterator.js
+++ /dev/null
@@ -1,17 +0,0 @@
-'use strict';
-var $at = require('./$.string-at')(true);
-
-// 21.1.3.27 String.prototype[@@iterator]()
-require('./$.iter-define')(String, 'String', function(iterated){
- this._t = String(iterated); // target
- this._i = 0; // next index
-// 21.1.5.2.1 %StringIteratorPrototype%.next()
-}, function(){
- var O = this._t
- , index = this._i
- , point;
- if(index >= O.length)return {value: undefined, done: true};
- point = $at(O, index);
- this._i += point.length;
- return {value: point, done: false};
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.string.raw.js b/node_modules/core-js/modules/es6.string.raw.js
deleted file mode 100644
index 64279d2..0000000
--- a/node_modules/core-js/modules/es6.string.raw.js
+++ /dev/null
@@ -1,19 +0,0 @@
-var $export = require('./$.export')
- , toIObject = require('./$.to-iobject')
- , toLength = require('./$.to-length');
-
-$export($export.S, 'String', {
- // 21.1.2.4 String.raw(callSite, ...substitutions)
- raw: function raw(callSite){
- var tpl = toIObject(callSite.raw)
- , len = toLength(tpl.length)
- , $$ = arguments
- , $$len = $$.length
- , res = []
- , i = 0;
- while(len > i){
- res.push(String(tpl[i++]));
- if(i < $$len)res.push(String($$[i]));
- } return res.join('');
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.string.repeat.js b/node_modules/core-js/modules/es6.string.repeat.js
deleted file mode 100644
index 4ec29f6..0000000
--- a/node_modules/core-js/modules/es6.string.repeat.js
+++ /dev/null
@@ -1,6 +0,0 @@
-var $export = require('./$.export');
-
-$export($export.P, 'String', {
- // 21.1.3.13 String.prototype.repeat(count)
- repeat: require('./$.string-repeat')
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.string.starts-with.js b/node_modules/core-js/modules/es6.string.starts-with.js
deleted file mode 100644
index 2114307..0000000
--- a/node_modules/core-js/modules/es6.string.starts-with.js
+++ /dev/null
@@ -1,19 +0,0 @@
-// 21.1.3.18 String.prototype.startsWith(searchString [, position ])
-'use strict';
-var $export = require('./$.export')
- , toLength = require('./$.to-length')
- , context = require('./$.string-context')
- , STARTS_WITH = 'startsWith'
- , $startsWith = ''[STARTS_WITH];
-
-$export($export.P + $export.F * require('./$.fails-is-regexp')(STARTS_WITH), 'String', {
- startsWith: function startsWith(searchString /*, position = 0 */){
- var that = context(this, searchString, STARTS_WITH)
- , $$ = arguments
- , index = toLength(Math.min($$.length > 1 ? $$[1] : undefined, that.length))
- , search = String(searchString);
- return $startsWith
- ? $startsWith.call(that, search, index)
- : that.slice(index, index + search.length) === search;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.string.trim.js b/node_modules/core-js/modules/es6.string.trim.js
deleted file mode 100644
index 52b75ca..0000000
--- a/node_modules/core-js/modules/es6.string.trim.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-// 21.1.3.25 String.prototype.trim()
-require('./$.string-trim')('trim', function($trim){
- return function trim(){
- return $trim(this, 3);
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.symbol.js b/node_modules/core-js/modules/es6.symbol.js
deleted file mode 100644
index 42b7a3a..0000000
--- a/node_modules/core-js/modules/es6.symbol.js
+++ /dev/null
@@ -1,227 +0,0 @@
-'use strict';
-// ECMAScript 6 symbols shim
-var $ = require('./$')
- , global = require('./$.global')
- , has = require('./$.has')
- , DESCRIPTORS = require('./$.descriptors')
- , $export = require('./$.export')
- , redefine = require('./$.redefine')
- , $fails = require('./$.fails')
- , shared = require('./$.shared')
- , setToStringTag = require('./$.set-to-string-tag')
- , uid = require('./$.uid')
- , wks = require('./$.wks')
- , keyOf = require('./$.keyof')
- , $names = require('./$.get-names')
- , enumKeys = require('./$.enum-keys')
- , isArray = require('./$.is-array')
- , anObject = require('./$.an-object')
- , toIObject = require('./$.to-iobject')
- , createDesc = require('./$.property-desc')
- , getDesc = $.getDesc
- , setDesc = $.setDesc
- , _create = $.create
- , getNames = $names.get
- , $Symbol = global.Symbol
- , $JSON = global.JSON
- , _stringify = $JSON && $JSON.stringify
- , setter = false
- , HIDDEN = wks('_hidden')
- , isEnum = $.isEnum
- , SymbolRegistry = shared('symbol-registry')
- , AllSymbols = shared('symbols')
- , useNative = typeof $Symbol == 'function'
- , ObjectProto = Object.prototype;
-
-// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
-var setSymbolDesc = DESCRIPTORS && $fails(function(){
- return _create(setDesc({}, 'a', {
- get: function(){ return setDesc(this, 'a', {value: 7}).a; }
- })).a != 7;
-}) ? function(it, key, D){
- var protoDesc = getDesc(ObjectProto, key);
- if(protoDesc)delete ObjectProto[key];
- setDesc(it, key, D);
- if(protoDesc && it !== ObjectProto)setDesc(ObjectProto, key, protoDesc);
-} : setDesc;
-
-var wrap = function(tag){
- var sym = AllSymbols[tag] = _create($Symbol.prototype);
- sym._k = tag;
- DESCRIPTORS && setter && setSymbolDesc(ObjectProto, tag, {
- configurable: true,
- set: function(value){
- if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;
- setSymbolDesc(this, tag, createDesc(1, value));
- }
- });
- return sym;
-};
-
-var isSymbol = function(it){
- return typeof it == 'symbol';
-};
-
-var $defineProperty = function defineProperty(it, key, D){
- if(D && has(AllSymbols, key)){
- if(!D.enumerable){
- if(!has(it, HIDDEN))setDesc(it, HIDDEN, createDesc(1, {}));
- it[HIDDEN][key] = true;
- } else {
- if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;
- D = _create(D, {enumerable: createDesc(0, false)});
- } return setSymbolDesc(it, key, D);
- } return setDesc(it, key, D);
-};
-var $defineProperties = function defineProperties(it, P){
- anObject(it);
- var keys = enumKeys(P = toIObject(P))
- , i = 0
- , l = keys.length
- , key;
- while(l > i)$defineProperty(it, key = keys[i++], P[key]);
- return it;
-};
-var $create = function create(it, P){
- return P === undefined ? _create(it) : $defineProperties(_create(it), P);
-};
-var $propertyIsEnumerable = function propertyIsEnumerable(key){
- var E = isEnum.call(this, key);
- return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key]
- ? E : true;
-};
-var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){
- var D = getDesc(it = toIObject(it), key);
- if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;
- return D;
-};
-var $getOwnPropertyNames = function getOwnPropertyNames(it){
- var names = getNames(toIObject(it))
- , result = []
- , i = 0
- , key;
- while(names.length > i)if(!has(AllSymbols, key = names[i++]) && key != HIDDEN)result.push(key);
- return result;
-};
-var $getOwnPropertySymbols = function getOwnPropertySymbols(it){
- var names = getNames(toIObject(it))
- , result = []
- , i = 0
- , key;
- while(names.length > i)if(has(AllSymbols, key = names[i++]))result.push(AllSymbols[key]);
- return result;
-};
-var $stringify = function stringify(it){
- if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined
- var args = [it]
- , i = 1
- , $$ = arguments
- , replacer, $replacer;
- while($$.length > i)args.push($$[i++]);
- replacer = args[1];
- if(typeof replacer == 'function')$replacer = replacer;
- if($replacer || !isArray(replacer))replacer = function(key, value){
- if($replacer)value = $replacer.call(this, key, value);
- if(!isSymbol(value))return value;
- };
- args[1] = replacer;
- return _stringify.apply($JSON, args);
-};
-var buggyJSON = $fails(function(){
- var S = $Symbol();
- // MS Edge converts symbol values to JSON as {}
- // WebKit converts symbol values to JSON as null
- // V8 throws on boxed symbols
- return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';
-});
-
-// 19.4.1.1 Symbol([description])
-if(!useNative){
- $Symbol = function Symbol(){
- if(isSymbol(this))throw TypeError('Symbol is not a constructor');
- return wrap(uid(arguments.length > 0 ? arguments[0] : undefined));
- };
- redefine($Symbol.prototype, 'toString', function toString(){
- return this._k;
- });
-
- isSymbol = function(it){
- return it instanceof $Symbol;
- };
-
- $.create = $create;
- $.isEnum = $propertyIsEnumerable;
- $.getDesc = $getOwnPropertyDescriptor;
- $.setDesc = $defineProperty;
- $.setDescs = $defineProperties;
- $.getNames = $names.get = $getOwnPropertyNames;
- $.getSymbols = $getOwnPropertySymbols;
-
- if(DESCRIPTORS && !require('./$.library')){
- redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
- }
-}
-
-var symbolStatics = {
- // 19.4.2.1 Symbol.for(key)
- 'for': function(key){
- return has(SymbolRegistry, key += '')
- ? SymbolRegistry[key]
- : SymbolRegistry[key] = $Symbol(key);
- },
- // 19.4.2.5 Symbol.keyFor(sym)
- keyFor: function keyFor(key){
- return keyOf(SymbolRegistry, key);
- },
- useSetter: function(){ setter = true; },
- useSimple: function(){ setter = false; }
-};
-// 19.4.2.2 Symbol.hasInstance
-// 19.4.2.3 Symbol.isConcatSpreadable
-// 19.4.2.4 Symbol.iterator
-// 19.4.2.6 Symbol.match
-// 19.4.2.8 Symbol.replace
-// 19.4.2.9 Symbol.search
-// 19.4.2.10 Symbol.species
-// 19.4.2.11 Symbol.split
-// 19.4.2.12 Symbol.toPrimitive
-// 19.4.2.13 Symbol.toStringTag
-// 19.4.2.14 Symbol.unscopables
-$.each.call((
- 'hasInstance,isConcatSpreadable,iterator,match,replace,search,' +
- 'species,split,toPrimitive,toStringTag,unscopables'
-).split(','), function(it){
- var sym = wks(it);
- symbolStatics[it] = useNative ? sym : wrap(sym);
-});
-
-setter = true;
-
-$export($export.G + $export.W, {Symbol: $Symbol});
-
-$export($export.S, 'Symbol', symbolStatics);
-
-$export($export.S + $export.F * !useNative, 'Object', {
- // 19.1.2.2 Object.create(O [, Properties])
- create: $create,
- // 19.1.2.4 Object.defineProperty(O, P, Attributes)
- defineProperty: $defineProperty,
- // 19.1.2.3 Object.defineProperties(O, Properties)
- defineProperties: $defineProperties,
- // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
- getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
- // 19.1.2.7 Object.getOwnPropertyNames(O)
- getOwnPropertyNames: $getOwnPropertyNames,
- // 19.1.2.8 Object.getOwnPropertySymbols(O)
- getOwnPropertySymbols: $getOwnPropertySymbols
-});
-
-// 24.3.2 JSON.stringify(value [, replacer [, space]])
-$JSON && $export($export.S + $export.F * (!useNative || buggyJSON), 'JSON', {stringify: $stringify});
-
-// 19.4.3.5 Symbol.prototype[@@toStringTag]
-setToStringTag($Symbol, 'Symbol');
-// 20.2.1.9 Math[@@toStringTag]
-setToStringTag(Math, 'Math', true);
-// 24.3.3 JSON[@@toStringTag]
-setToStringTag(global.JSON, 'JSON', true);
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.typed.array-buffer.js b/node_modules/core-js/modules/es6.typed.array-buffer.js
deleted file mode 100644
index a8209bd..0000000
--- a/node_modules/core-js/modules/es6.typed.array-buffer.js
+++ /dev/null
@@ -1,43 +0,0 @@
-'use strict';
-if(require('./$.descriptors')){
- var $export = require('./$.export')
- , $typed = require('./$.typed')
- , buffer = require('./$.buffer')
- , toIndex = require('./$.to-index')
- , toLength = require('./$.to-length')
- , isObject = require('./$.is-object')
- , TYPED_ARRAY = require('./$.wks')('typed_array')
- , $ArrayBuffer = buffer.ArrayBuffer
- , $DataView = buffer.DataView
- , $slice = $ArrayBuffer && $ArrayBuffer.prototype.slice
- , VIEW = $typed.VIEW
- , ARRAY_BUFFER = 'ArrayBuffer';
-
- $export($export.G + $export.W + $export.F * !$typed.ABV, {ArrayBuffer: $ArrayBuffer});
-
- $export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {
- // 24.1.3.1 ArrayBuffer.isView(arg)
- isView: function isView(it){ // not cross-realm
- return isObject(it) && VIEW in it;
- }
- });
-
- $export($export.P + $export.F * require('./$.fails')(function(){
- return !new $ArrayBuffer(2).slice(1, undefined).byteLength;
- }), ARRAY_BUFFER, {
- // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)
- slice: function slice(start, end){
- if($slice !== undefined && end === undefined)return $slice.call(this, start); // FF fix
- var len = this.byteLength
- , first = toIndex(start, len)
- , final = toIndex(end === undefined ? len : end, len)
- , result = new $ArrayBuffer(toLength(final - first))
- , viewS = new $DataView(this)
- , viewT = new $DataView(result)
- , index = 0;
- while(first < final){
- viewT.setUint8(index++, viewS.getUint8(first++));
- } return result;
- }
- });
-}
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.typed.data-view.js b/node_modules/core-js/modules/es6.typed.data-view.js
deleted file mode 100644
index 44e0353..0000000
--- a/node_modules/core-js/modules/es6.typed.data-view.js
+++ /dev/null
@@ -1,4 +0,0 @@
-if(require('./$.descriptors')){
- var $export = require('./$.export');
- $export($export.G + $export.W + $export.F * !require('./$.typed').ABV, {DataView: require('./$.buffer').DataView});
-}
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.typed.float32-array.js b/node_modules/core-js/modules/es6.typed.float32-array.js
deleted file mode 100644
index 95d78a6..0000000
--- a/node_modules/core-js/modules/es6.typed.float32-array.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('./$.typed-array')('Float32', 4, function(init){
- return function Float32Array(data, byteOffset, length){
- return init(this, data, byteOffset, length);
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.typed.float64-array.js b/node_modules/core-js/modules/es6.typed.float64-array.js
deleted file mode 100644
index 16fadec..0000000
--- a/node_modules/core-js/modules/es6.typed.float64-array.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('./$.typed-array')('Float64', 8, function(init){
- return function Float64Array(data, byteOffset, length){
- return init(this, data, byteOffset, length);
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.typed.int16-array.js b/node_modules/core-js/modules/es6.typed.int16-array.js
deleted file mode 100644
index a3d04cb..0000000
--- a/node_modules/core-js/modules/es6.typed.int16-array.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('./$.typed-array')('Int16', 2, function(init){
- return function Int16Array(data, byteOffset, length){
- return init(this, data, byteOffset, length);
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.typed.int32-array.js b/node_modules/core-js/modules/es6.typed.int32-array.js
deleted file mode 100644
index 1923463..0000000
--- a/node_modules/core-js/modules/es6.typed.int32-array.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('./$.typed-array')('Int32', 4, function(init){
- return function Int32Array(data, byteOffset, length){
- return init(this, data, byteOffset, length);
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.typed.int8-array.js b/node_modules/core-js/modules/es6.typed.int8-array.js
deleted file mode 100644
index e9182c4..0000000
--- a/node_modules/core-js/modules/es6.typed.int8-array.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('./$.typed-array')('Int8', 1, function(init){
- return function Int8Array(data, byteOffset, length){
- return init(this, data, byteOffset, length);
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.typed.uint16-array.js b/node_modules/core-js/modules/es6.typed.uint16-array.js
deleted file mode 100644
index ec6e834..0000000
--- a/node_modules/core-js/modules/es6.typed.uint16-array.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('./$.typed-array')('Uint16', 2, function(init){
- return function Uint16Array(data, byteOffset, length){
- return init(this, data, byteOffset, length);
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.typed.uint32-array.js b/node_modules/core-js/modules/es6.typed.uint32-array.js
deleted file mode 100644
index ddfc22d..0000000
--- a/node_modules/core-js/modules/es6.typed.uint32-array.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('./$.typed-array')('Uint32', 4, function(init){
- return function Uint32Array(data, byteOffset, length){
- return init(this, data, byteOffset, length);
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.typed.uint8-array.js b/node_modules/core-js/modules/es6.typed.uint8-array.js
deleted file mode 100644
index 7ab1e4d..0000000
--- a/node_modules/core-js/modules/es6.typed.uint8-array.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('./$.typed-array')('Uint8', 1, function(init){
- return function Uint8Array(data, byteOffset, length){
- return init(this, data, byteOffset, length);
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.typed.uint8-clamped-array.js b/node_modules/core-js/modules/es6.typed.uint8-clamped-array.js
deleted file mode 100644
index f85f9d5..0000000
--- a/node_modules/core-js/modules/es6.typed.uint8-clamped-array.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('./$.typed-array')('Uint8', 1, function(init){
- return function Uint8ClampedArray(data, byteOffset, length){
- return init(this, data, byteOffset, length);
- };
-}, true);
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.weak-map.js b/node_modules/core-js/modules/es6.weak-map.js
deleted file mode 100644
index 72a9b32..0000000
--- a/node_modules/core-js/modules/es6.weak-map.js
+++ /dev/null
@@ -1,43 +0,0 @@
-'use strict';
-var $ = require('./$')
- , redefine = require('./$.redefine')
- , weak = require('./$.collection-weak')
- , isObject = require('./$.is-object')
- , has = require('./$.has')
- , frozenStore = weak.frozenStore
- , WEAK = weak.WEAK
- , isExtensible = Object.isExtensible || isObject
- , tmp = {};
-
-// 23.3 WeakMap Objects
-var $WeakMap = require('./$.collection')('WeakMap', function(get){
- return function WeakMap(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };
-}, {
- // 23.3.3.3 WeakMap.prototype.get(key)
- get: function get(key){
- if(isObject(key)){
- if(!isExtensible(key))return frozenStore(this).get(key);
- if(has(key, WEAK))return key[WEAK][this._i];
- }
- },
- // 23.3.3.5 WeakMap.prototype.set(key, value)
- set: function set(key, value){
- return weak.def(this, key, value);
- }
-}, weak, true, true);
-
-// IE11 WeakMap frozen keys fix
-if(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){
- $.each.call(['delete', 'has', 'get', 'set'], function(key){
- var proto = $WeakMap.prototype
- , method = proto[key];
- redefine(proto, key, function(a, b){
- // store frozen objects on leaky map
- if(isObject(a) && !isExtensible(a)){
- var result = frozenStore(this)[key](a, b);
- return key == 'set' ? this : result;
- // store all the rest on native weakmap
- } return method.call(this, a, b);
- });
- });
-}
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es6.weak-set.js b/node_modules/core-js/modules/es6.weak-set.js
deleted file mode 100644
index efdf1d7..0000000
--- a/node_modules/core-js/modules/es6.weak-set.js
+++ /dev/null
@@ -1,12 +0,0 @@
-'use strict';
-var weak = require('./$.collection-weak');
-
-// 23.4 WeakSet Objects
-require('./$.collection')('WeakSet', function(get){
- return function WeakSet(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };
-}, {
- // 23.4.3.1 WeakSet.prototype.add(value)
- add: function add(value){
- return weak.def(this, value, true);
- }
-}, weak, false, true);
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es7.array.includes.js b/node_modules/core-js/modules/es7.array.includes.js
deleted file mode 100644
index dcfad70..0000000
--- a/node_modules/core-js/modules/es7.array.includes.js
+++ /dev/null
@@ -1,12 +0,0 @@
-'use strict';
-var $export = require('./$.export')
- , $includes = require('./$.array-includes')(true);
-
-$export($export.P, 'Array', {
- // https://github.com/domenic/Array.prototype.includes
- includes: function includes(el /*, fromIndex = 0 */){
- return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
- }
-});
-
-require('./$.add-to-unscopables')('includes');
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es7.map.to-json.js b/node_modules/core-js/modules/es7.map.to-json.js
deleted file mode 100644
index 8093705..0000000
--- a/node_modules/core-js/modules/es7.map.to-json.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var $export = require('./$.export');
-
-$export($export.P, 'Map', {toJSON: require('./$.collection-to-json')('Map')});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es7.object.entries.js b/node_modules/core-js/modules/es7.object.entries.js
deleted file mode 100644
index fec1bc3..0000000
--- a/node_modules/core-js/modules/es7.object.entries.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// http://goo.gl/XkBrjD
-var $export = require('./$.export')
- , $entries = require('./$.object-to-array')(true);
-
-$export($export.S, 'Object', {
- entries: function entries(it){
- return $entries(it);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es7.object.get-own-property-descriptors.js b/node_modules/core-js/modules/es7.object.get-own-property-descriptors.js
deleted file mode 100644
index e4d80a3..0000000
--- a/node_modules/core-js/modules/es7.object.get-own-property-descriptors.js
+++ /dev/null
@@ -1,23 +0,0 @@
-// https://gist.github.com/WebReflection/9353781
-var $ = require('./$')
- , $export = require('./$.export')
- , ownKeys = require('./$.own-keys')
- , toIObject = require('./$.to-iobject')
- , createDesc = require('./$.property-desc');
-
-$export($export.S, 'Object', {
- getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){
- var O = toIObject(object)
- , setDesc = $.setDesc
- , getDesc = $.getDesc
- , keys = ownKeys(O)
- , result = {}
- , i = 0
- , key, D;
- while(keys.length > i){
- D = getDesc(O, key = keys[i++]);
- if(key in result)setDesc(result, key, createDesc(0, D));
- else result[key] = D;
- } return result;
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es7.object.values.js b/node_modules/core-js/modules/es7.object.values.js
deleted file mode 100644
index 697e935..0000000
--- a/node_modules/core-js/modules/es7.object.values.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// http://goo.gl/XkBrjD
-var $export = require('./$.export')
- , $values = require('./$.object-to-array')(false);
-
-$export($export.S, 'Object', {
- values: function values(it){
- return $values(it);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es7.regexp.escape.js b/node_modules/core-js/modules/es7.regexp.escape.js
deleted file mode 100644
index 9c4c542..0000000
--- a/node_modules/core-js/modules/es7.regexp.escape.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// https://github.com/benjamingr/RexExp.escape
-var $export = require('./$.export')
- , $re = require('./$.replacer')(/[\\^$*+?.()|[\]{}]/g, '\\$&');
-
-$export($export.S, 'RegExp', {escape: function escape(it){ return $re(it); }});
diff --git a/node_modules/core-js/modules/es7.set.to-json.js b/node_modules/core-js/modules/es7.set.to-json.js
deleted file mode 100644
index e632f2a..0000000
--- a/node_modules/core-js/modules/es7.set.to-json.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var $export = require('./$.export');
-
-$export($export.P, 'Set', {toJSON: require('./$.collection-to-json')('Set')});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es7.string.at.js b/node_modules/core-js/modules/es7.string.at.js
deleted file mode 100644
index fee583b..0000000
--- a/node_modules/core-js/modules/es7.string.at.js
+++ /dev/null
@@ -1,10 +0,0 @@
-'use strict';
-// https://github.com/mathiasbynens/String.prototype.at
-var $export = require('./$.export')
- , $at = require('./$.string-at')(true);
-
-$export($export.P, 'String', {
- at: function at(pos){
- return $at(this, pos);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es7.string.pad-left.js b/node_modules/core-js/modules/es7.string.pad-left.js
deleted file mode 100644
index 643621a..0000000
--- a/node_modules/core-js/modules/es7.string.pad-left.js
+++ /dev/null
@@ -1,9 +0,0 @@
-'use strict';
-var $export = require('./$.export')
- , $pad = require('./$.string-pad');
-
-$export($export.P, 'String', {
- padLeft: function padLeft(maxLength /*, fillString = ' ' */){
- return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es7.string.pad-right.js b/node_modules/core-js/modules/es7.string.pad-right.js
deleted file mode 100644
index e423096..0000000
--- a/node_modules/core-js/modules/es7.string.pad-right.js
+++ /dev/null
@@ -1,9 +0,0 @@
-'use strict';
-var $export = require('./$.export')
- , $pad = require('./$.string-pad');
-
-$export($export.P, 'String', {
- padRight: function padRight(maxLength /*, fillString = ' ' */){
- return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);
- }
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es7.string.trim-left.js b/node_modules/core-js/modules/es7.string.trim-left.js
deleted file mode 100644
index dbaf630..0000000
--- a/node_modules/core-js/modules/es7.string.trim-left.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-// https://github.com/sebmarkbage/ecmascript-string-left-right-trim
-require('./$.string-trim')('trimLeft', function($trim){
- return function trimLeft(){
- return $trim(this, 1);
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/es7.string.trim-right.js b/node_modules/core-js/modules/es7.string.trim-right.js
deleted file mode 100644
index 6b02d39..0000000
--- a/node_modules/core-js/modules/es7.string.trim-right.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-// https://github.com/sebmarkbage/ecmascript-string-left-right-trim
-require('./$.string-trim')('trimRight', function($trim){
- return function trimRight(){
- return $trim(this, 2);
- };
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/js.array.statics.js b/node_modules/core-js/modules/js.array.statics.js
deleted file mode 100644
index 9536c2e..0000000
--- a/node_modules/core-js/modules/js.array.statics.js
+++ /dev/null
@@ -1,17 +0,0 @@
-// JavaScript 1.6 / Strawman array statics shim
-var $ = require('./$')
- , $export = require('./$.export')
- , $ctx = require('./$.ctx')
- , $Array = require('./$.core').Array || Array
- , statics = {};
-var setStatics = function(keys, length){
- $.each.call(keys.split(','), function(key){
- if(length == undefined && key in $Array)statics[key] = $Array[key];
- else if(key in [])statics[key] = $ctx(Function.call, [][key], length);
- });
-};
-setStatics('pop,reverse,shift,keys,values,entries', 1);
-setStatics('indexOf,every,some,forEach,map,filter,find,findIndex,includes', 3);
-setStatics('join,slice,concat,push,splice,unshift,sort,lastIndexOf,' +
- 'reduce,reduceRight,copyWithin,fill');
-$export($export.S, 'Array', statics);
\ No newline at end of file
diff --git a/node_modules/core-js/modules/library/$.add-to-unscopables.js b/node_modules/core-js/modules/library/$.add-to-unscopables.js
deleted file mode 100644
index faf87af..0000000
--- a/node_modules/core-js/modules/library/$.add-to-unscopables.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = function(){ /* empty */ };
\ No newline at end of file
diff --git a/node_modules/core-js/modules/library/$.collection.js b/node_modules/core-js/modules/library/$.collection.js
deleted file mode 100644
index 9d234d1..0000000
--- a/node_modules/core-js/modules/library/$.collection.js
+++ /dev/null
@@ -1,55 +0,0 @@
-'use strict';
-var $ = require('./$')
- , global = require('./$.global')
- , $export = require('./$.export')
- , fails = require('./$.fails')
- , hide = require('./$.hide')
- , redefineAll = require('./$.redefine-all')
- , forOf = require('./$.for-of')
- , strictNew = require('./$.strict-new')
- , isObject = require('./$.is-object')
- , setToStringTag = require('./$.set-to-string-tag')
- , DESCRIPTORS = require('./$.descriptors');
-
-module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){
- var Base = global[NAME]
- , C = Base
- , ADDER = IS_MAP ? 'set' : 'add'
- , proto = C && C.prototype
- , O = {};
- if(!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){
- new C().entries().next();
- }))){
- // create collection constructor
- C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
- redefineAll(C.prototype, methods);
- } else {
- C = wrapper(function(target, iterable){
- strictNew(target, C, NAME);
- target._c = new Base;
- if(iterable != undefined)forOf(iterable, IS_MAP, target[ADDER], target);
- });
- $.each.call('add,clear,delete,forEach,get,has,set,keys,values,entries'.split(','),function(KEY){
- var IS_ADDER = KEY == 'add' || KEY == 'set';
- if(KEY in proto && !(IS_WEAK && KEY == 'clear'))hide(C.prototype, KEY, function(a, b){
- if(!IS_ADDER && IS_WEAK && !isObject(a))return KEY == 'get' ? undefined : false;
- var result = this._c[KEY](a === 0 ? 0 : a, b);
- return IS_ADDER ? this : result;
- });
- });
- if('size' in proto)$.setDesc(C.prototype, 'size', {
- get: function(){
- return this._c.size;
- }
- });
- }
-
- setToStringTag(C, NAME);
-
- O[NAME] = C;
- $export($export.G + $export.W + $export.F, O);
-
- if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP);
-
- return C;
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/library/$.export.js b/node_modules/core-js/modules/library/$.export.js
deleted file mode 100644
index 507b5a2..0000000
--- a/node_modules/core-js/modules/library/$.export.js
+++ /dev/null
@@ -1,46 +0,0 @@
-var global = require('./$.global')
- , core = require('./$.core')
- , ctx = require('./$.ctx')
- , PROTOTYPE = 'prototype';
-
-var $export = function(type, name, source){
- var IS_FORCED = type & $export.F
- , IS_GLOBAL = type & $export.G
- , IS_STATIC = type & $export.S
- , IS_PROTO = type & $export.P
- , IS_BIND = type & $export.B
- , IS_WRAP = type & $export.W
- , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})
- , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]
- , key, own, out;
- if(IS_GLOBAL)source = name;
- for(key in source){
- // contains in native
- own = !IS_FORCED && target && key in target;
- if(own && key in exports)continue;
- // export native or passed
- out = own ? target[key] : source[key];
- // prevent global pollution for namespaces
- exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
- // bind timers to global for call from export context
- : IS_BIND && own ? ctx(out, global)
- // wrap global constructors for prevent change them in library
- : IS_WRAP && target[key] == out ? (function(C){
- var F = function(param){
- return this instanceof C ? new C(param) : C(param);
- };
- F[PROTOTYPE] = C[PROTOTYPE];
- return F;
- // make static versions for prototype methods
- })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
- if(IS_PROTO)(exports[PROTOTYPE] || (exports[PROTOTYPE] = {}))[key] = out;
- }
-};
-// type bitmap
-$export.F = 1; // forced
-$export.G = 2; // global
-$export.S = 4; // static
-$export.P = 8; // proto
-$export.B = 16; // bind
-$export.W = 32; // wrap
-module.exports = $export;
\ No newline at end of file
diff --git a/node_modules/core-js/modules/library/$.library.js b/node_modules/core-js/modules/library/$.library.js
deleted file mode 100644
index 73f737c..0000000
--- a/node_modules/core-js/modules/library/$.library.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = true;
\ No newline at end of file
diff --git a/node_modules/core-js/modules/library/$.path.js b/node_modules/core-js/modules/library/$.path.js
deleted file mode 100644
index 27bb24b..0000000
--- a/node_modules/core-js/modules/library/$.path.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('./$.core');
\ No newline at end of file
diff --git a/node_modules/core-js/modules/library/$.redefine.js b/node_modules/core-js/modules/library/$.redefine.js
deleted file mode 100644
index 57453fd..0000000
--- a/node_modules/core-js/modules/library/$.redefine.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('./$.hide');
\ No newline at end of file
diff --git a/node_modules/core-js/modules/library/$.set-species.js b/node_modules/core-js/modules/library/$.set-species.js
deleted file mode 100644
index f6720c3..0000000
--- a/node_modules/core-js/modules/library/$.set-species.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-var core = require('./$.core')
- , $ = require('./$')
- , DESCRIPTORS = require('./$.descriptors')
- , SPECIES = require('./$.wks')('species');
-
-module.exports = function(KEY){
- var C = core[KEY];
- if(DESCRIPTORS && C && !C[SPECIES])$.setDesc(C, SPECIES, {
- configurable: true,
- get: function(){ return this; }
- });
-};
\ No newline at end of file
diff --git a/node_modules/core-js/modules/library/es6.date.to-string.js b/node_modules/core-js/modules/library/es6.date.to-string.js
deleted file mode 100644
index e69de29..0000000
diff --git a/node_modules/core-js/modules/library/es6.function.name.js b/node_modules/core-js/modules/library/es6.function.name.js
deleted file mode 100644
index e69de29..0000000
diff --git a/node_modules/core-js/modules/library/es6.number.constructor.js b/node_modules/core-js/modules/library/es6.number.constructor.js
deleted file mode 100644
index e69de29..0000000
diff --git a/node_modules/core-js/modules/library/es6.object.to-string.js b/node_modules/core-js/modules/library/es6.object.to-string.js
deleted file mode 100644
index e69de29..0000000
diff --git a/node_modules/core-js/modules/library/es6.regexp.constructor.js b/node_modules/core-js/modules/library/es6.regexp.constructor.js
deleted file mode 100644
index 087d9be..0000000
--- a/node_modules/core-js/modules/library/es6.regexp.constructor.js
+++ /dev/null
@@ -1 +0,0 @@
-require('./$.set-species')('RegExp');
\ No newline at end of file
diff --git a/node_modules/core-js/modules/library/es6.regexp.flags.js b/node_modules/core-js/modules/library/es6.regexp.flags.js
deleted file mode 100644
index e69de29..0000000
diff --git a/node_modules/core-js/modules/library/es6.regexp.match.js b/node_modules/core-js/modules/library/es6.regexp.match.js
deleted file mode 100644
index e69de29..0000000
diff --git a/node_modules/core-js/modules/library/es6.regexp.replace.js b/node_modules/core-js/modules/library/es6.regexp.replace.js
deleted file mode 100644
index e69de29..0000000
diff --git a/node_modules/core-js/modules/library/es6.regexp.search.js b/node_modules/core-js/modules/library/es6.regexp.search.js
deleted file mode 100644
index e69de29..0000000
diff --git a/node_modules/core-js/modules/library/es6.regexp.split.js b/node_modules/core-js/modules/library/es6.regexp.split.js
deleted file mode 100644
index e69de29..0000000
diff --git a/node_modules/core-js/modules/library/web.dom.iterable.js b/node_modules/core-js/modules/library/web.dom.iterable.js
deleted file mode 100644
index 988c6da..0000000
--- a/node_modules/core-js/modules/library/web.dom.iterable.js
+++ /dev/null
@@ -1,3 +0,0 @@
-require('./es6.array.iterator');
-var Iterators = require('./$.iterators');
-Iterators.NodeList = Iterators.HTMLCollection = Iterators.Array;
\ No newline at end of file
diff --git a/node_modules/core-js/modules/web.dom.iterable.js b/node_modules/core-js/modules/web.dom.iterable.js
deleted file mode 100644
index 94099b8..0000000
--- a/node_modules/core-js/modules/web.dom.iterable.js
+++ /dev/null
@@ -1,12 +0,0 @@
-require('./es6.array.iterator');
-var global = require('./$.global')
- , hide = require('./$.hide')
- , Iterators = require('./$.iterators')
- , ITERATOR = require('./$.wks')('iterator')
- , NL = global.NodeList
- , HTC = global.HTMLCollection
- , NLProto = NL && NL.prototype
- , HTCProto = HTC && HTC.prototype
- , ArrayValues = Iterators.NodeList = Iterators.HTMLCollection = Iterators.Array;
-if(NLProto && !NLProto[ITERATOR])hide(NLProto, ITERATOR, ArrayValues);
-if(HTCProto && !HTCProto[ITERATOR])hide(HTCProto, ITERATOR, ArrayValues);
\ No newline at end of file
diff --git a/node_modules/core-js/modules/web.immediate.js b/node_modules/core-js/modules/web.immediate.js
deleted file mode 100644
index fa64f08..0000000
--- a/node_modules/core-js/modules/web.immediate.js
+++ /dev/null
@@ -1,6 +0,0 @@
-var $export = require('./$.export')
- , $task = require('./$.task');
-$export($export.G + $export.B, {
- setImmediate: $task.set,
- clearImmediate: $task.clear
-});
\ No newline at end of file
diff --git a/node_modules/core-js/modules/web.timers.js b/node_modules/core-js/modules/web.timers.js
deleted file mode 100644
index 74b7201..0000000
--- a/node_modules/core-js/modules/web.timers.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// ie9- setTimeout & setInterval additional parameters fix
-var global = require('./$.global')
- , $export = require('./$.export')
- , invoke = require('./$.invoke')
- , partial = require('./$.partial')
- , navigator = global.navigator
- , MSIE = !!navigator && /MSIE .\./.test(navigator.userAgent); // <- dirty ie9- check
-var wrap = function(set){
- return MSIE ? function(fn, time /*, ...args */){
- return set(invoke(
- partial,
- [].slice.call(arguments, 2),
- typeof fn == 'function' ? fn : Function(fn)
- ), time);
- } : set;
-};
-$export($export.G + $export.B + $export.F * MSIE, {
- setTimeout: wrap(global.setTimeout),
- setInterval: wrap(global.setInterval)
-});
\ No newline at end of file
diff --git a/node_modules/core-js/package.json b/node_modules/core-js/package.json
deleted file mode 100644
index b1aa592..0000000
--- a/node_modules/core-js/package.json
+++ /dev/null
@@ -1,111 +0,0 @@
-{
- "_args": [
- [
- "core-js@^1.0.0",
- "/home/vincent/Bureau/RIA/node_modules/babel-runtime"
- ]
- ],
- "_from": "core-js@>=1.0.0 <2.0.0",
- "_id": "core-js@1.2.6",
- "_inCache": true,
- "_location": "/core-js",
- "_nodeVersion": "4.2.1",
- "_npmUser": {
- "email": "zloirock@zloirock.ru",
- "name": "zloirock"
- },
- "_npmVersion": "3.3.9",
- "_phantomChildren": {},
- "_requested": {
- "name": "core-js",
- "raw": "core-js@^1.0.0",
- "rawSpec": "^1.0.0",
- "scope": null,
- "spec": ">=1.0.0 <2.0.0",
- "type": "range"
- },
- "_requiredBy": [
- "/babel-register",
- "/babel-runtime",
- "/fbjs"
- ],
- "_resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.6.tgz",
- "_shasum": "e2351f6cae764f8c34e5d839acb6a60cef8b4a45",
- "_shrinkwrap": null,
- "_spec": "core-js@^1.0.0",
- "_where": "/home/vincent/Bureau/RIA/node_modules/babel-runtime",
- "bugs": {
- "url": "https://github.com/zloirock/core-js/issues"
- },
- "dependencies": {},
- "description": "Standard library",
- "devDependencies": {
- "LiveScript": "1.3.x",
- "eslint": "1.9.x",
- "grunt": "0.4.x",
- "grunt-cli": "0.1.x",
- "grunt-contrib-clean": "0.6.x",
- "grunt-contrib-copy": "0.8.x",
- "grunt-contrib-uglify": "0.10.x",
- "grunt-contrib-watch": "0.6.x",
- "grunt-karma": "0.12.x",
- "grunt-livescript": "0.5.x",
- "karma": "0.13.x",
- "karma-chrome-launcher": "0.2.x",
- "karma-firefox-launcher": "0.1.x",
- "karma-ie-launcher": "0.2.x",
- "karma-phantomjs-launcher": "0.2.x",
- "karma-qunit": "0.1.x",
- "promises-aplus-tests": "2.1.x",
- "webpack": "1.12.x"
- },
- "directories": {},
- "dist": {
- "shasum": "e2351f6cae764f8c34e5d839acb6a60cef8b4a45",
- "tarball": "http://registry.npmjs.org/core-js/-/core-js-1.2.6.tgz"
- },
- "gitHead": "280a87d5b3fdbc067c589b2bf960edb1ea12e03c",
- "homepage": "https://github.com/zloirock/core-js#readme",
- "installable": true,
- "keywords": [
- "Array generics",
- "Dict",
- "ECMAScript 5",
- "ECMAScript 6",
- "ECMAScript 7",
- "ES5",
- "ES6",
- "ES7",
- "Harmony",
- "Map",
- "Promise",
- "Set",
- "Strawman",
- "Symbol",
- "WeakMap",
- "WeakSet",
- "partial application",
- "setImmediate"
- ],
- "license": "MIT",
- "main": "index.js",
- "maintainers": [
- {
- "name": "zloirock",
- "email": "zloirock@zloirock.ru"
- }
- ],
- "name": "core-js",
- "optionalDependencies": {},
- "repository": {
- "type": "git",
- "url": "git+https://github.com/zloirock/core-js.git"
- },
- "scripts": {
- "grunt": "grunt",
- "lint": "eslint es5 es6 es7 js web core fn modules",
- "promises-tests": "promises-aplus-tests tests/promises-aplus/adapter",
- "test": "npm run lint && npm run grunt livescript client karma:continuous library karma:continuous-library && npm run promises-tests && lsc tests/commonjs"
- },
- "version": "1.2.6"
-}
diff --git a/node_modules/core-js/shim.js b/node_modules/core-js/shim.js
deleted file mode 100644
index 6d38d2e..0000000
--- a/node_modules/core-js/shim.js
+++ /dev/null
@@ -1,104 +0,0 @@
-require('./modules/es5');
-require('./modules/es6.symbol');
-require('./modules/es6.object.assign');
-require('./modules/es6.object.is');
-require('./modules/es6.object.set-prototype-of');
-require('./modules/es6.object.to-string');
-require('./modules/es6.object.freeze');
-require('./modules/es6.object.seal');
-require('./modules/es6.object.prevent-extensions');
-require('./modules/es6.object.is-frozen');
-require('./modules/es6.object.is-sealed');
-require('./modules/es6.object.is-extensible');
-require('./modules/es6.object.get-own-property-descriptor');
-require('./modules/es6.object.get-prototype-of');
-require('./modules/es6.object.keys');
-require('./modules/es6.object.get-own-property-names');
-require('./modules/es6.function.name');
-require('./modules/es6.function.has-instance');
-require('./modules/es6.number.constructor');
-require('./modules/es6.number.epsilon');
-require('./modules/es6.number.is-finite');
-require('./modules/es6.number.is-integer');
-require('./modules/es6.number.is-nan');
-require('./modules/es6.number.is-safe-integer');
-require('./modules/es6.number.max-safe-integer');
-require('./modules/es6.number.min-safe-integer');
-require('./modules/es6.number.parse-float');
-require('./modules/es6.number.parse-int');
-require('./modules/es6.math.acosh');
-require('./modules/es6.math.asinh');
-require('./modules/es6.math.atanh');
-require('./modules/es6.math.cbrt');
-require('./modules/es6.math.clz32');
-require('./modules/es6.math.cosh');
-require('./modules/es6.math.expm1');
-require('./modules/es6.math.fround');
-require('./modules/es6.math.hypot');
-require('./modules/es6.math.imul');
-require('./modules/es6.math.log10');
-require('./modules/es6.math.log1p');
-require('./modules/es6.math.log2');
-require('./modules/es6.math.sign');
-require('./modules/es6.math.sinh');
-require('./modules/es6.math.tanh');
-require('./modules/es6.math.trunc');
-require('./modules/es6.string.from-code-point');
-require('./modules/es6.string.raw');
-require('./modules/es6.string.trim');
-require('./modules/es6.string.iterator');
-require('./modules/es6.string.code-point-at');
-require('./modules/es6.string.ends-with');
-require('./modules/es6.string.includes');
-require('./modules/es6.string.repeat');
-require('./modules/es6.string.starts-with');
-require('./modules/es6.array.from');
-require('./modules/es6.array.of');
-require('./modules/es6.array.iterator');
-require('./modules/es6.array.species');
-require('./modules/es6.array.copy-within');
-require('./modules/es6.array.fill');
-require('./modules/es6.array.find');
-require('./modules/es6.array.find-index');
-require('./modules/es6.regexp.constructor');
-require('./modules/es6.regexp.flags');
-require('./modules/es6.regexp.match');
-require('./modules/es6.regexp.replace');
-require('./modules/es6.regexp.search');
-require('./modules/es6.regexp.split');
-require('./modules/es6.promise');
-require('./modules/es6.map');
-require('./modules/es6.set');
-require('./modules/es6.weak-map');
-require('./modules/es6.weak-set');
-require('./modules/es6.reflect.apply');
-require('./modules/es6.reflect.construct');
-require('./modules/es6.reflect.define-property');
-require('./modules/es6.reflect.delete-property');
-require('./modules/es6.reflect.enumerate');
-require('./modules/es6.reflect.get');
-require('./modules/es6.reflect.get-own-property-descriptor');
-require('./modules/es6.reflect.get-prototype-of');
-require('./modules/es6.reflect.has');
-require('./modules/es6.reflect.is-extensible');
-require('./modules/es6.reflect.own-keys');
-require('./modules/es6.reflect.prevent-extensions');
-require('./modules/es6.reflect.set');
-require('./modules/es6.reflect.set-prototype-of');
-require('./modules/es7.array.includes');
-require('./modules/es7.string.at');
-require('./modules/es7.string.pad-left');
-require('./modules/es7.string.pad-right');
-require('./modules/es7.string.trim-left');
-require('./modules/es7.string.trim-right');
-require('./modules/es7.regexp.escape');
-require('./modules/es7.object.get-own-property-descriptors');
-require('./modules/es7.object.values');
-require('./modules/es7.object.entries');
-require('./modules/es7.map.to-json');
-require('./modules/es7.set.to-json');
-require('./modules/js.array.statics');
-require('./modules/web.timers');
-require('./modules/web.immediate');
-require('./modules/web.dom.iterable');
-module.exports = require('./modules/$.core');
\ No newline at end of file
diff --git a/node_modules/core-js/web/dom.js b/node_modules/core-js/web/dom.js
deleted file mode 100644
index 9b448cf..0000000
--- a/node_modules/core-js/web/dom.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/web.dom.iterable');
-module.exports = require('../modules/$.core');
\ No newline at end of file
diff --git a/node_modules/core-js/web/immediate.js b/node_modules/core-js/web/immediate.js
deleted file mode 100644
index e4e5493..0000000
--- a/node_modules/core-js/web/immediate.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/web.immediate');
-module.exports = require('../modules/$.core');
\ No newline at end of file
diff --git a/node_modules/core-js/web/index.js b/node_modules/core-js/web/index.js
deleted file mode 100644
index 6c3221e..0000000
--- a/node_modules/core-js/web/index.js
+++ /dev/null
@@ -1,4 +0,0 @@
-require('../modules/web.timers');
-require('../modules/web.immediate');
-require('../modules/web.dom.iterable');
-module.exports = require('../modules/$.core');
\ No newline at end of file
diff --git a/node_modules/core-js/web/timers.js b/node_modules/core-js/web/timers.js
deleted file mode 100644
index 763ea44..0000000
--- a/node_modules/core-js/web/timers.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('../modules/web.timers');
-module.exports = require('../modules/$.core');
\ No newline at end of file
diff --git a/node_modules/debug/.jshintrc b/node_modules/debug/.jshintrc
deleted file mode 100644
index 299877f..0000000
--- a/node_modules/debug/.jshintrc
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "laxbreak": true
-}
diff --git a/node_modules/debug/.npmignore b/node_modules/debug/.npmignore
deleted file mode 100644
index 7e6163d..0000000
--- a/node_modules/debug/.npmignore
+++ /dev/null
@@ -1,6 +0,0 @@
-support
-test
-examples
-example
-*.sock
-dist
diff --git a/node_modules/debug/History.md b/node_modules/debug/History.md
deleted file mode 100644
index 854c971..0000000
--- a/node_modules/debug/History.md
+++ /dev/null
@@ -1,195 +0,0 @@
-
-2.2.0 / 2015-05-09
-==================
-
- * package: update "ms" to v0.7.1 (#202, @dougwilson)
- * README: add logging to file example (#193, @DanielOchoa)
- * README: fixed a typo (#191, @amir-s)
- * browser: expose `storage` (#190, @stephenmathieson)
- * Makefile: add a `distclean` target (#189, @stephenmathieson)
-
-2.1.3 / 2015-03-13
-==================
-
- * Updated stdout/stderr example (#186)
- * Updated example/stdout.js to match debug current behaviour
- * Renamed example/stderr.js to stdout.js
- * Update Readme.md (#184)
- * replace high intensity foreground color for bold (#182, #183)
-
-2.1.2 / 2015-03-01
-==================
-
- * dist: recompile
- * update "ms" to v0.7.0
- * package: update "browserify" to v9.0.3
- * component: fix "ms.js" repo location
- * changed bower package name
- * updated documentation about using debug in a browser
- * fix: security error on safari (#167, #168, @yields)
-
-2.1.1 / 2014-12-29
-==================
-
- * browser: use `typeof` to check for `console` existence
- * browser: check for `console.log` truthiness (fix IE 8/9)
- * browser: add support for Chrome apps
- * Readme: added Windows usage remarks
- * Add `bower.json` to properly support bower install
-
-2.1.0 / 2014-10-15
-==================
-
- * node: implement `DEBUG_FD` env variable support
- * package: update "browserify" to v6.1.0
- * package: add "license" field to package.json (#135, @panuhorsmalahti)
-
-2.0.0 / 2014-09-01
-==================
-
- * package: update "browserify" to v5.11.0
- * node: use stderr rather than stdout for logging (#29, @stephenmathieson)
-
-1.0.4 / 2014-07-15
-==================
-
- * dist: recompile
- * example: remove `console.info()` log usage
- * example: add "Content-Type" UTF-8 header to browser example
- * browser: place %c marker after the space character
- * browser: reset the "content" color via `color: inherit`
- * browser: add colors support for Firefox >= v31
- * debug: prefer an instance `log()` function over the global one (#119)
- * Readme: update documentation about styled console logs for FF v31 (#116, @wryk)
-
-1.0.3 / 2014-07-09
-==================
-
- * Add support for multiple wildcards in namespaces (#122, @seegno)
- * browser: fix lint
-
-1.0.2 / 2014-06-10
-==================
-
- * browser: update color palette (#113, @gscottolson)
- * common: make console logging function configurable (#108, @timoxley)
- * node: fix %o colors on old node <= 0.8.x
- * Makefile: find node path using shell/which (#109, @timoxley)
-
-1.0.1 / 2014-06-06
-==================
-
- * browser: use `removeItem()` to clear localStorage
- * browser, node: don't set DEBUG if namespaces is undefined (#107, @leedm777)
- * package: add "contributors" section
- * node: fix comment typo
- * README: list authors
-
-1.0.0 / 2014-06-04
-==================
-
- * make ms diff be global, not be scope
- * debug: ignore empty strings in enable()
- * node: make DEBUG_COLORS able to disable coloring
- * *: export the `colors` array
- * npmignore: don't publish the `dist` dir
- * Makefile: refactor to use browserify
- * package: add "browserify" as a dev dependency
- * Readme: add Web Inspector Colors section
- * node: reset terminal color for the debug content
- * node: map "%o" to `util.inspect()`
- * browser: map "%j" to `JSON.stringify()`
- * debug: add custom "formatters"
- * debug: use "ms" module for humanizing the diff
- * Readme: add "bash" syntax highlighting
- * browser: add Firebug color support
- * browser: add colors for WebKit browsers
- * node: apply log to `console`
- * rewrite: abstract common logic for Node & browsers
- * add .jshintrc file
-
-0.8.1 / 2014-04-14
-==================
-
- * package: re-add the "component" section
-
-0.8.0 / 2014-03-30
-==================
-
- * add `enable()` method for nodejs. Closes #27
- * change from stderr to stdout
- * remove unnecessary index.js file
-
-0.7.4 / 2013-11-13
-==================
-
- * remove "browserify" key from package.json (fixes something in browserify)
-
-0.7.3 / 2013-10-30
-==================
-
- * fix: catch localStorage security error when cookies are blocked (Chrome)
- * add debug(err) support. Closes #46
- * add .browser prop to package.json. Closes #42
-
-0.7.2 / 2013-02-06
-==================
-
- * fix package.json
- * fix: Mobile Safari (private mode) is broken with debug
- * fix: Use unicode to send escape character to shell instead of octal to work with strict mode javascript
-
-0.7.1 / 2013-02-05
-==================
-
- * add repository URL to package.json
- * add DEBUG_COLORED to force colored output
- * add browserify support
- * fix component. Closes #24
-
-0.7.0 / 2012-05-04
-==================
-
- * Added .component to package.json
- * Added debug.component.js build
-
-0.6.0 / 2012-03-16
-==================
-
- * Added support for "-" prefix in DEBUG [Vinay Pulim]
- * Added `.enabled` flag to the node version [TooTallNate]
-
-0.5.0 / 2012-02-02
-==================
-
- * Added: humanize diffs. Closes #8
- * Added `debug.disable()` to the CS variant
- * Removed padding. Closes #10
- * Fixed: persist client-side variant again. Closes #9
-
-0.4.0 / 2012-02-01
-==================
-
- * Added browser variant support for older browsers [TooTallNate]
- * Added `debug.enable('project:*')` to browser variant [TooTallNate]
- * Added padding to diff (moved it to the right)
-
-0.3.0 / 2012-01-26
-==================
-
- * Added millisecond diff when isatty, otherwise UTC string
-
-0.2.0 / 2012-01-22
-==================
-
- * Added wildcard support
-
-0.1.0 / 2011-12-02
-==================
-
- * Added: remove colors unless stderr isatty [TooTallNate]
-
-0.0.1 / 2010-01-03
-==================
-
- * Initial release
diff --git a/node_modules/debug/Makefile b/node_modules/debug/Makefile
deleted file mode 100644
index 5cf4a59..0000000
--- a/node_modules/debug/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-
-# get Makefile directory name: http://stackoverflow.com/a/5982798/376773
-THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
-THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd)
-
-# BIN directory
-BIN := $(THIS_DIR)/node_modules/.bin
-
-# applications
-NODE ?= $(shell which node)
-NPM ?= $(NODE) $(shell which npm)
-BROWSERIFY ?= $(NODE) $(BIN)/browserify
-
-all: dist/debug.js
-
-install: node_modules
-
-clean:
- @rm -rf dist
-
-dist:
- @mkdir -p $@
-
-dist/debug.js: node_modules browser.js debug.js dist
- @$(BROWSERIFY) \
- --standalone debug \
- . > $@
-
-distclean: clean
- @rm -rf node_modules
-
-node_modules: package.json
- @NODE_ENV= $(NPM) install
- @touch node_modules
-
-.PHONY: all install clean distclean
diff --git a/node_modules/debug/Readme.md b/node_modules/debug/Readme.md
deleted file mode 100644
index b4f45e3..0000000
--- a/node_modules/debug/Readme.md
+++ /dev/null
@@ -1,188 +0,0 @@
-# debug
-
- tiny node.js debugging utility modelled after node core's debugging technique.
-
-## Installation
-
-```bash
-$ npm install debug
-```
-
-## Usage
-
- With `debug` you simply invoke the exported function to generate your debug function, passing it a name which will determine if a noop function is returned, or a decorated `console.error`, so all of the `console` format string goodies you're used to work fine. A unique color is selected per-function for visibility.
-
-Example _app.js_:
-
-```js
-var debug = require('debug')('http')
- , http = require('http')
- , name = 'My App';
-
-// fake app
-
-debug('booting %s', name);
-
-http.createServer(function(req, res){
- debug(req.method + ' ' + req.url);
- res.end('hello\n');
-}).listen(3000, function(){
- debug('listening');
-});
-
-// fake worker of some kind
-
-require('./worker');
-```
-
-Example _worker.js_:
-
-```js
-var debug = require('debug')('worker');
-
-setInterval(function(){
- debug('doing some work');
-}, 1000);
-```
-
- The __DEBUG__ environment variable is then used to enable these based on space or comma-delimited names. Here are some examples:
-
- 
-
- 
-
-#### Windows note
-
- On Windows the environment variable is set using the `set` command.
-
- ```cmd
- set DEBUG=*,-not_this
- ```
-
-Then, run the program to be debugged as usual.
-
-## Millisecond diff
-
- When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls.
-
- 
-
- When stdout is not a TTY, `Date#toUTCString()` is used, making it more useful for logging the debug information as shown below:
-
- 
-
-## Conventions
-
- If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser".
-
-## Wildcards
-
- The `*` character may be used as a wildcard. Suppose for example your library has debuggers named "connect:bodyParser", "connect:compress", "connect:session", instead of listing all three with `DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do `DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`.
-
- You can also exclude specific debuggers by prefixing them with a "-" character. For example, `DEBUG=*,-connect:*` would include all debuggers except those starting with "connect:".
-
-## Browser support
-
- Debug works in the browser as well, currently persisted by `localStorage`. Consider the situation shown below where you have `worker:a` and `worker:b`, and wish to debug both. Somewhere in the code on your page, include:
-
-```js
-window.myDebug = require("debug");
-```
-
- ("debug" is a global object in the browser so we give this object a different name.) When your page is open in the browser, type the following in the console:
-
-```js
-myDebug.enable("worker:*")
-```
-
- Refresh the page. Debug output will continue to be sent to the console until it is disabled by typing `myDebug.disable()` in the console.
-
-```js
-a = debug('worker:a');
-b = debug('worker:b');
-
-setInterval(function(){
- a('doing some work');
-}, 1000);
-
-setInterval(function(){
- b('doing some work');
-}, 1200);
-```
-
-#### Web Inspector Colors
-
- Colors are also enabled on "Web Inspectors" that understand the `%c` formatting
- option. These are WebKit web inspectors, Firefox ([since version
- 31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/))
- and the Firebug plugin for Firefox (any version).
-
- Colored output looks something like:
-
- 
-
-### stderr vs stdout
-
-You can set an alternative logging method per-namespace by overriding the `log` method on a per-namespace or globally:
-
-Example _stdout.js_:
-
-```js
-var debug = require('debug');
-var error = debug('app:error');
-
-// by default stderr is used
-error('goes to stderr!');
-
-var log = debug('app:log');
-// set this namespace to log via console.log
-log.log = console.log.bind(console); // don't forget to bind to console!
-log('goes to stdout');
-error('still goes to stderr!');
-
-// set all output to go via console.info
-// overrides all per-namespace log settings
-debug.log = console.info.bind(console);
-error('now goes to stdout via console.info');
-log('still goes to stdout, but via console.info now');
-```
-
-### Save debug output to a file
-
-You can save all debug statements to a file by piping them.
-
-Example:
-
-```bash
-$ DEBUG_FD=3 node your-app.js 3> whatever.log
-```
-
-## Authors
-
- - TJ Holowaychuk
- - Nathan Rajlich
-
-## License
-
-(The MIT License)
-
-Copyright (c) 2014 TJ Holowaychuk <tj@vision-media.ca>
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/debug/bower.json b/node_modules/debug/bower.json
deleted file mode 100644
index 6af573f..0000000
--- a/node_modules/debug/bower.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "name": "visionmedia-debug",
- "main": "dist/debug.js",
- "version": "2.2.0",
- "homepage": "https://github.com/visionmedia/debug",
- "authors": [
- "TJ Holowaychuk "
- ],
- "description": "visionmedia-debug",
- "moduleType": [
- "amd",
- "es6",
- "globals",
- "node"
- ],
- "keywords": [
- "visionmedia",
- "debug"
- ],
- "license": "MIT",
- "ignore": [
- "**/.*",
- "node_modules",
- "bower_components",
- "test",
- "tests"
- ]
-}
diff --git a/node_modules/debug/browser.js b/node_modules/debug/browser.js
deleted file mode 100644
index 7c76452..0000000
--- a/node_modules/debug/browser.js
+++ /dev/null
@@ -1,168 +0,0 @@
-
-/**
- * This is the web browser implementation of `debug()`.
- *
- * Expose `debug()` as the module.
- */
-
-exports = module.exports = require('./debug');
-exports.log = log;
-exports.formatArgs = formatArgs;
-exports.save = save;
-exports.load = load;
-exports.useColors = useColors;
-exports.storage = 'undefined' != typeof chrome
- && 'undefined' != typeof chrome.storage
- ? chrome.storage.local
- : localstorage();
-
-/**
- * Colors.
- */
-
-exports.colors = [
- 'lightseagreen',
- 'forestgreen',
- 'goldenrod',
- 'dodgerblue',
- 'darkorchid',
- 'crimson'
-];
-
-/**
- * Currently only WebKit-based Web Inspectors, Firefox >= v31,
- * and the Firebug extension (any Firefox version) are known
- * to support "%c" CSS customizations.
- *
- * TODO: add a `localStorage` variable to explicitly enable/disable colors
- */
-
-function useColors() {
- // is webkit? http://stackoverflow.com/a/16459606/376773
- return ('WebkitAppearance' in document.documentElement.style) ||
- // is firebug? http://stackoverflow.com/a/398120/376773
- (window.console && (console.firebug || (console.exception && console.table))) ||
- // is firefox >= v31?
- // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
- (navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31);
-}
-
-/**
- * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
- */
-
-exports.formatters.j = function(v) {
- return JSON.stringify(v);
-};
-
-
-/**
- * Colorize log arguments if enabled.
- *
- * @api public
- */
-
-function formatArgs() {
- var args = arguments;
- var useColors = this.useColors;
-
- args[0] = (useColors ? '%c' : '')
- + this.namespace
- + (useColors ? ' %c' : ' ')
- + args[0]
- + (useColors ? '%c ' : ' ')
- + '+' + exports.humanize(this.diff);
-
- if (!useColors) return args;
-
- var c = 'color: ' + this.color;
- args = [args[0], c, 'color: inherit'].concat(Array.prototype.slice.call(args, 1));
-
- // the final "%c" is somewhat tricky, because there could be other
- // arguments passed either before or after the %c, so we need to
- // figure out the correct index to insert the CSS into
- var index = 0;
- var lastC = 0;
- args[0].replace(/%[a-z%]/g, function(match) {
- if ('%%' === match) return;
- index++;
- if ('%c' === match) {
- // we only are interested in the *last* %c
- // (the user may have provided their own)
- lastC = index;
- }
- });
-
- args.splice(lastC, 0, c);
- return args;
-}
-
-/**
- * Invokes `console.log()` when available.
- * No-op when `console.log` is not a "function".
- *
- * @api public
- */
-
-function log() {
- // this hackery is required for IE8/9, where
- // the `console.log` function doesn't have 'apply'
- return 'object' === typeof console
- && console.log
- && Function.prototype.apply.call(console.log, console, arguments);
-}
-
-/**
- * Save `namespaces`.
- *
- * @param {String} namespaces
- * @api private
- */
-
-function save(namespaces) {
- try {
- if (null == namespaces) {
- exports.storage.removeItem('debug');
- } else {
- exports.storage.debug = namespaces;
- }
- } catch(e) {}
-}
-
-/**
- * Load `namespaces`.
- *
- * @return {String} returns the previously persisted debug modes
- * @api private
- */
-
-function load() {
- var r;
- try {
- r = exports.storage.debug;
- } catch(e) {}
- return r;
-}
-
-/**
- * Enable namespaces listed in `localStorage.debug` initially.
- */
-
-exports.enable(load());
-
-/**
- * Localstorage attempts to return the localstorage.
- *
- * This is necessary because safari throws
- * when a user disables cookies/localstorage
- * and you attempt to access it.
- *
- * @return {LocalStorage}
- * @api private
- */
-
-function localstorage(){
- try {
- return window.localStorage;
- } catch (e) {}
-}
diff --git a/node_modules/debug/component.json b/node_modules/debug/component.json
deleted file mode 100644
index ca10637..0000000
--- a/node_modules/debug/component.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "name": "debug",
- "repo": "visionmedia/debug",
- "description": "small debugging utility",
- "version": "2.2.0",
- "keywords": [
- "debug",
- "log",
- "debugger"
- ],
- "main": "browser.js",
- "scripts": [
- "browser.js",
- "debug.js"
- ],
- "dependencies": {
- "rauchg/ms.js": "0.7.1"
- }
-}
diff --git a/node_modules/debug/debug.js b/node_modules/debug/debug.js
deleted file mode 100644
index 7571a86..0000000
--- a/node_modules/debug/debug.js
+++ /dev/null
@@ -1,197 +0,0 @@
-
-/**
- * This is the common logic for both the Node.js and web browser
- * implementations of `debug()`.
- *
- * Expose `debug()` as the module.
- */
-
-exports = module.exports = debug;
-exports.coerce = coerce;
-exports.disable = disable;
-exports.enable = enable;
-exports.enabled = enabled;
-exports.humanize = require('ms');
-
-/**
- * The currently active debug mode names, and names to skip.
- */
-
-exports.names = [];
-exports.skips = [];
-
-/**
- * Map of special "%n" handling functions, for the debug "format" argument.
- *
- * Valid key names are a single, lowercased letter, i.e. "n".
- */
-
-exports.formatters = {};
-
-/**
- * Previously assigned color.
- */
-
-var prevColor = 0;
-
-/**
- * Previous log timestamp.
- */
-
-var prevTime;
-
-/**
- * Select a color.
- *
- * @return {Number}
- * @api private
- */
-
-function selectColor() {
- return exports.colors[prevColor++ % exports.colors.length];
-}
-
-/**
- * Create a debugger with the given `namespace`.
- *
- * @param {String} namespace
- * @return {Function}
- * @api public
- */
-
-function debug(namespace) {
-
- // define the `disabled` version
- function disabled() {
- }
- disabled.enabled = false;
-
- // define the `enabled` version
- function enabled() {
-
- var self = enabled;
-
- // set `diff` timestamp
- var curr = +new Date();
- var ms = curr - (prevTime || curr);
- self.diff = ms;
- self.prev = prevTime;
- self.curr = curr;
- prevTime = curr;
-
- // add the `color` if not set
- if (null == self.useColors) self.useColors = exports.useColors();
- if (null == self.color && self.useColors) self.color = selectColor();
-
- var args = Array.prototype.slice.call(arguments);
-
- args[0] = exports.coerce(args[0]);
-
- if ('string' !== typeof args[0]) {
- // anything else let's inspect with %o
- args = ['%o'].concat(args);
- }
-
- // apply any `formatters` transformations
- var index = 0;
- args[0] = args[0].replace(/%([a-z%])/g, function(match, format) {
- // if we encounter an escaped % then don't increase the array index
- if (match === '%%') return match;
- index++;
- var formatter = exports.formatters[format];
- if ('function' === typeof formatter) {
- var val = args[index];
- match = formatter.call(self, val);
-
- // now we need to remove `args[index]` since it's inlined in the `format`
- args.splice(index, 1);
- index--;
- }
- return match;
- });
-
- if ('function' === typeof exports.formatArgs) {
- args = exports.formatArgs.apply(self, args);
- }
- var logFn = enabled.log || exports.log || console.log.bind(console);
- logFn.apply(self, args);
- }
- enabled.enabled = true;
-
- var fn = exports.enabled(namespace) ? enabled : disabled;
-
- fn.namespace = namespace;
-
- return fn;
-}
-
-/**
- * Enables a debug mode by namespaces. This can include modes
- * separated by a colon and wildcards.
- *
- * @param {String} namespaces
- * @api public
- */
-
-function enable(namespaces) {
- exports.save(namespaces);
-
- var split = (namespaces || '').split(/[\s,]+/);
- var len = split.length;
-
- for (var i = 0; i < len; i++) {
- if (!split[i]) continue; // ignore empty strings
- namespaces = split[i].replace(/\*/g, '.*?');
- if (namespaces[0] === '-') {
- exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));
- } else {
- exports.names.push(new RegExp('^' + namespaces + '$'));
- }
- }
-}
-
-/**
- * Disable debug output.
- *
- * @api public
- */
-
-function disable() {
- exports.enable('');
-}
-
-/**
- * Returns true if the given mode name is enabled, false otherwise.
- *
- * @param {String} name
- * @return {Boolean}
- * @api public
- */
-
-function enabled(name) {
- var i, len;
- for (i = 0, len = exports.skips.length; i < len; i++) {
- if (exports.skips[i].test(name)) {
- return false;
- }
- }
- for (i = 0, len = exports.names.length; i < len; i++) {
- if (exports.names[i].test(name)) {
- return true;
- }
- }
- return false;
-}
-
-/**
- * Coerce `val`.
- *
- * @param {Mixed} val
- * @return {Mixed}
- * @api private
- */
-
-function coerce(val) {
- if (val instanceof Error) return val.stack || val.message;
- return val;
-}
diff --git a/node_modules/debug/node.js b/node_modules/debug/node.js
deleted file mode 100644
index 1d392a8..0000000
--- a/node_modules/debug/node.js
+++ /dev/null
@@ -1,209 +0,0 @@
-
-/**
- * Module dependencies.
- */
-
-var tty = require('tty');
-var util = require('util');
-
-/**
- * This is the Node.js implementation of `debug()`.
- *
- * Expose `debug()` as the module.
- */
-
-exports = module.exports = require('./debug');
-exports.log = log;
-exports.formatArgs = formatArgs;
-exports.save = save;
-exports.load = load;
-exports.useColors = useColors;
-
-/**
- * Colors.
- */
-
-exports.colors = [6, 2, 3, 4, 5, 1];
-
-/**
- * The file descriptor to write the `debug()` calls to.
- * Set the `DEBUG_FD` env variable to override with another value. i.e.:
- *
- * $ DEBUG_FD=3 node script.js 3>debug.log
- */
-
-var fd = parseInt(process.env.DEBUG_FD, 10) || 2;
-var stream = 1 === fd ? process.stdout :
- 2 === fd ? process.stderr :
- createWritableStdioStream(fd);
-
-/**
- * Is stdout a TTY? Colored output is enabled when `true`.
- */
-
-function useColors() {
- var debugColors = (process.env.DEBUG_COLORS || '').trim().toLowerCase();
- if (0 === debugColors.length) {
- return tty.isatty(fd);
- } else {
- return '0' !== debugColors
- && 'no' !== debugColors
- && 'false' !== debugColors
- && 'disabled' !== debugColors;
- }
-}
-
-/**
- * Map %o to `util.inspect()`, since Node doesn't do that out of the box.
- */
-
-var inspect = (4 === util.inspect.length ?
- // node <= 0.8.x
- function (v, colors) {
- return util.inspect(v, void 0, void 0, colors);
- } :
- // node > 0.8.x
- function (v, colors) {
- return util.inspect(v, { colors: colors });
- }
-);
-
-exports.formatters.o = function(v) {
- return inspect(v, this.useColors)
- .replace(/\s*\n\s*/g, ' ');
-};
-
-/**
- * Adds ANSI color escape codes if enabled.
- *
- * @api public
- */
-
-function formatArgs() {
- var args = arguments;
- var useColors = this.useColors;
- var name = this.namespace;
-
- if (useColors) {
- var c = this.color;
-
- args[0] = ' \u001b[3' + c + ';1m' + name + ' '
- + '\u001b[0m'
- + args[0] + '\u001b[3' + c + 'm'
- + ' +' + exports.humanize(this.diff) + '\u001b[0m';
- } else {
- args[0] = new Date().toUTCString()
- + ' ' + name + ' ' + args[0];
- }
- return args;
-}
-
-/**
- * Invokes `console.error()` with the specified arguments.
- */
-
-function log() {
- return stream.write(util.format.apply(this, arguments) + '\n');
-}
-
-/**
- * Save `namespaces`.
- *
- * @param {String} namespaces
- * @api private
- */
-
-function save(namespaces) {
- if (null == namespaces) {
- // If you set a process.env field to null or undefined, it gets cast to the
- // string 'null' or 'undefined'. Just delete instead.
- delete process.env.DEBUG;
- } else {
- process.env.DEBUG = namespaces;
- }
-}
-
-/**
- * Load `namespaces`.
- *
- * @return {String} returns the previously persisted debug modes
- * @api private
- */
-
-function load() {
- return process.env.DEBUG;
-}
-
-/**
- * Copied from `node/src/node.js`.
- *
- * XXX: It's lame that node doesn't expose this API out-of-the-box. It also
- * relies on the undocumented `tty_wrap.guessHandleType()` which is also lame.
- */
-
-function createWritableStdioStream (fd) {
- var stream;
- var tty_wrap = process.binding('tty_wrap');
-
- // Note stream._type is used for test-module-load-list.js
-
- switch (tty_wrap.guessHandleType(fd)) {
- case 'TTY':
- stream = new tty.WriteStream(fd);
- stream._type = 'tty';
-
- // Hack to have stream not keep the event loop alive.
- // See https://github.com/joyent/node/issues/1726
- if (stream._handle && stream._handle.unref) {
- stream._handle.unref();
- }
- break;
-
- case 'FILE':
- var fs = require('fs');
- stream = new fs.SyncWriteStream(fd, { autoClose: false });
- stream._type = 'fs';
- break;
-
- case 'PIPE':
- case 'TCP':
- var net = require('net');
- stream = new net.Socket({
- fd: fd,
- readable: false,
- writable: true
- });
-
- // FIXME Should probably have an option in net.Socket to create a
- // stream from an existing fd which is writable only. But for now
- // we'll just add this hack and set the `readable` member to false.
- // Test: ./node test/fixtures/echo.js < /etc/passwd
- stream.readable = false;
- stream.read = null;
- stream._type = 'pipe';
-
- // FIXME Hack to have stream not keep the event loop alive.
- // See https://github.com/joyent/node/issues/1726
- if (stream._handle && stream._handle.unref) {
- stream._handle.unref();
- }
- break;
-
- default:
- // Probably an error on in uv_guess_handle()
- throw new Error('Implement me. Unknown stream file type!');
- }
-
- // For supporting legacy API we put the FD here.
- stream.fd = fd;
-
- stream._isStdio = true;
-
- return stream;
-}
-
-/**
- * Enable namespaces listed in `process.env.DEBUG` initially.
- */
-
-exports.enable(load());
diff --git a/node_modules/debug/package.json b/node_modules/debug/package.json
deleted file mode 100644
index 72375ac..0000000
--- a/node_modules/debug/package.json
+++ /dev/null
@@ -1,102 +0,0 @@
-{
- "_args": [
- [
- "debug@^2.2.0",
- "/home/vincent/Bureau/RIA/node_modules/babel-traverse"
- ]
- ],
- "_from": "debug@>=2.2.0 <3.0.0",
- "_id": "debug@2.2.0",
- "_inCache": true,
- "_location": "/debug",
- "_nodeVersion": "0.12.2",
- "_npmUser": {
- "email": "nathan@tootallnate.net",
- "name": "tootallnate"
- },
- "_npmVersion": "2.7.4",
- "_phantomChildren": {},
- "_requested": {
- "name": "debug",
- "raw": "debug@^2.2.0",
- "rawSpec": "^2.2.0",
- "scope": null,
- "spec": ">=2.2.0 <3.0.0",
- "type": "range"
- },
- "_requiredBy": [
- "/babel-core",
- "/babel-traverse",
- "/body-parser",
- "/express",
- "/finalhandler",
- "/send"
- ],
- "_resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "_shasum": "f87057e995b1a1f6ae6a4960664137bc56f039da",
- "_shrinkwrap": null,
- "_spec": "debug@^2.2.0",
- "_where": "/home/vincent/Bureau/RIA/node_modules/babel-traverse",
- "author": {
- "email": "tj@vision-media.ca",
- "name": "TJ Holowaychuk"
- },
- "browser": "./browser.js",
- "bugs": {
- "url": "https://github.com/visionmedia/debug/issues"
- },
- "component": {
- "scripts": {
- "debug/debug.js": "debug.js",
- "debug/index.js": "browser.js"
- }
- },
- "contributors": [
- {
- "name": "Nathan Rajlich",
- "email": "nathan@tootallnate.net",
- "url": "http://n8.io"
- }
- ],
- "dependencies": {
- "ms": "0.7.1"
- },
- "description": "small debugging utility",
- "devDependencies": {
- "browserify": "9.0.3",
- "mocha": "*"
- },
- "directories": {},
- "dist": {
- "shasum": "f87057e995b1a1f6ae6a4960664137bc56f039da",
- "tarball": "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz"
- },
- "gitHead": "b38458422b5aa8aa6d286b10dfe427e8a67e2b35",
- "homepage": "https://github.com/visionmedia/debug",
- "installable": true,
- "keywords": [
- "debug",
- "debugger",
- "log"
- ],
- "license": "MIT",
- "main": "./node.js",
- "maintainers": [
- {
- "name": "tjholowaychuk",
- "email": "tj@vision-media.ca"
- },
- {
- "name": "tootallnate",
- "email": "nathan@tootallnate.net"
- }
- ],
- "name": "debug",
- "optionalDependencies": {},
- "repository": {
- "type": "git",
- "url": "git://github.com/visionmedia/debug.git"
- },
- "scripts": {},
- "version": "2.2.0"
-}
diff --git a/node_modules/define-properties/.editorconfig b/node_modules/define-properties/.editorconfig
deleted file mode 100644
index eaa2141..0000000
--- a/node_modules/define-properties/.editorconfig
+++ /dev/null
@@ -1,13 +0,0 @@
-root = true
-
-[*]
-indent_style = tab;
-insert_final_newline = true;
-quote_type = auto;
-space_after_anonymous_functions = true;
-space_after_control_statements = true;
-spaces_around_operators = true;
-trim_trailing_whitespace = true;
-spaces_in_brackets = false;
-end_of_line = lf;
-
diff --git a/node_modules/define-properties/.eslintrc b/node_modules/define-properties/.eslintrc
deleted file mode 100644
index 87e47e1..0000000
--- a/node_modules/define-properties/.eslintrc
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "root": true,
-
- "extends": "@ljharb",
-
- "rules": {
- "id-length": [2, { "min": 1, "max": 35 }],
- "max-params": [2, 4],
- "max-statements": [2, 13]
- }
-}
diff --git a/node_modules/define-properties/.jscs.json b/node_modules/define-properties/.jscs.json
deleted file mode 100644
index 034652c..0000000
--- a/node_modules/define-properties/.jscs.json
+++ /dev/null
@@ -1,131 +0,0 @@
-{
- "es3": true,
-
- "additionalRules": [],
-
- "requireSemicolons": true,
-
- "disallowMultipleSpaces": true,
-
- "disallowIdentifierNames": [],
-
- "requireCurlyBraces": ["if", "else", "for", "while", "do", "try", "catch"],
-
- "requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"],
-
- "disallowSpaceAfterKeywords": [],
-
- "disallowSpaceBeforeComma": true,
- "disallowSpaceBeforeSemicolon": true,
-
- "disallowNodeTypes": [
- "DebuggerStatement",
- "LabeledStatement",
- "SwitchCase",
- "SwitchStatement",
- "WithStatement"
- ],
-
- "requireObjectKeysOnNewLine": false,
-
- "requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true },
- "requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true },
- "disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true },
- "requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true },
- "disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true },
-
- "requireSpaceBetweenArguments": true,
-
- "disallowSpacesInsideParentheses": true,
-
- "disallowSpacesInsideArrayBrackets": true,
-
- "disallowQuotedKeysInObjects": "allButReserved",
-
- "disallowSpaceAfterObjectKeys": true,
-
- "requireCommaBeforeLineBreak": true,
-
- "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
- "requireSpaceAfterPrefixUnaryOperators": [],
-
- "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
- "requireSpaceBeforePostfixUnaryOperators": [],
-
- "disallowSpaceBeforeBinaryOperators": [],
- "requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
-
- "requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
- "disallowSpaceAfterBinaryOperators": [],
-
- "disallowImplicitTypeConversion": ["binary", "string"],
-
- "disallowKeywords": ["with", "eval"],
-
- "requireKeywordsOnNewLine": [],
- "disallowKeywordsOnNewLine": ["else"],
-
- "requireLineFeedAtFileEnd": true,
-
- "disallowTrailingWhitespace": true,
-
- "disallowTrailingComma": true,
-
- "excludeFiles": ["node_modules/**", "vendor/**"],
-
- "disallowMultipleLineStrings": true,
-
- "requireDotNotation": true,
-
- "requireParenthesesAroundIIFE": true,
-
- "validateLineBreaks": "LF",
-
- "validateQuoteMarks": {
- "escape": true,
- "mark": "'"
- },
-
- "disallowOperatorBeforeLineBreak": [],
-
- "requireSpaceBeforeKeywords": [
- "do",
- "for",
- "if",
- "else",
- "switch",
- "case",
- "try",
- "catch",
- "finally",
- "while",
- "with",
- "return"
- ],
-
- "validateAlignedFunctionParameters": {
- "lineBreakAfterOpeningBraces": true,
- "lineBreakBeforeClosingBraces": true
- },
-
- "requirePaddingNewLinesBeforeExport": true,
-
- "validateNewlineAfterArrayElements": {
- "maximum": 3
- },
-
- "requirePaddingNewLinesAfterUseStrict": true,
-
- "disallowArrowFunctions": true,
-
- "disallowMultiLineTernary": true,
-
- "validateOrderInObjectKeys": "asc-insensitive",
-
- "disallowIdenticalDestructuringNames": true,
-
- "disallowNestedTernaries": { "maxLevel": 1 },
-
- "requireSpaceAfterComma": true
-}
-
diff --git a/node_modules/define-properties/.npmignore b/node_modules/define-properties/.npmignore
deleted file mode 100644
index a777a81..0000000
--- a/node_modules/define-properties/.npmignore
+++ /dev/null
@@ -1,2 +0,0 @@
-test/*
-
diff --git a/node_modules/define-properties/.travis.yml b/node_modules/define-properties/.travis.yml
deleted file mode 100644
index 324496c..0000000
--- a/node_modules/define-properties/.travis.yml
+++ /dev/null
@@ -1,60 +0,0 @@
-language: node_js
-node_js:
- - "4.2"
- - "4.1"
- - "4.0"
- - "iojs-v3.3"
- - "iojs-v3.2"
- - "iojs-v3.1"
- - "iojs-v3.0"
- - "iojs-v2.5"
- - "iojs-v2.4"
- - "iojs-v2.3"
- - "iojs-v2.2"
- - "iojs-v2.1"
- - "iojs-v2.0"
- - "iojs-v1.8"
- - "iojs-v1.7"
- - "iojs-v1.6"
- - "iojs-v1.5"
- - "iojs-v1.4"
- - "iojs-v1.3"
- - "iojs-v1.2"
- - "iojs-v1.1"
- - "iojs-v1.0"
- - "0.12"
- - "0.11"
- - "0.10"
- - "0.9"
- - "0.8"
- - "0.6"
- - "0.4"
-before_install:
- - '[ "${TRAVIS_NODE_VERSION}" = "0.6" ] || npm install -g npm@1.4.28 && npm install -g npm'
-sudo: false
-matrix:
- fast_finish: true
- allow_failures:
- - node_js: "4.1"
- - node_js: "4.0"
- - node_js: "iojs-v3.2"
- - node_js: "iojs-v3.1"
- - node_js: "iojs-v3.0"
- - node_js: "iojs-v2.4"
- - node_js: "iojs-v2.3"
- - node_js: "iojs-v2.2"
- - node_js: "iojs-v2.1"
- - node_js: "iojs-v2.0"
- - node_js: "iojs-v1.7"
- - node_js: "iojs-v1.6"
- - node_js: "iojs-v1.5"
- - node_js: "iojs-v1.4"
- - node_js: "iojs-v1.3"
- - node_js: "iojs-v1.2"
- - node_js: "iojs-v1.1"
- - node_js: "iojs-v1.0"
- - node_js: "0.11"
- - node_js: "0.9"
- - node_js: "0.8"
- - node_js: "0.6"
- - node_js: "0.4"
diff --git a/node_modules/define-properties/CHANGELOG.md b/node_modules/define-properties/CHANGELOG.md
deleted file mode 100644
index 3217f89..0000000
--- a/node_modules/define-properties/CHANGELOG.md
+++ /dev/null
@@ -1,35 +0,0 @@
-1.1.2 / 2015-10-14
-=================
- * [Docs] Switch from vb.teelaun.ch to versionbadg.es for the npm version badge SVG
- * [Deps] Update `object-keys`
- * [Dev Deps] update `jscs`, `tape`, `eslint`, `@ljharb/eslint-config`, `nsp`
- * [Tests] up to `io.js` `v3.3`, `node` `v4.2`
-
-1.1.1 / 2015-07-21
-=================
- * [Deps] Update `object-keys`
- * [Dev Deps] Update `tape`, `eslint`
- * [Tests] Test on `io.js` `v2.4`
-
-1.1.0 / 2015-07-01
-=================
- * [New] Add support for symbol-valued properties.
- * [Dev Deps] Update `nsp`, `eslint`
- * [Tests] Test up to `io.js` `v2.3`
-
-1.0.3 / 2015-05-30
-=================
- * Using a more reliable check for supported property descriptors.
-
-1.0.2 / 2015-05-23
-=================
- * Test up to `io.js` `v2.0`
- * Update `tape`, `jscs`, `nsp`, `eslint`, `object-keys`, `editorconfig-tools`, `covert`
-
-1.0.1 / 2015-01-06
-=================
- * Update `object-keys` to fix ES3 support
-
-1.0.0 / 2015-01-04
-=================
- * v1.0.0
diff --git a/node_modules/define-properties/LICENSE b/node_modules/define-properties/LICENSE
deleted file mode 100644
index 8c271c1..0000000
--- a/node_modules/define-properties/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (C) 2015 Jordan Harband
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
\ No newline at end of file
diff --git a/node_modules/define-properties/README.md b/node_modules/define-properties/README.md
deleted file mode 100644
index 33b6111..0000000
--- a/node_modules/define-properties/README.md
+++ /dev/null
@@ -1,86 +0,0 @@
-#define-properties [![Version Badge][npm-version-svg]][package-url]
-
-[![Build Status][travis-svg]][travis-url]
-[![dependency status][deps-svg]][deps-url]
-[![dev dependency status][dev-deps-svg]][dev-deps-url]
-[![License][license-image]][license-url]
-[![Downloads][downloads-image]][downloads-url]
-
-[![npm badge][npm-badge-png]][package-url]
-
-[![browser support][testling-svg]][testling-url]
-
-Define multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.
-Existing properties are not overridden. Accepts a map of property names to a predicate that, when true, force-overrides.
-
-## Example
-
-```js
-var define = require('define-properties');
-var assert = require('assert');
-
-var obj = define({ a: 1, b: 2 }, {
- a: 10,
- b: 20,
- c: 30
-});
-assert(obj.a === 1);
-assert(obj.b === 2);
-assert(obj.c === 30);
-if (define.supportsDescriptors) {
- assert.deepEqual(Object.keys(obj), ['a', 'b']);
- assert.deepEqual(Object.getOwnPropertyDescriptor(obj, 'c'), {
- configurable: true,
- enumerable: false,
- value: 30,
- writable: false
- });
-}
-```
-
-Then, with predicates:
-```js
-var define = require('define-properties');
-var assert = require('assert');
-
-var obj = define({ a: 1, b: 2, c: 3 }, {
- a: 10,
- b: 20,
- c: 30
-}, {
- a: function () { return false; },
- b: function () { return true; }
-});
-assert(obj.a === 1);
-assert(obj.b === 20);
-assert(obj.c === 3);
-if (define.supportsDescriptors) {
- assert.deepEqual(Object.keys(obj), ['a', 'c']);
- assert.deepEqual(Object.getOwnPropertyDescriptor(obj, 'b'), {
- configurable: true,
- enumerable: false,
- value: 20,
- writable: false
- });
-}
-```
-
-## Tests
-Simply clone the repo, `npm install`, and run `npm test`
-
-[package-url]: https://npmjs.org/package/define-properties
-[npm-version-svg]: http://versionbadg.es/ljharb/define-properties.svg
-[travis-svg]: https://travis-ci.org/ljharb/define-properties.svg
-[travis-url]: https://travis-ci.org/ljharb/define-properties
-[deps-svg]: https://david-dm.org/ljharb/define-properties.svg
-[deps-url]: https://david-dm.org/ljharb/define-properties
-[dev-deps-svg]: https://david-dm.org/ljharb/define-properties/dev-status.svg
-[dev-deps-url]: https://david-dm.org/ljharb/define-properties#info=devDependencies
-[testling-svg]: https://ci.testling.com/ljharb/define-properties.png
-[testling-url]: https://ci.testling.com/ljharb/define-properties
-[npm-badge-png]: https://nodei.co/npm/define-properties.png?downloads=true&stars=true
-[license-image]: http://img.shields.io/npm/l/define-properties.svg
-[license-url]: LICENSE
-[downloads-image]: http://img.shields.io/npm/dm/define-properties.svg
-[downloads-url]: http://npm-stat.com/charts.html?package=define-properties
-
diff --git a/node_modules/define-properties/index.js b/node_modules/define-properties/index.js
deleted file mode 100644
index 4bd5790..0000000
--- a/node_modules/define-properties/index.js
+++ /dev/null
@@ -1,56 +0,0 @@
-'use strict';
-
-var keys = require('object-keys');
-var foreach = require('foreach');
-var hasSymbols = typeof Symbol === 'function' && typeof Symbol() === 'symbol';
-
-var toStr = Object.prototype.toString;
-
-var isFunction = function (fn) {
- return typeof fn === 'function' && toStr.call(fn) === '[object Function]';
-};
-
-var arePropertyDescriptorsSupported = function () {
- var obj = {};
- try {
- Object.defineProperty(obj, 'x', { enumerable: false, value: obj });
- /* eslint-disable no-unused-vars, no-restricted-syntax */
- for (var _ in obj) { return false; }
- /* eslint-enable no-unused-vars, no-restricted-syntax */
- return obj.x === obj;
- } catch (e) { /* this is IE 8. */
- return false;
- }
-};
-var supportsDescriptors = Object.defineProperty && arePropertyDescriptorsSupported();
-
-var defineProperty = function (object, name, value, predicate) {
- if (name in object && (!isFunction(predicate) || !predicate())) {
- return;
- }
- if (supportsDescriptors) {
- Object.defineProperty(object, name, {
- configurable: true,
- enumerable: false,
- value: value,
- writable: true
- });
- } else {
- object[name] = value;
- }
-};
-
-var defineProperties = function (object, map) {
- var predicates = arguments.length > 2 ? arguments[2] : {};
- var props = keys(map);
- if (hasSymbols) {
- props = props.concat(Object.getOwnPropertySymbols(map));
- }
- foreach(props, function (name) {
- defineProperty(object, name, map[name], predicates[name]);
- });
-};
-
-defineProperties.supportsDescriptors = !!supportsDescriptors;
-
-module.exports = defineProperties;
diff --git a/node_modules/define-properties/package.json b/node_modules/define-properties/package.json
deleted file mode 100644
index ba90225..0000000
--- a/node_modules/define-properties/package.json
+++ /dev/null
@@ -1,118 +0,0 @@
-{
- "_args": [
- [
- "define-properties@^1.1.1",
- "/home/vincent/Bureau/RIA/node_modules/object.entries"
- ]
- ],
- "_from": "define-properties@>=1.1.1 <2.0.0",
- "_id": "define-properties@1.1.2",
- "_inCache": true,
- "_location": "/define-properties",
- "_nodeVersion": "4.2.1",
- "_npmUser": {
- "email": "ljharb@gmail.com",
- "name": "ljharb"
- },
- "_npmVersion": "2.14.7",
- "_phantomChildren": {},
- "_requested": {
- "name": "define-properties",
- "raw": "define-properties@^1.1.1",
- "rawSpec": "^1.1.1",
- "scope": null,
- "spec": ">=1.1.1 <2.0.0",
- "type": "range"
- },
- "_requiredBy": [
- "/object.entries"
- ],
- "_resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
- "_shasum": "83a73f2fea569898fb737193c8f873caf6d45c94",
- "_shrinkwrap": null,
- "_spec": "define-properties@^1.1.1",
- "_where": "/home/vincent/Bureau/RIA/node_modules/object.entries",
- "author": {
- "name": "Jordan Harband"
- },
- "bugs": {
- "url": "https://github.com/ljharb/define-properties/issues"
- },
- "dependencies": {
- "foreach": "^2.0.5",
- "object-keys": "^1.0.8"
- },
- "description": "Define multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.",
- "devDependencies": {
- "@ljharb/eslint-config": "^1.3.0",
- "covert": "^1.1.0",
- "editorconfig-tools": "^0.1.1",
- "eslint": "^1.6.0",
- "jscs": "^2.3.1",
- "nsp": "^1.1.0",
- "tape": "^4.2.1"
- },
- "directories": {},
- "dist": {
- "shasum": "83a73f2fea569898fb737193c8f873caf6d45c94",
- "tarball": "http://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "gitHead": "6467a10e6f493d8a1a4f6ec8442ffee137aab7ba",
- "homepage": "https://github.com/ljharb/define-properties#readme",
- "installable": true,
- "keywords": [
- "ES5",
- "Object.defineProperties",
- "Object.defineProperty",
- "define",
- "descriptor",
- "object",
- "property descriptor"
- ],
- "license": "MIT",
- "main": "index.js",
- "maintainers": [
- {
- "name": "ljharb",
- "email": "ljharb@gmail.com"
- }
- ],
- "name": "define-properties",
- "optionalDependencies": {},
- "repository": {
- "type": "git",
- "url": "git://github.com/ljharb/define-properties.git"
- },
- "scripts": {
- "coverage": "covert test/*.js",
- "coverage-quiet": "covert test/*.js --quiet",
- "eccheck": "editorconfig-tools check *.js **/*.js > /dev/null",
- "eslint": "eslint test/*.js *.js",
- "jscs": "jscs test/*.js *.js",
- "lint": "npm run jscs && npm run eslint",
- "security": "nsp package",
- "test": "npm run lint && node test/index.js && npm run security"
- },
- "testling": {
- "browsers": [
- "android-browser/4.2",
- "chrome/20.0..latest",
- "chrome/4.0..10.0",
- "chrome/canary",
- "firefox/15.0..latest",
- "firefox/3.0..6.0",
- "firefox/nightly",
- "iexplore/6.0..latest",
- "ipad/6.0..latest",
- "iphone/6.0..latest",
- "opera/10.0..latest",
- "opera/next",
- "safari/4.0..latest"
- ],
- "files": "test/index.js"
- },
- "version": "1.1.2"
-}
diff --git a/node_modules/define-properties/test/index.js b/node_modules/define-properties/test/index.js
deleted file mode 100644
index 33ce051..0000000
--- a/node_modules/define-properties/test/index.js
+++ /dev/null
@@ -1,126 +0,0 @@
-'use strict';
-
-var define = require('../');
-var test = require('tape');
-var keys = require('object-keys');
-
-var arePropertyDescriptorsSupported = function () {
- var obj = { a: 1 };
- try {
- Object.defineProperty(obj, 'x', { value: obj });
- return obj.x === obj;
- } catch (e) { /* this is IE 8. */
- return false;
- }
-};
-var descriptorsSupported = !!Object.defineProperty && arePropertyDescriptorsSupported();
-
-var hasSymbols = typeof Symbol === 'function' && typeof Symbol() === 'symbol';
-
-test('defineProperties', function (dt) {
-
- dt.test('with descriptor support', { skip: !descriptorsSupported }, function (t) {
- var getDescriptor = function (value) {
- return {
- configurable: true,
- enumerable: false,
- value: value,
- writable: true
- };
- };
-
- var obj = {
- a: 1,
- b: 2,
- c: 3
- };
- t.deepEqual(keys(obj), ['a', 'b', 'c'], 'all literal-set keys start enumerable');
- define(obj, {
- b: 3,
- c: 4,
- d: 5
- });
- t.deepEqual(obj, {
- a: 1,
- b: 2,
- c: 3
- }, 'existing properties were not overridden');
- t.deepEqual(Object.getOwnPropertyDescriptor(obj, 'd'), getDescriptor(5), 'new property "d" was added and is not enumerable');
- t.deepEqual(['a', 'b', 'c'], keys(obj), 'new keys are not enumerable');
-
- define(obj, {
- a: 2,
- b: 3,
- c: 4
- }, {
- a: function () { return true; },
- b: function () { return false; }
- });
- t.deepEqual(obj, {
- b: 2,
- c: 3
- }, 'properties only overriden when predicate exists and returns true');
- t.deepEqual(Object.getOwnPropertyDescriptor(obj, 'd'), getDescriptor(5), 'existing property "d" remained and is not enumerable');
- t.deepEqual(Object.getOwnPropertyDescriptor(obj, 'a'), getDescriptor(2), 'existing property "a" was overridden and is not enumerable');
- t.deepEqual(['b', 'c'], keys(obj), 'overridden keys are not enumerable');
-
- t.end();
- });
-
- dt.test('without descriptor support', { skip: descriptorsSupported }, function (t) {
- var obj = {
- a: 1,
- b: 2,
- c: 3
- };
- define(obj, {
- b: 3,
- c: 4,
- d: 5
- });
- t.deepEqual(obj, {
- a: 1,
- b: 2,
- c: 3,
- d: 5
- }, 'existing properties were not overridden, new properties were added');
-
- define(obj, {
- a: 2,
- b: 3,
- c: 4
- }, {
- a: function () { return true; },
- b: function () { return false; }
- });
- t.deepEqual(obj, {
- a: 2,
- b: 2,
- c: 3,
- d: 5
- }, 'properties only overriden when predicate exists and returns true');
-
- t.end();
- });
-
- dt.end();
-});
-
-test('symbols', { skip: !hasSymbols }, function (t) {
- var sym = Symbol('foo');
- var obj = {};
- var aValue = {};
- var bValue = {};
- var properties = { a: aValue };
- properties[sym] = bValue;
-
- define(obj, properties);
-
- t.deepEqual(Object.keys(obj), [], 'object has no enumerable keys');
- t.deepEqual(Object.getOwnPropertyNames(obj), ['a'], 'object has non-enumerable "a" key');
- t.deepEqual(Object.getOwnPropertySymbols(obj), [sym], 'object has non-enumerable symbol key');
- t.equal(obj.a, aValue, 'string keyed value is defined');
- t.equal(obj[sym], bValue, 'symbol keyed value is defined');
-
- t.end();
-});
diff --git a/node_modules/depd/History.md b/node_modules/depd/History.md
deleted file mode 100644
index ace1171..0000000
--- a/node_modules/depd/History.md
+++ /dev/null
@@ -1,84 +0,0 @@
-1.1.0 / 2015-09-14
-==================
-
- * Enable strict mode in more places
- * Support io.js 3.x
- * Support io.js 2.x
- * Support web browser loading
- - Requires bundler like Browserify or webpack
-
-1.0.1 / 2015-04-07
-==================
-
- * Fix `TypeError`s when under `'use strict'` code
- * Fix useless type name on auto-generated messages
- * Support io.js 1.x
- * Support Node.js 0.12
-
-1.0.0 / 2014-09-17
-==================
-
- * No changes
-
-0.4.5 / 2014-09-09
-==================
-
- * Improve call speed to functions using the function wrapper
- * Support Node.js 0.6
-
-0.4.4 / 2014-07-27
-==================
-
- * Work-around v8 generating empty stack traces
-
-0.4.3 / 2014-07-26
-==================
-
- * Fix exception when global `Error.stackTraceLimit` is too low
-
-0.4.2 / 2014-07-19
-==================
-
- * Correct call site for wrapped functions and properties
-
-0.4.1 / 2014-07-19
-==================
-
- * Improve automatic message generation for function properties
-
-0.4.0 / 2014-07-19
-==================
-
- * Add `TRACE_DEPRECATION` environment variable
- * Remove non-standard grey color from color output
- * Support `--no-deprecation` argument
- * Support `--trace-deprecation` argument
- * Support `deprecate.property(fn, prop, message)`
-
-0.3.0 / 2014-06-16
-==================
-
- * Add `NO_DEPRECATION` environment variable
-
-0.2.0 / 2014-06-15
-==================
-
- * Add `deprecate.property(obj, prop, message)`
- * Remove `supports-color` dependency for node.js 0.8
-
-0.1.0 / 2014-06-15
-==================
-
- * Add `deprecate.function(fn, message)`
- * Add `process.on('deprecation', fn)` emitter
- * Automatically generate message when omitted from `deprecate()`
-
-0.0.1 / 2014-06-15
-==================
-
- * Fix warning for dynamic calls at singe call site
-
-0.0.0 / 2014-06-15
-==================
-
- * Initial implementation
diff --git a/node_modules/depd/LICENSE b/node_modules/depd/LICENSE
deleted file mode 100644
index 142ede3..0000000
--- a/node_modules/depd/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2014-2015 Douglas Christopher Wilson
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/depd/Readme.md b/node_modules/depd/Readme.md
deleted file mode 100644
index 09bb979..0000000
--- a/node_modules/depd/Readme.md
+++ /dev/null
@@ -1,281 +0,0 @@
-# depd
-
-[![NPM Version][npm-version-image]][npm-url]
-[![NPM Downloads][npm-downloads-image]][npm-url]
-[![Node.js Version][node-image]][node-url]
-[![Linux Build][travis-image]][travis-url]
-[![Windows Build][appveyor-image]][appveyor-url]
-[![Coverage Status][coveralls-image]][coveralls-url]
-[![Gratipay][gratipay-image]][gratipay-url]
-
-Deprecate all the things
-
-> With great modules comes great responsibility; mark things deprecated!
-
-## Install
-
-This module is installed directly using `npm`:
-
-```sh
-$ npm install depd
-```
-
-This module can also be bundled with systems like
-[Browserify](http://browserify.org/) or [webpack](https://webpack.github.io/),
-though by default this module will alter it's API to no longer display or
-track deprecations.
-
-## API
-
-```js
-var deprecate = require('depd')('my-module')
-```
-
-This library allows you to display deprecation messages to your users.
-This library goes above and beyond with deprecation warnings by
-introspection of the call stack (but only the bits that it is interested
-in).
-
-Instead of just warning on the first invocation of a deprecated
-function and never again, this module will warn on the first invocation
-of a deprecated function per unique call site, making it ideal to alert
-users of all deprecated uses across the code base, rather than just
-whatever happens to execute first.
-
-The deprecation warnings from this module also include the file and line
-information for the call into the module that the deprecated function was
-in.
-
-**NOTE** this library has a similar interface to the `debug` module, and
-this module uses the calling file to get the boundary for the call stacks,
-so you should always create a new `deprecate` object in each file and not
-within some central file.
-
-### depd(namespace)
-
-Create a new deprecate function that uses the given namespace name in the
-messages and will display the call site prior to the stack entering the
-file this function was called from. It is highly suggested you use the
-name of your module as the namespace.
-
-### deprecate(message)
-
-Call this function from deprecated code to display a deprecation message.
-This message will appear once per unique caller site. Caller site is the
-first call site in the stack in a different file from the caller of this
-function.
-
-If the message is omitted, a message is generated for you based on the site
-of the `deprecate()` call and will display the name of the function called,
-similar to the name displayed in a stack trace.
-
-### deprecate.function(fn, message)
-
-Call this function to wrap a given function in a deprecation message on any
-call to the function. An optional message can be supplied to provide a custom
-message.
-
-### deprecate.property(obj, prop, message)
-
-Call this function to wrap a given property on object in a deprecation message
-on any accessing or setting of the property. An optional message can be supplied
-to provide a custom message.
-
-The method must be called on the object where the property belongs (not
-inherited from the prototype).
-
-If the property is a data descriptor, it will be converted to an accessor
-descriptor in order to display the deprecation message.
-
-### process.on('deprecation', fn)
-
-This module will allow easy capturing of deprecation errors by emitting the
-errors as the type "deprecation" on the global `process`. If there are no
-listeners for this type, the errors are written to STDERR as normal, but if
-there are any listeners, nothing will be written to STDERR and instead only
-emitted. From there, you can write the errors in a different format or to a
-logging source.
-
-The error represents the deprecation and is emitted only once with the same
-rules as writing to STDERR. The error has the following properties:
-
- - `message` - This is the message given by the library
- - `name` - This is always `'DeprecationError'`
- - `namespace` - This is the namespace the deprecation came from
- - `stack` - This is the stack of the call to the deprecated thing
-
-Example `error.stack` output:
-
-```
-DeprecationError: my-cool-module deprecated oldfunction
- at Object. ([eval]-wrapper:6:22)
- at Module._compile (module.js:456:26)
- at evalScript (node.js:532:25)
- at startup (node.js:80:7)
- at node.js:902:3
-```
-
-### process.env.NO_DEPRECATION
-
-As a user of modules that are deprecated, the environment variable `NO_DEPRECATION`
-is provided as a quick solution to silencing deprecation warnings from being
-output. The format of this is similar to that of `DEBUG`:
-
-```sh
-$ NO_DEPRECATION=my-module,othermod node app.js
-```
-
-This will suppress deprecations from being output for "my-module" and "othermod".
-The value is a list of comma-separated namespaces. To suppress every warning
-across all namespaces, use the value `*` for a namespace.
-
-Providing the argument `--no-deprecation` to the `node` executable will suppress
-all deprecations (only available in Node.js 0.8 or higher).
-
-**NOTE** This will not suppress the deperecations given to any "deprecation"
-event listeners, just the output to STDERR.
-
-### process.env.TRACE_DEPRECATION
-
-As a user of modules that are deprecated, the environment variable `TRACE_DEPRECATION`
-is provided as a solution to getting more detailed location information in deprecation
-warnings by including the entire stack trace. The format of this is the same as
-`NO_DEPRECATION`:
-
-```sh
-$ TRACE_DEPRECATION=my-module,othermod node app.js
-```
-
-This will include stack traces for deprecations being output for "my-module" and
-"othermod". The value is a list of comma-separated namespaces. To trace every
-warning across all namespaces, use the value `*` for a namespace.
-
-Providing the argument `--trace-deprecation` to the `node` executable will trace
-all deprecations (only available in Node.js 0.8 or higher).
-
-**NOTE** This will not trace the deperecations silenced by `NO_DEPRECATION`.
-
-## Display
-
-
-
-When a user calls a function in your library that you mark deprecated, they
-will see the following written to STDERR (in the given colors, similar colors
-and layout to the `debug` module):
-
-```
-bright cyan bright yellow
-| | reset cyan
-| | | |
-▼ ▼ ▼ ▼
-my-cool-module deprecated oldfunction [eval]-wrapper:6:22
-▲ ▲ ▲ ▲
-| | | |
-namespace | | location of mycoolmod.oldfunction() call
- | deprecation message
- the word "deprecated"
-```
-
-If the user redirects their STDERR to a file or somewhere that does not support
-colors, they see (similar layout to the `debug` module):
-
-```
-Sun, 15 Jun 2014 05:21:37 GMT my-cool-module deprecated oldfunction at [eval]-wrapper:6:22
-▲ ▲ ▲ ▲ ▲
-| | | | |
-timestamp of message namespace | | location of mycoolmod.oldfunction() call
- | deprecation message
- the word "deprecated"
-```
-
-## Examples
-
-### Deprecating all calls to a function
-
-This will display a deprecated message about "oldfunction" being deprecated
-from "my-module" on STDERR.
-
-```js
-var deprecate = require('depd')('my-cool-module')
-
-// message automatically derived from function name
-// Object.oldfunction
-exports.oldfunction = deprecate.function(function oldfunction() {
- // all calls to function are deprecated
-})
-
-// specific message
-exports.oldfunction = deprecate.function(function () {
- // all calls to function are deprecated
-}, 'oldfunction')
-```
-
-### Conditionally deprecating a function call
-
-This will display a deprecated message about "weirdfunction" being deprecated
-from "my-module" on STDERR when called with less than 2 arguments.
-
-```js
-var deprecate = require('depd')('my-cool-module')
-
-exports.weirdfunction = function () {
- if (arguments.length < 2) {
- // calls with 0 or 1 args are deprecated
- deprecate('weirdfunction args < 2')
- }
-}
-```
-
-When calling `deprecate` as a function, the warning is counted per call site
-within your own module, so you can display different deprecations depending
-on different situations and the users will still get all the warnings:
-
-```js
-var deprecate = require('depd')('my-cool-module')
-
-exports.weirdfunction = function () {
- if (arguments.length < 2) {
- // calls with 0 or 1 args are deprecated
- deprecate('weirdfunction args < 2')
- } else if (typeof arguments[0] !== 'string') {
- // calls with non-string first argument are deprecated
- deprecate('weirdfunction non-string first arg')
- }
-}
-```
-
-### Deprecating property access
-
-This will display a deprecated message about "oldprop" being deprecated
-from "my-module" on STDERR when accessed. A deprecation will be displayed
-when setting the value and when getting the value.
-
-```js
-var deprecate = require('depd')('my-cool-module')
-
-exports.oldprop = 'something'
-
-// message automatically derives from property name
-deprecate.property(exports, 'oldprop')
-
-// explicit message
-deprecate.property(exports, 'oldprop', 'oldprop >= 0.10')
-```
-
-## License
-
-[MIT](LICENSE)
-
-[npm-version-image]: https://img.shields.io/npm/v/depd.svg
-[npm-downloads-image]: https://img.shields.io/npm/dm/depd.svg
-[npm-url]: https://npmjs.org/package/depd
-[travis-image]: https://img.shields.io/travis/dougwilson/nodejs-depd/master.svg?label=linux
-[travis-url]: https://travis-ci.org/dougwilson/nodejs-depd
-[appveyor-image]: https://img.shields.io/appveyor/ci/dougwilson/nodejs-depd/master.svg?label=windows
-[appveyor-url]: https://ci.appveyor.com/project/dougwilson/nodejs-depd
-[coveralls-image]: https://img.shields.io/coveralls/dougwilson/nodejs-depd/master.svg
-[coveralls-url]: https://coveralls.io/r/dougwilson/nodejs-depd?branch=master
-[node-image]: https://img.shields.io/node/v/depd.svg
-[node-url]: http://nodejs.org/download/
-[gratipay-image]: https://img.shields.io/gratipay/dougwilson.svg
-[gratipay-url]: https://www.gratipay.com/dougwilson/
diff --git a/node_modules/depd/index.js b/node_modules/depd/index.js
deleted file mode 100644
index fddcae8..0000000
--- a/node_modules/depd/index.js
+++ /dev/null
@@ -1,521 +0,0 @@
-/*!
- * depd
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-/**
- * Module dependencies.
- */
-
-var callSiteToString = require('./lib/compat').callSiteToString
-var eventListenerCount = require('./lib/compat').eventListenerCount
-var relative = require('path').relative
-
-/**
- * Module exports.
- */
-
-module.exports = depd
-
-/**
- * Get the path to base files on.
- */
-
-var basePath = process.cwd()
-
-/**
- * Determine if namespace is contained in the string.
- */
-
-function containsNamespace(str, namespace) {
- var val = str.split(/[ ,]+/)
-
- namespace = String(namespace).toLowerCase()
-
- for (var i = 0 ; i < val.length; i++) {
- if (!(str = val[i])) continue;
-
- // namespace contained
- if (str === '*' || str.toLowerCase() === namespace) {
- return true
- }
- }
-
- return false
-}
-
-/**
- * Convert a data descriptor to accessor descriptor.
- */
-
-function convertDataDescriptorToAccessor(obj, prop, message) {
- var descriptor = Object.getOwnPropertyDescriptor(obj, prop)
- var value = descriptor.value
-
- descriptor.get = function getter() { return value }
-
- if (descriptor.writable) {
- descriptor.set = function setter(val) { return value = val }
- }
-
- delete descriptor.value
- delete descriptor.writable
-
- Object.defineProperty(obj, prop, descriptor)
-
- return descriptor
-}
-
-/**
- * Create arguments string to keep arity.
- */
-
-function createArgumentsString(arity) {
- var str = ''
-
- for (var i = 0; i < arity; i++) {
- str += ', arg' + i
- }
-
- return str.substr(2)
-}
-
-/**
- * Create stack string from stack.
- */
-
-function createStackString(stack) {
- var str = this.name + ': ' + this.namespace
-
- if (this.message) {
- str += ' deprecated ' + this.message
- }
-
- for (var i = 0; i < stack.length; i++) {
- str += '\n at ' + callSiteToString(stack[i])
- }
-
- return str
-}
-
-/**
- * Create deprecate for namespace in caller.
- */
-
-function depd(namespace) {
- if (!namespace) {
- throw new TypeError('argument namespace is required')
- }
-
- var stack = getStack()
- var site = callSiteLocation(stack[1])
- var file = site[0]
-
- function deprecate(message) {
- // call to self as log
- log.call(deprecate, message)
- }
-
- deprecate._file = file
- deprecate._ignored = isignored(namespace)
- deprecate._namespace = namespace
- deprecate._traced = istraced(namespace)
- deprecate._warned = Object.create(null)
-
- deprecate.function = wrapfunction
- deprecate.property = wrapproperty
-
- return deprecate
-}
-
-/**
- * Determine if namespace is ignored.
- */
-
-function isignored(namespace) {
- /* istanbul ignore next: tested in a child processs */
- if (process.noDeprecation) {
- // --no-deprecation support
- return true
- }
-
- var str = process.env.NO_DEPRECATION || ''
-
- // namespace ignored
- return containsNamespace(str, namespace)
-}
-
-/**
- * Determine if namespace is traced.
- */
-
-function istraced(namespace) {
- /* istanbul ignore next: tested in a child processs */
- if (process.traceDeprecation) {
- // --trace-deprecation support
- return true
- }
-
- var str = process.env.TRACE_DEPRECATION || ''
-
- // namespace traced
- return containsNamespace(str, namespace)
-}
-
-/**
- * Display deprecation message.
- */
-
-function log(message, site) {
- var haslisteners = eventListenerCount(process, 'deprecation') !== 0
-
- // abort early if no destination
- if (!haslisteners && this._ignored) {
- return
- }
-
- var caller
- var callFile
- var callSite
- var i = 0
- var seen = false
- var stack = getStack()
- var file = this._file
-
- if (site) {
- // provided site
- callSite = callSiteLocation(stack[1])
- callSite.name = site.name
- file = callSite[0]
- } else {
- // get call site
- i = 2
- site = callSiteLocation(stack[i])
- callSite = site
- }
-
- // get caller of deprecated thing in relation to file
- for (; i < stack.length; i++) {
- caller = callSiteLocation(stack[i])
- callFile = caller[0]
-
- if (callFile === file) {
- seen = true
- } else if (callFile === this._file) {
- file = this._file
- } else if (seen) {
- break
- }
- }
-
- var key = caller
- ? site.join(':') + '__' + caller.join(':')
- : undefined
-
- if (key !== undefined && key in this._warned) {
- // already warned
- return
- }
-
- this._warned[key] = true
-
- // generate automatic message from call site
- if (!message) {
- message = callSite === site || !callSite.name
- ? defaultMessage(site)
- : defaultMessage(callSite)
- }
-
- // emit deprecation if listeners exist
- if (haslisteners) {
- var err = DeprecationError(this._namespace, message, stack.slice(i))
- process.emit('deprecation', err)
- return
- }
-
- // format and write message
- var format = process.stderr.isTTY
- ? formatColor
- : formatPlain
- var msg = format.call(this, message, caller, stack.slice(i))
- process.stderr.write(msg + '\n', 'utf8')
-
- return
-}
-
-/**
- * Get call site location as array.
- */
-
-function callSiteLocation(callSite) {
- var file = callSite.getFileName() || ''
- var line = callSite.getLineNumber()
- var colm = callSite.getColumnNumber()
-
- if (callSite.isEval()) {
- file = callSite.getEvalOrigin() + ', ' + file
- }
-
- var site = [file, line, colm]
-
- site.callSite = callSite
- site.name = callSite.getFunctionName()
-
- return site
-}
-
-/**
- * Generate a default message from the site.
- */
-
-function defaultMessage(site) {
- var callSite = site.callSite
- var funcName = site.name
-
- // make useful anonymous name
- if (!funcName) {
- funcName = ''
- }
-
- var context = callSite.getThis()
- var typeName = context && callSite.getTypeName()
-
- // ignore useless type name
- if (typeName === 'Object') {
- typeName = undefined
- }
-
- // make useful type name
- if (typeName === 'Function') {
- typeName = context.name || typeName
- }
-
- return typeName && callSite.getMethodName()
- ? typeName + '.' + funcName
- : funcName
-}
-
-/**
- * Format deprecation message without color.
- */
-
-function formatPlain(msg, caller, stack) {
- var timestamp = new Date().toUTCString()
-
- var formatted = timestamp
- + ' ' + this._namespace
- + ' deprecated ' + msg
-
- // add stack trace
- if (this._traced) {
- for (var i = 0; i < stack.length; i++) {
- formatted += '\n at ' + callSiteToString(stack[i])
- }
-
- return formatted
- }
-
- if (caller) {
- formatted += ' at ' + formatLocation(caller)
- }
-
- return formatted
-}
-
-/**
- * Format deprecation message with color.
- */
-
-function formatColor(msg, caller, stack) {
- var formatted = '\x1b[36;1m' + this._namespace + '\x1b[22;39m' // bold cyan
- + ' \x1b[33;1mdeprecated\x1b[22;39m' // bold yellow
- + ' \x1b[0m' + msg + '\x1b[39m' // reset
-
- // add stack trace
- if (this._traced) {
- for (var i = 0; i < stack.length; i++) {
- formatted += '\n \x1b[36mat ' + callSiteToString(stack[i]) + '\x1b[39m' // cyan
- }
-
- return formatted
- }
-
- if (caller) {
- formatted += ' \x1b[36m' + formatLocation(caller) + '\x1b[39m' // cyan
- }
-
- return formatted
-}
-
-/**
- * Format call site location.
- */
-
-function formatLocation(callSite) {
- return relative(basePath, callSite[0])
- + ':' + callSite[1]
- + ':' + callSite[2]
-}
-
-/**
- * Get the stack as array of call sites.
- */
-
-function getStack() {
- var limit = Error.stackTraceLimit
- var obj = {}
- var prep = Error.prepareStackTrace
-
- Error.prepareStackTrace = prepareObjectStackTrace
- Error.stackTraceLimit = Math.max(10, limit)
-
- // capture the stack
- Error.captureStackTrace(obj)
-
- // slice this function off the top
- var stack = obj.stack.slice(1)
-
- Error.prepareStackTrace = prep
- Error.stackTraceLimit = limit
-
- return stack
-}
-
-/**
- * Capture call site stack from v8.
- */
-
-function prepareObjectStackTrace(obj, stack) {
- return stack
-}
-
-/**
- * Return a wrapped function in a deprecation message.
- */
-
-function wrapfunction(fn, message) {
- if (typeof fn !== 'function') {
- throw new TypeError('argument fn must be a function')
- }
-
- var args = createArgumentsString(fn.length)
- var deprecate = this
- var stack = getStack()
- var site = callSiteLocation(stack[1])
-
- site.name = fn.name
-
- var deprecatedfn = eval('(function (' + args + ') {\n'
- + '"use strict"\n'
- + 'log.call(deprecate, message, site)\n'
- + 'return fn.apply(this, arguments)\n'
- + '})')
-
- return deprecatedfn
-}
-
-/**
- * Wrap property in a deprecation message.
- */
-
-function wrapproperty(obj, prop, message) {
- if (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {
- throw new TypeError('argument obj must be object')
- }
-
- var descriptor = Object.getOwnPropertyDescriptor(obj, prop)
-
- if (!descriptor) {
- throw new TypeError('must call property on owner object')
- }
-
- if (!descriptor.configurable) {
- throw new TypeError('property must be configurable')
- }
-
- var deprecate = this
- var stack = getStack()
- var site = callSiteLocation(stack[1])
-
- // set site name
- site.name = prop
-
- // convert data descriptor
- if ('value' in descriptor) {
- descriptor = convertDataDescriptorToAccessor(obj, prop, message)
- }
-
- var get = descriptor.get
- var set = descriptor.set
-
- // wrap getter
- if (typeof get === 'function') {
- descriptor.get = function getter() {
- log.call(deprecate, message, site)
- return get.apply(this, arguments)
- }
- }
-
- // wrap setter
- if (typeof set === 'function') {
- descriptor.set = function setter() {
- log.call(deprecate, message, site)
- return set.apply(this, arguments)
- }
- }
-
- Object.defineProperty(obj, prop, descriptor)
-}
-
-/**
- * Create DeprecationError for deprecation
- */
-
-function DeprecationError(namespace, message, stack) {
- var error = new Error()
- var stackString
-
- Object.defineProperty(error, 'constructor', {
- value: DeprecationError
- })
-
- Object.defineProperty(error, 'message', {
- configurable: true,
- enumerable: false,
- value: message,
- writable: true
- })
-
- Object.defineProperty(error, 'name', {
- enumerable: false,
- configurable: true,
- value: 'DeprecationError',
- writable: true
- })
-
- Object.defineProperty(error, 'namespace', {
- configurable: true,
- enumerable: false,
- value: namespace,
- writable: true
- })
-
- Object.defineProperty(error, 'stack', {
- configurable: true,
- enumerable: false,
- get: function () {
- if (stackString !== undefined) {
- return stackString
- }
-
- // prepare stack trace
- return stackString = createStackString.call(this, stack)
- },
- set: function setter(val) {
- stackString = val
- }
- })
-
- return error
-}
diff --git a/node_modules/depd/lib/browser/index.js b/node_modules/depd/lib/browser/index.js
deleted file mode 100644
index f464e05..0000000
--- a/node_modules/depd/lib/browser/index.js
+++ /dev/null
@@ -1,79 +0,0 @@
-/*!
- * depd
- * Copyright(c) 2015 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict'
-
-/**
- * Module exports.
- * @public
- */
-
-module.exports = depd
-
-/**
- * Create deprecate for namespace in caller.
- */
-
-function depd(namespace) {
- if (!namespace) {
- throw new TypeError('argument namespace is required')
- }
-
- function deprecate(message) {
- // no-op in browser
- }
-
- deprecate._file = undefined
- deprecate._ignored = true
- deprecate._namespace = namespace
- deprecate._traced = false
- deprecate._warned = Object.create(null)
-
- deprecate.function = wrapfunction
- deprecate.property = wrapproperty
-
- return deprecate
-}
-
-/**
- * Return a wrapped function in a deprecation message.
- *
- * This is a no-op version of the wrapper, which does nothing but call
- * validation.
- */
-
-function wrapfunction(fn, message) {
- if (typeof fn !== 'function') {
- throw new TypeError('argument fn must be a function')
- }
-
- return fn
-}
-
-/**
- * Wrap property in a deprecation message.
- *
- * This is a no-op version of the wrapper, which does nothing but call
- * validation.
- */
-
-function wrapproperty(obj, prop, message) {
- if (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {
- throw new TypeError('argument obj must be object')
- }
-
- var descriptor = Object.getOwnPropertyDescriptor(obj, prop)
-
- if (!descriptor) {
- throw new TypeError('must call property on owner object')
- }
-
- if (!descriptor.configurable) {
- throw new TypeError('property must be configurable')
- }
-
- return
-}
diff --git a/node_modules/depd/lib/compat/buffer-concat.js b/node_modules/depd/lib/compat/buffer-concat.js
deleted file mode 100644
index 4b73381..0000000
--- a/node_modules/depd/lib/compat/buffer-concat.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/*!
- * depd
- * Copyright(c) 2014 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict'
-
-/**
- * Module exports.
- */
-
-module.exports = bufferConcat
-
-/**
- * Concatenate an array of Buffers.
- */
-
-function bufferConcat(bufs) {
- var length = 0
-
- for (var i = 0, len = bufs.length; i < len; i++) {
- length += bufs[i].length
- }
-
- var buf = new Buffer(length)
- var pos = 0
-
- for (var i = 0, len = bufs.length; i < len; i++) {
- bufs[i].copy(buf, pos)
- pos += bufs[i].length
- }
-
- return buf
-}
diff --git a/node_modules/depd/lib/compat/callsite-tostring.js b/node_modules/depd/lib/compat/callsite-tostring.js
deleted file mode 100644
index 9ecef34..0000000
--- a/node_modules/depd/lib/compat/callsite-tostring.js
+++ /dev/null
@@ -1,103 +0,0 @@
-/*!
- * depd
- * Copyright(c) 2014 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict'
-
-/**
- * Module exports.
- */
-
-module.exports = callSiteToString
-
-/**
- * Format a CallSite file location to a string.
- */
-
-function callSiteFileLocation(callSite) {
- var fileName
- var fileLocation = ''
-
- if (callSite.isNative()) {
- fileLocation = 'native'
- } else if (callSite.isEval()) {
- fileName = callSite.getScriptNameOrSourceURL()
- if (!fileName) {
- fileLocation = callSite.getEvalOrigin()
- }
- } else {
- fileName = callSite.getFileName()
- }
-
- if (fileName) {
- fileLocation += fileName
-
- var lineNumber = callSite.getLineNumber()
- if (lineNumber != null) {
- fileLocation += ':' + lineNumber
-
- var columnNumber = callSite.getColumnNumber()
- if (columnNumber) {
- fileLocation += ':' + columnNumber
- }
- }
- }
-
- return fileLocation || 'unknown source'
-}
-
-/**
- * Format a CallSite to a string.
- */
-
-function callSiteToString(callSite) {
- var addSuffix = true
- var fileLocation = callSiteFileLocation(callSite)
- var functionName = callSite.getFunctionName()
- var isConstructor = callSite.isConstructor()
- var isMethodCall = !(callSite.isToplevel() || isConstructor)
- var line = ''
-
- if (isMethodCall) {
- var methodName = callSite.getMethodName()
- var typeName = getConstructorName(callSite)
-
- if (functionName) {
- if (typeName && functionName.indexOf(typeName) !== 0) {
- line += typeName + '.'
- }
-
- line += functionName
-
- if (methodName && functionName.lastIndexOf('.' + methodName) !== functionName.length - methodName.length - 1) {
- line += ' [as ' + methodName + ']'
- }
- } else {
- line += typeName + '.' + (methodName || '')
- }
- } else if (isConstructor) {
- line += 'new ' + (functionName || '')
- } else if (functionName) {
- line += functionName
- } else {
- addSuffix = false
- line += fileLocation
- }
-
- if (addSuffix) {
- line += ' (' + fileLocation + ')'
- }
-
- return line
-}
-
-/**
- * Get constructor name of reviver.
- */
-
-function getConstructorName(obj) {
- var receiver = obj.receiver
- return (receiver.constructor && receiver.constructor.name) || null
-}
diff --git a/node_modules/depd/lib/compat/event-listener-count.js b/node_modules/depd/lib/compat/event-listener-count.js
deleted file mode 100644
index a05fceb..0000000
--- a/node_modules/depd/lib/compat/event-listener-count.js
+++ /dev/null
@@ -1,22 +0,0 @@
-/*!
- * depd
- * Copyright(c) 2015 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict'
-
-/**
- * Module exports.
- * @public
- */
-
-module.exports = eventListenerCount
-
-/**
- * Get the count of listeners on an event emitter of a specific type.
- */
-
-function eventListenerCount(emitter, type) {
- return emitter.listeners(type).length
-}
diff --git a/node_modules/depd/lib/compat/index.js b/node_modules/depd/lib/compat/index.js
deleted file mode 100644
index aa3c1de..0000000
--- a/node_modules/depd/lib/compat/index.js
+++ /dev/null
@@ -1,84 +0,0 @@
-/*!
- * depd
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict'
-
-/**
- * Module dependencies.
- * @private
- */
-
-var Buffer = require('buffer')
-var EventEmitter = require('events').EventEmitter
-
-/**
- * Module exports.
- * @public
- */
-
-lazyProperty(module.exports, 'bufferConcat', function bufferConcat() {
- return Buffer.concat || require('./buffer-concat')
-})
-
-lazyProperty(module.exports, 'callSiteToString', function callSiteToString() {
- var limit = Error.stackTraceLimit
- var obj = {}
- var prep = Error.prepareStackTrace
-
- function prepareObjectStackTrace(obj, stack) {
- return stack
- }
-
- Error.prepareStackTrace = prepareObjectStackTrace
- Error.stackTraceLimit = 2
-
- // capture the stack
- Error.captureStackTrace(obj)
-
- // slice the stack
- var stack = obj.stack.slice()
-
- Error.prepareStackTrace = prep
- Error.stackTraceLimit = limit
-
- return stack[0].toString ? toString : require('./callsite-tostring')
-})
-
-lazyProperty(module.exports, 'eventListenerCount', function eventListenerCount() {
- return EventEmitter.listenerCount || require('./event-listener-count')
-})
-
-/**
- * Define a lazy property.
- */
-
-function lazyProperty(obj, prop, getter) {
- function get() {
- var val = getter()
-
- Object.defineProperty(obj, prop, {
- configurable: true,
- enumerable: true,
- value: val
- })
-
- return val
- }
-
- Object.defineProperty(obj, prop, {
- configurable: true,
- enumerable: true,
- get: get
- })
-}
-
-/**
- * Call toString() on the obj
- */
-
-function toString(obj) {
- return obj.toString()
-}
diff --git a/node_modules/depd/package.json b/node_modules/depd/package.json
deleted file mode 100644
index 3b43862..0000000
--- a/node_modules/depd/package.json
+++ /dev/null
@@ -1,92 +0,0 @@
-{
- "_args": [
- [
- "depd@~1.1.0",
- "/home/vincent/Bureau/RIA/node_modules/body-parser"
- ]
- ],
- "_from": "depd@>=1.1.0 <1.2.0",
- "_id": "depd@1.1.0",
- "_inCache": true,
- "_location": "/depd",
- "_npmUser": {
- "email": "doug@somethingdoug.com",
- "name": "dougwilson"
- },
- "_npmVersion": "1.4.28",
- "_phantomChildren": {},
- "_requested": {
- "name": "depd",
- "raw": "depd@~1.1.0",
- "rawSpec": "~1.1.0",
- "scope": null,
- "spec": ">=1.1.0 <1.2.0",
- "type": "range"
- },
- "_requiredBy": [
- "/body-parser"
- ],
- "_resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz",
- "_shasum": "e1bd82c6aab6ced965b97b88b17ed3e528ca18c3",
- "_shrinkwrap": null,
- "_spec": "depd@~1.1.0",
- "_where": "/home/vincent/Bureau/RIA/node_modules/body-parser",
- "author": {
- "email": "doug@somethingdoug.com",
- "name": "Douglas Christopher Wilson"
- },
- "browser": "lib/browser/index.js",
- "bugs": {
- "url": "https://github.com/dougwilson/nodejs-depd/issues"
- },
- "dependencies": {},
- "description": "Deprecate all the things",
- "devDependencies": {
- "beautify-benchmark": "0.2.4",
- "benchmark": "1.0.0",
- "istanbul": "0.3.5",
- "mocha": "~1.21.5"
- },
- "directories": {},
- "dist": {
- "shasum": "e1bd82c6aab6ced965b97b88b17ed3e528ca18c3",
- "tarball": "http://registry.npmjs.org/depd/-/depd-1.1.0.tgz"
- },
- "engines": {
- "node": ">= 0.6"
- },
- "files": [
- "History.md",
- "LICENSE",
- "Readme.md",
- "index.js",
- "lib/"
- ],
- "gitHead": "78c659de20283e3a6bee92bda455e6daff01686a",
- "homepage": "https://github.com/dougwilson/nodejs-depd",
- "installable": true,
- "keywords": [
- "deprecate",
- "deprecated"
- ],
- "license": "MIT",
- "maintainers": [
- {
- "name": "dougwilson",
- "email": "doug@somethingdoug.com"
- }
- ],
- "name": "depd",
- "optionalDependencies": {},
- "repository": {
- "type": "git",
- "url": "https://github.com/dougwilson/nodejs-depd"
- },
- "scripts": {
- "bench": "node benchmark/index.js",
- "test": "mocha --reporter spec --bail test/",
- "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --no-exit test/",
- "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot test/"
- },
- "version": "1.1.0"
-}
diff --git a/node_modules/destroy/LICENSE b/node_modules/destroy/LICENSE
deleted file mode 100644
index a7ae8ee..0000000
--- a/node_modules/destroy/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-
-The MIT License (MIT)
-
-Copyright (c) 2014 Jonathan Ong me@jongleberry.com
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/node_modules/destroy/README.md b/node_modules/destroy/README.md
deleted file mode 100644
index 6474bc3..0000000
--- a/node_modules/destroy/README.md
+++ /dev/null
@@ -1,60 +0,0 @@
-# Destroy
-
-[![NPM version][npm-image]][npm-url]
-[![Build status][travis-image]][travis-url]
-[![Test coverage][coveralls-image]][coveralls-url]
-[![License][license-image]][license-url]
-[![Downloads][downloads-image]][downloads-url]
-[![Gittip][gittip-image]][gittip-url]
-
-Destroy a stream.
-
-This module is meant to ensure a stream gets destroyed, handling different APIs
-and Node.js bugs.
-
-## API
-
-```js
-var destroy = require('destroy')
-```
-
-### destroy(stream)
-
-Destroy the given stream. In most cases, this is identical to a simple
-`stream.destroy()` call. The rules are as follows for a given stream:
-
- 1. If the `stream` is an instance of `ReadStream`, then call `stream.destroy()`
- and add a listener to the `open` event to call `stream.close()` if it is
- fired. This is for a Node.js bug that will leak a file descriptor if
- `.destroy()` is called before `open`.
- 2. If the `stream` is not an instance of `Stream`, then nothing happens.
- 3. If the `stream` has a `.destroy()` method, then call it.
-
-The function returns the `stream` passed in as the argument.
-
-## Example
-
-```js
-var destroy = require('destroy')
-
-var fs = require('fs')
-var stream = fs.createReadStream('package.json')
-
-// ... and later
-destroy(stream)
-```
-
-[npm-image]: https://img.shields.io/npm/v/destroy.svg?style=flat-square
-[npm-url]: https://npmjs.org/package/destroy
-[github-tag]: http://img.shields.io/github/tag/stream-utils/destroy.svg?style=flat-square
-[github-url]: https://github.com/stream-utils/destroy/tags
-[travis-image]: https://img.shields.io/travis/stream-utils/destroy.svg?style=flat-square
-[travis-url]: https://travis-ci.org/stream-utils/destroy
-[coveralls-image]: https://img.shields.io/coveralls/stream-utils/destroy.svg?style=flat-square
-[coveralls-url]: https://coveralls.io/r/stream-utils/destroy?branch=master
-[license-image]: http://img.shields.io/npm/l/destroy.svg?style=flat-square
-[license-url]: LICENSE.md
-[downloads-image]: http://img.shields.io/npm/dm/destroy.svg?style=flat-square
-[downloads-url]: https://npmjs.org/package/destroy
-[gittip-image]: https://img.shields.io/gittip/jonathanong.svg?style=flat-square
-[gittip-url]: https://www.gittip.com/jonathanong/
diff --git a/node_modules/destroy/index.js b/node_modules/destroy/index.js
deleted file mode 100644
index 6da2d26..0000000
--- a/node_modules/destroy/index.js
+++ /dev/null
@@ -1,75 +0,0 @@
-/*!
- * destroy
- * Copyright(c) 2014 Jonathan Ong
- * MIT Licensed
- */
-
-'use strict'
-
-/**
- * Module dependencies.
- * @private
- */
-
-var ReadStream = require('fs').ReadStream
-var Stream = require('stream')
-
-/**
- * Module exports.
- * @public
- */
-
-module.exports = destroy
-
-/**
- * Destroy a stream.
- *
- * @param {object} stream
- * @public
- */
-
-function destroy(stream) {
- if (stream instanceof ReadStream) {
- return destroyReadStream(stream)
- }
-
- if (!(stream instanceof Stream)) {
- return stream
- }
-
- if (typeof stream.destroy === 'function') {
- stream.destroy()
- }
-
- return stream
-}
-
-/**
- * Destroy a ReadStream.
- *
- * @param {object} stream
- * @private
- */
-
-function destroyReadStream(stream) {
- stream.destroy()
-
- if (typeof stream.close === 'function') {
- // node.js core bug work-around
- stream.on('open', onOpenClose)
- }
-
- return stream
-}
-
-/**
- * On open handler to close stream.
- * @private
- */
-
-function onOpenClose() {
- if (typeof this.fd === 'number') {
- // actually close down the fd
- this.close()
- }
-}
diff --git a/node_modules/destroy/package.json b/node_modules/destroy/package.json
deleted file mode 100644
index 35f2f7d..0000000
--- a/node_modules/destroy/package.json
+++ /dev/null
@@ -1,98 +0,0 @@
-{
- "_args": [
- [
- "destroy@~1.0.4",
- "/home/vincent/Bureau/RIA/node_modules/send"
- ]
- ],
- "_from": "destroy@>=1.0.4 <1.1.0",
- "_id": "destroy@1.0.4",
- "_inCache": true,
- "_installable": true,
- "_location": "/destroy",
- "_npmUser": {
- "email": "doug@somethingdoug.com",
- "name": "dougwilson"
- },
- "_npmVersion": "1.4.28",
- "_phantomChildren": {},
- "_requested": {
- "name": "destroy",
- "raw": "destroy@~1.0.4",
- "rawSpec": "~1.0.4",
- "scope": null,
- "spec": ">=1.0.4 <1.1.0",
- "type": "range"
- },
- "_requiredBy": [
- "/send"
- ],
- "_resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
- "_shasum": "978857442c44749e4206613e37946205826abd80",
- "_shrinkwrap": null,
- "_spec": "destroy@~1.0.4",
- "_where": "/home/vincent/Bureau/RIA/node_modules/send",
- "author": {
- "email": "me@jongleberry.com",
- "name": "Jonathan Ong",
- "url": "http://jongleberry.com"
- },
- "bugs": {
- "url": "https://github.com/stream-utils/destroy/issues"
- },
- "contributors": [
- {
- "email": "doug@somethingdoug.com",
- "name": "Douglas Christopher Wilson"
- }
- ],
- "dependencies": {},
- "description": "destroy a stream if possible",
- "devDependencies": {
- "istanbul": "0.4.2",
- "mocha": "2.3.4"
- },
- "directories": {},
- "dist": {
- "shasum": "978857442c44749e4206613e37946205826abd80",
- "tarball": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz"
- },
- "files": [
- "index.js",
- "LICENSE"
- ],
- "gitHead": "86edea01456f5fa1027f6a47250c34c713cbcc3b",
- "homepage": "https://github.com/stream-utils/destroy",
- "keywords": [
- "stream",
- "streams",
- "destroy",
- "cleanup",
- "leak",
- "fd"
- ],
- "license": "MIT",
- "maintainers": [
- {
- "email": "jonathanrichardong@gmail.com",
- "name": "jongleberry"
- },
- {
- "email": "doug@somethingdoug.com",
- "name": "dougwilson"
- }
- ],
- "name": "destroy",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/stream-utils/destroy.git"
- },
- "scripts": {
- "test": "mocha --reporter spec",
- "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot",
- "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot"
- },
- "version": "1.0.4"
-}
diff --git a/node_modules/ee-first/LICENSE b/node_modules/ee-first/LICENSE
deleted file mode 100644
index a7ae8ee..0000000
--- a/node_modules/ee-first/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-
-The MIT License (MIT)
-
-Copyright (c) 2014 Jonathan Ong me@jongleberry.com
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/node_modules/ee-first/README.md b/node_modules/ee-first/README.md
deleted file mode 100644
index cbd2478..0000000
--- a/node_modules/ee-first/README.md
+++ /dev/null
@@ -1,80 +0,0 @@
-# EE First
-
-[![NPM version][npm-image]][npm-url]
-[![Build status][travis-image]][travis-url]
-[![Test coverage][coveralls-image]][coveralls-url]
-[![License][license-image]][license-url]
-[![Downloads][downloads-image]][downloads-url]
-[![Gittip][gittip-image]][gittip-url]
-
-Get the first event in a set of event emitters and event pairs,
-then clean up after itself.
-
-## Install
-
-```sh
-$ npm install ee-first
-```
-
-## API
-
-```js
-var first = require('ee-first')
-```
-
-### first(arr, listener)
-
-Invoke `listener` on the first event from the list specified in `arr`. `arr` is
-an array of arrays, with each array in the format `[ee, ...event]`. `listener`
-will be called only once, the first time any of the given events are emitted. If
-`error` is one of the listened events, then if that fires first, the `listener`
-will be given the `err` argument.
-
-The `listener` is invoked as `listener(err, ee, event, args)`, where `err` is the
-first argument emitted from an `error` event, if applicable; `ee` is the event
-emitter that fired; `event` is the string event name that fired; and `args` is an
-array of the arguments that were emitted on the event.
-
-```js
-var ee1 = new EventEmitter()
-var ee2 = new EventEmitter()
-
-first([
- [ee1, 'close', 'end', 'error'],
- [ee2, 'error']
-], function (err, ee, event, args) {
- // listener invoked
-})
-```
-
-#### .cancel()
-
-The group of listeners can be cancelled before being invoked and have all the event
-listeners removed from the underlying event emitters.
-
-```js
-var thunk = first([
- [ee1, 'close', 'end', 'error'],
- [ee2, 'error']
-], function (err, ee, event, args) {
- // listener invoked
-})
-
-// cancel and clean up
-thunk.cancel()
-```
-
-[npm-image]: https://img.shields.io/npm/v/ee-first.svg?style=flat-square
-[npm-url]: https://npmjs.org/package/ee-first
-[github-tag]: http://img.shields.io/github/tag/jonathanong/ee-first.svg?style=flat-square
-[github-url]: https://github.com/jonathanong/ee-first/tags
-[travis-image]: https://img.shields.io/travis/jonathanong/ee-first.svg?style=flat-square
-[travis-url]: https://travis-ci.org/jonathanong/ee-first
-[coveralls-image]: https://img.shields.io/coveralls/jonathanong/ee-first.svg?style=flat-square
-[coveralls-url]: https://coveralls.io/r/jonathanong/ee-first?branch=master
-[license-image]: http://img.shields.io/npm/l/ee-first.svg?style=flat-square
-[license-url]: LICENSE.md
-[downloads-image]: http://img.shields.io/npm/dm/ee-first.svg?style=flat-square
-[downloads-url]: https://npmjs.org/package/ee-first
-[gittip-image]: https://img.shields.io/gittip/jonathanong.svg?style=flat-square
-[gittip-url]: https://www.gittip.com/jonathanong/
diff --git a/node_modules/ee-first/index.js b/node_modules/ee-first/index.js
deleted file mode 100644
index 501287c..0000000
--- a/node_modules/ee-first/index.js
+++ /dev/null
@@ -1,95 +0,0 @@
-/*!
- * ee-first
- * Copyright(c) 2014 Jonathan Ong
- * MIT Licensed
- */
-
-'use strict'
-
-/**
- * Module exports.
- * @public
- */
-
-module.exports = first
-
-/**
- * Get the first event in a set of event emitters and event pairs.
- *
- * @param {array} stuff
- * @param {function} done
- * @public
- */
-
-function first(stuff, done) {
- if (!Array.isArray(stuff))
- throw new TypeError('arg must be an array of [ee, events...] arrays')
-
- var cleanups = []
-
- for (var i = 0; i < stuff.length; i++) {
- var arr = stuff[i]
-
- if (!Array.isArray(arr) || arr.length < 2)
- throw new TypeError('each array member must be [ee, events...]')
-
- var ee = arr[0]
-
- for (var j = 1; j < arr.length; j++) {
- var event = arr[j]
- var fn = listener(event, callback)
-
- // listen to the event
- ee.on(event, fn)
- // push this listener to the list of cleanups
- cleanups.push({
- ee: ee,
- event: event,
- fn: fn,
- })
- }
- }
-
- function callback() {
- cleanup()
- done.apply(null, arguments)
- }
-
- function cleanup() {
- var x
- for (var i = 0; i < cleanups.length; i++) {
- x = cleanups[i]
- x.ee.removeListener(x.event, x.fn)
- }
- }
-
- function thunk(fn) {
- done = fn
- }
-
- thunk.cancel = cleanup
-
- return thunk
-}
-
-/**
- * Create the event listener.
- * @private
- */
-
-function listener(event, done) {
- return function onevent(arg1) {
- var args = new Array(arguments.length)
- var ee = this
- var err = event === 'error'
- ? arg1
- : null
-
- // copy args to prevent arguments escaping scope
- for (var i = 0; i < args.length; i++) {
- args[i] = arguments[i]
- }
-
- done(err, ee, event, args)
- }
-}
diff --git a/node_modules/ee-first/package.json b/node_modules/ee-first/package.json
deleted file mode 100644
index 49d0d85..0000000
--- a/node_modules/ee-first/package.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- "_args": [
- [
- "ee-first@1.1.1",
- "/home/vincent/Bureau/RIA/node_modules/on-finished"
- ]
- ],
- "_from": "ee-first@1.1.1",
- "_id": "ee-first@1.1.1",
- "_inCache": true,
- "_location": "/ee-first",
- "_npmUser": {
- "email": "doug@somethingdoug.com",
- "name": "dougwilson"
- },
- "_npmVersion": "1.4.28",
- "_phantomChildren": {},
- "_requested": {
- "name": "ee-first",
- "raw": "ee-first@1.1.1",
- "rawSpec": "1.1.1",
- "scope": null,
- "spec": "1.1.1",
- "type": "version"
- },
- "_requiredBy": [
- "/on-finished"
- ],
- "_resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "_shasum": "590c61156b0ae2f4f0255732a158b266bc56b21d",
- "_shrinkwrap": null,
- "_spec": "ee-first@1.1.1",
- "_where": "/home/vincent/Bureau/RIA/node_modules/on-finished",
- "author": {
- "email": "me@jongleberry.com",
- "name": "Jonathan Ong",
- "url": "http://jongleberry.com"
- },
- "bugs": {
- "url": "https://github.com/jonathanong/ee-first/issues"
- },
- "contributors": [
- {
- "name": "Douglas Christopher Wilson",
- "email": "doug@somethingdoug.com"
- }
- ],
- "dependencies": {},
- "description": "return the first event in a set of ee/event pairs",
- "devDependencies": {
- "istanbul": "0.3.9",
- "mocha": "2.2.5"
- },
- "directories": {},
- "dist": {
- "shasum": "590c61156b0ae2f4f0255732a158b266bc56b21d",
- "tarball": "http://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"
- },
- "files": [
- "LICENSE",
- "index.js"
- ],
- "gitHead": "512e0ce4cc3643f603708f965a97b61b1a9c0441",
- "homepage": "https://github.com/jonathanong/ee-first",
- "installable": true,
- "license": "MIT",
- "maintainers": [
- {
- "name": "jongleberry",
- "email": "jonathanrichardong@gmail.com"
- },
- {
- "name": "dougwilson",
- "email": "doug@somethingdoug.com"
- }
- ],
- "name": "ee-first",
- "optionalDependencies": {},
- "repository": {
- "type": "git",
- "url": "https://github.com/jonathanong/ee-first"
- },
- "scripts": {
- "test": "mocha --reporter spec --bail --check-leaks test/",
- "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/",
- "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"
- },
- "version": "1.1.1"
-}
diff --git a/node_modules/emojis-list/CHANGELOG.md b/node_modules/emojis-list/CHANGELOG.md
deleted file mode 100644
index 37068fc..0000000
--- a/node_modules/emojis-list/CHANGELOG.md
+++ /dev/null
@@ -1,63 +0,0 @@
-
-## 2.0.1 (2016-05-12)
-
-* Fix typo ([3808909](https://github.com/kikobeats/emojis-list/commit/3808909))
-
-
-
-
-# 2.0.0 (2016-05-12)
-
-* Add update script ([f846dd6](https://github.com/kikobeats/emojis-list/commit/f846dd6))
-* Block dependencies in last version ([1d9e0a5](https://github.com/kikobeats/emojis-list/commit/1d9e0a5))
-* Extract main file name ([9ffe7bb](https://github.com/kikobeats/emojis-list/commit/9ffe7bb))
-* Remove unnecessary files ([4c34729](https://github.com/kikobeats/emojis-list/commit/4c34729))
-* Update docs, special webpack setup is not necessary ([c4aefe9](https://github.com/kikobeats/emojis-list/commit/c4aefe9))
-* Update example ([1e2ae03](https://github.com/kikobeats/emojis-list/commit/1e2ae03))
-* Update how to generate emojis array ([b56bad9](https://github.com/kikobeats/emojis-list/commit/b56bad9))
-* Update main file based in the new interface ([996fccb](https://github.com/kikobeats/emojis-list/commit/996fccb))
-
-
-
-
-## 1.0.3 (2016-05-12)
-
-* Add standard as linter ([5e939d6](https://github.com/kikobeats/emojis-list/commit/5e939d6))
-* Change interface ([16bc0c0](https://github.com/kikobeats/emojis-list/commit/16bc0c0))
-* Generate emoji file ([fbcf8e9](https://github.com/kikobeats/emojis-list/commit/fbcf8e9))
-* Remove unnecessary special doc ([2b12bec](https://github.com/kikobeats/emojis-list/commit/2b12bec))
-* chore(package): update browserify to version 13.0.1 ([e2c98bf](https://github.com/kikobeats/emojis-list/commit/e2c98bf))
-* chore(package): update gulp-header to version 1.8.1 ([28de793](https://github.com/kikobeats/emojis-list/commit/28de793))
-
-
-
-
-## 1.0.2 (2016-05-05)
-
-* fixed #2 ([9a6abe7](https://github.com/kikobeats/emojis-list/commit/9a6abe7)), closes [#2](https://github.com/kikobeats/emojis-list/issues/2)
-* Fomar using standard ([5202f9f](https://github.com/kikobeats/emojis-list/commit/5202f9f))
-* Update badge ([53fad9b](https://github.com/kikobeats/emojis-list/commit/53fad9b))
-
-
-
-
-## 1.0.1 (2016-04-13)
-
-* lock versions ([4a5d82e](https://github.com/kikobeats/emojis-list/commit/4a5d82e))
-* setup devDependencies ([d1de0fc](https://github.com/kikobeats/emojis-list/commit/d1de0fc))
-* update bumped ([9941038](https://github.com/kikobeats/emojis-list/commit/9941038))
-* Update package.json ([6c14b74](https://github.com/kikobeats/emojis-list/commit/6c14b74))
-* Update README.md ([1d9beeb](https://github.com/kikobeats/emojis-list/commit/1d9beeb))
-* Update README.md ([73f215e](https://github.com/kikobeats/emojis-list/commit/73f215e))
-* Update tests ([a94f7dc](https://github.com/kikobeats/emojis-list/commit/a94f7dc))
-
-
-
-
-# 1.0.0 (2015-05-12)
-
-* first commit ([a65b79d](https://github.com/kikobeats/emojis-list/commit/a65b79d))
-* updated ([9f0564c](https://github.com/kikobeats/emojis-list/commit/9f0564c))
-
-
-
diff --git a/node_modules/emojis-list/LICENSE.md b/node_modules/emojis-list/LICENSE.md
deleted file mode 100755
index c0928ae..0000000
--- a/node_modules/emojis-list/LICENSE.md
+++ /dev/null
@@ -1,9 +0,0 @@
-The MIT License (MIT)
-
-Copyright © 2015 Kiko Beats
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/emojis-list/README.md b/node_modules/emojis-list/README.md
deleted file mode 100755
index 152b072..0000000
--- a/node_modules/emojis-list/README.md
+++ /dev/null
@@ -1,48 +0,0 @@
-# emojis-list
-
-[](https://david-dm.org/Kikobeats/emojis-list)
-[](https://david-dm.org/Kikobeats/emojis-list#info=devDependencies)
-[](https://www.npmjs.org/package/emojis-list)
-[](https://paypal.me/kikobeats)
-
-> Complete list of standard Unicode codes that represent emojis.
-
-The file content all shortcuts declared that you can use for invoke a emoji.
-
-## Install
-
-```bash
-npm install emojis-list --save
-```
-
-If you want to use in the browser (powered by [Browserify](http://browserify.org/)):
-
-```bash
-bower install emojis-list --save
-```
-
-and later link in your HTML:
-
-```html
-
-```
-
-## Usage
-
-```
-var emojis = require('emojis-list');
-console.log(emojis[0]);
-// => 🀄
-```
-
-## Related
-
-* [emojis-unicode](https://github.com/Kikobeats/emojis-unicode) – Complete list of standard Unicode codes that represent emojis.
-* [emojis-keywords](https://github.com/Kikobeats/emojis-keywords) – Complete list of am emoji shortcuts.
-* [is-emoji-keyword](https://github.com/Kikobeats/is-emoji-keyword) – Check if a word is a emoji shortcut.
-* [is-standard-emoji](https://github.com/kikobeats/is-standard-emoji) – Simply way to check if a emoji is a standard emoji.
-* [trim-emoji](https://github.com/Kikobeats/trim-emoji) – Deletes ':' from the begin and the end of an emoji shortcut.
-
-## License
-
-MIT © [Kiko Beats](http://www.kikobeats.com)
diff --git a/node_modules/emojis-list/index.js b/node_modules/emojis-list/index.js
deleted file mode 100644
index 53388e8..0000000
--- a/node_modules/emojis-list/index.js
+++ /dev/null
@@ -1,1663 +0,0 @@
-module.exports = [
- "🀄",
- "🃏",
- "🅰",
- "🅱",
- "🅾",
- "🅿",
- "🆎",
- "🆑",
- "🆒",
- "🆓",
- "🆔",
- "🆕",
- "🆖",
- "🆗",
- "🆘",
- "🆙",
- "🆚",
- "🇦🇨",
- "🇦🇩",
- "🇦🇪",
- "🇦🇫",
- "🇦🇬",
- "🇦🇮",
- "🇦🇱",
- "🇦🇲",
- "🇦🇴",
- "🇦🇶",
- "🇦🇷",
- "🇦🇸",
- "🇦🇹",
- "🇦🇺",
- "🇦🇼",
- "🇦🇽",
- "🇦🇿",
- "🇦",
- "🇧🇦",
- "🇧🇧",
- "🇧🇩",
- "🇧🇪",
- "🇧🇫",
- "🇧🇬",
- "🇧🇭",
- "🇧🇮",
- "🇧🇯",
- "🇧🇱",
- "🇧🇲",
- "🇧🇳",
- "🇧🇴",
- "🇧🇶",
- "🇧🇷",
- "🇧🇸",
- "🇧🇹",
- "🇧🇻",
- "🇧🇼",
- "🇧🇾",
- "🇧🇿",
- "🇧",
- "🇨🇦",
- "🇨🇨",
- "🇨🇩",
- "🇨🇫",
- "🇨🇬",
- "🇨🇭",
- "🇨🇮",
- "🇨🇰",
- "🇨🇱",
- "🇨🇲",
- "🇨🇳",
- "🇨🇴",
- "🇨🇵",
- "🇨🇷",
- "🇨🇺",
- "🇨🇻",
- "🇨🇼",
- "🇨🇽",
- "🇨🇾",
- "🇨🇿",
- "🇨",
- "🇩🇪",
- "🇩🇬",
- "🇩🇯",
- "🇩🇰",
- "🇩🇲",
- "🇩🇴",
- "🇩🇿",
- "🇩",
- "🇪🇦",
- "🇪🇨",
- "🇪🇪",
- "🇪🇬",
- "🇪🇭",
- "🇪🇷",
- "🇪🇸",
- "🇪🇹",
- "🇪🇺",
- "🇪",
- "🇫🇮",
- "🇫🇯",
- "🇫🇰",
- "🇫🇲",
- "🇫🇴",
- "🇫🇷",
- "🇫",
- "🇬🇦",
- "🇬🇧",
- "🇬🇩",
- "🇬🇪",
- "🇬🇫",
- "🇬🇬",
- "🇬🇭",
- "🇬🇮",
- "🇬🇱",
- "🇬🇲",
- "🇬🇳",
- "🇬🇵",
- "🇬🇶",
- "🇬🇷",
- "🇬🇸",
- "🇬🇹",
- "🇬🇺",
- "🇬🇼",
- "🇬🇾",
- "🇬",
- "🇭🇰",
- "🇭🇲",
- "🇭🇳",
- "🇭🇷",
- "🇭🇹",
- "🇭🇺",
- "🇭",
- "🇮🇨",
- "🇮🇩",
- "🇮🇪",
- "🇮🇱",
- "🇮🇲",
- "🇮🇳",
- "🇮🇴",
- "🇮🇶",
- "🇮🇷",
- "🇮🇸",
- "🇮🇹",
- "🇮",
- "🇯🇪",
- "🇯🇲",
- "🇯🇴",
- "🇯🇵",
- "🇯",
- "🇰🇪",
- "🇰🇬",
- "🇰🇭",
- "🇰🇮",
- "🇰🇲",
- "🇰🇳",
- "🇰🇵",
- "🇰🇷",
- "🇰🇼",
- "🇰🇾",
- "🇰🇿",
- "🇰",
- "🇱🇦",
- "🇱🇧",
- "🇱🇨",
- "🇱🇮",
- "🇱🇰",
- "🇱🇷",
- "🇱🇸",
- "🇱🇹",
- "🇱🇺",
- "🇱🇻",
- "🇱🇾",
- "🇱",
- "🇲🇦",
- "🇲🇨",
- "🇲🇩",
- "🇲🇪",
- "🇲🇫",
- "🇲🇬",
- "🇲🇭",
- "🇲🇰",
- "🇲🇱",
- "🇲🇲",
- "🇲🇳",
- "🇲🇴",
- "🇲🇵",
- "🇲🇶",
- "🇲🇷",
- "🇲🇸",
- "🇲🇹",
- "🇲🇺",
- "🇲🇻",
- "🇲🇼",
- "🇲🇽",
- "🇲🇾",
- "🇲🇿",
- "🇲",
- "🇳🇦",
- "🇳🇨",
- "🇳🇪",
- "🇳🇫",
- "🇳🇬",
- "🇳🇮",
- "🇳🇱",
- "🇳🇴",
- "🇳🇵",
- "🇳🇷",
- "🇳🇺",
- "🇳🇿",
- "🇳",
- "🇴🇲",
- "🇴",
- "🇵🇦",
- "🇵🇪",
- "🇵🇫",
- "🇵🇬",
- "🇵🇭",
- "🇵🇰",
- "🇵🇱",
- "🇵🇲",
- "🇵🇳",
- "🇵🇷",
- "🇵🇸",
- "🇵🇹",
- "🇵🇼",
- "🇵🇾",
- "🇵",
- "🇶🇦",
- "🇶",
- "🇷🇪",
- "🇷🇴",
- "🇷🇸",
- "🇷🇺",
- "🇷🇼",
- "🇷",
- "🇸🇦",
- "🇸🇧",
- "🇸🇨",
- "🇸🇩",
- "🇸🇪",
- "🇸🇬",
- "🇸🇭",
- "🇸🇮",
- "🇸🇯",
- "🇸🇰",
- "🇸🇱",
- "🇸🇲",
- "🇸🇳",
- "🇸🇴",
- "🇸🇷",
- "🇸🇸",
- "🇸🇹",
- "🇸🇻",
- "🇸🇽",
- "🇸🇾",
- "🇸🇿",
- "🇸",
- "🇹🇦",
- "🇹🇨",
- "🇹🇩",
- "🇹🇫",
- "🇹🇬",
- "🇹🇭",
- "🇹🇯",
- "🇹🇰",
- "🇹🇱",
- "🇹🇲",
- "🇹🇳",
- "🇹🇴",
- "🇹🇷",
- "🇹🇹",
- "🇹🇻",
- "🇹🇼",
- "🇹🇿",
- "🇹",
- "🇺🇦",
- "🇺🇬",
- "🇺🇲",
- "🇺🇸",
- "🇺🇾",
- "🇺🇿",
- "🇺",
- "🇻🇦",
- "🇻🇨",
- "🇻🇪",
- "🇻🇬",
- "🇻🇮",
- "🇻🇳",
- "🇻🇺",
- "🇻",
- "🇼🇫",
- "🇼🇸",
- "🇼",
- "🇽🇰",
- "🇽",
- "🇾🇪",
- "🇾🇹",
- "🇾",
- "🇿🇦",
- "🇿🇲",
- "🇿🇼",
- "🇿",
- "🈁",
- "🈂",
- "🈚",
- "🈯",
- "🈲",
- "🈳",
- "🈴",
- "🈵",
- "🈶",
- "🈷",
- "🈸",
- "🈹",
- "🈺",
- "🉐",
- "🉑",
- "🌀",
- "🌁",
- "🌂",
- "🌃",
- "🌄",
- "🌅",
- "🌆",
- "🌇",
- "🌈",
- "🌉",
- "🌊",
- "🌋",
- "🌌",
- "🌍",
- "🌎",
- "🌏",
- "🌐",
- "🌑",
- "🌒",
- "🌓",
- "🌔",
- "🌕",
- "🌖",
- "🌗",
- "🌘",
- "🌙",
- "🌚",
- "🌛",
- "🌜",
- "🌝",
- "🌞",
- "🌟",
- "🌠",
- "🌡",
- "🌤",
- "🌥",
- "🌦",
- "🌧",
- "🌨",
- "🌩",
- "🌪",
- "🌫",
- "🌬",
- "🌭",
- "🌮",
- "🌯",
- "🌰",
- "🌱",
- "🌲",
- "🌳",
- "🌴",
- "🌵",
- "🌶",
- "🌷",
- "🌸",
- "🌹",
- "🌺",
- "🌻",
- "🌼",
- "🌽",
- "🌾",
- "🌿",
- "🍀",
- "🍁",
- "🍂",
- "🍃",
- "🍄",
- "🍅",
- "🍆",
- "🍇",
- "🍈",
- "🍉",
- "🍊",
- "🍋",
- "🍌",
- "🍍",
- "🍎",
- "🍏",
- "🍐",
- "🍑",
- "🍒",
- "🍓",
- "🍔",
- "🍕",
- "🍖",
- "🍗",
- "🍘",
- "🍙",
- "🍚",
- "🍛",
- "🍜",
- "🍝",
- "🍞",
- "🍟",
- "🍠",
- "🍡",
- "🍢",
- "🍣",
- "🍤",
- "🍥",
- "🍦",
- "🍧",
- "🍨",
- "🍩",
- "🍪",
- "🍫",
- "🍬",
- "🍭",
- "🍮",
- "🍯",
- "🍰",
- "🍱",
- "🍲",
- "🍳",
- "🍴",
- "🍵",
- "🍶",
- "🍷",
- "🍸",
- "🍹",
- "🍺",
- "🍻",
- "🍼",
- "🍽",
- "🍾",
- "🍿",
- "🎀",
- "🎁",
- "🎂",
- "🎃",
- "🎄",
- "🎅🏻",
- "🎅🏼",
- "🎅🏽",
- "🎅🏾",
- "🎅🏿",
- "🎅",
- "🎆",
- "🎇",
- "🎈",
- "🎉",
- "🎊",
- "🎋",
- "🎌",
- "🎍",
- "🎎",
- "🎏",
- "🎐",
- "🎑",
- "🎒",
- "🎓",
- "🎖",
- "🎗",
- "🎙",
- "🎚",
- "🎛",
- "🎞",
- "🎟",
- "🎠",
- "🎡",
- "🎢",
- "🎣",
- "🎤",
- "🎥",
- "🎦",
- "🎧",
- "🎨",
- "🎩",
- "🎪",
- "🎫",
- "🎬",
- "🎭",
- "🎮",
- "🎯",
- "🎰",
- "🎱",
- "🎲",
- "🎳",
- "🎴",
- "🎵",
- "🎶",
- "🎷",
- "🎸",
- "🎹",
- "🎺",
- "🎻",
- "🎼",
- "🎽",
- "🎾",
- "🎿",
- "🏀",
- "🏁",
- "🏂🏻",
- "🏂🏼",
- "🏂🏽",
- "🏂🏾",
- "🏂🏿",
- "🏂",
- "🏃🏻",
- "🏃🏼",
- "🏃🏽",
- "🏃🏾",
- "🏃🏿",
- "🏃",
- "🏄🏻",
- "🏄🏼",
- "🏄🏽",
- "🏄🏾",
- "🏄🏿",
- "🏄",
- "🏅",
- "🏆",
- "🏇🏻",
- "🏇🏼",
- "🏇🏽",
- "🏇🏾",
- "🏇🏿",
- "🏇",
- "🏈",
- "🏉",
- "🏊🏻",
- "🏊🏼",
- "🏊🏽",
- "🏊🏾",
- "🏊🏿",
- "🏊",
- "🏋🏻",
- "🏋🏼",
- "🏋🏽",
- "🏋🏾",
- "🏋🏿",
- "🏋",
- "🏌",
- "🏍",
- "🏎",
- "🏏",
- "🏐",
- "🏑",
- "🏒",
- "🏓",
- "🏔",
- "🏕",
- "🏖",
- "🏗",
- "🏘",
- "🏙",
- "🏚",
- "🏛",
- "🏜",
- "🏝",
- "🏞",
- "🏟",
- "🏠",
- "🏡",
- "🏢",
- "🏣",
- "🏤",
- "🏥",
- "🏦",
- "🏧",
- "🏨",
- "🏩",
- "🏪",
- "🏫",
- "🏬",
- "🏭",
- "🏮",
- "🏯",
- "🏰",
- "🏳",
- "🏴",
- "🏵",
- "🏷",
- "🏸",
- "🏹",
- "🏺",
- "🏻",
- "🏼",
- "🏽",
- "🏾",
- "🏿",
- "🐀",
- "🐁",
- "🐂",
- "🐃",
- "🐄",
- "🐅",
- "🐆",
- "🐇",
- "🐈",
- "🐉",
- "🐊",
- "🐋",
- "🐌",
- "🐍",
- "🐎",
- "🐏",
- "🐐",
- "🐑",
- "🐒",
- "🐓",
- "🐔",
- "🐕",
- "🐖",
- "🐗",
- "🐘",
- "🐙",
- "🐚",
- "🐛",
- "🐜",
- "🐝",
- "🐞",
- "🐟",
- "🐠",
- "🐡",
- "🐢",
- "🐣",
- "🐤",
- "🐥",
- "🐦",
- "🐧",
- "🐨",
- "🐩",
- "🐪",
- "🐫",
- "🐬",
- "🐭",
- "🐮",
- "🐯",
- "🐰",
- "🐱",
- "🐲",
- "🐳",
- "🐴",
- "🐵",
- "🐶",
- "🐷",
- "🐸",
- "🐹",
- "🐺",
- "🐻",
- "🐼",
- "🐽",
- "🐾",
- "🐿",
- "👀",
- "👁🗨",
- "👁",
- "👂🏻",
- "👂🏼",
- "👂🏽",
- "👂🏾",
- "👂🏿",
- "👂",
- "👃🏻",
- "👃🏼",
- "👃🏽",
- "👃🏾",
- "👃🏿",
- "👃",
- "👄",
- "👅",
- "👆🏻",
- "👆🏼",
- "👆🏽",
- "👆🏾",
- "👆🏿",
- "👆",
- "👇🏻",
- "👇🏼",
- "👇🏽",
- "👇🏾",
- "👇🏿",
- "👇",
- "👈🏻",
- "👈🏼",
- "👈🏽",
- "👈🏾",
- "👈🏿",
- "👈",
- "👉🏻",
- "👉🏼",
- "👉🏽",
- "👉🏾",
- "👉🏿",
- "👉",
- "👊🏻",
- "👊🏼",
- "👊🏽",
- "👊🏾",
- "👊🏿",
- "👊",
- "👋🏻",
- "👋🏼",
- "👋🏽",
- "👋🏾",
- "👋🏿",
- "👋",
- "👌🏻",
- "👌🏼",
- "👌🏽",
- "👌🏾",
- "👌🏿",
- "👌",
- "👍🏻",
- "👍🏼",
- "👍🏽",
- "👍🏾",
- "👍🏿",
- "👍",
- "👎🏻",
- "👎🏼",
- "👎🏽",
- "👎🏾",
- "👎🏿",
- "👎",
- "👏🏻",
- "👏🏼",
- "👏🏽",
- "👏🏾",
- "👏🏿",
- "👏",
- "👐🏻",
- "👐🏼",
- "👐🏽",
- "👐🏾",
- "👐🏿",
- "👐",
- "👑",
- "👒",
- "👓",
- "👔",
- "👕",
- "👖",
- "👗",
- "👘",
- "👙",
- "👚",
- "👛",
- "👜",
- "👝",
- "👞",
- "👟",
- "👠",
- "👡",
- "👢",
- "👣",
- "👤",
- "👥",
- "👦🏻",
- "👦🏼",
- "👦🏽",
- "👦🏾",
- "👦🏿",
- "👦",
- "👧🏻",
- "👧🏼",
- "👧🏽",
- "👧🏾",
- "👧🏿",
- "👧",
- "👨🏻",
- "👨🏼",
- "👨🏽",
- "👨🏾",
- "👨🏿",
- "👨👨👦👦",
- "👨👨👦",
- "👨👨👧👦",
- "👨👨👧👧",
- "👨👨👧",
- "👨👩👦👦",
- "👨👩👦",
- "👨👩👧👦",
- "👨👩👧👧",
- "👨👩👧",
- "👨❤️👨",
- "👨❤️💋👨",
- "👨",
- "👩🏻",
- "👩🏼",
- "👩🏽",
- "👩🏾",
- "👩🏿",
- "👩👩👦👦",
- "👩👩👦",
- "👩👩👧👦",
- "👩👩👧👧",
- "👩👩👧",
- "👩❤️👨",
- "👩❤️👩",
- "👩❤️💋👨",
- "👩❤️💋👩",
- "👩",
- "👪",
- "👫",
- "👬",
- "👭",
- "👮🏻",
- "👮🏼",
- "👮🏽",
- "👮🏾",
- "👮🏿",
- "👮",
- "👯",
- "👰🏻",
- "👰🏼",
- "👰🏽",
- "👰🏾",
- "👰🏿",
- "👰",
- "👱🏻",
- "👱🏼",
- "👱🏽",
- "👱🏾",
- "👱🏿",
- "👱",
- "👲🏻",
- "👲🏼",
- "👲🏽",
- "👲🏾",
- "👲🏿",
- "👲",
- "👳🏻",
- "👳🏼",
- "👳🏽",
- "👳🏾",
- "👳🏿",
- "👳",
- "👴🏻",
- "👴🏼",
- "👴🏽",
- "👴🏾",
- "👴🏿",
- "👴",
- "👵🏻",
- "👵🏼",
- "👵🏽",
- "👵🏾",
- "👵🏿",
- "👵",
- "👶🏻",
- "👶🏼",
- "👶🏽",
- "👶🏾",
- "👶🏿",
- "👶",
- "👷🏻",
- "👷🏼",
- "👷🏽",
- "👷🏾",
- "👷🏿",
- "👷",
- "👸🏻",
- "👸🏼",
- "👸🏽",
- "👸🏾",
- "👸🏿",
- "👸",
- "👹",
- "👺",
- "👻",
- "👼🏻",
- "👼🏼",
- "👼🏽",
- "👼🏾",
- "👼🏿",
- "👼",
- "👽",
- "👾",
- "👿",
- "💀",
- "💁🏻",
- "💁🏼",
- "💁🏽",
- "💁🏾",
- "💁🏿",
- "💁",
- "💂🏻",
- "💂🏼",
- "💂🏽",
- "💂🏾",
- "💂🏿",
- "💂",
- "💃🏻",
- "💃🏼",
- "💃🏽",
- "💃🏾",
- "💃🏿",
- "💃",
- "💄",
- "💅🏻",
- "💅🏼",
- "💅🏽",
- "💅🏾",
- "💅🏿",
- "💅",
- "💆🏻",
- "💆🏼",
- "💆🏽",
- "💆🏾",
- "💆🏿",
- "💆",
- "💇🏻",
- "💇🏼",
- "💇🏽",
- "💇🏾",
- "💇🏿",
- "💇",
- "💈",
- "💉",
- "💊",
- "💋",
- "💌",
- "💍",
- "💎",
- "💏",
- "💐",
- "💑",
- "💒",
- "💓",
- "💔",
- "💕",
- "💖",
- "💗",
- "💘",
- "💙",
- "💚",
- "💛",
- "💜",
- "💝",
- "💞",
- "💟",
- "💠",
- "💡",
- "💢",
- "💣",
- "💤",
- "💥",
- "💦",
- "💧",
- "💨",
- "💩",
- "💪🏻",
- "💪🏼",
- "💪🏽",
- "💪🏾",
- "💪🏿",
- "💪",
- "💫",
- "💬",
- "💭",
- "💮",
- "💯",
- "💰",
- "💱",
- "💲",
- "💳",
- "💴",
- "💵",
- "💶",
- "💷",
- "💸",
- "💹",
- "💺",
- "💻",
- "💼",
- "💽",
- "💾",
- "💿",
- "📀",
- "📁",
- "📂",
- "📃",
- "📄",
- "📅",
- "📆",
- "📇",
- "📈",
- "📉",
- "📊",
- "📋",
- "📌",
- "📍",
- "📎",
- "📏",
- "📐",
- "📑",
- "📒",
- "📓",
- "📔",
- "📕",
- "📖",
- "📗",
- "📘",
- "📙",
- "📚",
- "📛",
- "📜",
- "📝",
- "📞",
- "📟",
- "📠",
- "📡",
- "📢",
- "📣",
- "📤",
- "📥",
- "📦",
- "📧",
- "📨",
- "📩",
- "📪",
- "📫",
- "📬",
- "📭",
- "📮",
- "📯",
- "📰",
- "📱",
- "📲",
- "📳",
- "📴",
- "📵",
- "📶",
- "📷",
- "📸",
- "📹",
- "📺",
- "📻",
- "📼",
- "📽",
- "📿",
- "🔀",
- "🔁",
- "🔂",
- "🔃",
- "🔄",
- "🔅",
- "🔆",
- "🔇",
- "🔈",
- "🔉",
- "🔊",
- "🔋",
- "🔌",
- "🔍",
- "🔎",
- "🔏",
- "🔐",
- "🔑",
- "🔒",
- "🔓",
- "🔔",
- "🔕",
- "🔖",
- "🔗",
- "🔘",
- "🔙",
- "🔚",
- "🔛",
- "🔜",
- "🔝",
- "🔞",
- "🔟",
- "🔠",
- "🔡",
- "🔢",
- "🔣",
- "🔤",
- "🔥",
- "🔦",
- "🔧",
- "🔨",
- "🔩",
- "🔪",
- "🔫",
- "🔬",
- "🔭",
- "🔮",
- "🔯",
- "🔰",
- "🔱",
- "🔲",
- "🔳",
- "🔴",
- "🔵",
- "🔶",
- "🔷",
- "🔸",
- "🔹",
- "🔺",
- "🔻",
- "🔼",
- "🔽",
- "🕉",
- "🕊",
- "🕋",
- "🕌",
- "🕍",
- "🕎",
- "🕐",
- "🕑",
- "🕒",
- "🕓",
- "🕔",
- "🕕",
- "🕖",
- "🕗",
- "🕘",
- "🕙",
- "🕚",
- "🕛",
- "🕜",
- "🕝",
- "🕞",
- "🕟",
- "🕠",
- "🕡",
- "🕢",
- "🕣",
- "🕤",
- "🕥",
- "🕦",
- "🕧",
- "🕯",
- "🕰",
- "🕳",
- "🕴",
- "🕵🏻",
- "🕵🏼",
- "🕵🏽",
- "🕵🏾",
- "🕵🏿",
- "🕵",
- "🕶",
- "🕷",
- "🕸",
- "🕹",
- "🖇",
- "🖊",
- "🖋",
- "🖌",
- "🖍",
- "🖐🏻",
- "🖐🏼",
- "🖐🏽",
- "🖐🏾",
- "🖐🏿",
- "🖐",
- "🖕🏻",
- "🖕🏼",
- "🖕🏽",
- "🖕🏾",
- "🖕🏿",
- "🖕",
- "🖖🏻",
- "🖖🏼",
- "🖖🏽",
- "🖖🏾",
- "🖖🏿",
- "🖖",
- "🖥",
- "🖨",
- "🖱",
- "🖲",
- "🖼",
- "🗂",
- "🗃",
- "🗄",
- "🗑",
- "🗒",
- "🗓",
- "🗜",
- "🗝",
- "🗞",
- "🗡",
- "🗣",
- "🗨",
- "🗯",
- "🗳",
- "🗺",
- "🗻",
- "🗼",
- "🗽",
- "🗾",
- "🗿",
- "😀",
- "😁",
- "😂",
- "😃",
- "😄",
- "😅",
- "😆",
- "😇",
- "😈",
- "😉",
- "😊",
- "😋",
- "😌",
- "😍",
- "😎",
- "😏",
- "😐",
- "😑",
- "😒",
- "😓",
- "😔",
- "😕",
- "😖",
- "😗",
- "😘",
- "😙",
- "😚",
- "😛",
- "😜",
- "😝",
- "😞",
- "😟",
- "😠",
- "😡",
- "😢",
- "😣",
- "😤",
- "😥",
- "😦",
- "😧",
- "😨",
- "😩",
- "😪",
- "😫",
- "😬",
- "😭",
- "😮",
- "😯",
- "😰",
- "😱",
- "😲",
- "😳",
- "😴",
- "😵",
- "😶",
- "😷",
- "😸",
- "😹",
- "😺",
- "😻",
- "😼",
- "😽",
- "😾",
- "😿",
- "🙀",
- "🙁",
- "🙂",
- "🙃",
- "🙄",
- "🙅🏻",
- "🙅🏼",
- "🙅🏽",
- "🙅🏾",
- "🙅🏿",
- "🙅",
- "🙆🏻",
- "🙆🏼",
- "🙆🏽",
- "🙆🏾",
- "🙆🏿",
- "🙆",
- "🙇🏻",
- "🙇🏼",
- "🙇🏽",
- "🙇🏾",
- "🙇🏿",
- "🙇",
- "🙈",
- "🙉",
- "🙊",
- "🙋🏻",
- "🙋🏼",
- "🙋🏽",
- "🙋🏾",
- "🙋🏿",
- "🙋",
- "🙌🏻",
- "🙌🏼",
- "🙌🏽",
- "🙌🏾",
- "🙌🏿",
- "🙌",
- "🙍🏻",
- "🙍🏼",
- "🙍🏽",
- "🙍🏾",
- "🙍🏿",
- "🙍",
- "🙎🏻",
- "🙎🏼",
- "🙎🏽",
- "🙎🏾",
- "🙎🏿",
- "🙎",
- "🙏🏻",
- "🙏🏼",
- "🙏🏽",
- "🙏🏾",
- "🙏🏿",
- "🙏",
- "🚀",
- "🚁",
- "🚂",
- "🚃",
- "🚄",
- "🚅",
- "🚆",
- "🚇",
- "🚈",
- "🚉",
- "🚊",
- "🚋",
- "🚌",
- "🚍",
- "🚎",
- "🚏",
- "🚐",
- "🚑",
- "🚒",
- "🚓",
- "🚔",
- "🚕",
- "🚖",
- "🚗",
- "🚘",
- "🚙",
- "🚚",
- "🚛",
- "🚜",
- "🚝",
- "🚞",
- "🚟",
- "🚠",
- "🚡",
- "🚢",
- "🚣🏻",
- "🚣🏼",
- "🚣🏽",
- "🚣🏾",
- "🚣🏿",
- "🚣",
- "🚤",
- "🚥",
- "🚦",
- "🚧",
- "🚨",
- "🚩",
- "🚪",
- "🚫",
- "🚬",
- "🚭",
- "🚮",
- "🚯",
- "🚰",
- "🚱",
- "🚲",
- "🚳",
- "🚴🏻",
- "🚴🏼",
- "🚴🏽",
- "🚴🏾",
- "🚴🏿",
- "🚴",
- "🚵🏻",
- "🚵🏼",
- "🚵🏽",
- "🚵🏾",
- "🚵🏿",
- "🚵",
- "🚶🏻",
- "🚶🏼",
- "🚶🏽",
- "🚶🏾",
- "🚶🏿",
- "🚶",
- "🚷",
- "🚸",
- "🚹",
- "🚺",
- "🚻",
- "🚼",
- "🚽",
- "🚾",
- "🚿",
- "🛀🏻",
- "🛀🏼",
- "🛀🏽",
- "🛀🏾",
- "🛀🏿",
- "🛀",
- "🛁",
- "🛂",
- "🛃",
- "🛄",
- "🛅",
- "🛋",
- "🛌",
- "🛍",
- "🛎",
- "🛏",
- "🛐",
- "🛠",
- "🛡",
- "🛢",
- "🛣",
- "🛤",
- "🛥",
- "🛩",
- "🛫",
- "🛬",
- "🛰",
- "🛳",
- "🤐",
- "🤑",
- "🤒",
- "🤓",
- "🤔",
- "🤕",
- "🤖",
- "🤗",
- "🤘🏻",
- "🤘🏼",
- "🤘🏽",
- "🤘🏾",
- "🤘🏿",
- "🤘",
- "🦀",
- "🦁",
- "🦂",
- "🦃",
- "🦄",
- "🧀",
- "‼",
- "⁉",
- "™",
- "ℹ",
- "↔",
- "↕",
- "↖",
- "↗",
- "↘",
- "↙",
- "↩",
- "↪",
- "#⃣",
- "⌚",
- "⌛",
- "⌨",
- "⏏",
- "⏩",
- "⏪",
- "⏫",
- "⏬",
- "⏭",
- "⏮",
- "⏯",
- "⏰",
- "⏱",
- "⏲",
- "⏳",
- "⏸",
- "⏹",
- "⏺",
- "Ⓜ",
- "▪",
- "▫",
- "▶",
- "◀",
- "◻",
- "◼",
- "◽",
- "◾",
- "☀",
- "☁",
- "☂",
- "☃",
- "☄",
- "☎",
- "☑",
- "☔",
- "☕",
- "☘",
- "☝🏻",
- "☝🏼",
- "☝🏽",
- "☝🏾",
- "☝🏿",
- "☝",
- "☠",
- "☢",
- "☣",
- "☦",
- "☪",
- "☮",
- "☯",
- "☸",
- "☹",
- "☺",
- "♈",
- "♉",
- "♊",
- "♋",
- "♌",
- "♍",
- "♎",
- "♏",
- "♐",
- "♑",
- "♒",
- "♓",
- "♠",
- "♣",
- "♥",
- "♦",
- "♨",
- "♻",
- "♿",
- "⚒",
- "⚓",
- "⚔",
- "⚖",
- "⚗",
- "⚙",
- "⚛",
- "⚜",
- "⚠",
- "⚡",
- "⚪",
- "⚫",
- "⚰",
- "⚱",
- "⚽",
- "⚾",
- "⛄",
- "⛅",
- "⛈",
- "⛎",
- "⛏",
- "⛑",
- "⛓",
- "⛔",
- "⛩",
- "⛪",
- "⛰",
- "⛱",
- "⛲",
- "⛳",
- "⛴",
- "⛵",
- "⛷",
- "⛸",
- "⛹🏻",
- "⛹🏼",
- "⛹🏽",
- "⛹🏾",
- "⛹🏿",
- "⛹",
- "⛺",
- "⛽",
- "✂",
- "✅",
- "✈",
- "✉",
- "✊🏻",
- "✊🏼",
- "✊🏽",
- "✊🏾",
- "✊🏿",
- "✊",
- "✋🏻",
- "✋🏼",
- "✋🏽",
- "✋🏾",
- "✋🏿",
- "✋",
- "✌🏻",
- "✌🏼",
- "✌🏽",
- "✌🏾",
- "✌🏿",
- "✌",
- "✍🏻",
- "✍🏼",
- "✍🏽",
- "✍🏾",
- "✍🏿",
- "✍",
- "✏",
- "✒",
- "✔",
- "✖",
- "✝",
- "✡",
- "✨",
- "✳",
- "✴",
- "❄",
- "❇",
- "❌",
- "❎",
- "❓",
- "❔",
- "❕",
- "❗",
- "❣",
- "❤",
- "➕",
- "➖",
- "➗",
- "➡",
- "➰",
- "➿",
- "⤴",
- "⤵",
- "*⃣",
- "⬅",
- "⬆",
- "⬇",
- "⬛",
- "⬜",
- "⭐",
- "⭕",
- "0⃣",
- "〰",
- "〽",
- "1⃣",
- "2⃣",
- "㊗",
- "㊙",
- "3⃣",
- "4⃣",
- "5⃣",
- "6⃣",
- "7⃣",
- "8⃣",
- "9⃣",
- "©",
- "®",
- ""
-]
\ No newline at end of file
diff --git a/node_modules/emojis-list/package.json b/node_modules/emojis-list/package.json
deleted file mode 100644
index 79f0f8b..0000000
--- a/node_modules/emojis-list/package.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "_args": [
- [
- "emojis-list@^2.0.0",
- "/home/vincent/Bureau/RIA/node_modules/loader-utils"
- ]
- ],
- "_from": "emojis-list@>=2.0.0 <3.0.0",
- "_id": "emojis-list@2.0.1",
- "_inCache": true,
- "_installable": true,
- "_location": "/emojis-list",
- "_nodeVersion": "5.9.0",
- "_npmOperationalInternal": {
- "host": "packages-12-west.internal.npmjs.com",
- "tmp": "tmp/emojis-list-2.0.1.tgz_1463051940954_0.1902820896357298"
- },
- "_npmUser": {
- "email": "josefrancisco.verdu@gmail.com",
- "name": "kikobeats"
- },
- "_npmVersion": "3.7.3",
- "_phantomChildren": {},
- "_requested": {
- "name": "emojis-list",
- "raw": "emojis-list@^2.0.0",
- "rawSpec": "^2.0.0",
- "scope": null,
- "spec": ">=2.0.0 <3.0.0",
- "type": "range"
- },
- "_requiredBy": [
- "/loader-utils"
- ],
- "_resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.0.1.tgz",
- "_shasum": "a174d9d0838eb36af3d0590bb6d3e8dcd94f4fbd",
- "_shrinkwrap": null,
- "_spec": "emojis-list@^2.0.0",
- "_where": "/home/vincent/Bureau/RIA/node_modules/loader-utils",
- "author": {
- "email": "josefrancisco.verdu@gmail.com",
- "name": "Kiko Beats",
- "url": "https://github.com/Kikobeats"
- },
- "bugs": {
- "url": "https://github.com/Kikobeats/emojis-list/issues"
- },
- "dependencies": {},
- "description": "Complete list of standard emojis.",
- "devDependencies": {
- "acho": "latest",
- "browserify": "latest",
- "cheerio": "latest",
- "got": ">=5 <6",
- "gulp": "latest",
- "gulp-header": "latest",
- "gulp-uglify": "latest",
- "gulp-util": "latest",
- "standard": "latest",
- "vinyl-buffer": "latest",
- "vinyl-source-stream": "latest"
- },
- "directories": {},
- "dist": {
- "shasum": "a174d9d0838eb36af3d0590bb6d3e8dcd94f4fbd",
- "tarball": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.0.1.tgz"
- },
- "engines": {
- "node": ">= 0.10"
- },
- "files": [
- "index.js"
- ],
- "gitHead": "f1188056dd40564e23dccee809d27b6eedff2b77",
- "homepage": "https://github.com/Kikobeats/emojis-list",
- "keywords": [
- "archive",
- "complete",
- "emoji",
- "list",
- "standard"
- ],
- "license": "MIT",
- "main": "./index.js",
- "maintainers": [
- {
- "email": "josefrancisco.verdu@gmail.com",
- "name": "kikobeats"
- }
- ],
- "name": "emojis-list",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/kikobeats/emojis-list.git"
- },
- "scripts": {
- "pretest": "standard update.js",
- "test": "echo 'YOLO'",
- "update": "node update"
- },
- "version": "2.0.1"
-}
diff --git a/node_modules/encodeurl/HISTORY.md b/node_modules/encodeurl/HISTORY.md
deleted file mode 100644
index 06d34a5..0000000
--- a/node_modules/encodeurl/HISTORY.md
+++ /dev/null
@@ -1,9 +0,0 @@
-1.0.1 / 2016-06-09
-==================
-
- * Fix encoding unpaired surrogates at start/end of string
-
-1.0.0 / 2016-06-08
-==================
-
- * Initial release
diff --git a/node_modules/encodeurl/LICENSE b/node_modules/encodeurl/LICENSE
deleted file mode 100644
index 8812229..0000000
--- a/node_modules/encodeurl/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2016 Douglas Christopher Wilson
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/encodeurl/README.md b/node_modules/encodeurl/README.md
deleted file mode 100644
index b086133..0000000
--- a/node_modules/encodeurl/README.md
+++ /dev/null
@@ -1,124 +0,0 @@
-# encodeurl
-
-[![NPM Version][npm-image]][npm-url]
-[![NPM Downloads][downloads-image]][downloads-url]
-[![Node.js Version][node-version-image]][node-version-url]
-[![Build Status][travis-image]][travis-url]
-[![Test Coverage][coveralls-image]][coveralls-url]
-
-Encode a URL to a percent-encoded form, excluding already-encoded sequences
-
-## Installation
-
-```sh
-$ npm install encodeurl
-```
-
-## API
-
-```js
-var encodeUrl = require('encodeurl')
-```
-
-### encodeUrl(url)
-
-Encode a URL to a percent-encoded form, excluding already-encoded sequences.
-
-This function will take an already-encoded URL and encode all the non-URL
-code points (as UTF-8 byte sequences). This function will not encode the
-"%" character unless it is not part of a valid sequence (`%20` will be
-left as-is, but `%foo` will be encoded as `%25foo`).
-
-This encode is meant to be "safe" and does not throw errors. It will try as
-hard as it can to properly encode the given URL, including replacing any raw,
-unpaired surrogate pairs with the Unicode replacement character prior to
-encoding.
-
-This function is _similar_ to the intrinsic function `encodeURI`, except it
-will not encode the `%` character if that is part of a valid sequence, will
-not encode `[` and `]` (for IPv6 hostnames) and will replace raw, unpaired
-surrogate pairs with the Unicode replacement character (instead of throwing).
-
-## Examples
-
-### Encode a URL containing user-controled data
-
-```js
-var encodeUrl = require('encodeurl')
-var escapeHtml = require('escape-html')
-
-http.createServer(function onRequest (req, res) {
- // get encoded form of inbound url
- var url = encodeUrl(req.url)
-
- // create html message
- var body = 'Location ' + escapeHtml(url) + ' not found
'
-
- // send a 404
- res.statusCode = 404
- res.setHeader('Content-Type', 'text/html; charset=UTF-8')
- res.setHeader('Content-Length', String(Buffer.byteLength(body, 'utf-8')))
- res.end(body, 'utf-8')
-})
-```
-
-### Encode a URL for use in a header field
-
-```js
-var encodeUrl = require('encodeurl')
-var escapeHtml = require('escape-html')
-var url = require('url')
-
-http.createServer(function onRequest (req, res) {
- // parse inbound url
- var href = url.parse(req)
-
- // set new host for redirect
- href.host = 'localhost'
- href.protocol = 'https:'
- href.slashes = true
-
- // create location header
- var location = encodeUrl(url.format(href))
-
- // create html message
- var body = 'Redirecting to new site: ' + escapeHtml(location) + '
'
-
- // send a 301
- res.statusCode = 301
- res.setHeader('Content-Type', 'text/html; charset=UTF-8')
- res.setHeader('Content-Length', String(Buffer.byteLength(body, 'utf-8')))
- res.setHeader('Location', location)
- res.end(body, 'utf-8')
-})
-```
-
-## Testing
-
-```sh
-$ npm test
-$ npm run lint
-```
-
-## References
-
-- [RFC 3986: Uniform Resource Identifier (URI): Generic Syntax][rfc-3986]
-- [WHATWG URL Living Standard][whatwg-url]
-
-[rfc-3986]: https://tools.ietf.org/html/rfc3986
-[whatwg-url]: https://url.spec.whatwg.org/
-
-## License
-
-[MIT](LICENSE)
-
-[npm-image]: https://img.shields.io/npm/v/encodeurl.svg
-[npm-url]: https://npmjs.org/package/encodeurl
-[node-version-image]: https://img.shields.io/node/v/encodeurl.svg
-[node-version-url]: https://nodejs.org/en/download
-[travis-image]: https://img.shields.io/travis/pillarjs/encodeurl.svg
-[travis-url]: https://travis-ci.org/pillarjs/encodeurl
-[coveralls-image]: https://img.shields.io/coveralls/pillarjs/encodeurl.svg
-[coveralls-url]: https://coveralls.io/r/pillarjs/encodeurl?branch=master
-[downloads-image]: https://img.shields.io/npm/dm/encodeurl.svg
-[downloads-url]: https://npmjs.org/package/encodeurl
diff --git a/node_modules/encodeurl/index.js b/node_modules/encodeurl/index.js
deleted file mode 100644
index ae77cc9..0000000
--- a/node_modules/encodeurl/index.js
+++ /dev/null
@@ -1,60 +0,0 @@
-/*!
- * encodeurl
- * Copyright(c) 2016 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict'
-
-/**
- * Module exports.
- * @public
- */
-
-module.exports = encodeUrl
-
-/**
- * RegExp to match non-URL code points, *after* encoding (i.e. not including "%")
- * and including invalid escape sequences.
- * @private
- */
-
-var ENCODE_CHARS_REGEXP = /(?:[^\x21\x25\x26-\x3B\x3D\x3F-\x5B\x5D\x5F\x61-\x7A\x7E]|%(?:[^0-9A-Fa-f]|[0-9A-Fa-f][^0-9A-Fa-f]))+/g
-
-/**
- * RegExp to match unmatched surrogate pair.
- * @private
- */
-
-var UNMATCHED_SURROGATE_PAIR_REGEXP = /(^|[^\uD800-\uDBFF])[\uDC00-\uDFFF]|[\uD800-\uDBFF]([^\uDC00-\uDFFF]|$)/g
-
-/**
- * String to replace unmatched surrogate pair with.
- * @private
- */
-
-var UNMATCHED_SURROGATE_PAIR_REPLACE = '$1\uFFFD$2'
-
-/**
- * Encode a URL to a percent-encoded form, excluding already-encoded sequences.
- *
- * This function will take an already-encoded URL and encode all the non-URL
- * code points. This function will not encode the "%" character unless it is
- * not part of a valid sequence (`%20` will be left as-is, but `%foo` will
- * be encoded as `%25foo`).
- *
- * This encode is meant to be "safe" and does not throw errors. It will try as
- * hard as it can to properly encode the given URL, including replacing any raw,
- * unpaired surrogate pairs with the Unicode replacement character prior to
- * encoding.
- *
- * @param {string} url
- * @return {string}
- * @public
- */
-
-function encodeUrl (url) {
- return String(url)
- .replace(UNMATCHED_SURROGATE_PAIR_REGEXP, UNMATCHED_SURROGATE_PAIR_REPLACE)
- .replace(ENCODE_CHARS_REGEXP, encodeURI)
-}
diff --git a/node_modules/encodeurl/package.json b/node_modules/encodeurl/package.json
deleted file mode 100644
index 44ad78b..0000000
--- a/node_modules/encodeurl/package.json
+++ /dev/null
@@ -1,103 +0,0 @@
-{
- "_args": [
- [
- "encodeurl@~1.0.1",
- "/home/vincent/Bureau/RIA/node_modules/express"
- ]
- ],
- "_from": "encodeurl@>=1.0.1 <1.1.0",
- "_id": "encodeurl@1.0.1",
- "_inCache": true,
- "_installable": true,
- "_location": "/encodeurl",
- "_nodeVersion": "4.4.3",
- "_npmOperationalInternal": {
- "host": "packages-12-west.internal.npmjs.com",
- "tmp": "tmp/encodeurl-1.0.1.tgz_1465519736251_0.09314409433864057"
- },
- "_npmUser": {
- "email": "doug@somethingdoug.com",
- "name": "dougwilson"
- },
- "_npmVersion": "2.15.1",
- "_phantomChildren": {},
- "_requested": {
- "name": "encodeurl",
- "raw": "encodeurl@~1.0.1",
- "rawSpec": "~1.0.1",
- "scope": null,
- "spec": ">=1.0.1 <1.1.0",
- "type": "range"
- },
- "_requiredBy": [
- "/express",
- "/send",
- "/serve-static"
- ],
- "_resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz",
- "_shasum": "79e3d58655346909fe6f0f45a5de68103b294d20",
- "_shrinkwrap": null,
- "_spec": "encodeurl@~1.0.1",
- "_where": "/home/vincent/Bureau/RIA/node_modules/express",
- "bugs": {
- "url": "https://github.com/pillarjs/encodeurl/issues"
- },
- "contributors": [
- {
- "email": "doug@somethingdoug.com",
- "name": "Douglas Christopher Wilson"
- }
- ],
- "dependencies": {},
- "description": "Encode a URL to a percent-encoded form, excluding already-encoded sequences",
- "devDependencies": {
- "eslint": "2.11.1",
- "eslint-config-standard": "5.3.1",
- "eslint-plugin-promise": "1.3.2",
- "eslint-plugin-standard": "1.3.2",
- "istanbul": "0.4.3",
- "mocha": "2.5.3"
- },
- "directories": {},
- "dist": {
- "shasum": "79e3d58655346909fe6f0f45a5de68103b294d20",
- "tarball": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz"
- },
- "engines": {
- "node": ">= 0.8"
- },
- "files": [
- "LICENSE",
- "HISTORY.md",
- "README.md",
- "index.js"
- ],
- "gitHead": "39ed0c235fed4cea7d012038fd6bb0480561d226",
- "homepage": "https://github.com/pillarjs/encodeurl#readme",
- "keywords": [
- "encode",
- "encodeurl",
- "url"
- ],
- "license": "MIT",
- "maintainers": [
- {
- "email": "doug@somethingdoug.com",
- "name": "dougwilson"
- }
- ],
- "name": "encodeurl",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/pillarjs/encodeurl.git"
- },
- "scripts": {
- "lint": "eslint **/*.js",
- "test": "mocha --reporter spec --bail --check-leaks test/",
- "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/",
- "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"
- },
- "version": "1.0.1"
-}
diff --git a/node_modules/encoding/.npmignore b/node_modules/encoding/.npmignore
deleted file mode 100644
index b512c09..0000000
--- a/node_modules/encoding/.npmignore
+++ /dev/null
@@ -1 +0,0 @@
-node_modules
\ No newline at end of file
diff --git a/node_modules/encoding/.travis.yml b/node_modules/encoding/.travis.yml
deleted file mode 100644
index abc4f48..0000000
--- a/node_modules/encoding/.travis.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-language: node_js
-sudo: false
-node_js:
- - "0.10"
- - 0.12
- - iojs
- - 4
- - 5
-env:
- - CXX=g++-4.8
-addons:
- apt:
- sources:
- - ubuntu-toolchain-r-test
- packages:
- - g++-4.8
-notifications:
- email:
- - andris@kreata.ee
- webhooks:
- urls:
- - https://webhooks.gitter.im/e/0ed18fd9b3e529b3c2cc
- on_success: change # options: [always|never|change] default: always
- on_failure: always # options: [always|never|change] default: always
- on_start: false # default: false
diff --git a/node_modules/encoding/LICENSE b/node_modules/encoding/LICENSE
deleted file mode 100644
index 33f5a9a..0000000
--- a/node_modules/encoding/LICENSE
+++ /dev/null
@@ -1,16 +0,0 @@
-Copyright (c) 2012-2014 Andris Reinman
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/node_modules/encoding/README.md b/node_modules/encoding/README.md
deleted file mode 100644
index 62e6bf8..0000000
--- a/node_modules/encoding/README.md
+++ /dev/null
@@ -1,52 +0,0 @@
-# Encoding
-
-**encoding** is a simple wrapper around [node-iconv](https://github.com/bnoordhuis/node-iconv) and [iconv-lite](https://github.com/ashtuchkin/iconv-lite/) to convert strings from one encoding to another. If node-iconv is not available for some reason,
-iconv-lite will be used instead of it as a fallback.
-
-[](http://travis-ci.org/andris9/Nodemailer)
-[](http://badge.fury.io/js/encoding)
-
-## Install
-
-Install through npm
-
- npm install encoding
-
-## Usage
-
-Require the module
-
- var encoding = require("encoding");
-
-Convert with encoding.convert()
-
- var resultBuffer = encoding.convert(text, toCharset, fromCharset);
-
-Where
-
- * **text** is either a Buffer or a String to be converted
- * **toCharset** is the characterset to convert the string
- * **fromCharset** (*optional*, defaults to UTF-8) is the source charset
-
-Output of the conversion is always a Buffer object.
-
-Example
-
- var result = encoding.convert("ÕÄÖÜ", "Latin_1");
- console.log(result); //
-
-## iconv support
-
-By default only iconv-lite is bundled. If you need node-iconv support, you need to add it
-as an additional dependency for your project:
-
- ...,
- "dependencies":{
- "encoding": "*",
- "iconv": "*"
- },
- ...
-
-## License
-
-**MIT**
diff --git a/node_modules/encoding/lib/encoding.js b/node_modules/encoding/lib/encoding.js
deleted file mode 100644
index cbea3ce..0000000
--- a/node_modules/encoding/lib/encoding.js
+++ /dev/null
@@ -1,113 +0,0 @@
-'use strict';
-
-var iconvLite = require('iconv-lite');
-// Load Iconv from an external file to be able to disable Iconv for webpack
-// Add /\/iconv-loader$/ to webpack.IgnorePlugin to ignore it
-var Iconv = require('./iconv-loader');
-
-// Expose to the world
-module.exports.convert = convert;
-
-/**
- * Convert encoding of an UTF-8 string or a buffer
- *
- * @param {String|Buffer} str String to be converted
- * @param {String} to Encoding to be converted to
- * @param {String} [from='UTF-8'] Encoding to be converted from
- * @param {Boolean} useLite If set to ture, force to use iconvLite
- * @return {Buffer} Encoded string
- */
-function convert(str, to, from, useLite) {
- from = checkEncoding(from || 'UTF-8');
- to = checkEncoding(to || 'UTF-8');
- str = str || '';
-
- var result;
-
- if (from !== 'UTF-8' && typeof str === 'string') {
- str = new Buffer(str, 'binary');
- }
-
- if (from === to) {
- if (typeof str === 'string') {
- result = new Buffer(str);
- } else {
- result = str;
- }
- } else if (Iconv && !useLite) {
- try {
- result = convertIconv(str, to, from);
- } catch (E) {
- console.error(E);
- try {
- result = convertIconvLite(str, to, from);
- } catch (E) {
- console.error(E);
- result = str;
- }
- }
- } else {
- try {
- result = convertIconvLite(str, to, from);
- } catch (E) {
- console.error(E);
- result = str;
- }
- }
-
-
- if (typeof result === 'string') {
- result = new Buffer(result, 'utf-8');
- }
-
- return result;
-}
-
-/**
- * Convert encoding of a string with node-iconv (if available)
- *
- * @param {String|Buffer} str String to be converted
- * @param {String} to Encoding to be converted to
- * @param {String} [from='UTF-8'] Encoding to be converted from
- * @return {Buffer} Encoded string
- */
-function convertIconv(str, to, from) {
- var response, iconv;
- iconv = new Iconv(from, to + '//TRANSLIT//IGNORE');
- response = iconv.convert(str);
- return response.slice(0, response.length);
-}
-
-/**
- * Convert encoding of astring with iconv-lite
- *
- * @param {String|Buffer} str String to be converted
- * @param {String} to Encoding to be converted to
- * @param {String} [from='UTF-8'] Encoding to be converted from
- * @return {Buffer} Encoded string
- */
-function convertIconvLite(str, to, from) {
- if (to === 'UTF-8') {
- return iconvLite.decode(str, from);
- } else if (from === 'UTF-8') {
- return iconvLite.encode(str, to);
- } else {
- return iconvLite.encode(iconvLite.decode(str, from), to);
- }
-}
-
-/**
- * Converts charset name if needed
- *
- * @param {String} name Character set
- * @return {String} Character set name
- */
-function checkEncoding(name) {
- return (name || '').toString().trim().
- replace(/^latin[\-_]?(\d+)$/i, 'ISO-8859-$1').
- replace(/^win(?:dows)?[\-_]?(\d+)$/i, 'WINDOWS-$1').
- replace(/^utf[\-_]?(\d+)$/i, 'UTF-$1').
- replace(/^ks_c_5601\-1987$/i, 'CP949').
- replace(/^us[\-_]?ascii$/i, 'ASCII').
- toUpperCase();
-}
diff --git a/node_modules/encoding/lib/iconv-loader.js b/node_modules/encoding/lib/iconv-loader.js
deleted file mode 100644
index 8e925fd..0000000
--- a/node_modules/encoding/lib/iconv-loader.js
+++ /dev/null
@@ -1,14 +0,0 @@
-'use strict';
-
-var iconv_package;
-var Iconv;
-
-try {
- // this is to fool browserify so it doesn't try (in vain) to install iconv.
- iconv_package = 'iconv';
- Iconv = require(iconv_package).Iconv;
-} catch (E) {
- // node-iconv not present
-}
-
-module.exports = Iconv;
diff --git a/node_modules/encoding/package.json b/node_modules/encoding/package.json
deleted file mode 100644
index 7d3981c..0000000
--- a/node_modules/encoding/package.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "_args": [
- [
- "encoding@^0.1.11",
- "/home/vincent/Bureau/RIA/node_modules/node-fetch"
- ]
- ],
- "_from": "encoding@>=0.1.11 <0.2.0",
- "_id": "encoding@0.1.12",
- "_inCache": true,
- "_installable": true,
- "_location": "/encoding",
- "_nodeVersion": "5.3.0",
- "_npmUser": {
- "email": "andris@kreata.ee",
- "name": "andris"
- },
- "_npmVersion": "3.3.12",
- "_phantomChildren": {},
- "_requested": {
- "name": "encoding",
- "raw": "encoding@^0.1.11",
- "rawSpec": "^0.1.11",
- "scope": null,
- "spec": ">=0.1.11 <0.2.0",
- "type": "range"
- },
- "_requiredBy": [
- "/node-fetch"
- ],
- "_resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
- "_shasum": "538b66f3ee62cd1ab51ec323829d1f9480c74beb",
- "_shrinkwrap": null,
- "_spec": "encoding@^0.1.11",
- "_where": "/home/vincent/Bureau/RIA/node_modules/node-fetch",
- "author": {
- "name": "Andris Reinman"
- },
- "bugs": {
- "url": "https://github.com/andris9/encoding/issues"
- },
- "dependencies": {
- "iconv-lite": "~0.4.13"
- },
- "description": "Convert encodings, uses iconv by default and fallbacks to iconv-lite if needed",
- "devDependencies": {
- "iconv": "~2.1.11",
- "nodeunit": "~0.9.1"
- },
- "directories": {},
- "dist": {
- "shasum": "538b66f3ee62cd1ab51ec323829d1f9480c74beb",
- "tarball": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz"
- },
- "gitHead": "91ae950aaa854a119122c27cdbabd8c5585106f7",
- "homepage": "https://github.com/andris9/encoding#readme",
- "license": "MIT",
- "main": "lib/encoding.js",
- "maintainers": [
- {
- "email": "andris@node.ee",
- "name": "andris"
- }
- ],
- "name": "encoding",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/andris9/encoding.git"
- },
- "scripts": {
- "test": "nodeunit test"
- },
- "version": "0.1.12"
-}
diff --git a/node_modules/encoding/test/test.js b/node_modules/encoding/test/test.js
deleted file mode 100644
index 0de4dcb..0000000
--- a/node_modules/encoding/test/test.js
+++ /dev/null
@@ -1,75 +0,0 @@
-'use strict';
-
-var Iconv = require('../lib/iconv-loader');
-var encoding = require('../lib/encoding');
-
-exports['General tests'] = {
-
- 'Iconv is available': function (test) {
- test.ok(Iconv);
- test.done();
- },
-
- 'From UTF-8 to Latin_1 with Iconv': function (test) {
- var input = 'ÕÄÖÜ',
- expected = new Buffer([0xd5, 0xc4, 0xd6, 0xdc]);
- test.deepEqual(encoding.convert(input, 'latin1'), expected);
- test.done();
- },
-
- 'From Latin_1 to UTF-8 with Iconv': function (test) {
- var input = new Buffer([0xd5, 0xc4, 0xd6, 0xdc]),
- expected = 'ÕÄÖÜ';
- test.deepEqual(encoding.convert(input, 'utf-8', 'latin1').toString(), expected);
- test.done();
- },
-
- 'From UTF-8 to UTF-8 with Iconv': function (test) {
- var input = 'ÕÄÖÜ',
- expected = new Buffer('ÕÄÖÜ');
- test.deepEqual(encoding.convert(input, 'utf-8', 'utf-8'), expected);
- test.done();
- },
-
- 'From Latin_13 to Latin_15 with Iconv': function (test) {
- var input = new Buffer([0xd5, 0xc4, 0xd6, 0xdc, 0xd0]),
- expected = new Buffer([0xd5, 0xc4, 0xd6, 0xdc, 0xA6]);
- test.deepEqual(encoding.convert(input, 'latin_15', 'latin13'), expected);
- test.done();
- },
-
- 'From ISO-2022-JP to UTF-8 with Iconv': function (test) {
- var input = new Buffer('GyRCM1g5OzU7PVEwdzgmPSQ4IUYkMnFKczlwGyhC', 'base64'),
- expected = new Buffer('5a2m5qCh5oqA6KGT5ZOh56CU5L+u5qSc6KiO5Lya5aCx5ZGK', 'base64');
- test.deepEqual(encoding.convert(input, 'utf-8', 'ISO-2022-JP'), expected);
- test.done();
- },
-
- 'From UTF-8 to Latin_1 with iconv-lite': function (test) {
- var input = 'ÕÄÖÜ',
- expected = new Buffer([0xd5, 0xc4, 0xd6, 0xdc]);
- test.deepEqual(encoding.convert(input, 'latin1', false, true), expected);
- test.done();
- },
-
- 'From Latin_1 to UTF-8 with iconv-lite': function (test) {
- var input = new Buffer([0xd5, 0xc4, 0xd6, 0xdc]),
- expected = 'ÕÄÖÜ';
- test.deepEqual(encoding.convert(input, 'utf-8', 'latin1', true).toString(), expected);
- test.done();
- },
-
- 'From UTF-8 to UTF-8 with iconv-lite': function (test) {
- var input = 'ÕÄÖÜ',
- expected = new Buffer('ÕÄÖÜ');
- test.deepEqual(encoding.convert(input, 'utf-8', 'utf-8', true), expected);
- test.done();
- },
-
- 'From Latin_13 to Latin_15 with iconv-lite': function (test) {
- var input = new Buffer([0xd5, 0xc4, 0xd6, 0xdc, 0xd0]),
- expected = new Buffer([0xd5, 0xc4, 0xd6, 0xdc, 0xA6]);
- test.deepEqual(encoding.convert(input, 'latin_15', 'latin13', true), expected);
- test.done();
- }
-};
diff --git a/node_modules/enhanced-resolve/README.md b/node_modules/enhanced-resolve/README.md
deleted file mode 100644
index c8791bf..0000000
--- a/node_modules/enhanced-resolve/README.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# enhanced-resolve
-
-Offers a async require.resolve function. It's highly configurable.
-
-[documentation](https://github.com/webpack/docs/wiki)
-
-
-## Features
-
-* plugin system
-* provide a custom filesystem
-* sync and async node.js filesystems included
-
-
-## Tests
-
-``` javascript
-npm test
-```
-
-[](http://travis-ci.org/webpack/enhanced-resolve)
-
-
-## License
-
-Copyright (c) 2012-2013 Tobias Koppers
-
-MIT (http://www.opensource.org/licenses/mit-license.php)
\ No newline at end of file
diff --git a/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js b/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js
deleted file mode 100644
index c32ed36..0000000
--- a/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-function Storage(duration) {
- this.duration = duration;
- this.running = {};
- this.data = {};
- this.levels = [];
- if(duration > 0) {
- this.levels.push([], [], [], [], [], [], [], [], []);
- for(var i = 8000; i < duration; i+=500)
- this.levels.push([]);
- }
- this.count = 0;
- this.interval = null;
- this.needTickCheck = false;
- this.nextTick = null;
- this.passive = true;
-}
-
-Storage.prototype.ensureTick = function() {
- if(!this.interval && this.duration > 0 && !this.nextTick)
- this.interval = setInterval(this.tick.bind(this), Math.floor(this.duration / this.levels.length));
-};
-
-Storage.prototype.finished = function(name) {
- var args = Array.prototype.slice.call(arguments, 1);
- var callbacks = this.running[name];
- delete this.running[name];
- if(this.duration > 0) {
- this.count++;
- this.data[name] = args;
- this.levels[0].push(name);
- this.ensureTick();
- }
- for(var i = 0; i < callbacks.length; i++) {
- callbacks[i].apply(null, args);
- }
-};
-
-Storage.prototype.provide = function(name, provider, callback) {
- var running = this.running[name];
- if(running) {
- running.push(callback);
- return;
- }
- if(this.duration > 0) {
- this.checkTicks();
- var data = this.data[name];
- if(data) {
- return callback.apply(null, data);
- }
- }
- this.running[name] = running = [callback];
- provider(name, this.finished.bind(this, name));
-};
-
-Storage.prototype.tick = function() {
- var decay = this.levels.pop();
- for(var i = decay.length - 1; i >= 0; i--) {
- delete this.data[decay[i]];
- }
- this.count -= decay.length;
- decay.length = 0;
- this.levels.unshift(decay);
- if(this.count == 0) {
- clearInterval(this.interval);
- this.interval = null;
- this.nextTick = null;
- return true;
- } else if(this.nextTick) {
- this.nextTick += Math.floor(this.duration / this.levels.length);
- var time = new Date().getTime();
- if(this.nextTick > time) {
- this.nextTick = null;
- this.interval = setInterval(this.tick.bind(this), Math.floor(this.duration / this.levels.length));
- return true;
- }
- } else if(this.passive) {
- clearInterval(this.interval);
- this.interval = null;
- this.nextTick = new Date().getTime() + Math.floor(this.duration / this.levels.length);
- } else {
- this.passive = true;
- }
-};
-
-Storage.prototype.checkTicks = function() {
- this.passive = false;
- if(this.nextTick) {
- while(!this.tick());
- }
-};
-
-Storage.prototype.purge = function(what) {
- if(!what) {
- this.count = 0;
- clearInterval(this.interval);
- this.nextTick = null;
- this.data = {};
- this.levels.forEach(function(level) {
- level.length = 0;
- });
- } else if(typeof what === "string") {
- Object.keys(this.data).forEach(function(key) {
- if(key.indexOf(what) === 0)
- delete this.data[key];
- }, this);
- } else {
- for(var i = what.length - 1; i >= 0; i--) {
- this.purge(what[i]);
- }
- }
-};
-
-
-function CachedInputFileSystem(fileSystem, duration) {
- this.fileSystem = fileSystem;
- this._statStorage = new Storage(duration);
- this._readdirStorage = new Storage(duration);
- this._readFileStorage = new Storage(duration);
- this._readlinkStorage = new Storage(duration);
-}
-module.exports = CachedInputFileSystem;
-
-CachedInputFileSystem.prototype.isSync = function() {
- return this.fileSystem.isSync();
-};
-
-CachedInputFileSystem.prototype.stat = function(path, callback) {
- this._statStorage.provide(path, this.fileSystem.stat.bind(this.fileSystem), callback);
-};
-
-CachedInputFileSystem.prototype.readdir = function(path, callback) {
- this._readdirStorage.provide(path, this.fileSystem.readdir.bind(this.fileSystem), callback);
-};
-
-CachedInputFileSystem.prototype.readFile = function(path, callback) {
- this._readFileStorage.provide(path, this.fileSystem.readFile.bind(this.fileSystem), callback);
-};
-
-CachedInputFileSystem.prototype.readlink = function(path, callback) {
- this._readlinkStorage.provide(path, this.fileSystem.readlink.bind(this.fileSystem), callback);
-};
-
-CachedInputFileSystem.prototype.purge = function(what) {
- this._statStorage.purge(what);
- this._readdirStorage.purge(what);
- this._readFileStorage.purge(what);
- this._readlinkStorage.purge(what);
-};
\ No newline at end of file
diff --git a/node_modules/enhanced-resolve/lib/DirectoryDefaultFilePlugin.js b/node_modules/enhanced-resolve/lib/DirectoryDefaultFilePlugin.js
deleted file mode 100644
index fdb5225..0000000
--- a/node_modules/enhanced-resolve/lib/DirectoryDefaultFilePlugin.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-var createInnerCallback = require("./createInnerCallback");
-
-function DirectoryDefaultFilePlugin(files) {
- this.files = files;
-}
-module.exports = DirectoryDefaultFilePlugin;
-
-DirectoryDefaultFilePlugin.prototype.apply = function(resolver) {
- var files = this.files;
- resolver.plugin("directory", function(request, callback) {
- var fs = this.fileSystem;
- var topLevelCallback = callback;
- var directory = this.join(request.path, request.request);
- fs.stat(directory, function(err, stat) {
- if(err || !stat) {
- if(callback.log) callback.log(directory + " doesn't exist (directory default file)");
- return callback();
- }
- if(!stat.isDirectory()) {
- if(callback.log) callback.log(directory + " is not a directory (directory default file)");
- return callback();
- }
- this.forEachBail(files, function(file, callback) {
- this.doResolve("file", {
- path: directory,
- query: request.query,
- request: file
- }, createInnerCallback(function(err, result) {
- if(!err && result) return callback(result);
- return callback();
- }, topLevelCallback, "directory default file " + file));
- }.bind(this), function(result) {
- if(!result) return callback();
- return callback(null, result);
- });
- }.bind(this));
- });
-};
\ No newline at end of file
diff --git a/node_modules/enhanced-resolve/lib/DirectoryDescriptionFileFieldAliasPlugin.js b/node_modules/enhanced-resolve/lib/DirectoryDescriptionFileFieldAliasPlugin.js
deleted file mode 100644
index b89b93e..0000000
--- a/node_modules/enhanced-resolve/lib/DirectoryDescriptionFileFieldAliasPlugin.js
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-var createInnerCallback = require("./createInnerCallback");
-
-function DirectoryDescriptionFileFieldAliasPlugin(filename, field) {
- this.filename = filename;
- this.field = field;
-}
-module.exports = DirectoryDescriptionFileFieldAliasPlugin;
-
-function findDescriptionFileField(resolver, directory, filename, field, callback) {
- (function findDescriptionFile() {
- var descriptionFilePath = resolver.join(directory, filename);
- resolver.fileSystem.readFile(descriptionFilePath, function(err, content) {
- if(err) {
- directory = cdUp(directory);
- if(!directory) {
- return callback();
- } else {
- return findDescriptionFile();
- }
- }
- try {
- content = JSON.parse(content);
- } catch(e) {
- if(callback.log)
- callback.log(descriptionFilePath + " (directory description file): " + e);
- else
- e.message = descriptionFilePath + " (directory description file): " + e;
- return callback(e);
- }
- var fieldData;
- if(Array.isArray(field)) {
- var current = content;
- for(var j = 0; j < field.length; j++) {
- if(current === null || typeof current !== "object") {
- current = null;
- break;
- }
- current = current[field[j]];
- }
- if(typeof current === "object") {
- fieldData = current;
- }
- } else {
- if(typeof content[field] === "object") {
- fieldData = content[field];
- }
- }
- if(!fieldData) return callback();
- callback(null, fieldData, directory);
- });
- }());
-}
-
-function cdUp(directory) {
- if(directory === "/") return null;
- var i = directory.lastIndexOf("/"),
- j = directory.lastIndexOf("\\");
- var p = i < 0 ? j : j < 0 ? i : i < j ? j : i;
- if(p < 0) return null;
- return directory.substr(0, p || 1);
-}
-
-DirectoryDescriptionFileFieldAliasPlugin.prototype.apply = function(resolver) {
- var filename = this.filename;
- var field = this.field;
- resolver.plugin("module", function(request, callback) {
- var directory = request.path;
- var moduleName = request.request;
- findDescriptionFileField(this, directory, filename, field, function(err, fieldData, directory) {
- if(err) return callback(err);
- if(!fieldData) return callback();
- var data = fieldData[moduleName];
- if(data === moduleName) return callback();
- if(data === false) return callback(null, {
- path: false,
- resolved: true
- });
- if(!data) return callback();
- var newRequest = this.parse(data);
- var obj = {
- path: directory,
- request: newRequest.path,
- query: newRequest.query,
- directory: newRequest.directory
- };
- var newCallback = createInnerCallback(callback, callback, "aliased from directory description file " + this.join(directory, filename) + " with mapping " + JSON.stringify(moduleName));
- if(newRequest.module) return this.doResolve("module", obj, newCallback);
- if(newRequest.directory) return this.doResolve("directory", obj, newCallback);
- return this.doResolve(["file", "directory"], obj, newCallback);
- }.bind(this));
- });
- resolver.plugin("result", function(request, callback) {
- var directory = cdUp(request.path);
- var requestPath = request.path;
- findDescriptionFileField(this, directory, filename, field, function(err, fieldData, directory) {
- if(err) return callback(err);
- if(!fieldData) return callback();
- var relative = requestPath.substr(directory.length+1).replace(/\\/g, "/");
- if(typeof fieldData[relative] !== "undefined")
- var data = fieldData[relative];
- else if(typeof fieldData["./" + relative] !== "undefined")
- var data = fieldData["./" + relative];
- if(data === relative || data === "./" + relative) return callback();
- if(data === false) return callback(null, {
- path: false,
- resolved: true
- });
- if(!data) return callback();
- var newRequest = this.parse(data);
- var obj = {
- path: directory,
- request: newRequest.path,
- query: newRequest.query,
- directory: newRequest.directory
- };
- var newCallback = createInnerCallback(callback, callback, "aliased from directory description file " + this.join(directory, filename) + " with mapping " + JSON.stringify(relative));
- if(newRequest.module) return this.doResolve("module", obj, newCallback);
- if(newRequest.directory) return this.doResolve("directory", obj, newCallback);
- return this.doResolve(["file", "directory"], obj, newCallback);
- }.bind(this));
- });
-};
diff --git a/node_modules/enhanced-resolve/lib/DirectoryDescriptionFilePlugin.js b/node_modules/enhanced-resolve/lib/DirectoryDescriptionFilePlugin.js
deleted file mode 100644
index 00dfa08..0000000
--- a/node_modules/enhanced-resolve/lib/DirectoryDescriptionFilePlugin.js
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-var createInnerCallback = require("./createInnerCallback");
-
-function DirectoryDescriptionFilePlugin(filename, fields) {
- this.filename = filename;
- this.fields = fields;
-}
-module.exports = DirectoryDescriptionFilePlugin;
-
-DirectoryDescriptionFilePlugin.prototype.apply = function(resolver) {
- var filename = this.filename;
- var fields = this.fields;
- resolver.plugin("directory", function(request, callback) {
- var fs = this.fileSystem;
- var directory = this.join(request.path, request.request);
- var descriptionFilePath = this.join(directory, filename);
- fs.readFile(descriptionFilePath, function(err, content) {
- if(err) {
- if(callback.log)
- callback.log(descriptionFilePath + " doesn't exist (directory description file)");
- return callback();
- }
- content = content.toString("utf-8");
- try {
- content = JSON.parse(content);
- } catch(e) {
- if(callback.log)
- callback.log(descriptionFilePath + " (directory description file): " + e);
- else
- e.message = descriptionFilePath + " (directory description file): " + e;
- return callback(e);
- }
- var mainModules = [];
- for(var i = 0; i < fields.length; i++) {
- if(Array.isArray(fields[i])) {
- var current = content;
- for(var j = 0; j < fields[i].length; j++) {
- if(current === null || typeof current !== "object") {
- current = null;
- break;
- }
- var field = fields[i][j];
- current = current[field];
- }
- if(typeof current === "string") {
- mainModules.push(current);
- continue;
- }
- } else {
- var field = fields[i];
- if(typeof content[field] === "string") {
- mainModules.push(content[field]);
- continue;
- }
- }
- }
- (function next() {
- if(mainModules.length == 0) return callback();
- var mainModule = mainModules.shift();
- return this.doResolve(["file", "directory"], {
- path: directory,
- query: request.query,
- request: mainModule
- }, createInnerCallback(function(err, result) {
- if(!err && result) return callback(null, result);
- return next.call(this);
- }.bind(this), callback, "use " + mainModule + " from " + filename));
- }.call(this))
- }.bind(this));
- });
-};
\ No newline at end of file
diff --git a/node_modules/enhanced-resolve/lib/DirectoryResultPlugin.js b/node_modules/enhanced-resolve/lib/DirectoryResultPlugin.js
deleted file mode 100644
index ecf5bda..0000000
--- a/node_modules/enhanced-resolve/lib/DirectoryResultPlugin.js
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-function DirectoryResultPlugin(files) {
- this.files = files;
-}
-module.exports = DirectoryResultPlugin;
-
-DirectoryResultPlugin.prototype.apply = function(resolver) {
- var files = this.files;
- resolver.plugin("directory", function(request, callback) {
- var fs = this.fileSystem;
- var directory = this.join(request.path, request.request);
- fs.stat(directory, function(err, stat) {
- if(!err && stat && stat.isDirectory()) {
- return this.doResolve("result", {
- path: directory,
- query: request.query,
- directory: true,
- resolved: true
- }, callback);
- }
- if(callback.log) {
- if(err) callback.log(directory + " doesn't exist");
- else callback.log(directory + " is not a directory");
- }
- return callback();
- }.bind(this));
- });
-};
\ No newline at end of file
diff --git a/node_modules/enhanced-resolve/lib/FileAppendPlugin.js b/node_modules/enhanced-resolve/lib/FileAppendPlugin.js
deleted file mode 100644
index d193064..0000000
--- a/node_modules/enhanced-resolve/lib/FileAppendPlugin.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-function FileAppendPlugin(appendings) {
- this.appendings = appendings;
-}
-module.exports = FileAppendPlugin;
-
-FileAppendPlugin.prototype.apply = function(resolver) {
- var appendings = this.appendings;
- resolver.plugin("file", function(request, callback) {
- var fs = this.fileSystem;
- var addr = this.join(request.path, request.request);
- var addrs = appendings.map(function(a) { return addr + a });
- var log = callback.log;
- var missing = callback.missing;
- this.forEachBail(addrs, function(addr, callback) {
- fs.stat(addr, function(err, stat) {
- if(!err && stat && stat.isFile())
- return callback(addr);
- if(missing && err)
- missing.push(addr);
- if(log) {
- if(err) log(addr + " doesn't exist");
- else log(addr + " is not a file");
- }
- return callback();
- });
- }, function(validAddr) {
- if(!validAddr) return callback();
- return this.doResolve("result", {
- path: validAddr,
- query: request.query,
- file: true,
- resolved: true
- }, callback);
- }.bind(this));
- });
-};
\ No newline at end of file
diff --git a/node_modules/enhanced-resolve/lib/ModuleAliasPlugin.js b/node_modules/enhanced-resolve/lib/ModuleAliasPlugin.js
deleted file mode 100644
index 7ee926b..0000000
--- a/node_modules/enhanced-resolve/lib/ModuleAliasPlugin.js
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-var createInnerCallback = require("./createInnerCallback");
-
-function ModuleAliasPlugin(aliasMap) {
- this.aliasMap = aliasMap;
-}
-module.exports = ModuleAliasPlugin;
-
-ModuleAliasPlugin.prototype.apply = function(resolver) {
- var aliasMap = this.aliasMap;
- resolver.plugin("module", function(request, callback) {
- var fs = this.fileSystem;
- var keys = Object.keys(aliasMap);
- var i = 0;
- (function next() {
- for(;i < keys.length; i++) {
- var aliasName = keys[i];
- var onlyModule = /\$$/.test(aliasName);
- if(onlyModule) aliasName = aliasName.substr(0, aliasName.length-1);
- if((!onlyModule && request.request.indexOf(aliasName + "/") === 0) || request.request === aliasName) {
- var aliasValue = aliasMap[keys[i]];
- if(request.request.indexOf(aliasValue + "/") !== 0 && request.request != aliasValue) {
- var newRequestStr = aliasValue + request.request.substr(aliasName.length);
- var newRequest = this.parse(newRequestStr);
- var obj = {
- path: request.path,
- request: newRequest.path,
- query: newRequest.query,
- directory: newRequest.directory
- };
- var newCallback = createInnerCallback(callback, callback, "aliased with mapping " + JSON.stringify(aliasName) + ": " + JSON.stringify(aliasValue) + " to " + newRequestStr);
- if(newRequest.module) return this.doResolve("module", obj, newCallback);
- if(newRequest.directory) return this.doResolve("directory", obj, newCallback);
- return this.doResolve(["file", "directory"], obj, newCallback);
- }
- }
- }
- return callback();
- }.call(this));
- });
-};
diff --git a/node_modules/enhanced-resolve/lib/ModuleAsDirectoryPlugin.js b/node_modules/enhanced-resolve/lib/ModuleAsDirectoryPlugin.js
deleted file mode 100644
index 3e1c6f9..0000000
--- a/node_modules/enhanced-resolve/lib/ModuleAsDirectoryPlugin.js
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-function ModuleAsDirectoryPlugin(moduleType) {
- this.moduleType = moduleType;
-}
-module.exports = ModuleAsDirectoryPlugin;
-
-ModuleAsDirectoryPlugin.prototype.apply = function(resolver) {
- resolver.plugin("module-" + this.moduleType, function(request, callback) {
- var fs = this.fileSystem;
- var i = request.request.indexOf("/"),
- j = request.request.indexOf("\\");
- var p = i < 0 ? j : j < 0 ? i : i < j ? i : j;
- var moduleName, remainingRequest;
- if(p < 0) {
- moduleName = request.request;
- remainingRequest = "";
- } else {
- moduleName = request.request.substr(0, p);
- remainingRequest = request.request.substr(p+1);
- }
- var modulePath = this.join(request.path, moduleName);
- fs.stat(modulePath, function(err, stat) {
- if(err || !stat) {
- if(callback.missing)
- callback.missing.push(modulePath);
- if(callback.log) callback.log(modulePath + " doesn't exist (module as directory)");
- return callback();
- }
- if(stat.isDirectory()) {
- return this.doResolve(request.directory ? "directory" : ["file", "directory"], {
- path: modulePath,
- request: remainingRequest,
- query: request.query
- }, callback, true);
- }
- if(callback.log) callback.log(modulePath + " is not a directory (module as directory)");
- return callback();
- }.bind(this));
- });
-};
diff --git a/node_modules/enhanced-resolve/lib/ModuleAsFilePlugin.js b/node_modules/enhanced-resolve/lib/ModuleAsFilePlugin.js
deleted file mode 100644
index 15107f1..0000000
--- a/node_modules/enhanced-resolve/lib/ModuleAsFilePlugin.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-function ModuleAsFilePlugin(moduleType) {
- this.moduleType = moduleType;
-}
-module.exports = ModuleAsFilePlugin;
-
-ModuleAsFilePlugin.prototype.apply = function(resolver) {
- resolver.plugin("module-" + this.moduleType, function(request, callback) {
- var fs = this.fileSystem;
- var i = request.request.indexOf("/"),
- j = request.request.indexOf("\\");
- if(i >= 0 || j >= 0 || request.directory) return callback();
- return this.doResolve("file", request, callback, true);
- });
-};
diff --git a/node_modules/enhanced-resolve/lib/ModuleTemplatesPlugin.js b/node_modules/enhanced-resolve/lib/ModuleTemplatesPlugin.js
deleted file mode 100644
index b07566c..0000000
--- a/node_modules/enhanced-resolve/lib/ModuleTemplatesPlugin.js
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-var createInnerCallback = require("./createInnerCallback");
-
-function ModuleTemplatesPlugin(moduleType, templates, targetModuleType) {
- this.moduleType = moduleType;
- this.targetModuleType = targetModuleType;
- this.templates = templates;
-}
-module.exports = ModuleTemplatesPlugin;
-
-ModuleTemplatesPlugin.prototype.apply = function(resolver) {
- var templates = this.templates;
- var targetModuleType = this.targetModuleType;
- resolver.plugin("module-" + this.moduleType, function(request, callback) {
- var fs = this.fileSystem;
- var topLevelCallback = callback;
- var i = request.request.indexOf("/"),
- j = request.request.indexOf("\\");
- var p = i < 0 ? j : j < 0 ? i : i < j ? i : j;
- var moduleName, remainingRequest;
- if(p < 0) {
- moduleName = request.request;
- remainingRequest = "";
- } else {
- moduleName = request.request.substr(0, p);
- remainingRequest = request.request.substr(p);
- }
- this.forEachBail(templates, function(template, callback) {
- var moduleFinalName = template.replace(/\*/g, moduleName);
- this.applyPluginsParallelBailResult("module-" + targetModuleType, {
- path: request.path,
- request: moduleFinalName + remainingRequest,
- query: request.query,
- directory: request.directory
- }, createInnerCallback(function(err, result) {
- if(err) return callback(err);
- if(!result) return callback();
- return callback(null, result);
- }, topLevelCallback, "module variation " + moduleFinalName));
- }.bind(this), callback);
- });
-};
diff --git a/node_modules/enhanced-resolve/lib/ModulesInDirectoriesPlugin.js b/node_modules/enhanced-resolve/lib/ModulesInDirectoriesPlugin.js
deleted file mode 100644
index 39dced0..0000000
--- a/node_modules/enhanced-resolve/lib/ModulesInDirectoriesPlugin.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-var createInnerCallback = require("./createInnerCallback");
-var popPathSeqment = require("./popPathSeqment");
-
-function ModulesInDirectoriesPlugin(moduleType, directories) {
- this.moduleType = moduleType;
- this.directories = directories;
-}
-module.exports = ModulesInDirectoriesPlugin;
-
-ModulesInDirectoriesPlugin.prototype.apply = function(resolver) {
- var moduleType = this.moduleType;
- var directories = this.directories;
- resolver.plugin("module", function(request, callback) {
- var fs = this.fileSystem;
- var paths = [request.path];
- var addr = [request.path];
- var pathSeqment = popPathSeqment(addr);
- var topLevelCallback = callback;
- while(pathSeqment) {
- paths.push(addr[0]);
- pathSeqment = popPathSeqment(addr);
- }
- var addrs = paths.map(function(p) {
- return directories.map(function(d) {
- return this.join(p, d);
- }, this);
- }, this).reduce(function(array, p) {
- array.push.apply(array, p);
- return array;
- }, []);
- this.forEachBail(addrs, function(addr, callback) {
- fs.stat(addr, function(err, stat) {
- if(!err && stat && stat.isDirectory()) {
- this.applyPluginsParallelBailResult("module-" + moduleType, {
- path: addr,
- request: request.request,
- query: request.query,
- directory: request.directory
- }, createInnerCallback(function(err, result) {
- if(err) return callback(err);
- if(!result) return callback();
- return callback(null, result);
- }, topLevelCallback, "looking for modules in " + addr));
- return;
- }
- return callback();
- }.bind(this));
- }.bind(this), function(err, result) {
- if(err) return callback(err);
- if(!result) return callback();
- return callback(null, result);
- });
- });
-};
diff --git a/node_modules/enhanced-resolve/lib/ModulesInRootPlugin.js b/node_modules/enhanced-resolve/lib/ModulesInRootPlugin.js
deleted file mode 100644
index 0be6fe1..0000000
--- a/node_modules/enhanced-resolve/lib/ModulesInRootPlugin.js
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-var createInnerCallback = require("./createInnerCallback");
-
-function ModulesInRootPlugin(moduleType, path) {
- this.moduleType = moduleType;
- this.path = path;
-}
-module.exports = ModulesInRootPlugin;
-
-ModulesInRootPlugin.prototype.apply = function(resolver) {
- var moduleType = this.moduleType;
- var path = this.path;
- resolver.plugin("module", function(request, callback) {
- this.applyPluginsParallelBailResult("module-" + moduleType, {
- path: path,
- request: request.request,
- query: request.query,
- directory: request.directory
- }, createInnerCallback(function innerCallback(err, result) {
- if(err) return callback(err);
- if(!result) return callback();
- return callback(null, result);
- }, callback, "looking for modules in " + path));
- });
-};
diff --git a/node_modules/enhanced-resolve/lib/NodeJsInputFileSystem.js b/node_modules/enhanced-resolve/lib/NodeJsInputFileSystem.js
deleted file mode 100644
index 3dd01b0..0000000
--- a/node_modules/enhanced-resolve/lib/NodeJsInputFileSystem.js
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-var fs = require("graceful-fs");
-
-function NodeJsInputFileSystem() {}
-module.exports = NodeJsInputFileSystem;
-
-NodeJsInputFileSystem.prototype.isSync = function() {
- return false;
-};
-
-NodeJsInputFileSystem.prototype.stat = fs.stat.bind(fs);
-NodeJsInputFileSystem.prototype.readdir = function readdir(path, callback) {
- fs.readdir(path, function (err, files) {
- callback(err, files && files.map(function (file) {
- return file.normalize ? file.normalize("NFC") : file;
- }));
- });
-};
-NodeJsInputFileSystem.prototype.readFile = fs.readFile.bind(fs);
-NodeJsInputFileSystem.prototype.readlink = fs.readlink.bind(fs);
\ No newline at end of file
diff --git a/node_modules/enhanced-resolve/lib/Resolver.js b/node_modules/enhanced-resolve/lib/Resolver.js
deleted file mode 100644
index e460135..0000000
--- a/node_modules/enhanced-resolve/lib/Resolver.js
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-var Tapable = require("tapable");
-var createInnerCallback = require("./createInnerCallback");
-
-function Resolver(fileSystem) {
- Tapable.call(this);
- this.fileSystem = fileSystem;
-}
-module.exports = Resolver;
-
-Resolver.prototype = Object.create(Tapable.prototype);
-
-Resolver.prototype.resolveSync = function resolveSync(context, request) {
- var err, result, sync = false;
- this.resolve(context, request, function(e, r) {
- err = e;
- result = r;
- sync = true;
- });
- if(!sync) throw new Error("Cannot 'resolveSync' because the fileSystem is not sync. Use 'resolve'!");
- if(err) throw err;
- return result;
-};
-
-Resolver.prototype.resolve = function resolve(context, request, callback) {
- if(typeof request === "string") request = this.parse(request);
- this.applyPlugins("resolve", context, request);
- var obj = {
- path: context,
- request: request.path,
- query: request.query,
- directory: request.directory
- };
- function onResolved(err, result) {
- if(err) return callback(err);
- return callback(null, result.path === false ? false : result.path + (result.query || ""));
- }
- onResolved.log = callback.log;
- onResolved.missing = callback.missing;
- if(request.module) return this.doResolve("module", obj, onResolved);
- if(request.directory) return this.doResolve("directory", obj, onResolved);
- return this.doResolve(["file", "directory"], obj, onResolved);
-};
-
-Resolver.prototype.doResolve = function doResolve(types, request, callback, noError) {
- if(!Array.isArray(types)) types = [types];
- var stackLine = types.join(" or ") + ": (" + request.path + ") " +
- (request.request || "") + (request.query || "") +
- (request.directory ? " directory" : "") +
- (request.module ? " module" : "");
- var newStack = [stackLine];
- if(callback.stack) {
- newStack = callback.stack.concat(newStack);
- if(callback.stack.indexOf(stackLine) >= 0) {
- // Prevent recursion
- var recursionError = new Error("Recursion in resolving\nStack:\n " + newStack.join("\n "));
- recursionError.recursion = true;
- if(callback.log) callback.log("abort resolving because of recursion");
- return callback(recursionError);
- }
- }
- this.applyPlugins("resolve-step", types, request);
- var localMissing = [];
- var missing = callback.missing ? {
- push: function(item) {
- callback.missing.push(item);
- localMissing.push(item);
- }
- } : localMissing;
- var log = [];
- function writeLog(msg) {
- log.push(msg);
- }
- function logAsString() {
- return log.join("\n");
- }
- var currentRequestString = request.request ? request.request + " in " + request.path : request.path;
- if(types.length == 1 && !noError) {
- // If only one type, we can pass the error.
- return this.applyPluginsParallelBailResult(types[0], request, createInnerCallback(function innerCallback(err, result) {
- if(callback.log) {
- for(var i = 0; i < log.length; i++)
- callback.log(log[i]);
- }
- if(err) return callback(err);
- if(result) return callback(null, result);
- if(types[0] === "result") return callback(null, request);
- var error = new Error("Cannot resolve " + types[0] + " '" + request.request + "' in " + request.path);
- error.details = logAsString();
- error.missing = localMissing;
- return callback(error);
- }, {
- log: writeLog,
- missing: missing,
- stack: newStack
- }, "resolve " + types[0] + " " + currentRequestString));
- }
- // For multiple type we list the errors in the details although some of them are not important
- this.forEachBail(types, function(type, callback) {
- this.applyPluginsParallelBailResult(type, request, createInnerCallback(function(err, result) {
- if(!err && result) return callback(result);
- if (err) {
- (err.message || "").split("\n").forEach(function(line) {
- log.push(" " + line);
- });
- }
- callback();
- }, {
- log: writeLog,
- missing: missing,
- stack: newStack
- }, "resolve " + type));
- }.bind(this), function(result) {
- if(callback.log) {
- callback.log("resolve '" + types.join("' or '") + "' " + currentRequestString);
- for(var i = 0; i < log.length; i++)
- callback.log(" " + log[i]);
- }
- if(noError && !result) return callback();
- if(result) return callback(null, result);
- var error = new Error("Cannot resolve '" + types.join("' or '") + "' " + currentRequestString);
- error.details = logAsString();
- error.missing = localMissing;
- return callback(error);
- });
-};
-
-Resolver.prototype.parse = function parse(identifier) {
- if(identifier === "") return null;
- var part = {
- path: null,
- query: null,
- module: false,
- directory: false,
- file: false
- };
- var idxQuery = identifier.indexOf("?");
- if(idxQuery == 0) {
- part.query = identifier;
- } else if(idxQuery > 0) {
- part.path = identifier.slice(0, idxQuery);
- part.query = identifier.slice(idxQuery);
- } else {
- part.path = identifier;
- }
- if(part.path) {
- part.module = this.isModule(part.path);
- if(part.directory = this.isDirectory(part.path)) {
- part.path = part.path.substr(0, part.path.length - 1);
- }
- }
- return part;
-};
-
-var notModuleRegExp = /^\.$|^\.[\\\/]|^\.\.$|^\.\.[\/\\]|^\/|^[A-Z]:[\\\/]/i;
-Resolver.prototype.isModule = function isModule(path) {
- return !notModuleRegExp.test(path);
-};
-
-var directoryRegExp = /[\/\\]$/i;
-Resolver.prototype.isDirectory = function isDirectory(path) {
- return directoryRegExp.test(path);
-};
-
-Resolver.prototype.join = require("memory-fs/lib/join");
-
-Resolver.prototype.normalize = require("memory-fs/lib/normalize");
-
-Resolver.prototype.forEachBail = function(array, iterator, callback) {
- if(array.length == 0) return callback();
- var currentPos = array.length;
- var currentError, currentResult;
- var done = [];
- for(var i = 0; i < array.length; i++) {
- var itCb = (function(i) {
- return function() {
- if(i >= currentPos) return; // ignore
- var args = Array.prototype.slice.call(arguments);
- done.push(i);
- if(args.length > 0) {
- currentPos = i + 1;
- done = done.filter(function(item) {
- return item <= i;
- });
- currentResult = args;
- }
- if(done.length == currentPos) {
- callback.apply(null, currentResult);
- currentPos = 0;
- }
- };
- }(i));
- iterator(array[i], itCb);
- if(currentPos == 0) break;
- }
-};
-
diff --git a/node_modules/enhanced-resolve/lib/ResultSymlinkPlugin.js b/node_modules/enhanced-resolve/lib/ResultSymlinkPlugin.js
deleted file mode 100644
index fb8c5dd..0000000
--- a/node_modules/enhanced-resolve/lib/ResultSymlinkPlugin.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-var popPathSeqment = require("./popPathSeqment");
-
-function ResultSymlinkPlugin(appendings) {
-}
-module.exports = ResultSymlinkPlugin;
-
-ResultSymlinkPlugin.prototype.apply = function(resolver) {
- resolver.plugin("result", function pluginMethod(request, callback) {
- var fs = this.fileSystem;
- var paths = [request.path];
- var pathSeqments = [];
- var addr = [request.path];
- var pathSeqment = popPathSeqment(addr);
- while(pathSeqment) {
- pathSeqments.push(pathSeqment);
- paths.push(addr[0]);
- pathSeqment = popPathSeqment(addr);
- }
- pathSeqments.push(paths[paths.length-1]);
- var log = callback.log;
- var missing = callback.missing;
- var containsSymlink = false;
- this.forEachBail(paths.map(function(_, i) { return i; }), function(idx, callback) {
- fs.readlink(paths[idx], function(err, result) {
- if(!err && result) {
- pathSeqments[idx] = result;
- containsSymlink = true;
- // Shortcut when absolute symlink found
- if(/^(\/|[a-zA-z]:($|\\))/.test(result))
- return callback(null, idx);
- }
- callback();
- });
- }, function(err, idx) {
- if(!containsSymlink) return callback();
- var resultSeqments = typeof idx === "number" ? pathSeqments.slice(0, idx+1) : pathSeqments.slice();
- var result = resultSeqments.reverse().reduce(function(a, b) {
- return this.join(a, b);
- }.bind(this));
- log("resolved symlink to " + result);
- request.path = result;
- pluginMethod.call(this, request, callback);
- }.bind(this));
- });
-};
\ No newline at end of file
diff --git a/node_modules/enhanced-resolve/lib/SyncNodeJsInputFileSystem.js b/node_modules/enhanced-resolve/lib/SyncNodeJsInputFileSystem.js
deleted file mode 100644
index a74fffe..0000000
--- a/node_modules/enhanced-resolve/lib/SyncNodeJsInputFileSystem.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-var fs = require("graceful-fs");
-
-function SyncNodeJsInputFileSystem() {}
-module.exports = SyncNodeJsInputFileSystem;
-
-SyncNodeJsInputFileSystem.prototype.isSync = function() {
- return true;
-};
-
-function asAsync(fn, context) {
- return function() {
- var args = Array.prototype.slice.call(arguments);
- var callback = args.pop();
- try {
- callback(null, fn.apply(context, args));
- } catch(e) {
- callback(e);
- }
- };
-}
-
-SyncNodeJsInputFileSystem.prototype.stat = asAsync(fs.statSync, fs);
-SyncNodeJsInputFileSystem.prototype.readdir = asAsync(function readdirSync(path) {
- var files = fs.readdirSync(path);
- return files && files.map(function (file) {
- return file.normalize ? file.normalize("NFC") : file;
- });
-}, fs);
-SyncNodeJsInputFileSystem.prototype.readFile = asAsync(fs.readFileSync, fs);
-SyncNodeJsInputFileSystem.prototype.readlink = asAsync(fs.readlinkSync, fs);
\ No newline at end of file
diff --git a/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js b/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js
deleted file mode 100644
index 8a3d50e..0000000
--- a/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-function UnsafeCachePlugin(regExps, cache) {
- this.regExps = regExps || [/./];
- if(this.regExps === true) this.regExps = [/./];
- else if(!Array.isArray(this.regExps)) this.regExps = [this.regExps];
- this.cache = cache || {};
-}
-module.exports = UnsafeCachePlugin;
-
-UnsafeCachePlugin.prototype.apply = function(resolver) {
- var oldResolve = resolver.resolve;
- var regExps = this.regExps;
- var cache = this.cache;
- resolver.resolve = function resolve(context, request, callback) {
- var id = context + "->" + request;
- if(cache[id]) {
- // From cache
- return callback(null, cache[id]);
- }
- oldResolve.call(resolver, context, request, function(err, result) {
- if(err) return callback(err);
- var doCache = regExps.some(function(regExp) {
- return regExp.test(result.path);
- });
- if(!doCache) return callback(null, result);
- callback(null, cache[id] = result);
- });
- };
-};
diff --git a/node_modules/enhanced-resolve/lib/createInnerCallback.js b/node_modules/enhanced-resolve/lib/createInnerCallback.js
deleted file mode 100644
index b987d76..0000000
--- a/node_modules/enhanced-resolve/lib/createInnerCallback.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-module.exports = function createInnerCallback(callback, options, message) {
- var log = options.log;
- if(!log) {
- if(options.stack !== callback.stack) {
- function callbackWrapper() {
- return callback.apply(this, arguments);
- }
- callbackWrapper.stack = options.stack;
- callbackWrapper.missing = options.missing;
- }
- return callback;
- }
- function loggingCallbackWrapper() {
- log(message);
- for(var i = 0; i < theLog.length; i++)
- log(" " + theLog[i]);
- return callback.apply(this, arguments);
- }
- var theLog = [];
- loggingCallbackWrapper.log = function writeLog(msg) {
- theLog.push(msg);
- };
- loggingCallbackWrapper.stack = options.stack;
- loggingCallbackWrapper.missing = options.missing;
- return loggingCallbackWrapper;
-}
\ No newline at end of file
diff --git a/node_modules/enhanced-resolve/lib/node.js b/node_modules/enhanced-resolve/lib/node.js
deleted file mode 100644
index c360605..0000000
--- a/node_modules/enhanced-resolve/lib/node.js
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-var Resolver = require("./Resolver");
-var NodeJsInputFileSystem = require("./NodeJsInputFileSystem");
-var SyncNodeJsInputFileSystem = require("./SyncNodeJsInputFileSystem");
-var CachedInputFileSystem = require("./CachedInputFileSystem");
-var ModulesInDirectoriesPlugin = require("./ModulesInDirectoriesPlugin");
-var ModuleTemplatesPlugin = require("./ModuleTemplatesPlugin");
-var ModuleAsFilePlugin = require("./ModuleAsFilePlugin");
-var ModuleAsDirectoryPlugin = require("./ModuleAsDirectoryPlugin");
-var DirectoryDefaultFilePlugin = require("./DirectoryDefaultFilePlugin");
-var DirectoryDescriptionFilePlugin = require("./DirectoryDescriptionFilePlugin");
-var FileAppendPlugin = require("./FileAppendPlugin");
-var ResultSymlinkPlugin = require("./ResultSymlinkPlugin");
-var DirectoryResultPlugin = require("./DirectoryResultPlugin");
-
-var commonPlugins = [
- new ModulesInDirectoriesPlugin("node", ["node_modules"]),
- new ModuleAsFilePlugin("node"),
- new ModuleAsDirectoryPlugin("node"),
- new DirectoryDescriptionFilePlugin("package.json", ["main"]),
- new DirectoryDefaultFilePlugin(["index"]),
- new FileAppendPlugin(["", ".js", ".node"]),
- new ResultSymlinkPlugin()
-];
-
-var commonContextPlugins = [
- new ModulesInDirectoriesPlugin("node", ["node_modules"]),
- new ModuleAsFilePlugin("node"),
- new ModuleAsDirectoryPlugin("node"),
- new DirectoryResultPlugin(),
- new ResultSymlinkPlugin()
-];
-
-var commonLoaderPlugins = [
- new ModulesInDirectoriesPlugin("loader-module", ["node_loaders", "node_modules"]),
- new ModuleTemplatesPlugin("loader-module", ["*-loader", "*"], "node"),
- new ModuleAsFilePlugin("node"),
- new ModuleAsDirectoryPlugin("node"),
- new DirectoryDescriptionFilePlugin("package.json", ["loader", "main"]),
- new DirectoryDefaultFilePlugin(["index"]),
- new FileAppendPlugin([".loader.js", "", ".js"]),
- new ResultSymlinkPlugin()
-];
-
-var asyncFileSystem = new CachedInputFileSystem(new NodeJsInputFileSystem(), 4000);
-var syncFileSystem = new CachedInputFileSystem(new SyncNodeJsInputFileSystem(), 4000);
-
-
-var asyncResolver = new Resolver(asyncFileSystem);
-asyncResolver.apply.apply(asyncResolver, commonPlugins);
-module.exports = function resolve(context, request, callback) {
- asyncResolver.resolve(context, request, callback);
-};
-
-var syncResolver = new Resolver(syncFileSystem);
-syncResolver.apply.apply(syncResolver, commonPlugins);
-module.exports.sync = function resolveSync(context, request) {
- return syncResolver.resolveSync(context, request);
-};
-
-
-var asyncContextResolver = new Resolver(asyncFileSystem);
-asyncContextResolver.apply.apply(asyncContextResolver, commonContextPlugins);
-module.exports.context = function resolveContext(context, request, callback) {
- asyncContextResolver.resolve(context, request, callback);
-};
-
-var syncContextResolver = new Resolver(syncFileSystem);
-syncContextResolver.apply.apply(syncContextResolver, commonContextPlugins);
-module.exports.context.sync = function resolveSync(context, request) {
- return syncContextResolver.resolveSync(context, request);
-};
-
-
-var asyncLoaderResolver = new Resolver(asyncFileSystem);
-asyncLoaderResolver.apply.apply(asyncLoaderResolver, commonLoaderPlugins);
-module.exports.loader = function resolveContext(context, request, callback) {
- asyncLoaderResolver.resolve(context, request, callback);
-};
-
-var syncLoaderResolver = new Resolver(syncFileSystem);
-syncLoaderResolver.apply.apply(syncLoaderResolver, commonLoaderPlugins);
-module.exports.loader.sync = function resolveSync(context, request) {
- return syncLoaderResolver.resolveSync(context, request);
-};
-
-// Export Resolver, FileSystems and Plugins
-module.exports.Resolver = Resolver;
-module.exports.NodeJsInputFileSystem = NodeJsInputFileSystem;
-module.exports.SyncNodeJsInputFileSystem = SyncNodeJsInputFileSystem;
-module.exports.CachedInputFileSystem = CachedInputFileSystem;
-module.exports.ModulesInDirectoriesPlugin = ModulesInDirectoriesPlugin;
-module.exports.ModuleAsDirectoryPlugin = ModuleAsDirectoryPlugin;
-module.exports.DirectoryDefaultFilePlugin = DirectoryDefaultFilePlugin;
-module.exports.DirectoryDescriptionFilePlugin = DirectoryDescriptionFilePlugin;
-module.exports.FileAppendPlugin = FileAppendPlugin;
-module.exports.DirectoryResultPlugin = DirectoryResultPlugin;
-module.exports.ResultSymlinkPlugin = ResultSymlinkPlugin;
-module.exports.ModuleAsFilePlugin = ModuleAsFilePlugin;
-module.exports.ModuleTemplatesPlugin = ModuleTemplatesPlugin;
diff --git a/node_modules/enhanced-resolve/lib/popPathSeqment.js b/node_modules/enhanced-resolve/lib/popPathSeqment.js
deleted file mode 100644
index f4b487c..0000000
--- a/node_modules/enhanced-resolve/lib/popPathSeqment.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-module.exports = function popPathSeqment(pathInArray) {
- var i = pathInArray[0].lastIndexOf("/"),
- j = pathInArray[0].lastIndexOf("\\");
- var p = i < 0 ? j : j < 0 ? i : i < j ? j : i;
- if(p < 0) return null;
- var s = pathInArray[0].substr(p+1);
- pathInArray[0] = pathInArray[0].substr(0, p || 1);
- return s;
-};
diff --git a/node_modules/enhanced-resolve/package.json b/node_modules/enhanced-resolve/package.json
deleted file mode 100644
index 608957c..0000000
--- a/node_modules/enhanced-resolve/package.json
+++ /dev/null
@@ -1,90 +0,0 @@
-{
- "_args": [
- [
- "enhanced-resolve@^0.9.0",
- "/home/vincent/Bureau/RIA/node_modules/ts-loader"
- ]
- ],
- "_from": "enhanced-resolve@>=0.9.0 <0.10.0",
- "_id": "enhanced-resolve@0.9.1",
- "_inCache": true,
- "_location": "/enhanced-resolve",
- "_nodeVersion": "4.0.0",
- "_npmUser": {
- "email": "tobias.koppers@googlemail.com",
- "name": "sokra"
- },
- "_npmVersion": "3.3.3",
- "_phantomChildren": {},
- "_requested": {
- "name": "enhanced-resolve",
- "raw": "enhanced-resolve@^0.9.0",
- "rawSpec": "^0.9.0",
- "scope": null,
- "spec": ">=0.9.0 <0.10.0",
- "type": "range"
- },
- "_requiredBy": [
- "/ts-loader"
- ],
- "_resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz",
- "_shasum": "4d6e689b3725f86090927ccc86cd9f1635b89e2e",
- "_shrinkwrap": null,
- "_spec": "enhanced-resolve@^0.9.0",
- "_where": "/home/vincent/Bureau/RIA/node_modules/ts-loader",
- "author": {
- "name": "Tobias Koppers @sokra"
- },
- "bugs": {
- "url": "https://github.com/webpack/enhanced-resolve/issues"
- },
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "memory-fs": "^0.2.0",
- "tapable": "^0.1.8"
- },
- "description": "Offers a async require.resolve function. It's highly configurable.",
- "devDependencies": {
- "istanbul": "^0.3.5",
- "mocha": "^2.1.0",
- "should": "^4.6.0"
- },
- "directories": {},
- "dist": {
- "shasum": "4d6e689b3725f86090927ccc86cd9f1635b89e2e",
- "tarball": "http://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz"
- },
- "engines": {
- "node": ">=0.6"
- },
- "files": [
- "lib"
- ],
- "gitHead": "1d14a6debbe4054f84d7d7f870ca0a1cb963f75b",
- "homepage": "http://github.com/webpack/enhanced-resolve",
- "installable": true,
- "licenses": [
- {
- "type": "MIT",
- "url": "http://www.opensource.org/licenses/mit-license.php"
- }
- ],
- "main": "lib/node.js",
- "maintainers": [
- {
- "name": "sokra",
- "email": "tobias.koppers@googlemail.com"
- }
- ],
- "name": "enhanced-resolve",
- "optionalDependencies": {},
- "repository": {
- "type": "git",
- "url": "git://github.com/webpack/enhanced-resolve.git"
- },
- "scripts": {
- "cover": "istanbul cover node_modules/mocha/bin/_mocha -- -R spec",
- "test": "mocha --reporter spec"
- },
- "version": "0.9.1"
-}
diff --git a/node_modules/es-abstract/.editorconfig b/node_modules/es-abstract/.editorconfig
deleted file mode 100644
index eaa2141..0000000
--- a/node_modules/es-abstract/.editorconfig
+++ /dev/null
@@ -1,13 +0,0 @@
-root = true
-
-[*]
-indent_style = tab;
-insert_final_newline = true;
-quote_type = auto;
-space_after_anonymous_functions = true;
-space_after_control_statements = true;
-spaces_around_operators = true;
-trim_trailing_whitespace = true;
-spaces_in_brackets = false;
-end_of_line = lf;
-
diff --git a/node_modules/es-abstract/.eslintrc b/node_modules/es-abstract/.eslintrc
deleted file mode 100644
index a835f9f..0000000
--- a/node_modules/es-abstract/.eslintrc
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "root": true,
-
- "extends": "@ljharb",
-
- "rules": {
- "eqeqeq": [2, "allow-null"],
- "id-length": [2, { "min": 1, "max": 30 }],
- "max-statements": [2, 13],
- "max-statements-per-line": [2, { "max": 2 }],
- "no-magic-numbers": [0],
- "new-cap": [0],
- "no-extra-parens": [1]
- }
-}
diff --git a/node_modules/es-abstract/.jscs.json b/node_modules/es-abstract/.jscs.json
deleted file mode 100644
index 4a4bd8b..0000000
--- a/node_modules/es-abstract/.jscs.json
+++ /dev/null
@@ -1,176 +0,0 @@
-{
- "es3": true,
-
- "additionalRules": [],
-
- "requireSemicolons": true,
-
- "disallowMultipleSpaces": true,
-
- "disallowIdentifierNames": [],
-
- "requireCurlyBraces": {
- "allExcept": [],
- "keywords": ["if", "else", "for", "while", "do", "try", "catch"]
- },
-
- "requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"],
-
- "disallowSpaceAfterKeywords": [],
-
- "disallowSpaceBeforeComma": true,
- "disallowSpaceAfterComma": false,
- "disallowSpaceBeforeSemicolon": true,
-
- "disallowNodeTypes": [
- "DebuggerStatement",
- "ForInStatement",
- "LabeledStatement",
- "SwitchCase",
- "SwitchStatement",
- "WithStatement"
- ],
-
- "requireObjectKeysOnNewLine": { "allExcept": ["sameLine"] },
-
- "requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true },
- "requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true },
- "disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true },
- "requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true },
- "disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true },
-
- "requireSpaceBetweenArguments": true,
-
- "disallowSpacesInsideParentheses": true,
-
- "disallowSpacesInsideArrayBrackets": true,
-
- "disallowQuotedKeysInObjects": { "allExcept": ["reserved"] },
-
- "disallowSpaceAfterObjectKeys": true,
-
- "requireCommaBeforeLineBreak": true,
-
- "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
- "requireSpaceAfterPrefixUnaryOperators": [],
-
- "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
- "requireSpaceBeforePostfixUnaryOperators": [],
-
- "disallowSpaceBeforeBinaryOperators": [],
- "requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
-
- "requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
- "disallowSpaceAfterBinaryOperators": [],
-
- "disallowImplicitTypeConversion": ["binary", "string"],
-
- "disallowKeywords": ["with", "eval"],
-
- "requireKeywordsOnNewLine": [],
- "disallowKeywordsOnNewLine": ["else"],
-
- "requireLineFeedAtFileEnd": true,
-
- "disallowTrailingWhitespace": true,
-
- "disallowTrailingComma": true,
-
- "excludeFiles": ["node_modules/**", "vendor/**"],
-
- "disallowMultipleLineStrings": true,
-
- "requireDotNotation": { "allExcept": ["keywords"] },
-
- "requireParenthesesAroundIIFE": true,
-
- "validateLineBreaks": "LF",
-
- "validateQuoteMarks": {
- "escape": true,
- "mark": "'"
- },
-
- "disallowOperatorBeforeLineBreak": [],
-
- "requireSpaceBeforeKeywords": [
- "do",
- "for",
- "if",
- "else",
- "switch",
- "case",
- "try",
- "catch",
- "finally",
- "while",
- "with",
- "return"
- ],
-
- "validateAlignedFunctionParameters": {
- "lineBreakAfterOpeningBraces": true,
- "lineBreakBeforeClosingBraces": true
- },
-
- "requirePaddingNewLinesBeforeExport": true,
-
- "validateNewlineAfterArrayElements": {
- "maximum": 9
- },
-
- "requirePaddingNewLinesAfterUseStrict": true,
-
- "disallowArrowFunctions": true,
-
- "disallowMultiLineTernary": true,
-
- "validateOrderInObjectKeys": false,
-
- "disallowIdenticalDestructuringNames": true,
-
- "disallowNestedTernaries": { "maxLevel": 1 },
-
- "requireSpaceAfterComma": { "allExcept": ["trailing"] },
- "requireAlignedMultilineParams": false,
-
- "requireSpacesInGenerator": {
- "afterStar": true
- },
-
- "disallowSpacesInGenerator": {
- "beforeStar": true
- },
-
- "disallowVar": false,
-
- "requireArrayDestructuring": false,
-
- "requireEnhancedObjectLiterals": false,
-
- "requireObjectDestructuring": false,
-
- "requireEarlyReturn": false,
-
- "requireCapitalizedConstructorsNew": {
- "allExcept": ["Function", "String", "Object", "Symbol", "Number", "Date", "RegExp", "Error", "Boolean", "Array"]
- },
-
- "requireImportAlphabetized": false,
-
- "requireSpaceBeforeObjectValues": true,
- "requireSpaceBeforeDestructuredValues": true,
-
- "disallowSpacesInsideTemplateStringPlaceholders": true,
-
- "disallowArrayDestructuringReturn": false,
-
- "requireNewlineBeforeSingleStatementsInIf": false,
-
- "disallowUnusedVariables": true,
-
- "requireSpacesInsideImportedObjectBraces": true,
-
- "requireUseStrict": true
-}
-
diff --git a/node_modules/es-abstract/.npmignore b/node_modules/es-abstract/.npmignore
deleted file mode 100644
index 3c3629e..0000000
--- a/node_modules/es-abstract/.npmignore
+++ /dev/null
@@ -1 +0,0 @@
-node_modules
diff --git a/node_modules/es-abstract/.travis.yml b/node_modules/es-abstract/.travis.yml
deleted file mode 100644
index e9f887b..0000000
--- a/node_modules/es-abstract/.travis.yml
+++ /dev/null
@@ -1,94 +0,0 @@
-language: node_js
-node_js:
- - "6.2"
- - "6.1"
- - "6.0"
- - "5.11"
- - "5.10"
- - "5.9"
- - "5.8"
- - "5.7"
- - "5.6"
- - "5.5"
- - "5.4"
- - "5.3"
- - "5.2"
- - "5.1"
- - "5.0"
- - "4.4"
- - "4.3"
- - "4.2"
- - "4.1"
- - "4.0"
- - "iojs-v3.3"
- - "iojs-v3.2"
- - "iojs-v3.1"
- - "iojs-v3.0"
- - "iojs-v2.5"
- - "iojs-v2.4"
- - "iojs-v2.3"
- - "iojs-v2.2"
- - "iojs-v2.1"
- - "iojs-v2.0"
- - "iojs-v1.8"
- - "iojs-v1.7"
- - "iojs-v1.6"
- - "iojs-v1.5"
- - "iojs-v1.4"
- - "iojs-v1.3"
- - "iojs-v1.2"
- - "iojs-v1.1"
- - "iojs-v1.0"
- - "0.12"
- - "0.11"
- - "0.10"
- - "0.9"
- - "0.8"
- - "0.6"
- - "0.4"
-before_install:
- - 'if [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then case "$(npm --version)" in 1.*) npm install -g npm@1.4.28 ;; 2.*) npm install -g npm@2 ;; esac ; fi'
- - 'if [ "${TRAVIS_NODE_VERSION}" != "0.6" ] && [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then npm install -g npm; fi'
-script:
- - 'if [ "${TRAVIS_NODE_VERSION}" != "4.4" ]; then npm run tests-only ; else npm test ; fi'
-sudo: false
-matrix:
- fast_finish: true
- allow_failures:
- - node_js: "6.1"
- - node_js: "6.0"
- - node_js: "5.10"
- - node_js: "5.9"
- - node_js: "5.8"
- - node_js: "5.7"
- - node_js: "5.6"
- - node_js: "5.5"
- - node_js: "5.4"
- - node_js: "5.3"
- - node_js: "5.2"
- - node_js: "5.1"
- - node_js: "5.0"
- - node_js: "4.3"
- - node_js: "4.2"
- - node_js: "4.1"
- - node_js: "4.0"
- - node_js: "iojs-v3.2"
- - node_js: "iojs-v3.1"
- - node_js: "iojs-v3.0"
- - node_js: "iojs-v2.4"
- - node_js: "iojs-v2.3"
- - node_js: "iojs-v2.2"
- - node_js: "iojs-v2.1"
- - node_js: "iojs-v2.0"
- - node_js: "iojs-v1.7"
- - node_js: "iojs-v1.6"
- - node_js: "iojs-v1.5"
- - node_js: "iojs-v1.4"
- - node_js: "iojs-v1.3"
- - node_js: "iojs-v1.2"
- - node_js: "iojs-v1.1"
- - node_js: "iojs-v1.0"
- - node_js: "0.11"
- - node_js: "0.9"
- - node_js: "0.6"
- - node_js: "0.4"
diff --git a/node_modules/es-abstract/CHANGELOG.md b/node_modules/es-abstract/CHANGELOG.md
deleted file mode 100644
index abb1762..0000000
--- a/node_modules/es-abstract/CHANGELOG.md
+++ /dev/null
@@ -1,98 +0,0 @@
-1.5.1 / 2016-05-30
-=================
- * [Fix] `ES.IsRegExp`: actually look up `Symbol.match` on the argument
- * [Refactor] create `isNaN` helper
- * [Deps] update `is-callable`, `function-bind`
- * [Deps] update `es-to-primitive`, fix ES5 tests
- * [Dev Deps] update `jscs`, `eslint`, `@ljharb/eslint-config`, `tape`, `nsp`
- * [Tests] up to `node` `v6.2`, `v5.11`, `v4.4`
- * [Tests] use pretest/posttest for linting/security
-
-1.5.0 / 2015-12-27
-=================
- * [New] adds `Symbol.toPrimitive` support via `es-to-primitive`
- * [Deps] update `is-callable`, `es-to-primitive`
- * [Dev Deps] update `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config`, `semver`, `tape`
- * [Tests] up to `node` `v5.3`
-
-1.4.3 / 2015-11-04
-=================
- * [Fix] `ES6.ToNumber`: should give `NaN` for explicitly signed hex strings (#4)
- * [Refactor] `ES6.ToNumber`: No need to double-trim
- * [Refactor] group tests better
- * [Tests] should still pass on `node` `v0.8`
-
-1.4.2 / 2015-11-02
-=================
- * [Fix] ensure `ES.ToNumber` trims whitespace, and does not trim non-whitespace (#3)
-
-1.4.1 / 2015-10-31
-=================
- * [Fix] ensure only 0-1 are valid binary and 0-7 are valid octal digits (#2)
- * [Dev Deps] update `tape`, `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config`
- * [Tests] on `node` `v5.0`
- * [Tests] fix npm upgrades for older node versions
- * package.json: use object form of "authors", add "contributors"
-
-1.4.0 / 2015-09-26
-=================
- * [Deps] update `is-callable`
- * [Dev Deps] update `tape`, `jscs`, `eslint`, `@ljharb/eslint-config`
- * [Tests] on `node` `v4.2`
- * [New] Add `SameValueNonNumber` to ES7
-
-1.3.2 / 2015-09-26
-=================
- * [Fix] Fix `ES6.IsRegExp` to properly handle `Symbol.match`, per spec.
- * [Tests] up to `io.js` `v3.3`, `node` `v4.1`
- * [Dev Deps] update `tape`, `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config`, `semver`
-
-1.3.1 / 2015-08-15
-=================
- * [Fix] Ensure that objects that `toString` to a binary or octal literal also convert properly
-
-1.3.0 / 2015-08-15
-=================
- * [New] ES6’s ToNumber now supports binary and octal literals.
- * [Dev Deps] update `jscs`, `eslint`, `@ljharb/eslint-config`, `tape`
- * [Docs] Switch from vb.teelaun.ch to versionbadg.es for the npm version badge SVG
- * [Tests] up to `io.js` `v3.0`
-
-1.2.2 / 2015-07-28
-=================
- * [Fix] Both `ES5.CheckObjectCoercible` and `ES6.RequireObjectCoercible` return the value if they don't throw.
- * [Tests] Test on latest `io.js` versions.
- * [Dev Deps] Update `eslint`, `jscs`, `tape`, `semver`, `covert`, `nsp`
-
-1.2.1 / 2015-03-20
-=================
- * Fix `isFinite` helper.
-
-1.2.0 / 2015-03-19
-=================
- * Use `es-to-primitive` for ToPrimitive methods.
- * Test on latest `io.js` versions; allow failures on all but 2 latest `node`/`io.js` versions.
-
-1.1.2 / 2015-03-20
-=================
- * Fix isFinite helper.
-
-1.1.1 / 2015-03-19
-=================
- * Fix isPrimitive check for functions
- * Update `eslint`, `editorconfig-tools`, `semver`, `nsp`
-
-1.1.0 / 2015-02-17
-=================
- * Add ES7 export (non-default).
- * All grade A-supported `node`/`iojs` versions now ship with an `npm` that understands `^`.
- * Test on `iojs-v1.2`.
-
-1.0.1 / 2015-01-30
-=================
- * Use `is-callable` instead of an internal function.
- * Update `tape`, `jscs`, `nsp`, `eslint`
-
-1.0.0 / 2015-01-10
-=================
- * v1.0.0
diff --git a/node_modules/es-abstract/LICENSE b/node_modules/es-abstract/LICENSE
deleted file mode 100644
index 8c271c1..0000000
--- a/node_modules/es-abstract/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (C) 2015 Jordan Harband
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
\ No newline at end of file
diff --git a/node_modules/es-abstract/Makefile b/node_modules/es-abstract/Makefile
deleted file mode 100644
index 959bbd4..0000000
--- a/node_modules/es-abstract/Makefile
+++ /dev/null
@@ -1,61 +0,0 @@
-# Since we rely on paths relative to the makefile location, abort if make isn't being run from there.
-$(if $(findstring /,$(MAKEFILE_LIST)),$(error Please only invoke this makefile from the directory it resides in))
-
- # The files that need updating when incrementing the version number.
-VERSIONED_FILES := *.js */*.js *.json README*
-
-
-# Add the local npm packages' bin folder to the PATH, so that `make` can find them, when invoked directly.
-# Note that rather than using `$(npm bin)` the 'node_modules/.bin' path component is hard-coded, so that invocation works even from an environment
-# where npm is (temporarily) unavailable due to having deactivated an nvm instance loaded into the calling shell in order to avoid interference with tests.
-export PATH := $(shell printf '%s' "$$PWD/node_modules/.bin:$$PATH")
-UTILS := semver
-# Make sure that all required utilities can be located.
-UTIL_CHECK := $(or $(shell PATH="$(PATH)" which $(UTILS) >/dev/null && echo 'ok'),$(error Did you forget to run `npm install` after cloning the repo? At least one of the required supporting utilities not found: $(UTILS)))
-
-# Default target (by virtue of being the first non '.'-prefixed in the file).
-.PHONY: _no-target-specified
-_no-target-specified:
- $(error Please specify the target to make - `make list` shows targets. Alternatively, use `npm test` to run the default tests; `npm run` shows all tests)
-
-# Lists all targets defined in this makefile.
-.PHONY: list
-list:
- @$(MAKE) -pRrn : -f $(MAKEFILE_LIST) 2>/dev/null | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | command grep -v -e '^[^[:alnum:]]' -e '^$@$$command ' | sort
-
-# All-tests target: invokes the specified test suites for ALL shells defined in $(SHELLS).
-.PHONY: test
-test:
- @npm test
-
-.PHONY: _ensure-tag
-_ensure-tag:
-ifndef TAG
- $(error Please invoke with `make TAG= release`, where is either an increment specifier (patch, minor, major, prepatch, preminor, premajor, prerelease), or an explicit major.minor.patch version number)
-endif
-
-CHANGELOG_ERROR = $(error No CHANGELOG specified)
-.PHONY: _ensure-changelog
-_ensure-changelog:
- @ (git status -sb --porcelain | command grep -E '^( M|[MA] ) CHANGELOG.md' > /dev/null) || (echo no CHANGELOG.md specified && exit 2)
-
-# Ensures that the git workspace is clean.
-.PHONY: _ensure-clean
-_ensure-clean:
- @[ -z "$$((git status --porcelain --untracked-files=no || echo err) | command grep -v 'CHANGELOG.md')" ] || { echo "Workspace is not clean; please commit changes first." >&2; exit 2; }
-
-# Makes a release; invoke with `make TAG= release`.
-.PHONY: release
-release: _ensure-tag _ensure-changelog _ensure-clean
- @old_ver=`git describe --abbrev=0 --tags --match 'v[0-9]*.[0-9]*.[0-9]*'` || { echo "Failed to determine current version." >&2; exit 1; }; old_ver=$${old_ver#v}; \
- new_ver=`echo "$(TAG)" | sed 's/^v//'`; new_ver=$${new_ver:-patch}; \
- if printf "$$new_ver" | command grep -q '^[0-9]'; then \
- semver "$$new_ver" >/dev/null || { echo 'Invalid version number specified: $(TAG) - must be major.minor.patch' >&2; exit 2; }; \
- semver -r "> $$old_ver" "$$new_ver" >/dev/null || { echo 'Invalid version number specified: $(TAG) - must be HIGHER than current one.' >&2; exit 2; } \
- else \
- new_ver=`semver -i "$$new_ver" "$$old_ver"` || { echo 'Invalid version-increment specifier: $(TAG)' >&2; exit 2; } \
- fi; \
- printf "=== Bumping version **$$old_ver** to **$$new_ver** before committing and tagging:\n=== TYPE 'proceed' TO PROCEED, anything else to abort: " && read response && [ "$$response" = 'proceed' ] || { echo 'Aborted.' >&2; exit 2; }; \
- replace "$$old_ver" "$$new_ver" -- $(VERSIONED_FILES) && \
- git commit -m "v$$new_ver" $(VERSIONED_FILES) CHANGELOG.md && \
- git tag -a -m "v$$new_ver" "v$$new_ver"
diff --git a/node_modules/es-abstract/README.md b/node_modules/es-abstract/README.md
deleted file mode 100644
index 0cee598..0000000
--- a/node_modules/es-abstract/README.md
+++ /dev/null
@@ -1,44 +0,0 @@
-#es-abstract [![Version Badge][npm-version-svg]][package-url]
-
-[![Build Status][travis-svg]][travis-url]
-[![dependency status][deps-svg]][deps-url]
-[![dev dependency status][dev-deps-svg]][dev-deps-url]
-[![License][license-image]][license-url]
-[![Downloads][downloads-image]][downloads-url]
-
-[![npm badge][npm-badge-png]][package-url]
-
-[![browser support][testling-svg]][testling-url]
-
-ECMAScript spec abstract operations.
-When different versions of the spec conflict, the default export will be the latest version of the abstract operation.
-All abstract operations will also be available under an `es5`/`es6`/`es7` exported property if you require a specific version.
-
-## Example
-
-```js
-var ES = require('es-abstract');
-var assert = require('assert');
-
-assert(ES.isCallable(function () {}));
-assert(!ES.isCallable(/a/g));
-```
-
-## Tests
-Simply clone the repo, `npm install`, and run `npm test`
-
-[package-url]: https://npmjs.org/package/es-abstract
-[npm-version-svg]: http://versionbadg.es/ljharb/es-abstract.svg
-[travis-svg]: https://travis-ci.org/ljharb/es-abstract.svg
-[travis-url]: https://travis-ci.org/ljharb/es-abstract
-[deps-svg]: https://david-dm.org/ljharb/es-abstract.svg
-[deps-url]: https://david-dm.org/ljharb/es-abstract
-[dev-deps-svg]: https://david-dm.org/ljharb/es-abstract/dev-status.svg
-[dev-deps-url]: https://david-dm.org/ljharb/es-abstract#info=devDependencies
-[testling-svg]: https://ci.testling.com/ljharb/es-abstract.png
-[testling-url]: https://ci.testling.com/ljharb/es-abstract
-[npm-badge-png]: https://nodei.co/npm/es-abstract.png?downloads=true&stars=true
-[license-image]: http://img.shields.io/npm/l/es-abstract.svg
-[license-url]: LICENSE
-[downloads-image]: http://img.shields.io/npm/dm/es-abstract.svg
-[downloads-url]: http://npm-stat.com/charts.html?package=es-abstract
diff --git a/node_modules/es-abstract/es5.js b/node_modules/es-abstract/es5.js
deleted file mode 100644
index 09650e0..0000000
--- a/node_modules/es-abstract/es5.js
+++ /dev/null
@@ -1,64 +0,0 @@
-'use strict';
-
-var $isNaN = require('./helpers/isNaN');
-var $isFinite = require('./helpers/isFinite');
-
-var sign = require('./helpers/sign');
-var mod = require('./helpers/mod');
-
-var IsCallable = require('is-callable');
-var toPrimitive = require('es-to-primitive/es5');
-
-// https://es5.github.io/#x9
-var ES5 = {
- ToPrimitive: toPrimitive,
-
- ToBoolean: function ToBoolean(value) {
- return Boolean(value);
- },
- ToNumber: function ToNumber(value) {
- return Number(value);
- },
- ToInteger: function ToInteger(value) {
- var number = this.ToNumber(value);
- if ($isNaN(number)) { return 0; }
- if (number === 0 || !$isFinite(number)) { return number; }
- return sign(number) * Math.floor(Math.abs(number));
- },
- ToInt32: function ToInt32(x) {
- return this.ToNumber(x) >> 0;
- },
- ToUint32: function ToUint32(x) {
- return this.ToNumber(x) >>> 0;
- },
- ToUint16: function ToUint16(value) {
- var number = this.ToNumber(value);
- if ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; }
- var posInt = sign(number) * Math.floor(Math.abs(number));
- return mod(posInt, 0x10000);
- },
- ToString: function ToString(value) {
- return String(value);
- },
- ToObject: function ToObject(value) {
- this.CheckObjectCoercible(value);
- return Object(value);
- },
- CheckObjectCoercible: function CheckObjectCoercible(value, optMessage) {
- /* jshint eqnull:true */
- if (value == null) {
- throw new TypeError(optMessage || 'Cannot call method on ' + value);
- }
- return value;
- },
- IsCallable: IsCallable,
- SameValue: function SameValue(x, y) {
- if (x === y) { // 0 === -0, but they are not identical.
- if (x === 0) { return 1 / x === 1 / y; }
- return true;
- }
- return $isNaN(x) && $isNaN(y);
- }
-};
-
-module.exports = ES5;
diff --git a/node_modules/es-abstract/es6.js b/node_modules/es-abstract/es6.js
deleted file mode 100644
index 32575d4..0000000
--- a/node_modules/es-abstract/es6.js
+++ /dev/null
@@ -1,232 +0,0 @@
-'use strict';
-
-var toStr = Object.prototype.toString;
-var hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';
-var symbolToStr = hasSymbols ? Symbol.prototype.toString : toStr;
-
-var $isNaN = require('./helpers/isNaN');
-var $isFinite = require('./helpers/isFinite');
-var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || Math.pow(2, 53) - 1;
-
-var assign = require('./helpers/assign');
-var sign = require('./helpers/sign');
-var mod = require('./helpers/mod');
-var isPrimitive = require('./helpers/isPrimitive');
-var toPrimitive = require('es-to-primitive/es6');
-var parseInteger = parseInt;
-var bind = require('function-bind');
-var strSlice = bind.call(Function.call, String.prototype.slice);
-var isBinary = bind.call(Function.call, RegExp.prototype.test, /^0b[01]+$/i);
-var isOctal = bind.call(Function.call, RegExp.prototype.test, /^0o[0-7]+$/i);
-var nonWS = ['\u0085', '\u200b', '\ufffe'].join('');
-var nonWSregex = new RegExp('[' + nonWS + ']', 'g');
-var hasNonWS = bind.call(Function.call, RegExp.prototype.test, nonWSregex);
-var invalidHexLiteral = /^[\-\+]0x[0-9a-f]+$/i;
-var isInvalidHexLiteral = bind.call(Function.call, RegExp.prototype.test, invalidHexLiteral);
-
-// whitespace from: http://es5.github.io/#x15.5.4.20
-// implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324
-var ws = [
- '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003',
- '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028',
- '\u2029\uFEFF'
-].join('');
-var trimRegex = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g');
-var replace = bind.call(Function.call, String.prototype.replace);
-var trim = function (value) {
- return replace(value, trimRegex, '');
-};
-
-var ES5 = require('./es5');
-
-var hasRegExpMatcher = require('is-regex');
-
-// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-abstract-operations
-var ES6 = assign(assign({}, ES5), {
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-call-f-v-args
- Call: function Call(F, V) {
- var args = arguments.length > 2 ? arguments[2] : [];
- if (!this.IsCallable(F)) {
- throw new TypeError(F + ' is not a function');
- }
- return F.apply(V, args);
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toprimitive
- ToPrimitive: toPrimitive,
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toboolean
- // ToBoolean: ES5.ToBoolean,
-
- // http://www.ecma-international.org/ecma-262/6.0/#sec-tonumber
- ToNumber: function ToNumber(argument) {
- var value = isPrimitive(argument) ? argument : toPrimitive(argument, 'number');
- if (typeof value === 'symbol') {
- throw new TypeError('Cannot convert a Symbol value to a number');
- }
- if (typeof value === 'string') {
- if (isBinary(value)) {
- return this.ToNumber(parseInteger(strSlice(value, 2), 2));
- } else if (isOctal(value)) {
- return this.ToNumber(parseInteger(strSlice(value, 2), 8));
- } else if (hasNonWS(value) || isInvalidHexLiteral(value)) {
- return NaN;
- } else {
- var trimmed = trim(value);
- if (trimmed !== value) {
- return this.ToNumber(trimmed);
- }
- }
- }
- return Number(value);
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tointeger
- // ToInteger: ES5.ToNumber,
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toint32
- // ToInt32: ES5.ToInt32,
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint32
- // ToUint32: ES5.ToUint32,
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toint16
- ToInt16: function ToInt16(argument) {
- var int16bit = this.ToUint16(argument);
- return int16bit >= 0x8000 ? int16bit - 0x10000 : int16bit;
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint16
- // ToUint16: ES5.ToUint16,
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toint8
- ToInt8: function ToInt8(argument) {
- var int8bit = this.ToUint8(argument);
- return int8bit >= 0x80 ? int8bit - 0x100 : int8bit;
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint8
- ToUint8: function ToUint8(argument) {
- var number = this.ToNumber(argument);
- if ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; }
- var posInt = sign(number) * Math.floor(Math.abs(number));
- return mod(posInt, 0x100);
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint8clamp
- ToUint8Clamp: function ToUint8Clamp(argument) {
- var number = this.ToNumber(argument);
- if ($isNaN(number) || number <= 0) { return 0; }
- if (number >= 0xFF) { return 0xFF; }
- var f = Math.floor(argument);
- if (f + 0.5 < number) { return f + 1; }
- if (number < f + 0.5) { return f; }
- if (f % 2 !== 0) { return f + 1; }
- return f;
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tostring
- ToString: function ToString(argument) {
- if (typeof argument === 'symbol') {
- throw new TypeError('Cannot convert a Symbol value to a string');
- }
- return String(argument);
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toobject
- ToObject: function ToObject(value) {
- this.RequireObjectCoercible(value);
- return Object(value);
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-topropertykey
- ToPropertyKey: function ToPropertyKey(argument) {
- var key = this.ToPrimitive(argument, String);
- return typeof key === 'symbol' ? symbolToStr.call(key) : this.ToString(key);
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength
- ToLength: function ToLength(argument) {
- var len = this.ToInteger(argument);
- if (len <= 0) { return 0; } // includes converting -0 to +0
- if (len > MAX_SAFE_INTEGER) { return MAX_SAFE_INTEGER; }
- return len;
- },
-
- // http://www.ecma-international.org/ecma-262/6.0/#sec-canonicalnumericindexstring
- CanonicalNumericIndexString: function CanonicalNumericIndexString(argument) {
- if (toStr.call(argument) !== '[object String]') {
- throw new TypeError('must be a string');
- }
- if (argument === '-0') { return -0; }
- var n = this.ToNumber(argument);
- if (this.SameValue(this.ToString(n), argument)) { return n; }
- return void 0;
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-requireobjectcoercible
- RequireObjectCoercible: ES5.CheckObjectCoercible,
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isarray
- IsArray: Array.isArray || function IsArray(argument) {
- return toStr.call(argument) === '[object Array]';
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-iscallable
- // IsCallable: ES5.IsCallable,
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isconstructor
- IsConstructor: function IsConstructor(argument) {
- return this.IsCallable(argument); // unfortunately there's no way to truly check this without try/catch `new argument`
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isextensible-o
- IsExtensible: function IsExtensible(obj) {
- if (!Object.preventExtensions) { return true; }
- if (isPrimitive(obj)) {
- return false;
- }
- return Object.isExtensible(obj);
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isinteger
- IsInteger: function IsInteger(argument) {
- if (typeof argument !== 'number' || $isNaN(argument) || !$isFinite(argument)) {
- return false;
- }
- var abs = Math.abs(argument);
- return Math.floor(abs) === abs;
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-ispropertykey
- IsPropertyKey: function IsPropertyKey(argument) {
- return typeof argument === 'string' || typeof argument === 'symbol';
- },
-
- // http://www.ecma-international.org/ecma-262/6.0/#sec-isregexp
- IsRegExp: function IsRegExp(argument) {
- if (!argument || typeof argument !== 'object') {
- return false;
- }
- if (hasSymbols) {
- var isRegExp = argument[Symbol.match];
- if (typeof isRegExp !== 'undefined') {
- return ES5.ToBoolean(isRegExp);
- }
- }
- return hasRegExpMatcher(argument);
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevalue
- // SameValue: ES5.SameValue,
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero
- SameValueZero: function SameValueZero(x, y) {
- return (x === y) || ($isNaN(x) && $isNaN(y));
- }
-});
-
-delete ES6.CheckObjectCoercible; // renamed in ES6 to RequireObjectCoercible
-
-module.exports = ES6;
diff --git a/node_modules/es-abstract/es7.js b/node_modules/es-abstract/es7.js
deleted file mode 100644
index 6c34e74..0000000
--- a/node_modules/es-abstract/es7.js
+++ /dev/null
@@ -1,16 +0,0 @@
-'use strict';
-
-var ES6 = require('./es6');
-var assign = require('./helpers/assign');
-
-var ES7 = assign(ES6, {
- // https://github.com/tc39/ecma262/pull/60
- SameValueNonNumber: function SameValueNonNumber(x, y) {
- if (typeof x === 'number' || typeof x !== typeof y) {
- throw new TypeError('SameValueNonNumber requires two non-number values of the same type.');
- }
- return this.SameValue(x, y);
- }
-});
-
-module.exports = ES7;
diff --git a/node_modules/es-abstract/helpers/assign.js b/node_modules/es-abstract/helpers/assign.js
deleted file mode 100644
index 7a4d2a5..0000000
--- a/node_modules/es-abstract/helpers/assign.js
+++ /dev/null
@@ -1,9 +0,0 @@
-var has = Object.prototype.hasOwnProperty;
-module.exports = Object.assign || function assign(target, source) {
- for (var key in source) {
- if (has.call(source, key)) {
- target[key] = source[key];
- }
- }
- return target;
-};
diff --git a/node_modules/es-abstract/helpers/isFinite.js b/node_modules/es-abstract/helpers/isFinite.js
deleted file mode 100644
index 4658537..0000000
--- a/node_modules/es-abstract/helpers/isFinite.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var $isNaN = Number.isNaN || function (a) { return a !== a; };
-
-module.exports = Number.isFinite || function (x) { return typeof x === 'number' && !$isNaN(x) && x !== Infinity && x !== -Infinity; };
diff --git a/node_modules/es-abstract/helpers/isNaN.js b/node_modules/es-abstract/helpers/isNaN.js
deleted file mode 100644
index e4d4f95..0000000
--- a/node_modules/es-abstract/helpers/isNaN.js
+++ /dev/null
@@ -1,3 +0,0 @@
-module.exports = Number.isNaN || function isNaN(a) {
- return a !== a;
-};
diff --git a/node_modules/es-abstract/helpers/isPrimitive.js b/node_modules/es-abstract/helpers/isPrimitive.js
deleted file mode 100644
index 3669156..0000000
--- a/node_modules/es-abstract/helpers/isPrimitive.js
+++ /dev/null
@@ -1,3 +0,0 @@
-module.exports = function isPrimitive(value) {
- return value === null || (typeof value !== 'function' && typeof value !== 'object');
-};
diff --git a/node_modules/es-abstract/helpers/mod.js b/node_modules/es-abstract/helpers/mod.js
deleted file mode 100644
index 5867fd9..0000000
--- a/node_modules/es-abstract/helpers/mod.js
+++ /dev/null
@@ -1,4 +0,0 @@
-module.exports = function mod(number, modulo) {
- var remain = number % modulo;
- return Math.floor(remain >= 0 ? remain : remain + modulo);
-};
diff --git a/node_modules/es-abstract/helpers/sign.js b/node_modules/es-abstract/helpers/sign.js
deleted file mode 100644
index 2ac0bf1..0000000
--- a/node_modules/es-abstract/helpers/sign.js
+++ /dev/null
@@ -1,3 +0,0 @@
-module.exports = function sign(number) {
- return number >= 0 ? 1 : -1;
-};
diff --git a/node_modules/es-abstract/index.js b/node_modules/es-abstract/index.js
deleted file mode 100644
index bf4265b..0000000
--- a/node_modules/es-abstract/index.js
+++ /dev/null
@@ -1,18 +0,0 @@
-'use strict';
-
-var assign = require('./helpers/assign');
-
-var ES5 = require('./es5');
-var ES6 = require('./es6');
-var ES7 = require('./es7');
-
-var ES = {
- ES5: ES5,
- ES6: ES6,
- ES7: ES7
-};
-assign(ES, ES5);
-delete ES.CheckObjectCoercible; // renamed in ES6 to RequireObjectCoercible
-assign(ES, ES6);
-
-module.exports = ES;
diff --git a/node_modules/es-abstract/package.json b/node_modules/es-abstract/package.json
deleted file mode 100644
index d7bbc27..0000000
--- a/node_modules/es-abstract/package.json
+++ /dev/null
@@ -1,143 +0,0 @@
-{
- "_args": [
- [
- "es-abstract@^1.3.2",
- "/home/vincent/Bureau/RIA/node_modules/object.entries"
- ]
- ],
- "_from": "es-abstract@>=1.3.2 <2.0.0",
- "_id": "es-abstract@1.5.1",
- "_inCache": true,
- "_installable": true,
- "_location": "/es-abstract",
- "_nodeVersion": "6.2.0",
- "_npmOperationalInternal": {
- "host": "packages-12-west.internal.npmjs.com",
- "tmp": "tmp/es-abstract-1.5.1.tgz_1464674430384_0.7245310060679913"
- },
- "_npmUser": {
- "email": "ljharb@gmail.com",
- "name": "ljharb"
- },
- "_npmVersion": "3.8.9",
- "_phantomChildren": {},
- "_requested": {
- "name": "es-abstract",
- "raw": "es-abstract@^1.3.2",
- "rawSpec": "^1.3.2",
- "scope": null,
- "spec": ">=1.3.2 <2.0.0",
- "type": "range"
- },
- "_requiredBy": [
- "/object.entries"
- ],
- "_resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.5.1.tgz",
- "_shasum": "f0bf96bea7616bb940bcea4f527e31fb2ee1f22a",
- "_shrinkwrap": null,
- "_spec": "es-abstract@^1.3.2",
- "_where": "/home/vincent/Bureau/RIA/node_modules/object.entries",
- "author": {
- "email": "ljharb@gmail.com",
- "name": "Jordan Harband",
- "url": "http://ljharb.codes"
- },
- "bugs": {
- "url": "https://github.com/ljharb/es-abstract/issues"
- },
- "contributors": [
- {
- "email": "ljharb@gmail.com",
- "name": "Jordan Harband",
- "url": "http://ljharb.codes"
- }
- ],
- "dependencies": {
- "es-to-primitive": "^1.1.1",
- "function-bind": "^1.1.0",
- "is-callable": "^1.1.3",
- "is-regex": "^1.0.3"
- },
- "description": "ECMAScript spec abstract operations.",
- "devDependencies": {
- "@ljharb/eslint-config": "^5.0.0",
- "covert": "^1.1.0",
- "editorconfig-tools": "^0.1.1",
- "eslint": "^2.11.1",
- "foreach": "^2.0.5",
- "jscs": "^3.0.3",
- "nsp": "^2.4.0",
- "object-is": "^1.0.1",
- "replace": "^0.3.0",
- "semver": "^5.1.0",
- "tape": "^4.5.1"
- },
- "directories": {},
- "dist": {
- "shasum": "f0bf96bea7616bb940bcea4f527e31fb2ee1f22a",
- "tarball": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.5.1.tgz"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "gitHead": "c978f81f63465d8b748b0922f39e9b8cb0504f67",
- "homepage": "https://github.com/ljharb/es-abstract#readme",
- "keywords": [
- "ECMAScript",
- "ES",
- "abstract",
- "operation",
- "abstract operation",
- "JavaScript",
- "ES5",
- "ES6",
- "ES7"
- ],
- "license": "MIT",
- "main": "index.js",
- "maintainers": [
- {
- "email": "ljharb@gmail.com",
- "name": "ljharb"
- }
- ],
- "name": "es-abstract",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git://github.com/ljharb/es-abstract.git"
- },
- "scripts": {
- "coverage": "covert test/*.js",
- "coverage-quiet": "covert test/*.js --quiet",
- "eccheck": "editorconfig-tools check *.js **/*.js > /dev/null",
- "eslint": "eslint test/*.js *.js",
- "jscs": "jscs test/*.js *.js",
- "lint": "npm run --silent jscs && npm run --silent eslint",
- "posttest": "npm run --silent security",
- "pretest": "npm run --silent lint",
- "security": "nsp check",
- "test": "npm run tests-only",
- "tests-only": "node test/index.js"
- },
- "testling": {
- "browsers": [
- "iexplore/6.0..latest",
- "firefox/3.0..6.0",
- "firefox/15.0..latest",
- "firefox/nightly",
- "chrome/4.0..10.0",
- "chrome/20.0..latest",
- "chrome/canary",
- "opera/10.0..latest",
- "opera/next",
- "safari/4.0..latest",
- "ipad/6.0..latest",
- "iphone/6.0..latest",
- "android-browser/4.2"
- ],
- "files": "test/index.js"
- },
- "version": "1.5.1"
-}
diff --git a/node_modules/es-abstract/test/.eslintrc b/node_modules/es-abstract/test/.eslintrc
deleted file mode 100644
index 93c46d6..0000000
--- a/node_modules/es-abstract/test/.eslintrc
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "rules": {
- "max-statements-per-line": [2, { "max": 3 }],
- "max-nested-callbacks": [2, 3],
- "max-statements": [2, 14],
- "no-implicit-coercion": [1],
- "no-invalid-this": [1]
- }
-}
diff --git a/node_modules/es-abstract/test/es5.js b/node_modules/es-abstract/test/es5.js
deleted file mode 100644
index 1a83961..0000000
--- a/node_modules/es-abstract/test/es5.js
+++ /dev/null
@@ -1,192 +0,0 @@
-'use strict';
-
-var ES = require('../').ES5;
-var test = require('tape');
-
-var forEach = require('foreach');
-var is = require('object-is');
-
-var coercibleObject = { valueOf: function () { return '3'; }, toString: function () { return 42; } };
-var coercibleFnObject = { valueOf: function () { return function valueOfFn() {}; }, toString: function () { return 42; } };
-var valueOfOnlyObject = { valueOf: function () { return 4; }, toString: function () { return {}; } };
-var toStringOnlyObject = { valueOf: function () { return {}; }, toString: function () { return 7; } };
-var uncoercibleObject = { valueOf: function () { return {}; }, toString: function () { return {}; } };
-var uncoercibleFnObject = { valueOf: function () { return function valueOfFn() {}; }, toString: function () { return function toStrFn() {}; } };
-var objects = [{}, coercibleObject, toStringOnlyObject, valueOfOnlyObject];
-var numbers = [0, -0, Infinity, -Infinity, 42];
-var nonNullPrimitives = [true, false, 'foo', ''].concat(numbers);
-var primitives = [undefined, null].concat(nonNullPrimitives);
-
-test('ToPrimitive', function (t) {
- t.test('primitives', function (st) {
- var testPrimitive = function (primitive) {
- st.ok(is(ES.ToPrimitive(primitive), primitive), primitive + ' is returned correctly');
- };
- forEach(primitives, testPrimitive);
- st.end();
- });
-
- t.test('objects', function (st) {
- st.equal(ES.ToPrimitive(coercibleObject), coercibleObject.valueOf(), 'coercibleObject coerces to valueOf');
- st.equal(ES.ToPrimitive(coercibleObject, Number), coercibleObject.valueOf(), 'coercibleObject with hint Number coerces to valueOf');
- st.equal(ES.ToPrimitive(coercibleObject, String), coercibleObject.toString(), 'coercibleObject with hint String coerces to toString');
- st.equal(ES.ToPrimitive(coercibleFnObject), coercibleFnObject.toString(), 'coercibleFnObject coerces to toString');
- st.equal(ES.ToPrimitive(toStringOnlyObject), toStringOnlyObject.toString(), 'toStringOnlyObject returns toString');
- st.equal(ES.ToPrimitive(valueOfOnlyObject), valueOfOnlyObject.valueOf(), 'valueOfOnlyObject returns valueOf');
- st.equal(ES.ToPrimitive({}), '[object Object]', '{} with no hint coerces to Object#toString');
- st.equal(ES.ToPrimitive({}, String), '[object Object]', '{} with hint String coerces to Object#toString');
- st.equal(ES.ToPrimitive({}, Number), '[object Object]', '{} with hint Number coerces to Object#toString');
- st.throws(function () { return ES.ToPrimitive(uncoercibleObject); }, TypeError, 'uncoercibleObject throws a TypeError');
- st.throws(function () { return ES.ToPrimitive(uncoercibleFnObject); }, TypeError, 'uncoercibleFnObject throws a TypeError');
- st.end();
- });
-
- t.end();
-});
-
-test('ToBoolean', function (t) {
- t.equal(false, ES.ToBoolean(undefined), 'undefined coerces to false');
- t.equal(false, ES.ToBoolean(null), 'null coerces to false');
- t.equal(false, ES.ToBoolean(false), 'false returns false');
- t.equal(true, ES.ToBoolean(true), 'true returns true');
- forEach([0, -0, NaN], function (falsyNumber) {
- t.equal(false, ES.ToBoolean(falsyNumber), 'falsy number ' + falsyNumber + ' coerces to false');
- });
- forEach([Infinity, 42, 1, -Infinity], function (truthyNumber) {
- t.equal(true, ES.ToBoolean(truthyNumber), 'truthy number ' + truthyNumber + ' coerces to true');
- });
- t.equal(false, ES.ToBoolean(''), 'empty string coerces to false');
- t.equal(true, ES.ToBoolean('foo'), 'nonempty string coerces to true');
- forEach(objects, function (obj) {
- t.equal(true, ES.ToBoolean(obj), 'object coerces to true');
- });
- t.equal(true, ES.ToBoolean(uncoercibleObject), 'uncoercibleObject coerces to true');
- t.end();
-});
-
-test('ToNumber', function (t) {
- t.ok(is(NaN, ES.ToNumber(undefined)), 'undefined coerces to NaN');
- t.ok(is(ES.ToNumber(null), 0), 'null coerces to +0');
- t.ok(is(ES.ToNumber(false), 0), 'false coerces to +0');
- t.equal(1, ES.ToNumber(true), 'true coerces to 1');
- t.ok(is(NaN, ES.ToNumber(NaN)), 'NaN returns itself');
- forEach([0, -0, 42, Infinity, -Infinity], function (num) {
- t.equal(num, ES.ToNumber(num), num + ' returns itself');
- });
- forEach(['foo', '0', '4a', '2.0', 'Infinity', '-Infinity'], function (numString) {
- t.ok(is(+numString, ES.ToNumber(numString)), '"' + numString + '" coerces to ' + Number(numString));
- });
- forEach(objects, function (object) {
- t.ok(is(ES.ToNumber(object), ES.ToNumber(ES.ToPrimitive(object))), 'object ' + object + ' coerces to same as ToPrimitive of object does');
- });
- t.throws(function () { return ES.ToNumber(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
- t.end();
-});
-
-test('ToInteger', function (t) {
- t.ok(is(0, ES.ToInteger(NaN)), 'NaN coerces to +0');
- forEach([0, Infinity, 42], function (num) {
- t.ok(is(num, ES.ToInteger(num)), num + ' returns itself');
- t.ok(is(-num, ES.ToInteger(-num)), '-' + num + ' returns itself');
- });
- t.equal(3, ES.ToInteger(Math.PI), 'pi returns 3');
- t.throws(function () { return ES.ToInteger(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
- t.end();
-});
-
-test('ToInt32', function (t) {
- t.ok(is(0, ES.ToInt32(NaN)), 'NaN coerces to +0');
- forEach([0, Infinity], function (num) {
- t.ok(is(0, ES.ToInt32(num)), num + ' returns +0');
- t.ok(is(0, ES.ToInt32(-num)), '-' + num + ' returns +0');
- });
- t.throws(function () { return ES.ToInt32(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
- t.ok(is(ES.ToInt32(0x100000000), 0), '2^32 returns +0');
- t.ok(is(ES.ToInt32(0x100000000 - 1), -1), '2^32 - 1 returns -1');
- t.ok(is(ES.ToInt32(0x80000000), -0x80000000), '2^31 returns -2^31');
- t.ok(is(ES.ToInt32(0x80000000 - 1), 0x80000000 - 1), '2^31 - 1 returns 2^31 - 1');
- forEach([0, Infinity, NaN, 0x100000000, 0x80000000, 0x10000, 0x42], function (num) {
- t.ok(is(ES.ToInt32(num), ES.ToInt32(ES.ToUint32(num))), 'ToInt32(x) === ToInt32(ToUint32(x)) for 0x' + num.toString(16));
- t.ok(is(ES.ToInt32(-num), ES.ToInt32(ES.ToUint32(-num))), 'ToInt32(x) === ToInt32(ToUint32(x)) for -0x' + num.toString(16));
- });
- t.end();
-});
-
-test('ToUint32', function (t) {
- t.ok(is(0, ES.ToUint32(NaN)), 'NaN coerces to +0');
- forEach([0, Infinity], function (num) {
- t.ok(is(0, ES.ToUint32(num)), num + ' returns +0');
- t.ok(is(0, ES.ToUint32(-num)), '-' + num + ' returns +0');
- });
- t.throws(function () { return ES.ToUint32(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
- t.ok(is(ES.ToUint32(0x100000000), 0), '2^32 returns +0');
- t.ok(is(ES.ToUint32(0x100000000 - 1), 0x100000000 - 1), '2^32 - 1 returns 2^32 - 1');
- t.ok(is(ES.ToUint32(0x80000000), 0x80000000), '2^31 returns 2^31');
- t.ok(is(ES.ToUint32(0x80000000 - 1), 0x80000000 - 1), '2^31 - 1 returns 2^31 - 1');
- forEach([0, Infinity, NaN, 0x100000000, 0x80000000, 0x10000, 0x42], function (num) {
- t.ok(is(ES.ToUint32(num), ES.ToUint32(ES.ToInt32(num))), 'ToUint32(x) === ToUint32(ToInt32(x)) for 0x' + num.toString(16));
- t.ok(is(ES.ToUint32(-num), ES.ToUint32(ES.ToInt32(-num))), 'ToUint32(x) === ToUint32(ToInt32(x)) for -0x' + num.toString(16));
- });
- t.end();
-});
-
-test('ToUint16', function (t) {
- t.ok(is(0, ES.ToUint16(NaN)), 'NaN coerces to +0');
- forEach([0, Infinity], function (num) {
- t.ok(is(0, ES.ToUint16(num)), num + ' returns +0');
- t.ok(is(0, ES.ToUint16(-num)), '-' + num + ' returns +0');
- });
- t.throws(function () { return ES.ToUint16(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
- t.ok(is(ES.ToUint16(0x100000000), 0), '2^32 returns +0');
- t.ok(is(ES.ToUint16(0x100000000 - 1), 0x10000 - 1), '2^32 - 1 returns 2^16 - 1');
- t.ok(is(ES.ToUint16(0x80000000), 0), '2^31 returns +0');
- t.ok(is(ES.ToUint16(0x80000000 - 1), 0x10000 - 1), '2^31 - 1 returns 2^16 - 1');
- t.ok(is(ES.ToUint16(0x10000), 0), '2^16 returns +0');
- t.ok(is(ES.ToUint16(0x10000 - 1), 0x10000 - 1), '2^16 - 1 returns 2^16 - 1');
- t.end();
-});
-
-test('ToString', function (t) {
- t.throws(function () { return ES.ToString(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
- t.end();
-});
-
-test('ToObject', function (t) {
- t.throws(function () { return ES.ToObject(undefined); }, TypeError, 'undefined throws');
- t.throws(function () { return ES.ToObject(null); }, TypeError, 'null throws');
- forEach(numbers, function (number) {
- var obj = ES.ToObject(number);
- t.equal(typeof obj, 'object', 'number ' + number + ' coerces to object');
- t.equal(true, obj instanceof Number, 'object of ' + number + ' is Number object');
- t.ok(is(obj.valueOf(), number), 'object of ' + number + ' coerces to ' + number);
- });
- t.end();
-});
-
-test('CheckObjectCoercible', function (t) {
- t.throws(function () { return ES.CheckObjectCoercible(undefined); }, TypeError, 'undefined throws');
- t.throws(function () { return ES.CheckObjectCoercible(null); }, TypeError, 'null throws');
- var checkCoercible = function (value) {
- t.doesNotThrow(function () { return ES.CheckObjectCoercible(value); }, '"' + value + '" does not throw');
- };
- forEach(objects.concat(nonNullPrimitives), checkCoercible);
- t.end();
-});
-
-test('IsCallable', function (t) {
- t.equal(true, ES.IsCallable(function () {}), 'function is callable');
- var nonCallables = [/a/g, {}, Object.prototype, NaN].concat(primitives);
- forEach(nonCallables, function (nonCallable) {
- t.equal(false, ES.IsCallable(nonCallable), nonCallable + ' is not callable');
- });
- t.end();
-});
-
-test('SameValue', function (t) {
- t.equal(true, ES.SameValue(NaN, NaN), 'NaN is SameValue as NaN');
- t.equal(false, ES.SameValue(0, -0), '+0 is not SameValue as -0');
- forEach(objects.concat(primitives), function (val) {
- t.equal(val === val, ES.SameValue(val, val), '"' + val + '" is SameValue to itself');
- });
- t.end();
-});
diff --git a/node_modules/es-abstract/test/es6.js b/node_modules/es-abstract/test/es6.js
deleted file mode 100644
index 77d4f33..0000000
--- a/node_modules/es-abstract/test/es6.js
+++ /dev/null
@@ -1,481 +0,0 @@
-'use strict';
-
-var ES = require('../').ES6;
-var test = require('tape');
-
-var forEach = require('foreach');
-var is = require('object-is');
-var debug = require('util').format;
-
-var hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';
-
-var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || Math.pow(2, 53) - 1;
-
-var coercibleObject = { valueOf: function () { return 3; }, toString: function () { return 42; } };
-var valueOfOnlyObject = { valueOf: function () { return 4; }, toString: function () { return {}; } };
-var toStringOnlyObject = { valueOf: function () { return {}; }, toString: function () { return 7; } };
-var uncoercibleObject = { valueOf: function () { return {}; }, toString: function () { return {}; } };
-var objects = [{}, coercibleObject, toStringOnlyObject, valueOfOnlyObject];
-var numbers = [0, -0, Infinity, -Infinity, 42];
-var nonNullPrimitives = [true, false, 'foo', ''].concat(numbers);
-var primitives = [undefined, null].concat(nonNullPrimitives);
-
-test('ToPrimitive', function (t) {
- t.test('primitives', function (st) {
- var testPrimitive = function (primitive) {
- st.ok(is(ES.ToPrimitive(primitive), primitive), primitive + ' is returned correctly');
- };
- forEach(primitives, testPrimitive);
- st.end();
- });
-
- t.test('objects', function (st) {
- st.equal(ES.ToPrimitive(coercibleObject), 3, 'coercibleObject with no hint coerces to valueOf');
- st.ok(is(ES.ToPrimitive({}), '[object Object]'), '{} with no hint coerces to Object#toString');
- st.equal(ES.ToPrimitive(coercibleObject, Number), 3, 'coercibleObject with hint Number coerces to valueOf');
- st.ok(is(ES.ToPrimitive({}, Number), '[object Object]'), '{} with hint Number coerces to NaN');
- st.equal(ES.ToPrimitive(coercibleObject, String), 42, 'coercibleObject with hint String coerces to nonstringified toString');
- st.equal(ES.ToPrimitive({}, String), '[object Object]', '{} with hint String coerces to Object#toString');
- st.equal(ES.ToPrimitive(toStringOnlyObject), 7, 'toStringOnlyObject returns non-stringified toString');
- st.equal(ES.ToPrimitive(valueOfOnlyObject), 4, 'valueOfOnlyObject returns valueOf');
- st.throws(function () { return ES.ToPrimitive(uncoercibleObject); }, TypeError, 'uncoercibleObject throws a TypeError');
- st.end();
- });
-
- t.end();
-});
-
-test('ToBoolean', function (t) {
- t.equal(false, ES.ToBoolean(undefined), 'undefined coerces to false');
- t.equal(false, ES.ToBoolean(null), 'null coerces to false');
- t.equal(false, ES.ToBoolean(false), 'false returns false');
- t.equal(true, ES.ToBoolean(true), 'true returns true');
-
- t.test('numbers', function (st) {
- forEach([0, -0, NaN], function (falsyNumber) {
- st.equal(false, ES.ToBoolean(falsyNumber), 'falsy number ' + falsyNumber + ' coerces to false');
- });
- forEach([Infinity, 42, 1, -Infinity], function (truthyNumber) {
- st.equal(true, ES.ToBoolean(truthyNumber), 'truthy number ' + truthyNumber + ' coerces to true');
- });
-
- st.end();
- });
-
- t.equal(false, ES.ToBoolean(''), 'empty string coerces to false');
- t.equal(true, ES.ToBoolean('foo'), 'nonempty string coerces to true');
-
- t.test('objects', function (st) {
- forEach(objects, function (obj) {
- st.equal(true, ES.ToBoolean(obj), 'object coerces to true');
- });
- st.equal(true, ES.ToBoolean(uncoercibleObject), 'uncoercibleObject coerces to true');
-
- st.end();
- });
-
- t.end();
-});
-
-test('ToNumber', function (t) {
- t.ok(is(NaN, ES.ToNumber(undefined)), 'undefined coerces to NaN');
- t.ok(is(ES.ToNumber(null), 0), 'null coerces to +0');
- t.ok(is(ES.ToNumber(false), 0), 'false coerces to +0');
- t.equal(1, ES.ToNumber(true), 'true coerces to 1');
-
- t.test('numbers', function (st) {
- st.ok(is(NaN, ES.ToNumber(NaN)), 'NaN returns itself');
- forEach([0, -0, 42, Infinity, -Infinity], function (num) {
- st.equal(num, ES.ToNumber(num), num + ' returns itself');
- });
- forEach(['foo', '0', '4a', '2.0', 'Infinity', '-Infinity'], function (numString) {
- st.ok(is(+numString, ES.ToNumber(numString)), '"' + numString + '" coerces to ' + Number(numString));
- });
- st.end();
- });
-
- t.test('objects', function (st) {
- forEach(objects, function (object) {
- st.ok(is(ES.ToNumber(object), ES.ToNumber(ES.ToPrimitive(object))), 'object ' + object + ' coerces to same as ToPrimitive of object does');
- });
- st.throws(function () { return ES.ToNumber(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
- st.end();
- });
-
- t.test('binary literals', function (st) {
- st.equal(ES.ToNumber('0b10'), 2, '0b10 is 2');
- st.equal(ES.ToNumber({ toString: function () { return '0b11'; } }), 3, 'Object that toStrings to 0b11 is 3');
-
- st.equal(true, is(ES.ToNumber('0b12'), NaN), '0b12 is NaN');
- st.equal(true, is(ES.ToNumber({ toString: function () { return '0b112'; } }), NaN), 'Object that toStrings to 0b112 is NaN');
- st.end();
- });
-
- t.test('octal literals', function (st) {
- st.equal(ES.ToNumber('0o10'), 8, '0o10 is 8');
- st.equal(ES.ToNumber({ toString: function () { return '0o11'; } }), 9, 'Object that toStrings to 0o11 is 9');
-
- st.equal(true, is(ES.ToNumber('0o18'), NaN), '0o18 is NaN');
- st.equal(true, is(ES.ToNumber({ toString: function () { return '0o118'; } }), NaN), 'Object that toStrings to 0o118 is NaN');
- st.end();
- });
-
- t.test('signed hex numbers', function (st) {
- st.equal(true, is(ES.ToNumber('-0xF'), NaN), '-0xF is NaN');
- st.equal(true, is(ES.ToNumber(' -0xF '), NaN), 'space-padded -0xF is NaN');
- st.equal(true, is(ES.ToNumber('+0xF'), NaN), '+0xF is NaN');
- st.equal(true, is(ES.ToNumber(' +0xF '), NaN), 'space-padded +0xF is NaN');
-
- st.end();
- });
-
- t.test('trimming of whitespace and non-whitespace characters', function (st) {
- var whitespace = ' \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000';
- st.equal(0, ES.ToNumber(whitespace + 0 + whitespace), 'whitespace is trimmed');
-
- // Zero-width space (zws), next line character (nel), and non-character (bom) are not whitespace.
- var nonWhitespaces = {
- '\\u0085': '\u0085',
- '\\u200b': '\u200b',
- '\\ufffe': '\ufffe'
- };
-
- forEach(nonWhitespaces, function (desc, nonWS) {
- st.equal(true, is(ES.ToNumber(nonWS + 0 + nonWS), NaN), 'non-whitespace ' + desc + ' not trimmed');
- });
-
- st.end();
- });
-
- t.end();
-});
-
-test('ToInteger', function (t) {
- t.ok(is(0, ES.ToInteger(NaN)), 'NaN coerces to +0');
- forEach([0, Infinity, 42], function (num) {
- t.ok(is(num, ES.ToInteger(num)), num + ' returns itself');
- t.ok(is(-num, ES.ToInteger(-num)), '-' + num + ' returns itself');
- });
- t.equal(3, ES.ToInteger(Math.PI), 'pi returns 3');
- t.throws(function () { return ES.ToInteger(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
- t.end();
-});
-
-test('ToInt32', function (t) {
- t.ok(is(0, ES.ToInt32(NaN)), 'NaN coerces to +0');
- forEach([0, Infinity], function (num) {
- t.ok(is(0, ES.ToInt32(num)), num + ' returns +0');
- t.ok(is(0, ES.ToInt32(-num)), '-' + num + ' returns +0');
- });
- t.throws(function () { return ES.ToInt32(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
- t.ok(is(ES.ToInt32(0x100000000), 0), '2^32 returns +0');
- t.ok(is(ES.ToInt32(0x100000000 - 1), -1), '2^32 - 1 returns -1');
- t.ok(is(ES.ToInt32(0x80000000), -0x80000000), '2^31 returns -2^31');
- t.ok(is(ES.ToInt32(0x80000000 - 1), 0x80000000 - 1), '2^31 - 1 returns 2^31 - 1');
- forEach([0, Infinity, NaN, 0x100000000, 0x80000000, 0x10000, 0x42], function (num) {
- t.ok(is(ES.ToInt32(num), ES.ToInt32(ES.ToUint32(num))), 'ToInt32(x) === ToInt32(ToUint32(x)) for 0x' + num.toString(16));
- t.ok(is(ES.ToInt32(-num), ES.ToInt32(ES.ToUint32(-num))), 'ToInt32(x) === ToInt32(ToUint32(x)) for -0x' + num.toString(16));
- });
- t.end();
-});
-
-test('ToUint32', function (t) {
- t.ok(is(0, ES.ToUint32(NaN)), 'NaN coerces to +0');
- forEach([0, Infinity], function (num) {
- t.ok(is(0, ES.ToUint32(num)), num + ' returns +0');
- t.ok(is(0, ES.ToUint32(-num)), '-' + num + ' returns +0');
- });
- t.throws(function () { return ES.ToUint32(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
- t.ok(is(ES.ToUint32(0x100000000), 0), '2^32 returns +0');
- t.ok(is(ES.ToUint32(0x100000000 - 1), 0x100000000 - 1), '2^32 - 1 returns 2^32 - 1');
- t.ok(is(ES.ToUint32(0x80000000), 0x80000000), '2^31 returns 2^31');
- t.ok(is(ES.ToUint32(0x80000000 - 1), 0x80000000 - 1), '2^31 - 1 returns 2^31 - 1');
- forEach([0, Infinity, NaN, 0x100000000, 0x80000000, 0x10000, 0x42], function (num) {
- t.ok(is(ES.ToUint32(num), ES.ToUint32(ES.ToInt32(num))), 'ToUint32(x) === ToUint32(ToInt32(x)) for 0x' + num.toString(16));
- t.ok(is(ES.ToUint32(-num), ES.ToUint32(ES.ToInt32(-num))), 'ToUint32(x) === ToUint32(ToInt32(x)) for -0x' + num.toString(16));
- });
- t.end();
-});
-
-test('ToInt16', function (t) {
- t.ok(is(0, ES.ToInt16(NaN)), 'NaN coerces to +0');
- forEach([0, Infinity], function (num) {
- t.ok(is(0, ES.ToInt16(num)), num + ' returns +0');
- t.ok(is(0, ES.ToInt16(-num)), '-' + num + ' returns +0');
- });
- t.throws(function () { return ES.ToInt16(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
- t.ok(is(ES.ToInt16(0x100000000), 0), '2^32 returns +0');
- t.ok(is(ES.ToInt16(0x100000000 - 1), -1), '2^32 - 1 returns -1');
- t.ok(is(ES.ToInt16(0x80000000), 0), '2^31 returns +0');
- t.ok(is(ES.ToInt16(0x80000000 - 1), -1), '2^31 - 1 returns -1');
- t.ok(is(ES.ToInt16(0x10000), 0), '2^16 returns +0');
- t.ok(is(ES.ToInt16(0x10000 - 1), -1), '2^16 - 1 returns -1');
- t.end();
-});
-
-test('ToUint16', function (t) {
- t.ok(is(0, ES.ToUint16(NaN)), 'NaN coerces to +0');
- forEach([0, Infinity], function (num) {
- t.ok(is(0, ES.ToUint16(num)), num + ' returns +0');
- t.ok(is(0, ES.ToUint16(-num)), '-' + num + ' returns +0');
- });
- t.throws(function () { return ES.ToUint16(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
- t.ok(is(ES.ToUint16(0x100000000), 0), '2^32 returns +0');
- t.ok(is(ES.ToUint16(0x100000000 - 1), 0x10000 - 1), '2^32 - 1 returns 2^16 - 1');
- t.ok(is(ES.ToUint16(0x80000000), 0), '2^31 returns +0');
- t.ok(is(ES.ToUint16(0x80000000 - 1), 0x10000 - 1), '2^31 - 1 returns 2^16 - 1');
- t.ok(is(ES.ToUint16(0x10000), 0), '2^16 returns +0');
- t.ok(is(ES.ToUint16(0x10000 - 1), 0x10000 - 1), '2^16 - 1 returns 2^16 - 1');
- t.end();
-});
-
-test('ToInt8', function (t) {
- t.ok(is(0, ES.ToInt8(NaN)), 'NaN coerces to +0');
- forEach([0, Infinity], function (num) {
- t.ok(is(0, ES.ToInt8(num)), num + ' returns +0');
- t.ok(is(0, ES.ToInt8(-num)), '-' + num + ' returns +0');
- });
- t.throws(function () { return ES.ToInt8(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
- t.ok(is(ES.ToInt8(0x100000000), 0), '2^32 returns +0');
- t.ok(is(ES.ToInt8(0x100000000 - 1), -1), '2^32 - 1 returns -1');
- t.ok(is(ES.ToInt8(0x80000000), 0), '2^31 returns +0');
- t.ok(is(ES.ToInt8(0x80000000 - 1), -1), '2^31 - 1 returns -1');
- t.ok(is(ES.ToInt8(0x10000), 0), '2^16 returns +0');
- t.ok(is(ES.ToInt8(0x10000 - 1), -1), '2^16 - 1 returns -1');
- t.ok(is(ES.ToInt8(0x100), 0), '2^8 returns +0');
- t.ok(is(ES.ToInt8(0x100 - 1), -1), '2^8 - 1 returns -1');
- t.ok(is(ES.ToInt8(0x10), 0x10), '2^4 returns 2^4');
- t.end();
-});
-
-test('ToUint8', function (t) {
- t.ok(is(0, ES.ToUint8(NaN)), 'NaN coerces to +0');
- forEach([0, Infinity], function (num) {
- t.ok(is(0, ES.ToUint8(num)), num + ' returns +0');
- t.ok(is(0, ES.ToUint8(-num)), '-' + num + ' returns +0');
- });
- t.throws(function () { return ES.ToUint8(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
- t.ok(is(ES.ToUint8(0x100000000), 0), '2^32 returns +0');
- t.ok(is(ES.ToUint8(0x100000000 - 1), 0x100 - 1), '2^32 - 1 returns 2^8 - 1');
- t.ok(is(ES.ToUint8(0x80000000), 0), '2^31 returns +0');
- t.ok(is(ES.ToUint8(0x80000000 - 1), 0x100 - 1), '2^31 - 1 returns 2^8 - 1');
- t.ok(is(ES.ToUint8(0x10000), 0), '2^16 returns +0');
- t.ok(is(ES.ToUint8(0x10000 - 1), 0x100 - 1), '2^16 - 1 returns 2^8 - 1');
- t.ok(is(ES.ToUint8(0x100), 0), '2^8 returns +0');
- t.ok(is(ES.ToUint8(0x100 - 1), 0x100 - 1), '2^8 - 1 returns 2^16 - 1');
- t.ok(is(ES.ToUint8(0x10), 0x10), '2^4 returns 2^4');
- t.ok(is(ES.ToUint8(0x10 - 1), 0x10 - 1), '2^4 - 1 returns 2^4 - 1');
- t.end();
-});
-
-test('ToUint8Clamp', function (t) {
- t.ok(is(0, ES.ToUint8Clamp(NaN)), 'NaN coerces to +0');
- t.ok(is(0, ES.ToUint8Clamp(0)), '+0 returns +0');
- t.ok(is(0, ES.ToUint8Clamp(-0)), '-0 returns +0');
- t.ok(is(0, ES.ToUint8Clamp(-Infinity)), '-Infinity returns +0');
- t.throws(function () { return ES.ToUint8Clamp(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
- forEach([255, 256, 0x100000, Infinity], function (number) {
- t.ok(is(255, ES.ToUint8Clamp(number)), number + ' coerces to 255');
- });
- t.equal(1, ES.ToUint8Clamp(1.49), '1.49 coerces to 1');
- t.equal(2, ES.ToUint8Clamp(1.5), '1.5 coerces to 2, because 2 is even');
- t.equal(2, ES.ToUint8Clamp(1.51), '1.51 coerces to 2');
-
- t.equal(2, ES.ToUint8Clamp(2.49), '2.49 coerces to 2');
- t.equal(2, ES.ToUint8Clamp(2.5), '2.5 coerces to 2, because 2 is even');
- t.equal(3, ES.ToUint8Clamp(2.51), '2.51 coerces to 3');
- t.end();
-});
-
-test('ToString', function (t) {
- forEach(objects.concat(primitives), function (item) {
- t.equal(ES.ToString(item), String(item), 'ES.ToString(' + debug(item) + ') ToStrings to String(' + debug(item) + ')');
- });
- t.throws(function () { return ES.ToString(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
- if (hasSymbols) {
- t.throws(function () { return ES.ToString(Symbol.iterator); }, TypeError, debug(Symbol.iterator) + ' throws');
- }
- t.end();
-});
-
-test('ToObject', function (t) {
- t.throws(function () { return ES.ToObject(undefined); }, TypeError, 'undefined throws');
- t.throws(function () { return ES.ToObject(null); }, TypeError, 'null throws');
- forEach(numbers, function (number) {
- var obj = ES.ToObject(number);
- t.equal(typeof obj, 'object', 'number ' + number + ' coerces to object');
- t.equal(true, obj instanceof Number, 'object of ' + number + ' is Number object');
- t.ok(is(obj.valueOf(), number), 'object of ' + number + ' coerces to ' + number);
- });
- t.end();
-});
-
-test('RequireObjectCoercible', function (t) {
- t.equal(false, 'CheckObjectCoercible' in ES, 'CheckObjectCoercible -> RequireObjectCoercible in ES6');
- t.throws(function () { return ES.RequireObjectCoercible(undefined); }, TypeError, 'undefined throws');
- t.throws(function () { return ES.RequireObjectCoercible(null); }, TypeError, 'null throws');
- var doesNotThrow = function (value) {
- t.doesNotThrow(function () { return ES.RequireObjectCoercible(value); }, '"' + value + '" does not throw');
- };
- forEach(objects.concat(nonNullPrimitives), doesNotThrow);
- t.end();
-});
-
-test('IsCallable', function (t) {
- t.equal(true, ES.IsCallable(function () {}), 'function is callable');
- var nonCallables = [/a/g, {}, Object.prototype, NaN].concat(primitives);
- forEach(nonCallables, function (nonCallable) {
- t.equal(false, ES.IsCallable(nonCallable), nonCallable + ' is not callable');
- });
- t.end();
-});
-
-test('SameValue', function (t) {
- t.equal(true, ES.SameValue(NaN, NaN), 'NaN is SameValue as NaN');
- t.equal(false, ES.SameValue(0, -0), '+0 is not SameValue as -0');
- forEach(objects.concat(primitives), function (val) {
- t.equal(val === val, ES.SameValue(val, val), '"' + val + '" is SameValue to itself');
- });
- t.end();
-});
-
-test('SameValueZero', function (t) {
- t.equal(true, ES.SameValueZero(NaN, NaN), 'NaN is SameValueZero as NaN');
- t.equal(true, ES.SameValueZero(0, -0), '+0 is SameValueZero as -0');
- forEach(objects.concat(primitives), function (val) {
- t.equal(val === val, ES.SameValueZero(val, val), '"' + val + '" is SameValueZero to itself');
- });
- t.end();
-});
-
-test('ToPropertyKey', function (t) {
- forEach(objects.concat(primitives), function (value) {
- t.equal(ES.ToPropertyKey(value), String(value), 'ToPropertyKey(value) === String(value) for non-Symbols');
- });
- if (hasSymbols) {
- t.equal(ES.ToPropertyKey(Symbol.iterator), 'Symbol(Symbol.iterator)', 'ToPropertyKey(Symbol.iterator) === "Symbol(Symbol.iterator)"');
- }
- t.end();
-});
-
-test('ToLength', function (t) {
- t.throws(function () { return ES.ToLength(uncoercibleObject); }, TypeError, 'uncoercibleObject throws a TypeError');
- t.equal(3, ES.ToLength(coercibleObject), 'coercibleObject coerces to 3');
- t.equal(42, ES.ToLength('42.5'), '"42.5" coerces to 42');
- t.equal(7, ES.ToLength(7.3), '7.3 coerces to 7');
- forEach([-0, -1, -42, -Infinity], function (negative) {
- t.ok(is(0, ES.ToLength(negative)), negative + ' coerces to +0');
- });
- t.equal(MAX_SAFE_INTEGER, ES.ToLength(MAX_SAFE_INTEGER + 1), '2^53 coerces to 2^53 - 1');
- t.equal(MAX_SAFE_INTEGER, ES.ToLength(MAX_SAFE_INTEGER + 3), '2^53 + 2 coerces to 2^53 - 1');
- t.end();
-});
-
-test('IsArray', function (t) {
- t.equal(true, ES.IsArray([]), '[] is array');
- t.equal(false, ES.IsArray({}), '{} is not array');
- t.equal(false, ES.IsArray({ length: 1, 0: true }), 'arraylike object is not array');
- forEach(objects.concat(primitives), function (value) {
- t.equal(false, ES.IsArray(value), value + ' is not array');
- });
- t.end();
-});
-
-test('IsRegExp', function (t) {
- forEach([/a/g, new RegExp('a', 'g')], function (regex) {
- t.equal(true, ES.IsRegExp(regex), regex + ' is regex');
- });
- forEach(objects.concat(primitives), function (nonRegex) {
- t.equal(false, ES.IsRegExp(nonRegex), nonRegex + ' is not regex');
- });
- t.test('Symbol.match', { skip: !hasSymbols || !Symbol.match }, function (st) {
- var obj = {};
- obj[Symbol.match] = true;
- st.equal(true, ES.IsRegExp(obj), 'object with truthy Symbol.match is regex');
-
- var regex = /a/;
- regex[Symbol.match] = false;
- st.equal(false, ES.IsRegExp(regex), 'regex with falsy Symbol.match is not regex');
-
- st.end();
- });
- t.end();
-});
-
-test('IsPropertyKey', function (t) {
- forEach(numbers.concat(objects), function (notKey) {
- t.equal(false, ES.IsPropertyKey(notKey), notKey + ' is not property key');
- });
- t.equal(true, ES.IsPropertyKey('foo'), 'string is property key');
- if (hasSymbols) {
- t.equal(true, ES.IsPropertyKey(Symbol.iterator), 'Symbol.iterator is property key');
- }
- t.end();
-});
-
-test('IsInteger', function (t) {
- for (var i = -100; i < 100; i += 10) {
- t.equal(true, ES.IsInteger(i), i + ' is integer');
- t.equal(false, ES.IsInteger(i + 0.2), (i + 0.2) + ' is not integer');
- }
- t.equal(true, ES.IsInteger(-0), '-0 is integer');
- var notInts = objects.concat([Infinity, -Infinity, NaN, true, false, null, undefined, [], new Date()]);
- if (hasSymbols) { notInts.push(Symbol.iterator); }
- forEach(notInts, function (notInt) {
- t.equal(false, ES.IsInteger(notInt), ES.ToPropertyKey(notInt) + ' is not integer');
- });
- t.equal(false, ES.IsInteger(uncoercibleObject), 'uncoercibleObject is not integer');
- t.end();
-});
-
-test('IsExtensible', function (t) {
- forEach(objects, function (object) {
- t.equal(true, ES.IsExtensible(object), object + ' object is extensible');
- });
- forEach(primitives, function (primitive) {
- t.equal(false, ES.IsExtensible(primitive), primitive + ' is not extensible');
- });
- if (Object.preventExtensions) {
- t.equal(false, ES.IsExtensible(Object.preventExtensions({})), 'object with extensions prevented is not extensible');
- }
- t.end();
-});
-
-test('CanonicalNumericIndexString', function (t) {
- var throwsOnNonString = function (notString) {
- t.throws(function () { return ES.CanonicalNumericIndexString(notString); }, TypeError, notString + ' is not a string');
- };
- forEach(objects.concat(numbers), throwsOnNonString);
- t.ok(is(-0, ES.CanonicalNumericIndexString('-0')), '"-0" returns -0');
- for (var i = -50; i < 50; i += 10) {
- t.equal(i, ES.CanonicalNumericIndexString(String(i)), '"' + i + '" returns ' + i);
- t.equal(undefined, ES.CanonicalNumericIndexString(String(i) + 'a'), '"' + i + 'a" returns undefined');
- }
- t.end();
-});
-
-test('IsConstructor', function (t) {
- t.equal(true, ES.IsConstructor(function () {}), 'function is constructor');
- t.equal(false, ES.IsConstructor(/a/g), 'regex is not constructor');
- forEach(objects, function (object) {
- t.equal(false, ES.IsConstructor(object), object + ' object is not constructor');
- });
- t.end();
-});
-
-test('Call', function (t) {
- var receiver = {};
- var notFuncs = objects.concat(primitives).concat([/a/g, new RegExp('a', 'g')]);
- t.plan(notFuncs.length + 4);
- var throwsOnCall = function (notFunc) {
- t.throws(function () { return ES.Call(notFunc, receiver); }, TypeError, notFunc + ' (' + typeof notFunc + ') is not callable');
- };
- forEach(notFuncs, throwsOnCall);
- ES.Call(function (a, b) {
- t.equal(this, receiver, 'context matches expected');
- t.deepEqual([a, b], [1, 2], 'named args are correct');
- t.equal(arguments.length, 3, 'extra argument was passed');
- t.equal(arguments[2], 3, 'extra argument was correct');
- }, receiver, [1, 2, 3]);
- t.end();
-});
diff --git a/node_modules/es-abstract/test/es7.js b/node_modules/es-abstract/test/es7.js
deleted file mode 100644
index b2836bb..0000000
--- a/node_modules/es-abstract/test/es7.js
+++ /dev/null
@@ -1,419 +0,0 @@
-'use strict';
-
-var ES = require('../').ES7;
-var test = require('tape');
-
-var forEach = require('foreach');
-var is = require('object-is');
-
-var hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';
-
-var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || Math.pow(2, 53) - 1;
-
-var coercibleObject = { valueOf: function () { return 3; }, toString: function () { return 42; } };
-var valueOfOnlyObject = { valueOf: function () { return 4; }, toString: function () { return {}; } };
-var toStringOnlyObject = { valueOf: function () { return {}; }, toString: function () { return 7; } };
-var uncoercibleObject = { valueOf: function () { return {}; }, toString: function () { return {}; } };
-var objects = [{}, coercibleObject, toStringOnlyObject, valueOfOnlyObject];
-var numbers = [0, -0, Infinity, -Infinity, 42];
-var nullPrimitives = [undefined, null];
-var nonNullNonNumberPrimitives = [true, false, 'foo', ''];
-var nonNullPrimitives = nonNullNonNumberPrimitives.concat(numbers);
-var nonNumberPrimitives = nullPrimitives.concat(nonNullNonNumberPrimitives);
-var primitives = nullPrimitives.concat(nonNullPrimitives);
-
-test('ToPrimitive', function (t) {
- t.test('primitives', function (st) {
- var testPrimitive = function (primitive) {
- st.ok(is(ES.ToPrimitive(primitive), primitive), primitive + ' is returned correctly');
- };
- forEach(primitives, testPrimitive);
- st.end();
- });
-
- t.test('objects', function (st) {
- st.equal(ES.ToPrimitive(coercibleObject), 3, 'coercibleObject with no hint coerces to valueOf');
- st.ok(is(ES.ToPrimitive({}), '[object Object]'), '{} with no hint coerces to Object#toString');
- st.equal(ES.ToPrimitive(coercibleObject, Number), 3, 'coercibleObject with hint Number coerces to valueOf');
- st.ok(is(ES.ToPrimitive({}, Number), '[object Object]'), '{} with hint Number coerces to NaN');
- st.equal(ES.ToPrimitive(coercibleObject, String), 42, 'coercibleObject with hint String coerces to nonstringified toString');
- st.equal(ES.ToPrimitive({}, String), '[object Object]', '{} with hint String coerces to Object#toString');
- st.equal(ES.ToPrimitive(toStringOnlyObject), 7, 'toStringOnlyObject returns non-stringified toString');
- st.equal(ES.ToPrimitive(valueOfOnlyObject), 4, 'valueOfOnlyObject returns valueOf');
- st.throws(function () { return ES.ToPrimitive(uncoercibleObject); }, TypeError, 'uncoercibleObject throws a TypeError');
- st.end();
- });
-
- t.end();
-});
-
-test('ToBoolean', function (t) {
- t.equal(false, ES.ToBoolean(undefined), 'undefined coerces to false');
- t.equal(false, ES.ToBoolean(null), 'null coerces to false');
- t.equal(false, ES.ToBoolean(false), 'false returns false');
- t.equal(true, ES.ToBoolean(true), 'true returns true');
- forEach([0, -0, NaN], function (falsyNumber) {
- t.equal(false, ES.ToBoolean(falsyNumber), 'falsy number ' + falsyNumber + ' coerces to false');
- });
- forEach([Infinity, 42, 1, -Infinity], function (truthyNumber) {
- t.equal(true, ES.ToBoolean(truthyNumber), 'truthy number ' + truthyNumber + ' coerces to true');
- });
- t.equal(false, ES.ToBoolean(''), 'empty string coerces to false');
- t.equal(true, ES.ToBoolean('foo'), 'nonempty string coerces to true');
- forEach(objects, function (obj) {
- t.equal(true, ES.ToBoolean(obj), 'object coerces to true');
- });
- t.equal(true, ES.ToBoolean(uncoercibleObject), 'uncoercibleObject coerces to true');
- t.end();
-});
-
-test('ToNumber', function (t) {
- t.ok(is(NaN, ES.ToNumber(undefined)), 'undefined coerces to NaN');
- t.ok(is(ES.ToNumber(null), 0), 'null coerces to +0');
- t.ok(is(ES.ToNumber(false), 0), 'false coerces to +0');
- t.equal(1, ES.ToNumber(true), 'true coerces to 1');
- t.ok(is(NaN, ES.ToNumber(NaN)), 'NaN returns itself');
- forEach([0, -0, 42, Infinity, -Infinity], function (num) {
- t.equal(num, ES.ToNumber(num), num + ' returns itself');
- });
- forEach(['foo', '0', '4a', '2.0', 'Infinity', '-Infinity'], function (numString) {
- t.ok(is(+numString, ES.ToNumber(numString)), '"' + numString + '" coerces to ' + Number(numString));
- });
- forEach(objects, function (object) {
- t.ok(is(ES.ToNumber(object), ES.ToNumber(ES.ToPrimitive(object))), 'object ' + object + ' coerces to same as ToPrimitive of object does');
- });
- t.throws(function () { return ES.ToNumber(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
- t.end();
-});
-
-test('ToInteger', function (t) {
- t.ok(is(0, ES.ToInteger(NaN)), 'NaN coerces to +0');
- forEach([0, Infinity, 42], function (num) {
- t.ok(is(num, ES.ToInteger(num)), num + ' returns itself');
- t.ok(is(-num, ES.ToInteger(-num)), '-' + num + ' returns itself');
- });
- t.equal(3, ES.ToInteger(Math.PI), 'pi returns 3');
- t.throws(function () { return ES.ToInteger(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
- t.end();
-});
-
-test('ToInt32', function (t) {
- t.ok(is(0, ES.ToInt32(NaN)), 'NaN coerces to +0');
- forEach([0, Infinity], function (num) {
- t.ok(is(0, ES.ToInt32(num)), num + ' returns +0');
- t.ok(is(0, ES.ToInt32(-num)), '-' + num + ' returns +0');
- });
- t.throws(function () { return ES.ToInt32(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
- t.ok(is(ES.ToInt32(0x100000000), 0), '2^32 returns +0');
- t.ok(is(ES.ToInt32(0x100000000 - 1), -1), '2^32 - 1 returns -1');
- t.ok(is(ES.ToInt32(0x80000000), -0x80000000), '2^31 returns -2^31');
- t.ok(is(ES.ToInt32(0x80000000 - 1), 0x80000000 - 1), '2^31 - 1 returns 2^31 - 1');
- forEach([0, Infinity, NaN, 0x100000000, 0x80000000, 0x10000, 0x42], function (num) {
- t.ok(is(ES.ToInt32(num), ES.ToInt32(ES.ToUint32(num))), 'ToInt32(x) === ToInt32(ToUint32(x)) for 0x' + num.toString(16));
- t.ok(is(ES.ToInt32(-num), ES.ToInt32(ES.ToUint32(-num))), 'ToInt32(x) === ToInt32(ToUint32(x)) for -0x' + num.toString(16));
- });
- t.end();
-});
-
-test('ToUint32', function (t) {
- t.ok(is(0, ES.ToUint32(NaN)), 'NaN coerces to +0');
- forEach([0, Infinity], function (num) {
- t.ok(is(0, ES.ToUint32(num)), num + ' returns +0');
- t.ok(is(0, ES.ToUint32(-num)), '-' + num + ' returns +0');
- });
- t.throws(function () { return ES.ToUint32(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
- t.ok(is(ES.ToUint32(0x100000000), 0), '2^32 returns +0');
- t.ok(is(ES.ToUint32(0x100000000 - 1), 0x100000000 - 1), '2^32 - 1 returns 2^32 - 1');
- t.ok(is(ES.ToUint32(0x80000000), 0x80000000), '2^31 returns 2^31');
- t.ok(is(ES.ToUint32(0x80000000 - 1), 0x80000000 - 1), '2^31 - 1 returns 2^31 - 1');
- forEach([0, Infinity, NaN, 0x100000000, 0x80000000, 0x10000, 0x42], function (num) {
- t.ok(is(ES.ToUint32(num), ES.ToUint32(ES.ToInt32(num))), 'ToUint32(x) === ToUint32(ToInt32(x)) for 0x' + num.toString(16));
- t.ok(is(ES.ToUint32(-num), ES.ToUint32(ES.ToInt32(-num))), 'ToUint32(x) === ToUint32(ToInt32(x)) for -0x' + num.toString(16));
- });
- t.end();
-});
-
-test('ToInt16', function (t) {
- t.ok(is(0, ES.ToInt16(NaN)), 'NaN coerces to +0');
- forEach([0, Infinity], function (num) {
- t.ok(is(0, ES.ToInt16(num)), num + ' returns +0');
- t.ok(is(0, ES.ToInt16(-num)), '-' + num + ' returns +0');
- });
- t.throws(function () { return ES.ToInt16(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
- t.ok(is(ES.ToInt16(0x100000000), 0), '2^32 returns +0');
- t.ok(is(ES.ToInt16(0x100000000 - 1), -1), '2^32 - 1 returns -1');
- t.ok(is(ES.ToInt16(0x80000000), 0), '2^31 returns +0');
- t.ok(is(ES.ToInt16(0x80000000 - 1), -1), '2^31 - 1 returns -1');
- t.ok(is(ES.ToInt16(0x10000), 0), '2^16 returns +0');
- t.ok(is(ES.ToInt16(0x10000 - 1), -1), '2^16 - 1 returns -1');
- t.end();
-});
-
-test('ToUint16', function (t) {
- t.ok(is(0, ES.ToUint16(NaN)), 'NaN coerces to +0');
- forEach([0, Infinity], function (num) {
- t.ok(is(0, ES.ToUint16(num)), num + ' returns +0');
- t.ok(is(0, ES.ToUint16(-num)), '-' + num + ' returns +0');
- });
- t.throws(function () { return ES.ToUint16(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
- t.ok(is(ES.ToUint16(0x100000000), 0), '2^32 returns +0');
- t.ok(is(ES.ToUint16(0x100000000 - 1), 0x10000 - 1), '2^32 - 1 returns 2^16 - 1');
- t.ok(is(ES.ToUint16(0x80000000), 0), '2^31 returns +0');
- t.ok(is(ES.ToUint16(0x80000000 - 1), 0x10000 - 1), '2^31 - 1 returns 2^16 - 1');
- t.ok(is(ES.ToUint16(0x10000), 0), '2^16 returns +0');
- t.ok(is(ES.ToUint16(0x10000 - 1), 0x10000 - 1), '2^16 - 1 returns 2^16 - 1');
- t.end();
-});
-
-test('ToInt8', function (t) {
- t.ok(is(0, ES.ToInt8(NaN)), 'NaN coerces to +0');
- forEach([0, Infinity], function (num) {
- t.ok(is(0, ES.ToInt8(num)), num + ' returns +0');
- t.ok(is(0, ES.ToInt8(-num)), '-' + num + ' returns +0');
- });
- t.throws(function () { return ES.ToInt8(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
- t.ok(is(ES.ToInt8(0x100000000), 0), '2^32 returns +0');
- t.ok(is(ES.ToInt8(0x100000000 - 1), -1), '2^32 - 1 returns -1');
- t.ok(is(ES.ToInt8(0x80000000), 0), '2^31 returns +0');
- t.ok(is(ES.ToInt8(0x80000000 - 1), -1), '2^31 - 1 returns -1');
- t.ok(is(ES.ToInt8(0x10000), 0), '2^16 returns +0');
- t.ok(is(ES.ToInt8(0x10000 - 1), -1), '2^16 - 1 returns -1');
- t.ok(is(ES.ToInt8(0x100), 0), '2^8 returns +0');
- t.ok(is(ES.ToInt8(0x100 - 1), -1), '2^8 - 1 returns -1');
- t.ok(is(ES.ToInt8(0x10), 0x10), '2^4 returns 2^4');
- t.end();
-});
-
-test('ToUint8', function (t) {
- t.ok(is(0, ES.ToUint8(NaN)), 'NaN coerces to +0');
- forEach([0, Infinity], function (num) {
- t.ok(is(0, ES.ToUint8(num)), num + ' returns +0');
- t.ok(is(0, ES.ToUint8(-num)), '-' + num + ' returns +0');
- });
- t.throws(function () { return ES.ToUint8(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
- t.ok(is(ES.ToUint8(0x100000000), 0), '2^32 returns +0');
- t.ok(is(ES.ToUint8(0x100000000 - 1), 0x100 - 1), '2^32 - 1 returns 2^8 - 1');
- t.ok(is(ES.ToUint8(0x80000000), 0), '2^31 returns +0');
- t.ok(is(ES.ToUint8(0x80000000 - 1), 0x100 - 1), '2^31 - 1 returns 2^8 - 1');
- t.ok(is(ES.ToUint8(0x10000), 0), '2^16 returns +0');
- t.ok(is(ES.ToUint8(0x10000 - 1), 0x100 - 1), '2^16 - 1 returns 2^8 - 1');
- t.ok(is(ES.ToUint8(0x100), 0), '2^8 returns +0');
- t.ok(is(ES.ToUint8(0x100 - 1), 0x100 - 1), '2^8 - 1 returns 2^16 - 1');
- t.ok(is(ES.ToUint8(0x10), 0x10), '2^4 returns 2^4');
- t.ok(is(ES.ToUint8(0x10 - 1), 0x10 - 1), '2^4 - 1 returns 2^4 - 1');
- t.end();
-});
-
-test('ToUint8Clamp', function (t) {
- t.ok(is(0, ES.ToUint8Clamp(NaN)), 'NaN coerces to +0');
- t.ok(is(0, ES.ToUint8Clamp(0)), '+0 returns +0');
- t.ok(is(0, ES.ToUint8Clamp(-0)), '-0 returns +0');
- t.ok(is(0, ES.ToUint8Clamp(-Infinity)), '-Infinity returns +0');
- t.throws(function () { return ES.ToUint8Clamp(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
- forEach([255, 256, 0x100000, Infinity], function (number) {
- t.ok(is(255, ES.ToUint8Clamp(number)), number + ' coerces to 255');
- });
- t.equal(1, ES.ToUint8Clamp(1.49), '1.49 coerces to 1');
- t.equal(2, ES.ToUint8Clamp(1.5), '1.5 coerces to 2, because 2 is even');
- t.equal(2, ES.ToUint8Clamp(1.51), '1.51 coerces to 2');
-
- t.equal(2, ES.ToUint8Clamp(2.49), '2.49 coerces to 2');
- t.equal(2, ES.ToUint8Clamp(2.5), '2.5 coerces to 2, because 2 is even');
- t.equal(3, ES.ToUint8Clamp(2.51), '2.51 coerces to 3');
- t.end();
-});
-
-test('ToString', function (t) {
- t.throws(function () { return ES.ToString(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
- t.end();
-});
-
-test('ToObject', function (t) {
- t.throws(function () { return ES.ToObject(undefined); }, TypeError, 'undefined throws');
- t.throws(function () { return ES.ToObject(null); }, TypeError, 'null throws');
- forEach(numbers, function (number) {
- var obj = ES.ToObject(number);
- t.equal(typeof obj, 'object', 'number ' + number + ' coerces to object');
- t.equal(true, obj instanceof Number, 'object of ' + number + ' is Number object');
- t.ok(is(obj.valueOf(), number), 'object of ' + number + ' coerces to ' + number);
- });
- t.end();
-});
-
-test('RequireObjectCoercible', function (t) {
- t.equal(false, 'CheckObjectCoercible' in ES, 'CheckObjectCoercible -> RequireObjectCoercible in ES6');
- t.throws(function () { return ES.RequireObjectCoercible(undefined); }, TypeError, 'undefined throws');
- t.throws(function () { return ES.RequireObjectCoercible(null); }, TypeError, 'null throws');
- var isCoercible = function (value) {
- t.doesNotThrow(function () { return ES.RequireObjectCoercible(value); }, '"' + value + '" does not throw');
- };
- forEach(objects.concat(nonNullPrimitives), isCoercible);
- t.end();
-});
-
-test('IsCallable', function (t) {
- t.equal(true, ES.IsCallable(function () {}), 'function is callable');
- var nonCallables = [/a/g, {}, Object.prototype, NaN].concat(primitives);
- forEach(nonCallables, function (nonCallable) {
- t.equal(false, ES.IsCallable(nonCallable), nonCallable + ' is not callable');
- });
- t.end();
-});
-
-test('SameValue', function (t) {
- t.equal(true, ES.SameValue(NaN, NaN), 'NaN is SameValue as NaN');
- t.equal(false, ES.SameValue(0, -0), '+0 is not SameValue as -0');
- forEach(objects.concat(primitives), function (val) {
- t.equal(val === val, ES.SameValue(val, val), '"' + val + '" is SameValue to itself');
- });
- t.end();
-});
-
-test('SameValueZero', function (t) {
- t.equal(true, ES.SameValueZero(NaN, NaN), 'NaN is SameValueZero as NaN');
- t.equal(true, ES.SameValueZero(0, -0), '+0 is SameValueZero as -0');
- forEach(objects.concat(primitives), function (val) {
- t.equal(val === val, ES.SameValueZero(val, val), '"' + val + '" is SameValueZero to itself');
- });
- t.end();
-});
-
-test('ToPropertyKey', function (t) {
- forEach(objects.concat(primitives), function (value) {
- t.equal(ES.ToPropertyKey(value), String(value), 'ToPropertyKey(value) === String(value) for non-Symbols');
- });
- if (hasSymbols) {
- t.equal(ES.ToPropertyKey(Symbol.iterator), 'Symbol(Symbol.iterator)', 'ToPropertyKey(Symbol.iterator) === "Symbol(Symbol.iterator)"');
- }
- t.end();
-});
-
-test('ToLength', function (t) {
- t.throws(function () { return ES.ToLength(uncoercibleObject); }, TypeError, 'uncoercibleObject throws a TypeError');
- t.equal(3, ES.ToLength(coercibleObject), 'coercibleObject coerces to 3');
- t.equal(42, ES.ToLength('42.5'), '"42.5" coerces to 42');
- t.equal(7, ES.ToLength(7.3), '7.3 coerces to 7');
- forEach([-0, -1, -42, -Infinity], function (negative) {
- t.ok(is(0, ES.ToLength(negative)), negative + ' coerces to +0');
- });
- t.equal(MAX_SAFE_INTEGER, ES.ToLength(MAX_SAFE_INTEGER + 1), '2^53 coerces to 2^53 - 1');
- t.equal(MAX_SAFE_INTEGER, ES.ToLength(MAX_SAFE_INTEGER + 3), '2^53 + 2 coerces to 2^53 - 1');
- t.end();
-});
-
-test('IsArray', function (t) {
- t.equal(true, ES.IsArray([]), '[] is array');
- t.equal(false, ES.IsArray({}), '{} is not array');
- t.equal(false, ES.IsArray({ length: 1, 0: true }), 'arraylike object is not array');
- forEach(objects.concat(primitives), function (value) {
- t.equal(false, ES.IsArray(value), value + ' is not array');
- });
- t.end();
-});
-
-test('IsRegExp', function (t) {
- forEach([/a/g, new RegExp('a', 'g')], function (regex) {
- t.equal(true, ES.IsRegExp(regex), regex + ' is regex');
- });
- forEach(objects.concat(primitives), function (nonRegex) {
- t.equal(false, ES.IsRegExp(nonRegex), nonRegex + ' is not regex');
- });
- t.end();
-});
-
-test('IsPropertyKey', function (t) {
- forEach(numbers.concat(objects), function (notKey) {
- t.equal(false, ES.IsPropertyKey(notKey), notKey + ' is not property key');
- });
- t.equal(true, ES.IsPropertyKey('foo'), 'string is property key');
- if (hasSymbols) {
- t.equal(true, ES.IsPropertyKey(Symbol.iterator), 'Symbol.iterator is property key');
- }
- t.end();
-});
-
-test('IsInteger', function (t) {
- for (var i = -100; i < 100; i += 10) {
- t.equal(true, ES.IsInteger(i), i + ' is integer');
- t.equal(false, ES.IsInteger(i + 0.2), (i + 0.2) + ' is not integer');
- }
- t.equal(true, ES.IsInteger(-0), '-0 is integer');
- var notInts = objects.concat([Infinity, -Infinity, NaN, true, false, null, undefined, [], new Date()]);
- if (hasSymbols) { notInts.push(Symbol.iterator); }
- forEach(notInts, function (notInt) {
- t.equal(false, ES.IsInteger(notInt), ES.ToPropertyKey(notInt) + ' is not integer');
- });
- t.equal(false, ES.IsInteger(uncoercibleObject), 'uncoercibleObject is not integer');
- t.end();
-});
-
-test('IsExtensible', function (t) {
- forEach(objects, function (object) {
- t.equal(true, ES.IsExtensible(object), object + ' object is extensible');
- });
- forEach(primitives, function (primitive) {
- t.equal(false, ES.IsExtensible(primitive), primitive + ' is not extensible');
- });
- if (Object.preventExtensions) {
- t.equal(false, ES.IsExtensible(Object.preventExtensions({})), 'object with extensions prevented is not extensible');
- }
- t.end();
-});
-
-test('CanonicalNumericIndexString', function (t) {
- var throwsOnNonString = function (notString) {
- t.throws(function () { return ES.CanonicalNumericIndexString(notString); }, TypeError, notString + ' is not a string');
- };
- forEach(objects.concat(numbers), throwsOnNonString);
- t.ok(is(-0, ES.CanonicalNumericIndexString('-0')), '"-0" returns -0');
- for (var i = -50; i < 50; i += 10) {
- t.equal(i, ES.CanonicalNumericIndexString(String(i)), '"' + i + '" returns ' + i);
- t.equal(undefined, ES.CanonicalNumericIndexString(String(i) + 'a'), '"' + i + 'a" returns undefined');
- }
- t.end();
-});
-
-test('IsConstructor', function (t) {
- t.equal(true, ES.IsConstructor(function () {}), 'function is constructor');
- t.equal(false, ES.IsConstructor(/a/g), 'regex is not constructor');
- forEach(objects, function (object) {
- t.equal(false, ES.IsConstructor(object), object + ' object is not constructor');
- });
- t.end();
-});
-
-test('Call', function (t) {
- var receiver = {};
- var notFuncs = objects.concat(primitives).concat([/a/g, new RegExp('a', 'g')]);
- t.plan(notFuncs.length + 4);
- var throwsIfNotCallable = function (notFunc) {
- t.throws(function () { return ES.Call(notFunc, receiver); }, TypeError, notFunc + ' (' + typeof notFunc + ') is not callable');
- };
- forEach(notFuncs, throwsIfNotCallable);
- ES.Call(function (a, b) {
- t.equal(this, receiver, 'context matches expected');
- t.deepEqual([a, b], [1, 2], 'named args are correct');
- t.equal(arguments.length, 3, 'extra argument was passed');
- t.equal(arguments[2], 3, 'extra argument was correct');
- }, receiver, [1, 2, 3]);
- t.end();
-});
-
-test('SameValueNonNumber', function (t) {
- var willThrow = [
- [3, 4],
- [NaN, 4],
- [4, ''],
- ['abc', true],
- [{}, false]
- ];
- forEach(willThrow, function (nums) {
- t.throws(function () { return ES.SameValueNonNumber.apply(ES, nums); }, TypeError, 'value must be same type and non-number');
- });
-
- forEach(objects.concat(nonNumberPrimitives), function (val) {
- t.equal(val === val, ES.SameValueNonNumber(val, val), '"' + val + '" is SameValueNonNumber to itself');
- });
-
- t.end();
-});
diff --git a/node_modules/es-abstract/test/index.js b/node_modules/es-abstract/test/index.js
deleted file mode 100644
index 0fd7015..0000000
--- a/node_modules/es-abstract/test/index.js
+++ /dev/null
@@ -1,23 +0,0 @@
-'use strict';
-
-var ES = require('../');
-var test = require('tape');
-
-var ESkeys = Object.keys(ES).sort();
-var ES6keys = Object.keys(ES.ES6).sort();
-
-test('exposed properties', function (t) {
- t.deepEqual(ESkeys, ES6keys.concat(['ES7', 'ES6', 'ES5']).sort(), 'main ES object keys match ES6 keys');
- t.end();
-});
-
-test('methods match', function (t) {
- ES6keys.forEach(function (key) {
- t.equal(ES.ES6[key], ES[key], 'method ' + key + ' on main ES object is ES6 method');
- });
- t.end();
-});
-
-require('./es5');
-require('./es6');
-require('./es7');
diff --git a/node_modules/es-to-primitive/.eslintrc b/node_modules/es-to-primitive/.eslintrc
deleted file mode 100644
index 89da458..0000000
--- a/node_modules/es-to-primitive/.eslintrc
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "root": true,
-
- "extends": "@ljharb",
-
- "rules": {
- "complexity": [2, 13],
- "id-length": [2, { "min": 1, "max": 24, "properties": "never" }],
- "max-statements": [2, 20],
- "new-cap": [2, { "capIsNewExceptions": ["GetMethod"] }],
- "no-extra-parens": [2, "functions"]
- }
-}
diff --git a/node_modules/es-to-primitive/.jscs.json b/node_modules/es-to-primitive/.jscs.json
deleted file mode 100644
index e4c42d1..0000000
--- a/node_modules/es-to-primitive/.jscs.json
+++ /dev/null
@@ -1,155 +0,0 @@
-{
- "es3": true,
-
- "additionalRules": [],
-
- "requireSemicolons": true,
-
- "disallowMultipleSpaces": true,
-
- "disallowIdentifierNames": [],
-
- "requireCurlyBraces": {
- "allExcept": [],
- "keywords": ["if", "else", "for", "while", "do", "try", "catch"]
- },
-
- "requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"],
-
- "disallowSpaceAfterKeywords": [],
-
- "disallowSpaceBeforeComma": true,
- "disallowSpaceAfterComma": false,
- "disallowSpaceBeforeSemicolon": true,
-
- "disallowNodeTypes": [
- "DebuggerStatement",
- "ForInStatement",
- "LabeledStatement",
- "SwitchCase",
- "SwitchStatement",
- "WithStatement"
- ],
-
- "requireObjectKeysOnNewLine": { "allExcept": ["sameLine"] },
-
- "requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true },
- "requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true },
- "disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true },
- "requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true },
- "disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true },
-
- "requireSpaceBetweenArguments": true,
-
- "disallowSpacesInsideParentheses": true,
-
- "disallowSpacesInsideArrayBrackets": true,
-
- "disallowQuotedKeysInObjects": "allButReserved",
-
- "disallowSpaceAfterObjectKeys": true,
-
- "requireCommaBeforeLineBreak": true,
-
- "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
- "requireSpaceAfterPrefixUnaryOperators": [],
-
- "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
- "requireSpaceBeforePostfixUnaryOperators": [],
-
- "disallowSpaceBeforeBinaryOperators": [],
- "requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
-
- "requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
- "disallowSpaceAfterBinaryOperators": [],
-
- "disallowImplicitTypeConversion": ["binary", "string"],
-
- "disallowKeywords": ["with", "eval"],
-
- "requireKeywordsOnNewLine": [],
- "disallowKeywordsOnNewLine": ["else"],
-
- "requireLineFeedAtFileEnd": true,
-
- "disallowTrailingWhitespace": true,
-
- "disallowTrailingComma": true,
-
- "excludeFiles": ["node_modules/**", "vendor/**"],
-
- "disallowMultipleLineStrings": true,
-
- "requireDotNotation": { "allExcept": ["keywords"] },
-
- "requireParenthesesAroundIIFE": true,
-
- "validateLineBreaks": "LF",
-
- "validateQuoteMarks": {
- "escape": true,
- "mark": "'"
- },
-
- "disallowOperatorBeforeLineBreak": [],
-
- "requireSpaceBeforeKeywords": [
- "do",
- "for",
- "if",
- "else",
- "switch",
- "case",
- "try",
- "catch",
- "finally",
- "while",
- "with",
- "return"
- ],
-
- "validateAlignedFunctionParameters": {
- "lineBreakAfterOpeningBraces": true,
- "lineBreakBeforeClosingBraces": true
- },
-
- "requirePaddingNewLinesBeforeExport": true,
-
- "validateNewlineAfterArrayElements": {
- "maximum": 12
- },
-
- "requirePaddingNewLinesAfterUseStrict": true,
-
- "disallowArrowFunctions": true,
-
- "disallowMultiLineTernary": true,
-
- "validateOrderInObjectKeys": false,
-
- "disallowIdenticalDestructuringNames": true,
-
- "disallowNestedTernaries": { "maxLevel": 1 },
-
- "requireSpaceAfterComma": { "allExcept": ["trailing"] },
- "requireAlignedMultilineParams": false,
-
- "requireSpacesInGenerator": {
- "afterStar": true
- },
-
- "disallowSpacesInGenerator": {
- "beforeStar": true
- },
-
- "disallowVar": false,
-
- "requireArrayDestructuring": false,
-
- "requireEnhancedObjectLiterals": false,
-
- "requireObjectDestructuring": false,
-
- "requireEarlyReturn": false
-}
-
diff --git a/node_modules/es-to-primitive/.npmignore b/node_modules/es-to-primitive/.npmignore
deleted file mode 100644
index 59d842b..0000000
--- a/node_modules/es-to-primitive/.npmignore
+++ /dev/null
@@ -1,28 +0,0 @@
-# Logs
-logs
-*.log
-
-# Runtime data
-pids
-*.pid
-*.seed
-
-# Directory for instrumented libs generated by jscoverage/JSCover
-lib-cov
-
-# Coverage directory used by tools like istanbul
-coverage
-
-# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
-.grunt
-
-# Compiled binary addons (http://nodejs.org/api/addons.html)
-build/Release
-
-# Dependency directory
-# Commenting this out is preferred by some people, see
-# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git-
-node_modules
-
-# Users Environment Variables
-.lock-wscript
diff --git a/node_modules/es-to-primitive/.travis.yml b/node_modules/es-to-primitive/.travis.yml
deleted file mode 100644
index 53df15e..0000000
--- a/node_modules/es-to-primitive/.travis.yml
+++ /dev/null
@@ -1,70 +0,0 @@
-language: node_js
-node_js:
- - "5.3"
- - "5.2"
- - "5.1"
- - "5.0"
- - "4.2"
- - "4.1"
- - "4.0"
- - "iojs-v3.3"
- - "iojs-v3.2"
- - "iojs-v3.1"
- - "iojs-v3.0"
- - "iojs-v2.5"
- - "iojs-v2.4"
- - "iojs-v2.3"
- - "iojs-v2.2"
- - "iojs-v2.1"
- - "iojs-v2.0"
- - "iojs-v1.8"
- - "iojs-v1.7"
- - "iojs-v1.6"
- - "iojs-v1.5"
- - "iojs-v1.4"
- - "iojs-v1.3"
- - "iojs-v1.2"
- - "iojs-v1.1"
- - "iojs-v1.0"
- - "0.12"
- - "0.11"
- - "0.10"
- - "0.9"
- - "0.8"
- - "0.6"
- - "0.4"
-before_install:
- - 'if [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then case "$(npm --version)" in 1.*) npm install -g npm@1.4.28 ;; 2.*) npm install -g npm@2 ;; esac ; fi'
- - 'if [ "${TRAVIS_NODE_VERSION}" != "0.6" ] && [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then npm install -g npm; fi'
-script:
- - 'if [ "${TRAVIS_NODE_VERSION}" != "4.2" ]; then npm run tests-only ; else npm test ; fi'
-sudo: false
-matrix:
- fast_finish: true
- allow_failures:
- - node_js: "5.2"
- - node_js: "5.1"
- - node_js: "5.0"
- - node_js: "4.1"
- - node_js: "4.0"
- - node_js: "iojs-v3.2"
- - node_js: "iojs-v3.1"
- - node_js: "iojs-v3.0"
- - node_js: "iojs-v2.4"
- - node_js: "iojs-v2.3"
- - node_js: "iojs-v2.2"
- - node_js: "iojs-v2.1"
- - node_js: "iojs-v2.0"
- - node_js: "iojs-v1.7"
- - node_js: "iojs-v1.6"
- - node_js: "iojs-v1.5"
- - node_js: "iojs-v1.4"
- - node_js: "iojs-v1.3"
- - node_js: "iojs-v1.2"
- - node_js: "iojs-v1.1"
- - node_js: "iojs-v1.0"
- - node_js: "0.11"
- - node_js: "0.9"
- - node_js: "0.8"
- - node_js: "0.6"
- - node_js: "0.4"
diff --git a/node_modules/es-to-primitive/CHANGELOG.md b/node_modules/es-to-primitive/CHANGELOG.md
deleted file mode 100644
index 662342a..0000000
--- a/node_modules/es-to-primitive/CHANGELOG.md
+++ /dev/null
@@ -1,29 +0,0 @@
-1.1.1 / 2016-01-03
-=================
- * [Fix: ES5] fix coercion logic: ES5’s ToPrimitive does not coerce any primitive value, regardless of hint (#2)
-
-1.1.0 / 2015-12-27
-=================
- * [New] add `Symbol.toPrimitive` support
- * [Deps] update `is-callable`, `is-date-object`
- * [Dev Deps] update `eslint`, `tape`, `semver`, `jscs`, `covert`, `nsp`, `@ljharb/eslint-config`
- * [Dev Deps] remove unused deps
- * [Tests] up to `node` `v5.3`
- * [Tests] fix npm upgrades on older node versions
- * [Tests] fix testling
- * [Docs] Switch from vb.teelaun.ch to versionbadg.es for the npm version badge SVG
-
-1.0.1 / 2016-01-03
-=================
- * [Fix: ES5] fix coercion logic: ES5’s ToPrimitive does not coerce any primitive value, regardless of hint (#2)
- * [Deps] update `is-callable`, `is-date-object`
- * [Dev Deps] update `eslint`, `tape`, `semver`, `jscs`, `covert`, `nsp`, `@ljharb/eslint-config`
- * [Dev Deps] remove unused deps
- * [Tests] up to `node` `v5.3`
- * [Tests] fix npm upgrades on older node versions
- * [Tests] fix testling
- * [Docs] Switch from vb.teelaun.ch to versionbadg.es for the npm version badge SVG
-
-1.0.0 / 2015-03-19
-=================
- * Initial release.
diff --git a/node_modules/es-to-primitive/LICENSE b/node_modules/es-to-primitive/LICENSE
deleted file mode 100644
index b43df44..0000000
--- a/node_modules/es-to-primitive/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2015 Jordan Harband
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
diff --git a/node_modules/es-to-primitive/Makefile b/node_modules/es-to-primitive/Makefile
deleted file mode 100644
index b9e4fe1..0000000
--- a/node_modules/es-to-primitive/Makefile
+++ /dev/null
@@ -1,61 +0,0 @@
-# Since we rely on paths relative to the makefile location, abort if make isn't being run from there.
-$(if $(findstring /,$(MAKEFILE_LIST)),$(error Please only invoke this makefile from the directory it resides in))
-
- # The files that need updating when incrementing the version number.
-VERSIONED_FILES := *.js *.json README*
-
-
-# Add the local npm packages' bin folder to the PATH, so that `make` can find them, when invoked directly.
-# Note that rather than using `$(npm bin)` the 'node_modules/.bin' path component is hard-coded, so that invocation works even from an environment
-# where npm is (temporarily) unavailable due to having deactivated an nvm instance loaded into the calling shell in order to avoid interference with tests.
-export PATH := $(shell printf '%s' "$$PWD/node_modules/.bin:$$PATH")
-UTILS := semver
-# Make sure that all required utilities can be located.
-UTIL_CHECK := $(or $(shell PATH="$(PATH)" which $(UTILS) >/dev/null && echo 'ok'),$(error Did you forget to run `npm install` after cloning the repo? At least one of the required supporting utilities not found: $(UTILS)))
-
-# Default target (by virtue of being the first non '.'-prefixed in the file).
-.PHONY: _no-target-specified
-_no-target-specified:
- $(error Please specify the target to make - `make list` shows targets. Alternatively, use `npm test` to run the default tests; `npm run` shows all tests)
-
-# Lists all targets defined in this makefile.
-.PHONY: list
-list:
- @$(MAKE) -pRrn : -f $(MAKEFILE_LIST) 2>/dev/null | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | command grep -v -e '^[^[:alnum:]]' -e '^$@$$command ' | sort
-
-# All-tests target: invokes the specified test suites for ALL shells defined in $(SHELLS).
-.PHONY: test
-test:
- @npm test
-
-.PHONY: _ensure-tag
-_ensure-tag:
-ifndef TAG
- $(error Please invoke with `make TAG= release`, where is either an increment specifier (patch, minor, major, prepatch, preminor, premajor, prerelease), or an explicit major.minor.patch version number)
-endif
-
-CHANGELOG_ERROR = $(error No CHANGELOG specified)
-.PHONY: _ensure-changelog
-_ensure-changelog:
- @ (git status -sb --porcelain | command grep -E '^( M|[MA] ) CHANGELOG.md' > /dev/null) || (echo no CHANGELOG.md specified && exit 2)
-
-# Ensures that the git workspace is clean.
-.PHONY: _ensure-clean
-_ensure-clean:
- @[ -z "$$((git status --porcelain --untracked-files=no || echo err) | command grep -v 'CHANGELOG.md')" ] || { echo "Workspace is not clean; please commit changes first." >&2; exit 2; }
-
-# Makes a release; invoke with `make TAG= release`.
-.PHONY: release
-release: _ensure-tag _ensure-changelog _ensure-clean
- @old_ver=`git describe --abbrev=0 --tags --match 'v[0-9]*.[0-9]*.[0-9]*'` || { echo "Failed to determine current version." >&2; exit 1; }; old_ver=$${old_ver#v}; \
- new_ver=`echo "$(TAG)" | sed 's/^v//'`; new_ver=$${new_ver:-patch}; \
- if printf "$$new_ver" | command grep -q '^[0-9]'; then \
- semver "$$new_ver" >/dev/null || { echo 'Invalid version number specified: $(TAG) - must be major.minor.patch' >&2; exit 2; }; \
- semver -r "> $$old_ver" "$$new_ver" >/dev/null || { echo 'Invalid version number specified: $(TAG) - must be HIGHER than current one.' >&2; exit 2; } \
- else \
- new_ver=`semver -i "$$new_ver" "$$old_ver"` || { echo 'Invalid version-increment specifier: $(TAG)' >&2; exit 2; } \
- fi; \
- printf "=== Bumping version **$$old_ver** to **$$new_ver** before committing and tagging:\n=== TYPE 'proceed' TO PROCEED, anything else to abort: " && read response && [ "$$response" = 'proceed' ] || { echo 'Aborted.' >&2; exit 2; }; \
- replace "$$old_ver" "$$new_ver" -- $(VERSIONED_FILES) && \
- git commit -m "v$$new_ver" $(VERSIONED_FILES) CHANGELOG.md && \
- git tag -a -m "v$$new_ver" "v$$new_ver"
diff --git a/node_modules/es-to-primitive/README.md b/node_modules/es-to-primitive/README.md
deleted file mode 100644
index 357ff66..0000000
--- a/node_modules/es-to-primitive/README.md
+++ /dev/null
@@ -1,53 +0,0 @@
-# es-to-primitive [![Version Badge][npm-version-svg]][package-url]
-
-[![Build Status][travis-svg]][travis-url]
-[![dependency status][deps-svg]][deps-url]
-[![dev dependency status][dev-deps-svg]][dev-deps-url]
-[![License][license-image]][license-url]
-[![Downloads][downloads-image]][downloads-url]
-
-[![npm badge][npm-badge-png]][package-url]
-
-[![browser support][testling-svg]][testling-url]
-
-ECMAScript “ToPrimitive” algorithm. Provides ES5 and ES6 versions.
-When different versions of the spec conflict, the default export will be the latest version of the abstract operation.
-Alternative versions will also be available under an `es5`/`es6`/`es7` exported property if you require a specific version.
-
-## Example
-
-```js
-var toPrimitive = require('es-to-primitive');
-var assert = require('assert');
-
-assert(toPrimitive(function () {}) === String(function () {}));
-
-var date = new Date();
-assert(toPrimitive(date) === String(date));
-
-assert(toPrimitive({ valueOf: function () { return 3; } }) === 3);
-
-assert(toPrimitive(['a', 'b', 3]) === String(['a', 'b', 3]));
-
-var sym = Symbol();
-assert(toPrimitive(Object(sym)) === sym);
-```
-
-## Tests
-Simply clone the repo, `npm install`, and run `npm test`
-
-[package-url]: https://npmjs.org/package/es-to-primitive
-[npm-version-svg]: http://versionbadg.es/ljharb/es-to-primitive.svg
-[travis-svg]: https://travis-ci.org/ljharb/es-to-primitive.svg
-[travis-url]: https://travis-ci.org/ljharb/es-to-primitive
-[deps-svg]: https://david-dm.org/ljharb/es-to-primitive.svg
-[deps-url]: https://david-dm.org/ljharb/es-to-primitive
-[dev-deps-svg]: https://david-dm.org/ljharb/es-to-primitive/dev-status.svg
-[dev-deps-url]: https://david-dm.org/ljharb/es-to-primitive#info=devDependencies
-[testling-svg]: https://ci.testling.com/ljharb/es-to-primitive.png
-[testling-url]: https://ci.testling.com/ljharb/es-to-primitive
-[npm-badge-png]: https://nodei.co/npm/es-to-primitive.png?downloads=true&stars=true
-[license-image]: http://img.shields.io/npm/l/es-to-primitive.svg
-[license-url]: LICENSE
-[downloads-image]: http://img.shields.io/npm/dm/es-to-primitive.svg
-[downloads-url]: http://npm-stat.com/charts.html?package=es-to-primitive
diff --git a/node_modules/es-to-primitive/es5.js b/node_modules/es-to-primitive/es5.js
deleted file mode 100644
index d216480..0000000
--- a/node_modules/es-to-primitive/es5.js
+++ /dev/null
@@ -1,37 +0,0 @@
-'use strict';
-
-var toStr = Object.prototype.toString;
-
-var isPrimitive = require('./helpers/isPrimitive');
-
-var isCallable = require('is-callable');
-
-// https://es5.github.io/#x8.12
-var ES5internalSlots = {
- '[[DefaultValue]]': function (O, hint) {
- var actualHint = hint || (toStr.call(O) === '[object Date]' ? String : Number);
-
- if (actualHint === String || actualHint === Number) {
- var methods = actualHint === String ? ['toString', 'valueOf'] : ['valueOf', 'toString'];
- var value, i;
- for (i = 0; i < methods.length; ++i) {
- if (isCallable(O[methods[i]])) {
- value = O[methods[i]]();
- if (isPrimitive(value)) {
- return value;
- }
- }
- }
- throw new TypeError('No default value');
- }
- throw new TypeError('invalid [[DefaultValue]] hint supplied');
- }
-};
-
-// https://es5.github.io/#x9
-module.exports = function ToPrimitive(input, PreferredType) {
- if (isPrimitive(input)) {
- return input;
- }
- return ES5internalSlots['[[DefaultValue]]'](input, PreferredType);
-};
diff --git a/node_modules/es-to-primitive/es6.js b/node_modules/es-to-primitive/es6.js
deleted file mode 100644
index 27b3285..0000000
--- a/node_modules/es-to-primitive/es6.js
+++ /dev/null
@@ -1,74 +0,0 @@
-'use strict';
-
-var hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';
-
-var isPrimitive = require('./helpers/isPrimitive');
-var isCallable = require('is-callable');
-var isDate = require('is-date-object');
-var isSymbol = require('is-symbol');
-
-var ordinaryToPrimitive = function OrdinaryToPrimitive(O, hint) {
- if (typeof O === 'undefined' || O === null) {
- throw new TypeError('Cannot call method on ' + O);
- }
- if (typeof hint !== 'string' || (hint !== 'number' && hint !== 'string')) {
- throw new TypeError('hint must be "string" or "number"');
- }
- var methodNames = hint === 'string' ? ['toString', 'valueOf'] : ['valueOf', 'toString'];
- var method, result, i;
- for (i = 0; i < methodNames.length; ++i) {
- method = O[methodNames[i]];
- if (isCallable(method)) {
- result = method.call(O);
- if (isPrimitive(result)) {
- return result;
- }
- }
- }
- throw new TypeError('No default value');
-};
-
-var GetMethod = function GetMethod(O, P) {
- var func = O[P];
- if (func !== null && typeof func !== 'undefined') {
- if (!isCallable(func)) {
- throw new TypeError(func + ' returned for property ' + P + ' of object ' + O + ' is not a function');
- }
- return func;
- }
-};
-
-// http://www.ecma-international.org/ecma-262/6.0/#sec-toprimitive
-module.exports = function ToPrimitive(input, PreferredType) {
- if (isPrimitive(input)) {
- return input;
- }
- var hint = 'default';
- if (arguments.length > 1) {
- if (PreferredType === String) {
- hint = 'string';
- } else if (PreferredType === Number) {
- hint = 'number';
- }
- }
-
- var exoticToPrim;
- if (hasSymbols) {
- if (Symbol.toPrimitive) {
- exoticToPrim = GetMethod(input, Symbol.toPrimitive);
- } else if (isSymbol(input)) {
- exoticToPrim = Symbol.prototype.valueOf;
- }
- }
- if (typeof exoticToPrim !== 'undefined') {
- var result = exoticToPrim.call(input, hint);
- if (isPrimitive(result)) {
- return result;
- }
- throw new TypeError('unable to convert exotic object to primitive');
- }
- if (hint === 'default' && (isDate(input) || isSymbol(input))) {
- hint = 'string';
- }
- return ordinaryToPrimitive(input, hint === 'default' ? 'number' : hint);
-};
diff --git a/node_modules/es-to-primitive/helpers/isPrimitive.js b/node_modules/es-to-primitive/helpers/isPrimitive.js
deleted file mode 100644
index 3669156..0000000
--- a/node_modules/es-to-primitive/helpers/isPrimitive.js
+++ /dev/null
@@ -1,3 +0,0 @@
-module.exports = function isPrimitive(value) {
- return value === null || (typeof value !== 'function' && typeof value !== 'object');
-};
diff --git a/node_modules/es-to-primitive/index.js b/node_modules/es-to-primitive/index.js
deleted file mode 100644
index 0035657..0000000
--- a/node_modules/es-to-primitive/index.js
+++ /dev/null
@@ -1,14 +0,0 @@
-'use strict';
-
-var ES5 = require('./es5');
-var ES6 = require('./es6');
-
-if (Object.defineProperty) {
- Object.defineProperty(ES6, 'ES5', { enumerable: false, value: ES5 });
- Object.defineProperty(ES6, 'ES6', { enumerable: false, value: ES6 });
-} else {
- ES6.ES5 = ES5;
- ES6.ES6 = ES6;
-}
-
-module.exports = ES6;
diff --git a/node_modules/es-to-primitive/package.json b/node_modules/es-to-primitive/package.json
deleted file mode 100644
index 6c2345a..0000000
--- a/node_modules/es-to-primitive/package.json
+++ /dev/null
@@ -1,124 +0,0 @@
-{
- "_args": [
- [
- "es-to-primitive@^1.1.0",
- "/home/vincent/Bureau/RIA/node_modules/es-abstract"
- ]
- ],
- "_from": "es-to-primitive@>=1.1.0 <2.0.0",
- "_id": "es-to-primitive@1.1.1",
- "_inCache": true,
- "_location": "/es-to-primitive",
- "_nodeVersion": "5.3.0",
- "_npmUser": {
- "email": "ljharb@gmail.com",
- "name": "ljharb"
- },
- "_npmVersion": "3.3.12",
- "_phantomChildren": {},
- "_requested": {
- "name": "es-to-primitive",
- "raw": "es-to-primitive@^1.1.0",
- "rawSpec": "^1.1.0",
- "scope": null,
- "spec": ">=1.1.0 <2.0.0",
- "type": "range"
- },
- "_requiredBy": [
- "/es-abstract"
- ],
- "_resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz",
- "_shasum": "45355248a88979034b6792e19bb81f2b7975dd0d",
- "_shrinkwrap": null,
- "_spec": "es-to-primitive@^1.1.0",
- "_where": "/home/vincent/Bureau/RIA/node_modules/es-abstract",
- "author": {
- "name": "Jordan Harband"
- },
- "bugs": {
- "url": "https://github.com/ljharb/es-to-primitive/issues"
- },
- "dependencies": {
- "is-callable": "^1.1.1",
- "is-date-object": "^1.0.1",
- "is-symbol": "^1.0.1"
- },
- "description": "ECMAScript “ToPrimitive” algorithm. Provides ES5 and ES6 versions.",
- "devDependencies": {
- "@ljharb/eslint-config": "^1.6.1",
- "covert": "^1.1.0",
- "eslint": "^1.10.3",
- "foreach": "^2.0.5",
- "jscs": "^2.7.0",
- "nsp": "^2.2.0",
- "object-is": "^1.0.1",
- "replace": "^0.3.0",
- "semver": "^5.1.0",
- "tape": "^4.4.0"
- },
- "directories": {},
- "dist": {
- "shasum": "45355248a88979034b6792e19bb81f2b7975dd0d",
- "tarball": "http://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "gitHead": "56cd0400062c37e3427c59ddf7852972cf14e6fe",
- "homepage": "https://github.com/ljharb/es-to-primitive#readme",
- "installable": true,
- "keywords": [
- "abstract",
- "coerce",
- "ecmascript",
- "es5",
- "es6",
- "object",
- "primitive",
- "toPrimitive",
- "type"
- ],
- "license": "MIT",
- "main": "index.js",
- "maintainers": [
- {
- "name": "ljharb",
- "email": "ljharb@gmail.com"
- }
- ],
- "name": "es-to-primitive",
- "optionalDependencies": {},
- "repository": {
- "type": "git",
- "url": "git://github.com/ljharb/es-to-primitive.git"
- },
- "scripts": {
- "coverage": "covert test/*.js",
- "coverage-quiet": "covert test/*.js --quiet",
- "eslint": "eslint test/*.js *.js",
- "jscs": "jscs test/*.js *.js",
- "lint": "npm run jscs && npm run eslint",
- "security": "nsp check",
- "test": "npm run lint && npm run tests-only && npm run security",
- "tests-only": "node --es-staging test"
- },
- "testling": {
- "browsers": [
- "android-browser/4.2",
- "chrome/20.0..latest",
- "chrome/4.0..10.0",
- "chrome/canary",
- "firefox/15.0..latest",
- "firefox/3.0..6.0",
- "firefox/nightly",
- "iexplore/6.0..latest",
- "ipad/6.0..latest",
- "iphone/6.0..latest",
- "opera/10.0..latest",
- "opera/next",
- "safari/4.0..latest"
- ],
- "files": "test"
- },
- "version": "1.1.1"
-}
diff --git a/node_modules/es-to-primitive/test/es5.js b/node_modules/es-to-primitive/test/es5.js
deleted file mode 100644
index 1d4902a..0000000
--- a/node_modules/es-to-primitive/test/es5.js
+++ /dev/null
@@ -1,80 +0,0 @@
-'use strict';
-
-var test = require('tape');
-var toPrimitive = require('../es5');
-var is = require('object-is');
-var forEach = require('foreach');
-var debug = require('util').inspect;
-
-var primitives = [null, undefined, true, false, 0, -0, 42, NaN, Infinity, -Infinity, '', 'abc'];
-
-test('primitives', function (t) {
- forEach(primitives, function (i) {
- t.ok(is(toPrimitive(i), i), 'toPrimitive(' + debug(i) + ') returns the same value');
- t.ok(is(toPrimitive(i, String), i), 'toPrimitive(' + debug(i) + ', String) returns the same value');
- t.ok(is(toPrimitive(i, Number), i), 'toPrimitive(' + debug(i) + ', Number) returns the same value');
- });
- t.end();
-});
-
-test('Arrays', function (t) {
- var arrays = [[], ['a', 'b'], [1, 2]];
- forEach(arrays, function (arr) {
- t.ok(is(toPrimitive(arr), arr.toString()), 'toPrimitive(' + debug(arr) + ') returns toString of the array');
- t.equal(toPrimitive(arr, String), arr.toString(), 'toPrimitive(' + debug(arr) + ') returns toString of the array');
- t.ok(is(toPrimitive(arr, Number), arr.toString()), 'toPrimitive(' + debug(arr) + ') returns toString of the array');
- });
- t.end();
-});
-
-test('Dates', function (t) {
- var dates = [new Date(), new Date(0), new Date(NaN)];
- forEach(dates, function (date) {
- t.equal(toPrimitive(date), date.toString(), 'toPrimitive(' + debug(date) + ') returns toString of the date');
- t.equal(toPrimitive(date, String), date.toString(), 'toPrimitive(' + debug(date) + ') returns toString of the date');
- t.ok(is(toPrimitive(date, Number), date.valueOf()), 'toPrimitive(' + debug(date) + ') returns valueOf of the date');
- });
- t.end();
-});
-
-var coercibleObject = { valueOf: function () { return 3; }, toString: function () { return 42; } };
-var valueOfOnlyObject = { valueOf: function () { return 4; }, toString: function () { return {}; } };
-var toStringOnlyObject = { valueOf: function () { return {}; }, toString: function () { return 7; } };
-var coercibleFnObject = { valueOf: function () { return function valueOfFn() {}; }, toString: function () { return 42; } };
-var uncoercibleObject = { valueOf: function () { return {}; }, toString: function () { return {}; } };
-var uncoercibleFnObject = { valueOf: function () { return function valueOfFn() {}; }, toString: function () { return function toStrFn() {}; } };
-
-test('Objects', function (t) {
- t.equal(toPrimitive(coercibleObject), coercibleObject.valueOf(), 'coercibleObject with no hint coerces to valueOf');
- t.equal(toPrimitive(coercibleObject, String), coercibleObject.toString(), 'coercibleObject with hint String coerces to toString');
- t.equal(toPrimitive(coercibleObject, Number), coercibleObject.valueOf(), 'coercibleObject with hint Number coerces to valueOf');
-
- t.equal(toPrimitive(coercibleFnObject), coercibleFnObject.toString(), 'coercibleFnObject coerces to toString');
- t.equal(toPrimitive(coercibleFnObject, String), coercibleFnObject.toString(), 'coercibleFnObject with hint String coerces to toString');
- t.equal(toPrimitive(coercibleFnObject, Number), coercibleFnObject.toString(), 'coercibleFnObject with hint Number coerces to toString');
-
- t.ok(is(toPrimitive({}), '[object Object]'), '{} with no hint coerces to Object#toString');
- t.equal(toPrimitive({}, String), '[object Object]', '{} with hint String coerces to Object#toString');
- t.ok(is(toPrimitive({}, Number), '[object Object]'), '{} with hint Number coerces to Object#toString');
-
- t.equal(toPrimitive(toStringOnlyObject), toStringOnlyObject.toString(), 'toStringOnlyObject returns toString');
- t.equal(toPrimitive(toStringOnlyObject, String), toStringOnlyObject.toString(), 'toStringOnlyObject with hint String returns toString');
- t.equal(toPrimitive(toStringOnlyObject, Number), toStringOnlyObject.toString(), 'toStringOnlyObject with hint Number returns toString');
-
- t.equal(toPrimitive(valueOfOnlyObject), valueOfOnlyObject.valueOf(), 'valueOfOnlyObject returns valueOf');
- t.equal(toPrimitive(valueOfOnlyObject, String), valueOfOnlyObject.valueOf(), 'valueOfOnlyObject with hint String returns valueOf');
- t.equal(toPrimitive(valueOfOnlyObject, Number), valueOfOnlyObject.valueOf(), 'valueOfOnlyObject with hint Number returns valueOf');
-
- t.test('exceptions', function (st) {
- st['throws'](toPrimitive.bind(null, uncoercibleObject), TypeError, 'uncoercibleObject throws a TypeError');
- st['throws'](toPrimitive.bind(null, uncoercibleObject, String), TypeError, 'uncoercibleObject with hint String throws a TypeError');
- st['throws'](toPrimitive.bind(null, uncoercibleObject, Number), TypeError, 'uncoercibleObject with hint Number throws a TypeError');
-
- st['throws'](toPrimitive.bind(null, uncoercibleFnObject), TypeError, 'uncoercibleFnObject throws a TypeError');
- st['throws'](toPrimitive.bind(null, uncoercibleFnObject, String), TypeError, 'uncoercibleFnObject with hint String throws a TypeError');
- st['throws'](toPrimitive.bind(null, uncoercibleFnObject, Number), TypeError, 'uncoercibleFnObject with hint Number throws a TypeError');
- st.end();
- });
-
- t.end();
-});
diff --git a/node_modules/es-to-primitive/test/es6.js b/node_modules/es-to-primitive/test/es6.js
deleted file mode 100644
index 1ac988a..0000000
--- a/node_modules/es-to-primitive/test/es6.js
+++ /dev/null
@@ -1,131 +0,0 @@
-'use strict';
-
-var test = require('tape');
-var toPrimitive = require('../es6');
-var is = require('object-is');
-var forEach = require('foreach');
-var debug = require('util').inspect;
-
-var hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';
-var hasSymbolToPrimitive = hasSymbols && typeof Symbol.toPrimitive === 'symbol';
-
-var primitives = [null, undefined, true, false, 0, -0, 42, NaN, Infinity, -Infinity, '', 'abc'];
-
-test('primitives', function (t) {
- forEach(primitives, function (i) {
- t.ok(is(toPrimitive(i), i), 'toPrimitive(' + debug(i) + ') returns the same value');
- t.ok(is(toPrimitive(i, String), i), 'toPrimitive(' + debug(i) + ', String) returns the same value');
- t.ok(is(toPrimitive(i, Number), i), 'toPrimitive(' + debug(i) + ', Number) returns the same value');
- });
- t.end();
-});
-
-test('Symbols', { skip: !hasSymbols }, function (t) {
- var symbols = [Symbol(), Symbol.iterator, Symbol.for('foo')];
- forEach(symbols, function (sym) {
- t.equal(toPrimitive(sym), sym, 'toPrimitive(' + debug(sym) + ') returns the same value');
- t.equal(toPrimitive(sym, String), sym, 'toPrimitive(' + debug(sym) + ', String) returns the same value');
- t.equal(toPrimitive(sym, Number), sym, 'toPrimitive(' + debug(sym) + ', Number) returns the same value');
- });
-
- var primitiveSym = Symbol('primitiveSym');
- var objectSym = Object(primitiveSym);
- t.equal(toPrimitive(objectSym), primitiveSym, 'toPrimitive(' + debug(objectSym) + ') returns ' + debug(primitiveSym));
- t.equal(toPrimitive(objectSym, String), primitiveSym, 'toPrimitive(' + debug(objectSym) + ', String) returns ' + debug(primitiveSym));
- t.equal(toPrimitive(objectSym, Number), primitiveSym, 'toPrimitive(' + debug(objectSym) + ', Number) returns ' + debug(primitiveSym));
- t.end();
-});
-
-test('Arrays', function (t) {
- var arrays = [[], ['a', 'b'], [1, 2]];
- forEach(arrays, function (arr) {
- t.equal(toPrimitive(arr), String(arr), 'toPrimitive(' + debug(arr) + ') returns the string version of the array');
- t.equal(toPrimitive(arr, String), String(arr), 'toPrimitive(' + debug(arr) + ') returns the string version of the array');
- t.equal(toPrimitive(arr, Number), String(arr), 'toPrimitive(' + debug(arr) + ') returns the string version of the array');
- });
- t.end();
-});
-
-test('Dates', function (t) {
- var dates = [new Date(), new Date(0), new Date(NaN)];
- forEach(dates, function (date) {
- t.equal(toPrimitive(date), String(date), 'toPrimitive(' + debug(date) + ') returns the string version of the date');
- t.equal(toPrimitive(date, String), String(date), 'toPrimitive(' + debug(date) + ') returns the string version of the date');
- t.ok(is(toPrimitive(date, Number), Number(date)), 'toPrimitive(' + debug(date) + ') returns the number version of the date');
- });
- t.end();
-});
-
-var coercibleObject = { valueOf: function () { return 3; }, toString: function () { return 42; } };
-var valueOfOnlyObject = { valueOf: function () { return 4; }, toString: function () { return {}; } };
-var toStringOnlyObject = { valueOf: function () { return {}; }, toString: function () { return 7; } };
-var coercibleFnObject = { valueOf: function () { return function valueOfFn() {}; }, toString: function () { return 42; } };
-var uncoercibleObject = { valueOf: function () { return {}; }, toString: function () { return {}; } };
-var uncoercibleFnObject = { valueOf: function () { return function valueOfFn() {}; }, toString: function () { return function toStrFn() {}; } };
-
-test('Objects', function (t) {
- t.equal(toPrimitive(coercibleObject), coercibleObject.valueOf(), 'coercibleObject with no hint coerces to valueOf');
- t.equal(toPrimitive(coercibleObject, Number), coercibleObject.valueOf(), 'coercibleObject with hint Number coerces to valueOf');
- t.equal(toPrimitive(coercibleObject, String), coercibleObject.toString(), 'coercibleObject with hint String coerces to non-stringified toString');
-
- t.equal(toPrimitive(coercibleFnObject), coercibleFnObject.toString(), 'coercibleFnObject coerces to non-stringified toString');
- t.equal(toPrimitive(coercibleFnObject, Number), coercibleFnObject.toString(), 'coercibleFnObject with hint Number coerces to non-stringified toString');
- t.equal(toPrimitive(coercibleFnObject, String), coercibleFnObject.toString(), 'coercibleFnObject with hint String coerces to non-stringified toString');
-
- t.equal(toPrimitive({}), '[object Object]', '{} with no hint coerces to Object#toString');
- t.equal(toPrimitive({}, Number), '[object Object]', '{} with hint Number coerces to Object#toString');
- t.equal(toPrimitive({}, String), '[object Object]', '{} with hint String coerces to Object#toString');
-
- t.equal(toPrimitive(toStringOnlyObject), toStringOnlyObject.toString(), 'toStringOnlyObject returns non-stringified toString');
- t.equal(toPrimitive(toStringOnlyObject, Number), toStringOnlyObject.toString(), 'toStringOnlyObject with hint Number returns non-stringified toString');
- t.equal(toPrimitive(toStringOnlyObject, String), toStringOnlyObject.toString(), 'toStringOnlyObject with hint String returns non-stringified toString');
-
- t.equal(toPrimitive(valueOfOnlyObject), valueOfOnlyObject.valueOf(), 'valueOfOnlyObject returns valueOf');
- t.equal(toPrimitive(valueOfOnlyObject, Number), valueOfOnlyObject.valueOf(), 'valueOfOnlyObject with hint Number returns valueOf');
- t.equal(toPrimitive(valueOfOnlyObject, String), valueOfOnlyObject.valueOf(), 'valueOfOnlyObject with hint String returns non-stringified valueOf');
-
- t.test('Symbol.toPrimitive', { skip: !hasSymbolToPrimitive }, function (st) {
- var overriddenObject = { toString: st.fail, valueOf: st.fail };
- overriddenObject[Symbol.toPrimitive] = function (hint) { return String(hint); };
-
- st.equal(toPrimitive(overriddenObject), 'default', 'object with Symbol.toPrimitive + no hint invokes that');
- st.equal(toPrimitive(overriddenObject, Number), 'number', 'object with Symbol.toPrimitive + hint Number invokes that');
- st.equal(toPrimitive(overriddenObject, String), 'string', 'object with Symbol.toPrimitive + hint String invokes that');
-
- var nullToPrimitive = { toString: coercibleObject.toString, valueOf: coercibleObject.valueOf };
- nullToPrimitive[Symbol.toPrimitive] = null;
- st.equal(toPrimitive(nullToPrimitive), toPrimitive(coercibleObject), 'object with no hint + null Symbol.toPrimitive ignores it');
- st.equal(toPrimitive(nullToPrimitive, Number), toPrimitive(coercibleObject, Number), 'object with hint Number + null Symbol.toPrimitive ignores it');
- st.equal(toPrimitive(nullToPrimitive, String), toPrimitive(coercibleObject, String), 'object with hint String + null Symbol.toPrimitive ignores it');
-
- st.test('exceptions', function (sst) {
- var nonFunctionToPrimitive = { toString: sst.fail, valueOf: sst.fail };
- nonFunctionToPrimitive[Symbol.toPrimitive] = {};
- sst['throws'](toPrimitive.bind(null, nonFunctionToPrimitive), TypeError, 'Symbol.toPrimitive returning a non-function throws');
-
- var uncoercibleToPrimitive = { toString: sst.fail, valueOf: sst.fail };
- uncoercibleToPrimitive[Symbol.toPrimitive] = function (hint) { return { toString: function () { return hint; } }; };
- sst['throws'](toPrimitive.bind(null, uncoercibleToPrimitive), TypeError, 'Symbol.toPrimitive returning an object throws');
-
- var throwingToPrimitive = { toString: sst.fail, valueOf: sst.fail };
- throwingToPrimitive[Symbol.toPrimitive] = function (hint) { throw new RangeError(hint); };
- sst['throws'](toPrimitive.bind(null, throwingToPrimitive), RangeError, 'Symbol.toPrimitive throwing throws');
-
- sst.end();
- });
-
- st.end();
- });
-
- t.test('exceptions', function (st) {
- st['throws'](toPrimitive.bind(null, uncoercibleObject), TypeError, 'uncoercibleObject throws a TypeError');
- st['throws'](toPrimitive.bind(null, uncoercibleObject, Number), TypeError, 'uncoercibleObject with hint Number throws a TypeError');
- st['throws'](toPrimitive.bind(null, uncoercibleObject, String), TypeError, 'uncoercibleObject with hint String throws a TypeError');
-
- st['throws'](toPrimitive.bind(null, uncoercibleFnObject), TypeError, 'uncoercibleFnObject throws a TypeError');
- st['throws'](toPrimitive.bind(null, uncoercibleFnObject, Number), TypeError, 'uncoercibleFnObject with hint Number throws a TypeError');
- st['throws'](toPrimitive.bind(null, uncoercibleFnObject, String), TypeError, 'uncoercibleFnObject with hint String throws a TypeError');
- st.end();
- });
- t.end();
-});
diff --git a/node_modules/es-to-primitive/test/index.js b/node_modules/es-to-primitive/test/index.js
deleted file mode 100644
index 718e3fb..0000000
--- a/node_modules/es-to-primitive/test/index.js
+++ /dev/null
@@ -1,17 +0,0 @@
-'use strict';
-
-var toPrimitive = require('../');
-var ES5 = require('../es5');
-var ES6 = require('../es6');
-
-var test = require('tape');
-
-test('default export', function (t) {
- t.equal(toPrimitive, ES6, 'default export is ES6');
- t.equal(toPrimitive.ES5, ES5, 'ES5 property has ES5 method');
- t.equal(toPrimitive.ES6, ES6, 'ES6 property has ES6 method');
- t.end();
-});
-
-require('./es5');
-require('./es6');
diff --git a/node_modules/escape-html/LICENSE b/node_modules/escape-html/LICENSE
deleted file mode 100644
index 2e70de9..0000000
--- a/node_modules/escape-html/LICENSE
+++ /dev/null
@@ -1,24 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2012-2013 TJ Holowaychuk
-Copyright (c) 2015 Andreas Lubbe
-Copyright (c) 2015 Tiancheng "Timothy" Gu
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/escape-html/Readme.md b/node_modules/escape-html/Readme.md
deleted file mode 100644
index 653d9ea..0000000
--- a/node_modules/escape-html/Readme.md
+++ /dev/null
@@ -1,43 +0,0 @@
-
-# escape-html
-
- Escape string for use in HTML
-
-## Example
-
-```js
-var escape = require('escape-html');
-var html = escape('foo & bar');
-// -> foo & bar
-```
-
-## Benchmark
-
-```
-$ npm run-script bench
-
-> escape-html@1.0.3 bench nodejs-escape-html
-> node benchmark/index.js
-
-
- http_parser@1.0
- node@0.10.33
- v8@3.14.5.9
- ares@1.9.0-DEV
- uv@0.10.29
- zlib@1.2.3
- modules@11
- openssl@1.0.1j
-
- 1 test completed.
- 2 tests completed.
- 3 tests completed.
-
- no special characters x 19,435,271 ops/sec ±0.85% (187 runs sampled)
- single special character x 6,132,421 ops/sec ±0.67% (194 runs sampled)
- many special characters x 3,175,826 ops/sec ±0.65% (193 runs sampled)
-```
-
-## License
-
- MIT
\ No newline at end of file
diff --git a/node_modules/escape-html/index.js b/node_modules/escape-html/index.js
deleted file mode 100644
index bf9e226..0000000
--- a/node_modules/escape-html/index.js
+++ /dev/null
@@ -1,78 +0,0 @@
-/*!
- * escape-html
- * Copyright(c) 2012-2013 TJ Holowaychuk
- * Copyright(c) 2015 Andreas Lubbe
- * Copyright(c) 2015 Tiancheng "Timothy" Gu
- * MIT Licensed
- */
-
-'use strict';
-
-/**
- * Module variables.
- * @private
- */
-
-var matchHtmlRegExp = /["'&<>]/;
-
-/**
- * Module exports.
- * @public
- */
-
-module.exports = escapeHtml;
-
-/**
- * Escape special characters in the given string of html.
- *
- * @param {string} string The string to escape for inserting into HTML
- * @return {string}
- * @public
- */
-
-function escapeHtml(string) {
- var str = '' + string;
- var match = matchHtmlRegExp.exec(str);
-
- if (!match) {
- return str;
- }
-
- var escape;
- var html = '';
- var index = 0;
- var lastIndex = 0;
-
- for (index = match.index; index < str.length; index++) {
- switch (str.charCodeAt(index)) {
- case 34: // "
- escape = '"';
- break;
- case 38: // &
- escape = '&';
- break;
- case 39: // '
- escape = ''';
- break;
- case 60: // <
- escape = '<';
- break;
- case 62: // >
- escape = '>';
- break;
- default:
- continue;
- }
-
- if (lastIndex !== index) {
- html += str.substring(lastIndex, index);
- }
-
- lastIndex = index + 1;
- html += escape;
- }
-
- return lastIndex !== index
- ? html + str.substring(lastIndex, index)
- : html;
-}
diff --git a/node_modules/escape-html/package.json b/node_modules/escape-html/package.json
deleted file mode 100644
index eaabd3f..0000000
--- a/node_modules/escape-html/package.json
+++ /dev/null
@@ -1,86 +0,0 @@
-{
- "_args": [
- [
- "escape-html@~1.0.3",
- "/home/vincent/Bureau/RIA/node_modules/express"
- ]
- ],
- "_from": "escape-html@>=1.0.3 <1.1.0",
- "_id": "escape-html@1.0.3",
- "_inCache": true,
- "_installable": true,
- "_location": "/escape-html",
- "_npmUser": {
- "email": "doug@somethingdoug.com",
- "name": "dougwilson"
- },
- "_npmVersion": "1.4.28",
- "_phantomChildren": {},
- "_requested": {
- "name": "escape-html",
- "raw": "escape-html@~1.0.3",
- "rawSpec": "~1.0.3",
- "scope": null,
- "spec": ">=1.0.3 <1.1.0",
- "type": "range"
- },
- "_requiredBy": [
- "/express",
- "/finalhandler",
- "/send",
- "/serve-static"
- ],
- "_resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "_shasum": "0258eae4d3d0c0974de1c169188ef0051d1d1988",
- "_shrinkwrap": null,
- "_spec": "escape-html@~1.0.3",
- "_where": "/home/vincent/Bureau/RIA/node_modules/express",
- "bugs": {
- "url": "https://github.com/component/escape-html/issues"
- },
- "dependencies": {},
- "description": "Escape string for use in HTML",
- "devDependencies": {
- "beautify-benchmark": "0.2.4",
- "benchmark": "1.0.0"
- },
- "directories": {},
- "dist": {
- "shasum": "0258eae4d3d0c0974de1c169188ef0051d1d1988",
- "tarball": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz"
- },
- "files": [
- "LICENSE",
- "Readme.md",
- "index.js"
- ],
- "gitHead": "7ac2ea3977fcac3d4c5be8d2a037812820c65f28",
- "homepage": "https://github.com/component/escape-html",
- "keywords": [
- "escape",
- "html",
- "utility"
- ],
- "license": "MIT",
- "maintainers": [
- {
- "email": "tj@vision-media.ca",
- "name": "tjholowaychuk"
- },
- {
- "email": "doug@somethingdoug.com",
- "name": "dougwilson"
- }
- ],
- "name": "escape-html",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/component/escape-html.git"
- },
- "scripts": {
- "bench": "node benchmark/index.js"
- },
- "version": "1.0.3"
-}
diff --git a/node_modules/etag/HISTORY.md b/node_modules/etag/HISTORY.md
deleted file mode 100644
index bd0f26d..0000000
--- a/node_modules/etag/HISTORY.md
+++ /dev/null
@@ -1,71 +0,0 @@
-1.7.0 / 2015-06-08
-==================
-
- * Always include entity length in ETags for hash length extensions
- * Generate non-Stats ETags using MD5 only (no longer CRC32)
- * Improve stat performance by removing hashing
- * Remove base64 padding in ETags to shorten
- * Use MD5 instead of MD4 in weak ETags over 1KB
-
-1.6.0 / 2015-05-10
-==================
-
- * Improve support for JXcore
- * Remove requirement of `atime` in the stats object
- * Support "fake" stats objects in environments without `fs`
-
-1.5.1 / 2014-11-19
-==================
-
- * deps: crc@3.2.1
- - Minor fixes
-
-1.5.0 / 2014-10-14
-==================
-
- * Improve string performance
- * Slightly improve speed for weak ETags over 1KB
-
-1.4.0 / 2014-09-21
-==================
-
- * Support "fake" stats objects
- * Support Node.js 0.6
-
-1.3.1 / 2014-09-14
-==================
-
- * Use the (new and improved) `crc` for crc32
-
-1.3.0 / 2014-08-29
-==================
-
- * Default strings to strong ETags
- * Improve speed for weak ETags over 1KB
-
-1.2.1 / 2014-08-29
-==================
-
- * Use the (much faster) `buffer-crc32` for crc32
-
-1.2.0 / 2014-08-24
-==================
-
- * Add support for file stat objects
-
-1.1.0 / 2014-08-24
-==================
-
- * Add fast-path for empty entity
- * Add weak ETag generation
- * Shrink size of generated ETags
-
-1.0.1 / 2014-08-24
-==================
-
- * Fix behavior of string containing Unicode
-
-1.0.0 / 2014-05-18
-==================
-
- * Initial release
diff --git a/node_modules/etag/LICENSE b/node_modules/etag/LICENSE
deleted file mode 100644
index 142ede3..0000000
--- a/node_modules/etag/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2014-2015 Douglas Christopher Wilson
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/etag/README.md b/node_modules/etag/README.md
deleted file mode 100644
index 8da9e05..0000000
--- a/node_modules/etag/README.md
+++ /dev/null
@@ -1,165 +0,0 @@
-# etag
-
-[![NPM Version][npm-image]][npm-url]
-[![NPM Downloads][downloads-image]][downloads-url]
-[![Node.js Version][node-version-image]][node-version-url]
-[![Build Status][travis-image]][travis-url]
-[![Test Coverage][coveralls-image]][coveralls-url]
-
-Create simple ETags
-
-## Installation
-
-```sh
-$ npm install etag
-```
-
-## API
-
-```js
-var etag = require('etag')
-```
-
-### etag(entity, [options])
-
-Generate a strong ETag for the given entity. This should be the complete
-body of the entity. Strings, `Buffer`s, and `fs.Stats` are accepted. By
-default, a strong ETag is generated except for `fs.Stats`, which will
-generate a weak ETag (this can be overwritten by `options.weak`).
-
-```js
-res.setHeader('ETag', etag(body))
-```
-
-#### Options
-
-`etag` accepts these properties in the options object.
-
-##### weak
-
-Specifies if the generated ETag will include the weak validator mark (that
-is, the leading `W/`). The actual entity tag is the same. The default value
-is `false`, unless the `entity` is `fs.Stats`, in which case it is `true`.
-
-## Testing
-
-```sh
-$ npm test
-```
-
-## Benchmark
-
-```bash
-$ npm run-script bench
-
-> etag@1.6.0 bench nodejs-etag
-> node benchmark/index.js
-
- http_parser@1.0
- node@0.10.33
- v8@3.14.5.9
- ares@1.9.0-DEV
- uv@0.10.29
- zlib@1.2.3
- modules@11
- openssl@1.0.1j
-
-> node benchmark/body0-100b.js
-
- 100B body
-
- 1 test completed.
- 2 tests completed.
- 3 tests completed.
- 4 tests completed.
-
-* buffer - strong x 289,198 ops/sec ±1.09% (190 runs sampled)
-* buffer - weak x 287,838 ops/sec ±0.91% (189 runs sampled)
-* string - strong x 284,586 ops/sec ±1.05% (192 runs sampled)
-* string - weak x 287,439 ops/sec ±0.82% (192 runs sampled)
-
-> node benchmark/body1-1kb.js
-
- 1KB body
-
- 1 test completed.
- 2 tests completed.
- 3 tests completed.
- 4 tests completed.
-
-* buffer - strong x 212,423 ops/sec ±0.75% (193 runs sampled)
-* buffer - weak x 211,871 ops/sec ±0.74% (194 runs sampled)
- string - strong x 205,291 ops/sec ±0.86% (194 runs sampled)
- string - weak x 208,463 ops/sec ±0.79% (192 runs sampled)
-
-> node benchmark/body2-5kb.js
-
- 5KB body
-
- 1 test completed.
- 2 tests completed.
- 3 tests completed.
- 4 tests completed.
-
-* buffer - strong x 92,901 ops/sec ±0.58% (195 runs sampled)
-* buffer - weak x 93,045 ops/sec ±0.65% (192 runs sampled)
- string - strong x 89,621 ops/sec ±0.68% (194 runs sampled)
- string - weak x 90,070 ops/sec ±0.70% (196 runs sampled)
-
-> node benchmark/body3-10kb.js
-
- 10KB body
-
- 1 test completed.
- 2 tests completed.
- 3 tests completed.
- 4 tests completed.
-
-* buffer - strong x 54,220 ops/sec ±0.85% (192 runs sampled)
-* buffer - weak x 54,069 ops/sec ±0.83% (191 runs sampled)
- string - strong x 53,078 ops/sec ±0.53% (194 runs sampled)
- string - weak x 53,849 ops/sec ±0.47% (197 runs sampled)
-
-> node benchmark/body4-100kb.js
-
- 100KB body
-
- 1 test completed.
- 2 tests completed.
- 3 tests completed.
- 4 tests completed.
-
-* buffer - strong x 6,673 ops/sec ±0.15% (197 runs sampled)
-* buffer - weak x 6,716 ops/sec ±0.12% (198 runs sampled)
- string - strong x 6,357 ops/sec ±0.14% (197 runs sampled)
- string - weak x 6,344 ops/sec ±0.21% (197 runs sampled)
-
-> node benchmark/stats.js
-
- stats
-
- 1 test completed.
- 2 tests completed.
- 3 tests completed.
- 4 tests completed.
-
-* real - strong x 1,671,989 ops/sec ±0.13% (197 runs sampled)
-* real - weak x 1,681,297 ops/sec ±0.12% (198 runs sampled)
- fake - strong x 927,063 ops/sec ±0.14% (198 runs sampled)
- fake - weak x 914,461 ops/sec ±0.41% (191 runs sampled)
-```
-
-## License
-
-[MIT](LICENSE)
-
-[npm-image]: https://img.shields.io/npm/v/etag.svg
-[npm-url]: https://npmjs.org/package/etag
-[node-version-image]: https://img.shields.io/node/v/etag.svg
-[node-version-url]: http://nodejs.org/download/
-[travis-image]: https://img.shields.io/travis/jshttp/etag/master.svg
-[travis-url]: https://travis-ci.org/jshttp/etag
-[coveralls-image]: https://img.shields.io/coveralls/jshttp/etag/master.svg
-[coveralls-url]: https://coveralls.io/r/jshttp/etag?branch=master
-[downloads-image]: https://img.shields.io/npm/dm/etag.svg
-[downloads-url]: https://npmjs.org/package/etag
diff --git a/node_modules/etag/index.js b/node_modules/etag/index.js
deleted file mode 100644
index b582c84..0000000
--- a/node_modules/etag/index.js
+++ /dev/null
@@ -1,132 +0,0 @@
-/*!
- * etag
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict'
-
-/**
- * Module exports.
- * @public
- */
-
-module.exports = etag
-
-/**
- * Module dependencies.
- * @private
- */
-
-var crypto = require('crypto')
-var Stats = require('fs').Stats
-
-/**
- * Module variables.
- * @private
- */
-
-var base64PadCharRegExp = /=+$/
-var toString = Object.prototype.toString
-
-/**
- * Generate an entity tag.
- *
- * @param {Buffer|string} entity
- * @return {string}
- * @private
- */
-
-function entitytag(entity) {
- if (entity.length === 0) {
- // fast-path empty
- return '"0-1B2M2Y8AsgTpgAmY7PhCfg"'
- }
-
- // compute hash of entity
- var hash = crypto
- .createHash('md5')
- .update(entity, 'utf8')
- .digest('base64')
- .replace(base64PadCharRegExp, '')
-
- // compute length of entity
- var len = typeof entity === 'string'
- ? Buffer.byteLength(entity, 'utf8')
- : entity.length
-
- return '"' + len.toString(16) + '-' + hash + '"'
-}
-
-/**
- * Create a simple ETag.
- *
- * @param {string|Buffer|Stats} entity
- * @param {object} [options]
- * @param {boolean} [options.weak]
- * @return {String}
- * @public
- */
-
-function etag(entity, options) {
- if (entity == null) {
- throw new TypeError('argument entity is required')
- }
-
- // support fs.Stats object
- var isStats = isstats(entity)
- var weak = options && typeof options.weak === 'boolean'
- ? options.weak
- : isStats
-
- // validate argument
- if (!isStats && typeof entity !== 'string' && !Buffer.isBuffer(entity)) {
- throw new TypeError('argument entity must be string, Buffer, or fs.Stats')
- }
-
- // generate entity tag
- var tag = isStats
- ? stattag(entity)
- : entitytag(entity)
-
- return weak
- ? 'W/' + tag
- : tag
-}
-
-/**
- * Determine if object is a Stats object.
- *
- * @param {object} obj
- * @return {boolean}
- * @api private
- */
-
-function isstats(obj) {
- // genuine fs.Stats
- if (typeof Stats === 'function' && obj instanceof Stats) {
- return true
- }
-
- // quack quack
- return obj && typeof obj === 'object'
- && 'ctime' in obj && toString.call(obj.ctime) === '[object Date]'
- && 'mtime' in obj && toString.call(obj.mtime) === '[object Date]'
- && 'ino' in obj && typeof obj.ino === 'number'
- && 'size' in obj && typeof obj.size === 'number'
-}
-
-/**
- * Generate a tag for a stat.
- *
- * @param {object} stat
- * @return {string}
- * @private
- */
-
-function stattag(stat) {
- var mtime = stat.mtime.getTime().toString(16)
- var size = stat.size.toString(16)
-
- return '"' + size + '-' + mtime + '"'
-}
diff --git a/node_modules/etag/package.json b/node_modules/etag/package.json
deleted file mode 100644
index 42d39ea..0000000
--- a/node_modules/etag/package.json
+++ /dev/null
@@ -1,99 +0,0 @@
-{
- "_args": [
- [
- "etag@~1.7.0",
- "/home/vincent/Bureau/RIA/node_modules/express"
- ]
- ],
- "_from": "etag@>=1.7.0 <1.8.0",
- "_id": "etag@1.7.0",
- "_inCache": true,
- "_location": "/etag",
- "_npmUser": {
- "email": "doug@somethingdoug.com",
- "name": "dougwilson"
- },
- "_npmVersion": "1.4.28",
- "_phantomChildren": {},
- "_requested": {
- "name": "etag",
- "raw": "etag@~1.7.0",
- "rawSpec": "~1.7.0",
- "scope": null,
- "spec": ">=1.7.0 <1.8.0",
- "type": "range"
- },
- "_requiredBy": [
- "/express",
- "/send"
- ],
- "_resolved": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz",
- "_shasum": "03d30b5f67dd6e632d2945d30d6652731a34d5d8",
- "_shrinkwrap": null,
- "_spec": "etag@~1.7.0",
- "_where": "/home/vincent/Bureau/RIA/node_modules/express",
- "bugs": {
- "url": "https://github.com/jshttp/etag/issues"
- },
- "contributors": [
- {
- "name": "Douglas Christopher Wilson",
- "email": "doug@somethingdoug.com"
- },
- {
- "name": "David Björklund",
- "email": "david.bjorklund@gmail.com"
- }
- ],
- "dependencies": {},
- "description": "Create simple ETags",
- "devDependencies": {
- "beautify-benchmark": "0.2.4",
- "benchmark": "1.0.0",
- "istanbul": "0.3.14",
- "mocha": "~1.21.4",
- "seedrandom": "2.3.11"
- },
- "directories": {},
- "dist": {
- "shasum": "03d30b5f67dd6e632d2945d30d6652731a34d5d8",
- "tarball": "http://registry.npmjs.org/etag/-/etag-1.7.0.tgz"
- },
- "engines": {
- "node": ">= 0.6"
- },
- "files": [
- "HISTORY.md",
- "LICENSE",
- "README.md",
- "index.js"
- ],
- "gitHead": "a511f5c8c930fd9546dbd88acb080f96bc788cfc",
- "homepage": "https://github.com/jshttp/etag",
- "installable": true,
- "keywords": [
- "etag",
- "http",
- "res"
- ],
- "license": "MIT",
- "maintainers": [
- {
- "name": "dougwilson",
- "email": "doug@somethingdoug.com"
- }
- ],
- "name": "etag",
- "optionalDependencies": {},
- "repository": {
- "type": "git",
- "url": "https://github.com/jshttp/etag"
- },
- "scripts": {
- "bench": "node benchmark/index.js",
- "test": "mocha --reporter spec --bail --check-leaks test/",
- "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/",
- "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"
- },
- "version": "1.7.0"
-}
diff --git a/node_modules/expect/CHANGES.md b/node_modules/expect/CHANGES.md
deleted file mode 100644
index 7599f48..0000000
--- a/node_modules/expect/CHANGES.md
+++ /dev/null
@@ -1,182 +0,0 @@
-## [v1.20.1]
-> May 7, 2016
-
-- Objects that have different prototypes are not considered "equal". It
- was a bug to ever treat them as such.
-
-[v1.20.1]: https://github.com/mjackson/expect/compare/v1.20.0...v1.20.1
-
-## [v1.20.0]
-> May 6, 2016
-
-- Objects that differ only by prototype are considered "equal". This means
- e.g. that `expect(Object.create(null)).toEqual({})` passes
-- Restored `isEqual` to behaving more like `==` instead of `===`. This is a
- regression that was introduced in 1.13.1 ([#62])
-- Handle non-array keys in `toIncludeKeys` ([#94], thanks @wuct)
-
-[v1.20.0]: https://github.com/mjackson/expect/compare/v1.19.0...v1.20.0
-[#62]: https://github.com/mjackson/expect/issues/62
-[#94]: https://github.com/mjackson/expect/pull/94
-
-## [v1.19.0]
-> May 2, 2016
-
-- Spies preserve `length` property of original function ([#90], thanks @nfcampos)
-- Added ability to pass a `createMessage` function to `assert` that is
- only called when the assertion fails
-- Added `toNotIncludeKey(s)` alias
-
-[v1.19.0]: https://github.com/mjackson/expect/compare/v1.18.0...v1.19.0
-
-## [v1.18.0]
-> Apr 18, 2016
-
-- Added support for using [tmatch] in `expect(object).toMatch`
-
-[v1.18.0]: https://github.com/mjackson/expect/compare/v1.17.0...v1.18.0
-[tmatch]: https://github.com/tapjs/tmatch
-
-## [v1.17.0]
-> Apr 18, 2016
-
-- Added support for objects in `toExclude` ([#86], thanks @calebmer)
-- Added `toIncludeKeys` and `toExcludeKeys` ([#87], thanks @calebmer)
-- Added `toNotInclude` alias for `toExclude`
-- Deprecated `withContext` and `withArgs`. Use a closure instead.
-- Updated `is-equal` and `object-inspect` dependencies
-
-[v1.17.0]: https://github.com/mjackson/expect/compare/v1.16.0...v1.17.0
-[#86]: https://github.com/mjackson/expect/pull/86
-[#87]: https://github.com/mjackson/expect/pull/87
-
-## [v1.16.0]
-> Mar 23, 1016
-
-- Added support for objects in `toInclude` (thanks @elado)
-- Minor fixes to docs
-
-[v1.16.0]: https://github.com/mjackson/expect/compare/v1.15.2...v1.16.0
-
-## [v1.15.2]
-> Mar 11, 2016
-
-- Removed named exports, fixed a bad 1.15.0 release ([#72])
-
-[#72]: https://github.com/mjackson/expect/issues/72
-[v1.15.2]: https://github.com/mjackson/expect/compare/v1.15.0...v1.15.2
-
-## [v1.15.0]
-> Mar 10, 2016
-
-- Various build system improvements
-
-[v1.15.0]: https://github.com/mjackson/expect/compare/v1.14.0...v1.15.0
-
-## [v1.14.0]
-> Feb 1, 2016
-
-- Added `toBeGreaterThanOrEqualTo` and `toBeLessThanOrEqualTo` ([#11] and [#59])
-- Added `spy.reset()` ([#57])
-
-[v1.14.0]: https://github.com/mjackson/expect/compare/v1.13.4...v1.14.0
-[#11]: https://github.com/mjackson/expect/issues/11
-[#59]: https://github.com/mjackson/expect/issues/59
-[#57]: https://github.com/mjackson/expect/pull/57
-
-## [v1.13.4]
-> Dec 16, 2015
-
-- Fixed comparing two arrays of nested objects when the first items are not equal ([#53])
-
-[v1.13.4]: https://github.com/mjackson/expect/compare/v1.13.3...v1.13.4
-[#53]: https://github.com/mjackson/expect/issues/53
-
-## [v1.13.3]
-> Dec 14, 2015
-
-- Fix failing Map/Set tests
-
-[v1.13.3]: https://github.com/mjackson/expect/compare/v1.13.2...v1.13.3
-
-## [v1.13.2]
-> Dec 11, 2015
-
-- Bump is-equal dependency to 1.4
-
-[v1.13.2]: https://github.com/mjackson/expect/compare/v1.13.1...v1.13.2
-
-## [v1.13.1]
-> Dec 10, 2015
-
-- Fix comparisons of ES6 iterables Map and Set ([#47])
-- Fix comparisons of objects with circular references ([#50])
-- Better error messages in `toThrow`/`toNotThrow`
-
-[v1.13.1]: https://github.com/mjackson/expect/compare/v1.13.0...v1.13.1
-[#47]: https://github.com/mjackson/expect/issues/47
-[#50]: https://github.com/mjackson/expect/issues/50
-
-## [v1.13.0]
-> Nov 13, 2015
-
-- Fix `toInclude` to use `deepEqual` for comparisons ([#44])
-- Run test suite in browsers
-
-[v1.13.0]: https://github.com/mjackson/expect/compare/v1.12.2...v1.13.0
-[#44]: https://github.com/mjackson/expect/issues/44
-
-## [v1.12.2]
-> Oct 13, 2015
-
-- Fix postinstall script on Windows (see [#39])
-
-[v1.12.2]: https://github.com/mjackson/expect/compare/v1.12.1...v1.12.2
-[#39]: https://github.com/mjackson/expect/issues/39
-
-## [v1.12.1]
-> Oct 10, 2015
-
-- Add support for building on Windows
-- Add postinstall npm script for installing from git repo
-
-[v1.12.1]: https://github.com/mjackson/expect/compare/v1.12.0...v1.12.1
-
-## [v1.12.0]
-> Oct 5, 2015
-
-- Add `expect.extend(assertions)` (see [#34])
-- Add `expect.restoreSpies()` (see [#12])
-- Show object diffs using `toEqual()` in Mocha (see [#29])
-
-[v1.12.0]: https://github.com/mjackson/expect/compare/v1.11.1...v1.12.0
-[#29]: https://github.com/mjackson/expect/issues/29
-[#34]: https://github.com/mjackson/expect/pull/34
-
-## [v1.11.1]
-> Sep 26, 2015
-
-- Add `spy.destroy()` (see [#12])
-
-[v1.11.1]: https://github.com/mjackson/expect/compare/v1.11.0...v1.11.1
-[#12]: https://github.com/mjackson/expect/issues/12
-
-## [v1.11.0]
-> Sep 12, 2015
-
-- Add `expect.isSpy()`
-- Significant internal refactoring to use ES6 classes and the Babel transpiler
-
-[v1.11.0]: https://github.com/mjackson/expect/compare/v1.10.0...v1.11.0
-
-## [v1.10.0]
-> Sep 3, 2015
-
-- Add `expect(spy).toNotHaveBeenCalled()`
-- Add `expect(obj).toBeAn('array')`
-- Add `expect(str).toNotMatch(regexp)`
-- Use [invariant](https://www.npmjs.com/package/invariant) instead of `assert` where applicable
-- Improve expectation error messages
-- Internal: use [eslint](https://www.npmjs.com/package/eslint) for linting
-
-[v1.10.0]: https://github.com/mjackson/expect/compare/v1.9.0...v1.10.0
diff --git a/node_modules/expect/LICENSE.md b/node_modules/expect/LICENSE.md
deleted file mode 100644
index 54e89db..0000000
--- a/node_modules/expect/LICENSE.md
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2015 Michael Jackson
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/node_modules/expect/lib/Expectation.js b/node_modules/expect/lib/Expectation.js
deleted file mode 100644
index 2c5877a..0000000
--- a/node_modules/expect/lib/Expectation.js
+++ /dev/null
@@ -1,438 +0,0 @@
-'use strict';
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
-
-var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
-
-var _has = require('has');
-
-var _has2 = _interopRequireDefault(_has);
-
-var _tmatch = require('tmatch');
-
-var _tmatch2 = _interopRequireDefault(_tmatch);
-
-var _isRegex = require('is-regex');
-
-var _isRegex2 = _interopRequireDefault(_isRegex);
-
-var _assert = require('./assert');
-
-var _assert2 = _interopRequireDefault(_assert);
-
-var _SpyUtils = require('./SpyUtils');
-
-var _TestUtils = require('./TestUtils');
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-/**
- * An Expectation is a wrapper around an assertion that allows it to be written
- * in a more natural style, without the need to remember the order of arguments.
- * This helps prevent you from making mistakes when writing tests.
- */
-
-var Expectation = function () {
- function Expectation(actual) {
- _classCallCheck(this, Expectation);
-
- this.actual = actual;
-
- if ((0, _TestUtils.isFunction)(actual)) {
- this.context = null;
- this.args = [];
- }
- }
-
- _createClass(Expectation, [{
- key: 'toExist',
- value: function toExist(message) {
- (0, _assert2.default)(this.actual, message || 'Expected %s to exist', this.actual);
-
- return this;
- }
- }, {
- key: 'toNotExist',
- value: function toNotExist(message) {
- (0, _assert2.default)(!this.actual, message || 'Expected %s to not exist', this.actual);
-
- return this;
- }
- }, {
- key: 'toBe',
- value: function toBe(value, message) {
- (0, _assert2.default)(this.actual === value, message || 'Expected %s to be %s', this.actual, value);
-
- return this;
- }
- }, {
- key: 'toNotBe',
- value: function toNotBe(value, message) {
- (0, _assert2.default)(this.actual !== value, message || 'Expected %s to not be %s', this.actual, value);
-
- return this;
- }
- }, {
- key: 'toEqual',
- value: function toEqual(value, message) {
- try {
- (0, _assert2.default)((0, _TestUtils.isEqual)(this.actual, value), message || 'Expected %s to equal %s', this.actual, value);
- } catch (error) {
- // These attributes are consumed by Mocha to produce a diff output.
- error.actual = this.actual;
- error.expected = value;
- error.showDiff = true;
- throw error;
- }
-
- return this;
- }
- }, {
- key: 'toNotEqual',
- value: function toNotEqual(value, message) {
- (0, _assert2.default)(!(0, _TestUtils.isEqual)(this.actual, value), message || 'Expected %s to not equal %s', this.actual, value);
-
- return this;
- }
- }, {
- key: 'toThrow',
- value: function toThrow(value, message) {
- (0, _assert2.default)((0, _TestUtils.isFunction)(this.actual), 'The "actual" argument in expect(actual).toThrow() must be a function, %s was given', this.actual);
-
- (0, _assert2.default)((0, _TestUtils.functionThrows)(this.actual, this.context, this.args, value), message || 'Expected %s to throw %s', this.actual, value || 'an error');
-
- return this;
- }
- }, {
- key: 'toNotThrow',
- value: function toNotThrow(value, message) {
- (0, _assert2.default)((0, _TestUtils.isFunction)(this.actual), 'The "actual" argument in expect(actual).toNotThrow() must be a function, %s was given', this.actual);
-
- (0, _assert2.default)(!(0, _TestUtils.functionThrows)(this.actual, this.context, this.args, value), message || 'Expected %s to not throw %s', this.actual, value || 'an error');
-
- return this;
- }
- }, {
- key: 'toBeA',
- value: function toBeA(value, message) {
- (0, _assert2.default)((0, _TestUtils.isFunction)(value) || typeof value === 'string', 'The "value" argument in toBeA(value) must be a function or a string');
-
- (0, _assert2.default)((0, _TestUtils.isA)(this.actual, value), message || 'Expected %s to be a %s', this.actual, value);
-
- return this;
- }
- }, {
- key: 'toNotBeA',
- value: function toNotBeA(value, message) {
- (0, _assert2.default)((0, _TestUtils.isFunction)(value) || typeof value === 'string', 'The "value" argument in toNotBeA(value) must be a function or a string');
-
- (0, _assert2.default)(!(0, _TestUtils.isA)(this.actual, value), message || 'Expected %s to be a %s', this.actual, value);
-
- return this;
- }
- }, {
- key: 'toMatch',
- value: function toMatch(pattern, message) {
- var matches = false;
-
- if (typeof this.actual === 'string') {
- (0, _assert2.default)((0, _isRegex2.default)(pattern), 'The "pattern" argument in expect(string).toMatch(pattern) must be a RegExp');
-
- matches = pattern.test(this.actual);
- } else if ((0, _TestUtils.isObject)(this.actual)) {
- matches = (0, _tmatch2.default)(this.actual, pattern);
- } else {
- (0, _assert2.default)(false, 'The "actual" argument in expect(actual).toMatch() must be a string or an object');
- }
-
- (0, _assert2.default)(matches, message || 'Expected %s to match %s', this.actual, pattern);
-
- return this;
- }
- }, {
- key: 'toNotMatch',
- value: function toNotMatch(pattern, message) {
- var matches = false;
-
- if (typeof this.actual === 'string') {
- (0, _assert2.default)((0, _isRegex2.default)(pattern), 'The "pattern" argument in expect(string).toNotMatch(pattern) must be a RegExp');
-
- matches = pattern.test(this.actual);
- } else if ((0, _TestUtils.isObject)(this.actual)) {
- matches = (0, _tmatch2.default)(this.actual, pattern);
- } else {
- (0, _assert2.default)(false, 'The "actual" argument in expect(actual).toNotMatch() must be a string or an object');
- }
-
- (0, _assert2.default)(!matches, message || 'Expected %s to not match %s', this.actual, pattern);
-
- return this;
- }
- }, {
- key: 'toBeLessThan',
- value: function toBeLessThan(value, message) {
- (0, _assert2.default)(typeof this.actual === 'number', 'The "actual" argument in expect(actual).toBeLessThan() must be a number');
-
- (0, _assert2.default)(typeof value === 'number', 'The "value" argument in toBeLessThan(value) must be a number');
-
- (0, _assert2.default)(this.actual < value, message || 'Expected %s to be less than %s', this.actual, value);
-
- return this;
- }
- }, {
- key: 'toBeLessThanOrEqualTo',
- value: function toBeLessThanOrEqualTo(value, message) {
- (0, _assert2.default)(typeof this.actual === 'number', 'The "actual" argument in expect(actual).toBeLessThanOrEqualTo() must be a number');
-
- (0, _assert2.default)(typeof value === 'number', 'The "value" argument in toBeLessThanOrEqualTo(value) must be a number');
-
- (0, _assert2.default)(this.actual <= value, message || 'Expected %s to be less than or equal to %s', this.actual, value);
-
- return this;
- }
- }, {
- key: 'toBeGreaterThan',
- value: function toBeGreaterThan(value, message) {
- (0, _assert2.default)(typeof this.actual === 'number', 'The "actual" argument in expect(actual).toBeGreaterThan() must be a number');
-
- (0, _assert2.default)(typeof value === 'number', 'The "value" argument in toBeGreaterThan(value) must be a number');
-
- (0, _assert2.default)(this.actual > value, message || 'Expected %s to be greater than %s', this.actual, value);
-
- return this;
- }
- }, {
- key: 'toBeGreaterThanOrEqualTo',
- value: function toBeGreaterThanOrEqualTo(value, message) {
- (0, _assert2.default)(typeof this.actual === 'number', 'The "actual" argument in expect(actual).toBeGreaterThanOrEqualTo() must be a number');
-
- (0, _assert2.default)(typeof value === 'number', 'The "value" argument in toBeGreaterThanOrEqualTo(value) must be a number');
-
- (0, _assert2.default)(this.actual >= value, message || 'Expected %s to be greater than or equal to %s', this.actual, value);
-
- return this;
- }
- }, {
- key: 'toInclude',
- value: function toInclude(value, compareValues, message) {
- if (typeof compareValues === 'string') {
- message = compareValues;
- compareValues = null;
- }
-
- if (compareValues == null) compareValues = _TestUtils.isEqual;
-
- var contains = false;
-
- if ((0, _TestUtils.isArray)(this.actual)) {
- contains = (0, _TestUtils.arrayContains)(this.actual, value, compareValues);
- } else if ((0, _TestUtils.isObject)(this.actual)) {
- contains = (0, _TestUtils.objectContains)(this.actual, value, compareValues);
- } else if (typeof this.actual === 'string') {
- contains = (0, _TestUtils.stringContains)(this.actual, value);
- } else {
- (0, _assert2.default)(false, 'The "actual" argument in expect(actual).toInclude() must be an array, object, or a string');
- }
-
- (0, _assert2.default)(contains, message || 'Expected %s to include %s', this.actual, value);
-
- return this;
- }
- }, {
- key: 'toExclude',
- value: function toExclude(value, compareValues, message) {
- if (typeof compareValues === 'string') {
- message = compareValues;
- compareValues = null;
- }
-
- if (compareValues == null) compareValues = _TestUtils.isEqual;
-
- var contains = false;
-
- if ((0, _TestUtils.isArray)(this.actual)) {
- contains = (0, _TestUtils.arrayContains)(this.actual, value, compareValues);
- } else if ((0, _TestUtils.isObject)(this.actual)) {
- contains = (0, _TestUtils.objectContains)(this.actual, value, compareValues);
- } else if (typeof this.actual === 'string') {
- contains = (0, _TestUtils.stringContains)(this.actual, value);
- } else {
- (0, _assert2.default)(false, 'The "actual" argument in expect(actual).toExclude() must be an array, object, or a string');
- }
-
- (0, _assert2.default)(!contains, message || 'Expected %s to exclude %s', this.actual, value);
-
- return this;
- }
- }, {
- key: 'toIncludeKeys',
- value: function toIncludeKeys(keys, comparator, message) {
- var _this = this;
-
- if (typeof comparator === 'string') {
- message = comparator;
- comparator = null;
- }
-
- if (comparator == null) comparator = _has2.default;
-
- (0, _assert2.default)(_typeof(this.actual) === 'object', 'The "actual" argument in expect(actual).toIncludeKeys() must be an object, not %s', this.actual);
-
- (0, _assert2.default)((0, _TestUtils.isArray)(keys), 'The "keys" argument in expect(actual).toIncludeKeys(keys) must be an array, not %s', keys);
-
- var contains = keys.every(function (key) {
- return comparator(_this.actual, key);
- });
-
- (0, _assert2.default)(contains, message || 'Expected %s to include key(s) %s', this.actual, keys.join(', '));
-
- return this;
- }
- }, {
- key: 'toIncludeKey',
- value: function toIncludeKey(key) {
- for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
- args[_key - 1] = arguments[_key];
- }
-
- return this.toIncludeKeys.apply(this, [[key]].concat(args));
- }
- }, {
- key: 'toExcludeKeys',
- value: function toExcludeKeys(keys, comparator, message) {
- var _this2 = this;
-
- if (typeof comparator === 'string') {
- message = comparator;
- comparator = null;
- }
-
- if (comparator == null) comparator = _has2.default;
-
- (0, _assert2.default)(_typeof(this.actual) === 'object', 'The "actual" argument in expect(actual).toExcludeKeys() must be an object, not %s', this.actual);
-
- (0, _assert2.default)((0, _TestUtils.isArray)(keys), 'The "keys" argument in expect(actual).toIncludeKeys(keys) must be an array, not %s', keys);
-
- var contains = keys.every(function (key) {
- return comparator(_this2.actual, key);
- });
-
- (0, _assert2.default)(!contains, message || 'Expected %s to exclude key(s) %s', this.actual, keys.join(', '));
-
- return this;
- }
- }, {
- key: 'toExcludeKey',
- value: function toExcludeKey(key) {
- for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
- args[_key2 - 1] = arguments[_key2];
- }
-
- return this.toExcludeKeys.apply(this, [[key]].concat(args));
- }
- }, {
- key: 'toHaveBeenCalled',
- value: function toHaveBeenCalled(message) {
- var spy = this.actual;
-
- (0, _assert2.default)((0, _SpyUtils.isSpy)(spy), 'The "actual" argument in expect(actual).toHaveBeenCalled() must be a spy');
-
- (0, _assert2.default)(spy.calls.length > 0, message || 'spy was not called');
-
- return this;
- }
- }, {
- key: 'toHaveBeenCalledWith',
- value: function toHaveBeenCalledWith() {
- for (var _len3 = arguments.length, expectedArgs = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
- expectedArgs[_key3] = arguments[_key3];
- }
-
- var spy = this.actual;
-
- (0, _assert2.default)((0, _SpyUtils.isSpy)(spy), 'The "actual" argument in expect(actual).toHaveBeenCalledWith() must be a spy');
-
- (0, _assert2.default)(spy.calls.some(function (call) {
- return (0, _TestUtils.isEqual)(call.arguments, expectedArgs);
- }), 'spy was never called with %s', expectedArgs);
-
- return this;
- }
- }, {
- key: 'toNotHaveBeenCalled',
- value: function toNotHaveBeenCalled(message) {
- var spy = this.actual;
-
- (0, _assert2.default)((0, _SpyUtils.isSpy)(spy), 'The "actual" argument in expect(actual).toNotHaveBeenCalled() must be a spy');
-
- (0, _assert2.default)(spy.calls.length === 0, message || 'spy was not supposed to be called');
-
- return this;
- }
- }]);
-
- return Expectation;
-}();
-
-var deprecate = function deprecate(fn, message) {
- var alreadyWarned = false;
-
- return function () {
- if (!alreadyWarned) {
- alreadyWarned = true;
- console.warn(message);
- }
-
- for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
- args[_key4] = arguments[_key4];
- }
-
- return fn.apply(this, args);
- };
-};
-
-Expectation.prototype.withContext = deprecate(function (context) {
- (0, _assert2.default)((0, _TestUtils.isFunction)(this.actual), 'The "actual" argument in expect(actual).withContext() must be a function');
-
- this.context = context;
-
- return this;
-}, '\nwithContext is deprecated; use a closure instead.\n\n expect(fn).withContext(context).toThrow()\n\nbecomes\n\n expect(() => fn.call(context)).toThrow()\n');
-
-Expectation.prototype.withArgs = deprecate(function () {
- var _args;
-
- (0, _assert2.default)((0, _TestUtils.isFunction)(this.actual), 'The "actual" argument in expect(actual).withArgs() must be a function');
-
- if (arguments.length) this.args = (_args = this.args).concat.apply(_args, arguments);
-
- return this;
-}, '\nwithArgs is deprecated; use a closure instead.\n\n expect(fn).withArgs(a, b, c).toThrow()\n\nbecomes\n\n expect(() => fn(a, b, c)).toThrow()\n');
-
-var aliases = {
- toBeAn: 'toBeA',
- toNotBeAn: 'toNotBeA',
- toBeTruthy: 'toExist',
- toBeFalsy: 'toNotExist',
- toBeFewerThan: 'toBeLessThan',
- toBeMoreThan: 'toBeGreaterThan',
- toContain: 'toInclude',
- toNotContain: 'toExclude',
- toNotInclude: 'toExclude',
- toContainKeys: 'toIncludeKeys',
- toNotContainKeys: 'toExcludeKeys',
- toNotIncludeKeys: 'toExcludeKeys',
- toContainKey: 'toIncludeKey',
- toNotContainKey: 'toExcludeKey',
- toNotIncludeKey: 'toExcludeKey'
-};
-
-for (var alias in aliases) {
- if (aliases.hasOwnProperty(alias)) Expectation.prototype[alias] = Expectation.prototype[aliases[alias]];
-}exports.default = Expectation;
\ No newline at end of file
diff --git a/node_modules/expect/lib/SpyUtils.js b/node_modules/expect/lib/SpyUtils.js
deleted file mode 100644
index d54802d..0000000
--- a/node_modules/expect/lib/SpyUtils.js
+++ /dev/null
@@ -1,121 +0,0 @@
-'use strict';
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.spyOn = exports.createSpy = exports.restoreSpies = exports.isSpy = undefined;
-
-var _defineProperties = require('define-properties');
-
-var _assert = require('./assert');
-
-var _assert2 = _interopRequireDefault(_assert);
-
-var _TestUtils = require('./TestUtils');
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } /* eslint-disable prefer-rest-params */
-
-
-var noop = function noop() {};
-
-var supportsConfigurableFnLength = _defineProperties.supportsDescriptors && Object.getOwnPropertyDescriptor(function () {}, 'length').configurable;
-
-var isSpy = exports.isSpy = function isSpy(object) {
- return object && object.__isSpy === true;
-};
-
-var spies = [];
-
-var restoreSpies = exports.restoreSpies = function restoreSpies() {
- for (var i = spies.length - 1; i >= 0; i--) {
- spies[i].restore();
- }spies = [];
-};
-
-var createSpy = exports.createSpy = function createSpy(fn) {
- var restore = arguments.length <= 1 || arguments[1] === undefined ? noop : arguments[1];
-
- if (fn == null) fn = noop;
-
- (0, _assert2.default)((0, _TestUtils.isFunction)(fn), 'createSpy needs a function');
-
- var targetFn = void 0,
- thrownValue = void 0,
- returnValue = void 0,
- spy = void 0;
-
- function spyLogic() {
- spy.calls.push({
- context: this,
- arguments: Array.prototype.slice.call(arguments, 0)
- });
-
- if (targetFn) return targetFn.apply(this, arguments);
-
- if (thrownValue) throw thrownValue;
-
- return returnValue;
- }
-
- if (supportsConfigurableFnLength) {
- spy = Object.defineProperty(spyLogic, 'length', { value: fn.length, writable: false, enumerable: false, configurable: true });
- } else {
- spy = new Function('spy', 'return function(' + // eslint-disable-line no-new-func
- [].concat(_toConsumableArray(Array(fn.length))).map(function (_, i) {
- return '_' + i;
- }).join(',') + ') {\n return spy.apply(this, arguments)\n }')(spyLogic);
- }
-
- spy.calls = [];
-
- spy.andCall = function (otherFn) {
- targetFn = otherFn;
- return spy;
- };
-
- spy.andCallThrough = function () {
- return spy.andCall(fn);
- };
-
- spy.andThrow = function (value) {
- thrownValue = value;
- return spy;
- };
-
- spy.andReturn = function (value) {
- returnValue = value;
- return spy;
- };
-
- spy.getLastCall = function () {
- return spy.calls[spy.calls.length - 1];
- };
-
- spy.reset = function () {
- spy.calls = [];
- };
-
- spy.restore = spy.destroy = restore;
-
- spy.__isSpy = true;
-
- spies.push(spy);
-
- return spy;
-};
-
-var spyOn = exports.spyOn = function spyOn(object, methodName) {
- var original = object[methodName];
-
- if (!isSpy(original)) {
- (0, _assert2.default)((0, _TestUtils.isFunction)(original), 'Cannot spyOn the %s property; it is not a function', methodName);
-
- object[methodName] = createSpy(original, function () {
- object[methodName] = original;
- });
- }
-
- return object[methodName];
-};
\ No newline at end of file
diff --git a/node_modules/expect/lib/TestUtils.js b/node_modules/expect/lib/TestUtils.js
deleted file mode 100644
index 1e39b92..0000000
--- a/node_modules/expect/lib/TestUtils.js
+++ /dev/null
@@ -1,146 +0,0 @@
-'use strict';
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.stringContains = exports.objectContains = exports.arrayContains = exports.functionThrows = exports.isA = exports.isObject = exports.isArray = exports.isFunction = exports.isEqual = exports.whyNotEqual = undefined;
-
-var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
-
-var _isRegex = require('is-regex');
-
-var _isRegex2 = _interopRequireDefault(_isRegex);
-
-var _why = require('is-equal/why');
-
-var _why2 = _interopRequireDefault(_why);
-
-var _objectKeys = require('object-keys');
-
-var _objectKeys2 = _interopRequireDefault(_objectKeys);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-/**
- * Returns the reason why the given arguments are not *conceptually*
- * equal, if any; the empty string otherwise.
- */
-var whyNotEqual = exports.whyNotEqual = function whyNotEqual(a, b) {
- return a == b ? '' : (0, _why2.default)(a, b);
-};
-
-/**
- * Returns true if the given arguments are *conceptually* equal.
- */
-var isEqual = exports.isEqual = function isEqual(a, b) {
- return whyNotEqual(a, b) === '';
-};
-
-/**
- * Returns true if the given object is a function.
- */
-var isFunction = exports.isFunction = function isFunction(object) {
- return typeof object === 'function';
-};
-
-/**
- * Returns true if the given object is an array.
- */
-var isArray = exports.isArray = function isArray(object) {
- return Array.isArray(object);
-};
-
-/**
- * Returns true if the given object is an object.
- */
-var isObject = exports.isObject = function isObject(object) {
- return object && !isArray(object) && (typeof object === 'undefined' ? 'undefined' : _typeof(object)) === 'object';
-};
-
-/**
- * Returns true if the given object is an instanceof value
- * or its typeof is the given value.
- */
-var isA = exports.isA = function isA(object, value) {
- if (isFunction(value)) return object instanceof value;
-
- if (value === 'array') return Array.isArray(object);
-
- return (typeof object === 'undefined' ? 'undefined' : _typeof(object)) === value;
-};
-
-/**
- * Returns true if the given function throws the given value
- * when invoked. The value may be:
- *
- * - undefined, to merely assert there was a throw
- * - a constructor function, for comparing using instanceof
- * - a regular expression, to compare with the error message
- * - a string, to find in the error message
- */
-var functionThrows = exports.functionThrows = function functionThrows(fn, context, args, value) {
- try {
- fn.apply(context, args);
- } catch (error) {
- if (value == null) return true;
-
- if (isFunction(value) && error instanceof value) return true;
-
- var message = error.message || error;
-
- if (typeof message === 'string') {
- if ((0, _isRegex2.default)(value) && value.test(error.message)) return true;
-
- if (typeof value === 'string' && message.indexOf(value) !== -1) return true;
- }
- }
-
- return false;
-};
-
-/**
- * Returns true if the given array contains the value, false
- * otherwise. The compareValues function must return false to
- * indicate a non-match.
- */
-var arrayContains = exports.arrayContains = function arrayContains(array, value, compareValues) {
- return array.some(function (item) {
- return compareValues(item, value) !== false;
- });
-};
-
-var ownEnumerableKeys = function ownEnumerableKeys(object) {
- if ((typeof Reflect === 'undefined' ? 'undefined' : _typeof(Reflect)) === 'object' && typeof Reflect.ownKeys === 'function') {
- return Reflect.ownKeys(object).filter(function (key) {
- return Object.getOwnPropertyDescriptor(object, key).enumerable;
- });
- }
-
- if (typeof Object.getOwnPropertySymbols === 'function') {
- return Object.getOwnPropertySymbols(object).filter(function (key) {
- return Object.getOwnPropertyDescriptor(object, key).enumerable;
- }).concat((0, _objectKeys2.default)(object));
- }
-
- return (0, _objectKeys2.default)(object);
-};
-
-/**
- * Returns true if the given object contains the value, false
- * otherwise. The compareValues function must return false to
- * indicate a non-match.
- */
-var objectContains = exports.objectContains = function objectContains(object, value, compareValues) {
- return ownEnumerableKeys(value).every(function (k) {
- if (isObject(object[k]) && isObject(value[k])) return objectContains(object[k], value[k], compareValues);
-
- return compareValues(object[k], value[k]);
- });
-};
-
-/**
- * Returns true if the given string contains the value, false otherwise.
- */
-var stringContains = exports.stringContains = function stringContains(string, value) {
- return string.indexOf(value) !== -1;
-};
\ No newline at end of file
diff --git a/node_modules/expect/lib/assert.js b/node_modules/expect/lib/assert.js
deleted file mode 100644
index 9c1a80c..0000000
--- a/node_modules/expect/lib/assert.js
+++ /dev/null
@@ -1,32 +0,0 @@
-'use strict';
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _objectInspect = require('object-inspect');
-
-var _objectInspect2 = _interopRequireDefault(_objectInspect);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-var formatString = function formatString(string, args) {
- var index = 0;
- return string.replace(/%s/g, function () {
- return (0, _objectInspect2.default)(args[index++]);
- });
-};
-
-var assert = function assert(condition, createMessage) {
- for (var _len = arguments.length, extraArgs = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
- extraArgs[_key - 2] = arguments[_key];
- }
-
- if (condition) return;
-
- var message = typeof createMessage === 'string' ? formatString(createMessage, extraArgs) : createMessage(extraArgs);
-
- throw new Error(message);
-};
-
-exports.default = assert;
\ No newline at end of file
diff --git a/node_modules/expect/lib/extend.js b/node_modules/expect/lib/extend.js
deleted file mode 100644
index 280d3f6..0000000
--- a/node_modules/expect/lib/extend.js
+++ /dev/null
@@ -1,25 +0,0 @@
-'use strict';
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _Expectation = require('./Expectation');
-
-var _Expectation2 = _interopRequireDefault(_Expectation);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-var Extensions = [];
-
-function extend(extension) {
- if (Extensions.indexOf(extension) === -1) {
- Extensions.push(extension);
-
- for (var p in extension) {
- if (extension.hasOwnProperty(p)) _Expectation2.default.prototype[p] = extension[p];
- }
- }
-}
-
-exports.default = extend;
\ No newline at end of file
diff --git a/node_modules/expect/lib/index.js b/node_modules/expect/lib/index.js
deleted file mode 100644
index 5139296..0000000
--- a/node_modules/expect/lib/index.js
+++ /dev/null
@@ -1,30 +0,0 @@
-'use strict';
-
-var _Expectation = require('./Expectation');
-
-var _Expectation2 = _interopRequireDefault(_Expectation);
-
-var _SpyUtils = require('./SpyUtils');
-
-var _assert = require('./assert');
-
-var _assert2 = _interopRequireDefault(_assert);
-
-var _extend = require('./extend');
-
-var _extend2 = _interopRequireDefault(_extend);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-function expect(actual) {
- return new _Expectation2.default(actual);
-}
-
-expect.createSpy = _SpyUtils.createSpy;
-expect.spyOn = _SpyUtils.spyOn;
-expect.isSpy = _SpyUtils.isSpy;
-expect.restoreSpies = _SpyUtils.restoreSpies;
-expect.assert = _assert2.default;
-expect.extend = _extend2.default;
-
-module.exports = expect;
\ No newline at end of file
diff --git a/node_modules/expect/package.json b/node_modules/expect/package.json
deleted file mode 100644
index 3594337..0000000
--- a/node_modules/expect/package.json
+++ /dev/null
@@ -1,130 +0,0 @@
-{
- "_args": [
- [
- "expect@1.20.1",
- "/home/vincent/Bureau/RIA"
- ]
- ],
- "_from": "expect@1.20.1",
- "_id": "expect@1.20.1",
- "_inCache": true,
- "_installable": true,
- "_location": "/expect",
- "_nodeVersion": "6.0.0",
- "_npmOperationalInternal": {
- "host": "packages-16-east.internal.npmjs.com",
- "tmp": "tmp/expect-1.20.1.tgz_1462668483548_0.2283196912612766"
- },
- "_npmUser": {
- "email": "mjijackson@gmail.com",
- "name": "mjackson"
- },
- "_npmVersion": "3.8.6",
- "_phantomChildren": {},
- "_requested": {
- "name": "expect",
- "raw": "expect@1.20.1",
- "rawSpec": "1.20.1",
- "scope": null,
- "spec": "1.20.1",
- "type": "version"
- },
- "_requiredBy": [
- "/"
- ],
- "_resolved": "https://registry.npmjs.org/expect/-/expect-1.20.1.tgz",
- "_shasum": "d3f18423be6d04f829daabc240879d7867edf5f3",
- "_shrinkwrap": null,
- "_spec": "expect@1.20.1",
- "_where": "/home/vincent/Bureau/RIA",
- "author": {
- "name": "Michael Jackson"
- },
- "babel": {
- "presets": [
- "es2015"
- ]
- },
- "bugs": {
- "url": "https://github.com/mjackson/expect/issues"
- },
- "dependencies": {
- "define-properties": "~1.1.2",
- "has": "^1.0.1",
- "is-equal": "^1.5.1",
- "is-regex": "^1.0.3",
- "object-inspect": "^1.1.0",
- "object-keys": "^1.0.9",
- "tmatch": "^2.0.1"
- },
- "description": "Write better assertions",
- "devDependencies": {
- "babel-cli": "^6.6.5",
- "babel-eslint": "^6.0.0",
- "babel-loader": "^6.2.4",
- "babel-preset-es2015": "^6.6.0",
- "eslint": "^2.5.1",
- "eslint-config-airbnb": "^6.2.0",
- "eslint-plugin-react": "^4.2.3",
- "gzip-size": "^3.0.0",
- "karma": "^0.13.22",
- "karma-browserstack-launcher": "^0.1.10",
- "karma-chrome-launcher": "^0.2.3",
- "karma-mocha": "^0.2.2",
- "karma-mocha-reporter": "^2.0.0",
- "karma-sourcemap-loader": "^0.3.7",
- "karma-webpack": "^1.7.0",
- "mocha": "^2.4.5",
- "pretty-bytes": "^3.0.1",
- "readline-sync": "^1.4.1",
- "rimraf": "^2.5.2",
- "webpack": "^1.12.14"
- },
- "directories": {},
- "dist": {
- "shasum": "d3f18423be6d04f829daabc240879d7867edf5f3",
- "tarball": "https://registry.npmjs.org/expect/-/expect-1.20.1.tgz"
- },
- "files": [
- "lib",
- "umd"
- ],
- "gitHead": "59830681af5e271ca0e633e93b78e564a0e095d8",
- "homepage": "https://github.com/mjackson/expect#readme",
- "keywords": [
- "expect",
- "assert",
- "test",
- "spec"
- ],
- "license": "MIT",
- "main": "lib",
- "maintainers": [
- {
- "email": "ljharb@gmail.com",
- "name": "ljharb"
- },
- {
- "email": "mjijackson@gmail.com",
- "name": "mjackson"
- }
- ],
- "name": "expect",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/mjackson/expect.git"
- },
- "scripts": {
- "build": "node ./scripts/build.js",
- "build-cjs": "rimraf lib && babel ./modules -d lib --ignore '__tests__'",
- "build-min": "NODE_ENV=production webpack -p modules/index.js umd/expect.min.js",
- "build-umd": "NODE_ENV=production webpack modules/index.js umd/expect.js",
- "lint": "eslint modules",
- "prepublish": "npm run build",
- "release": "node ./scripts/release.js",
- "test": "npm run lint && karma start"
- },
- "version": "1.20.1"
-}
diff --git a/node_modules/expect/umd/expect.js b/node_modules/expect/umd/expect.js
deleted file mode 100644
index 6d8d20f..0000000
--- a/node_modules/expect/umd/expect.js
+++ /dev/null
@@ -1,4056 +0,0 @@
-(function webpackUniversalModuleDefinition(root, factory) {
- if(typeof exports === 'object' && typeof module === 'object')
- module.exports = factory();
- else if(typeof define === 'function' && define.amd)
- define([], factory);
- else if(typeof exports === 'object')
- exports["expect"] = factory();
- else
- root["expect"] = factory();
-})(this, function() {
-return /******/ (function(modules) { // webpackBootstrap
-/******/ // The module cache
-/******/ var installedModules = {};
-
-/******/ // The require function
-/******/ function __webpack_require__(moduleId) {
-
-/******/ // Check if module is in cache
-/******/ if(installedModules[moduleId])
-/******/ return installedModules[moduleId].exports;
-
-/******/ // Create a new module (and put it into the cache)
-/******/ var module = installedModules[moduleId] = {
-/******/ exports: {},
-/******/ id: moduleId,
-/******/ loaded: false
-/******/ };
-
-/******/ // Execute the module function
-/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-
-/******/ // Flag the module as loaded
-/******/ module.loaded = true;
-
-/******/ // Return the exports of the module
-/******/ return module.exports;
-/******/ }
-
-
-/******/ // expose the modules object (__webpack_modules__)
-/******/ __webpack_require__.m = modules;
-
-/******/ // expose the module cache
-/******/ __webpack_require__.c = installedModules;
-
-/******/ // __webpack_public_path__
-/******/ __webpack_require__.p = "";
-
-/******/ // Load entry module and return exports
-/******/ return __webpack_require__(0);
-/******/ })
-/************************************************************************/
-/******/ ([
-/* 0 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- var _Expectation = __webpack_require__(1);
-
- var _Expectation2 = _interopRequireDefault(_Expectation);
-
- var _SpyUtils = __webpack_require__(14);
-
- var _assert = __webpack_require__(12);
-
- var _assert2 = _interopRequireDefault(_assert);
-
- var _extend = __webpack_require__(31);
-
- var _extend2 = _interopRequireDefault(_extend);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- function expect(actual) {
- return new _Expectation2.default(actual);
- }
-
- expect.createSpy = _SpyUtils.createSpy;
- expect.spyOn = _SpyUtils.spyOn;
- expect.isSpy = _SpyUtils.isSpy;
- expect.restoreSpies = _SpyUtils.restoreSpies;
- expect.assert = _assert2.default;
- expect.extend = _extend2.default;
-
- module.exports = expect;
-
-/***/ },
-/* 1 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
-
- var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
-
- var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
-
- var _has = __webpack_require__(2);
-
- var _has2 = _interopRequireDefault(_has);
-
- var _tmatch = __webpack_require__(5);
-
- var _tmatch2 = _interopRequireDefault(_tmatch);
-
- var _isRegex = __webpack_require__(11);
-
- var _isRegex2 = _interopRequireDefault(_isRegex);
-
- var _assert = __webpack_require__(12);
-
- var _assert2 = _interopRequireDefault(_assert);
-
- var _SpyUtils = __webpack_require__(14);
-
- var _TestUtils = __webpack_require__(19);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
- /**
- * An Expectation is a wrapper around an assertion that allows it to be written
- * in a more natural style, without the need to remember the order of arguments.
- * This helps prevent you from making mistakes when writing tests.
- */
-
- var Expectation = function () {
- function Expectation(actual) {
- _classCallCheck(this, Expectation);
-
- this.actual = actual;
-
- if ((0, _TestUtils.isFunction)(actual)) {
- this.context = null;
- this.args = [];
- }
- }
-
- _createClass(Expectation, [{
- key: 'toExist',
- value: function toExist(message) {
- (0, _assert2.default)(this.actual, message || 'Expected %s to exist', this.actual);
-
- return this;
- }
- }, {
- key: 'toNotExist',
- value: function toNotExist(message) {
- (0, _assert2.default)(!this.actual, message || 'Expected %s to not exist', this.actual);
-
- return this;
- }
- }, {
- key: 'toBe',
- value: function toBe(value, message) {
- (0, _assert2.default)(this.actual === value, message || 'Expected %s to be %s', this.actual, value);
-
- return this;
- }
- }, {
- key: 'toNotBe',
- value: function toNotBe(value, message) {
- (0, _assert2.default)(this.actual !== value, message || 'Expected %s to not be %s', this.actual, value);
-
- return this;
- }
- }, {
- key: 'toEqual',
- value: function toEqual(value, message) {
- try {
- (0, _assert2.default)((0, _TestUtils.isEqual)(this.actual, value), message || 'Expected %s to equal %s', this.actual, value);
- } catch (error) {
- // These attributes are consumed by Mocha to produce a diff output.
- error.actual = this.actual;
- error.expected = value;
- error.showDiff = true;
- throw error;
- }
-
- return this;
- }
- }, {
- key: 'toNotEqual',
- value: function toNotEqual(value, message) {
- (0, _assert2.default)(!(0, _TestUtils.isEqual)(this.actual, value), message || 'Expected %s to not equal %s', this.actual, value);
-
- return this;
- }
- }, {
- key: 'toThrow',
- value: function toThrow(value, message) {
- (0, _assert2.default)((0, _TestUtils.isFunction)(this.actual), 'The "actual" argument in expect(actual).toThrow() must be a function, %s was given', this.actual);
-
- (0, _assert2.default)((0, _TestUtils.functionThrows)(this.actual, this.context, this.args, value), message || 'Expected %s to throw %s', this.actual, value || 'an error');
-
- return this;
- }
- }, {
- key: 'toNotThrow',
- value: function toNotThrow(value, message) {
- (0, _assert2.default)((0, _TestUtils.isFunction)(this.actual), 'The "actual" argument in expect(actual).toNotThrow() must be a function, %s was given', this.actual);
-
- (0, _assert2.default)(!(0, _TestUtils.functionThrows)(this.actual, this.context, this.args, value), message || 'Expected %s to not throw %s', this.actual, value || 'an error');
-
- return this;
- }
- }, {
- key: 'toBeA',
- value: function toBeA(value, message) {
- (0, _assert2.default)((0, _TestUtils.isFunction)(value) || typeof value === 'string', 'The "value" argument in toBeA(value) must be a function or a string');
-
- (0, _assert2.default)((0, _TestUtils.isA)(this.actual, value), message || 'Expected %s to be a %s', this.actual, value);
-
- return this;
- }
- }, {
- key: 'toNotBeA',
- value: function toNotBeA(value, message) {
- (0, _assert2.default)((0, _TestUtils.isFunction)(value) || typeof value === 'string', 'The "value" argument in toNotBeA(value) must be a function or a string');
-
- (0, _assert2.default)(!(0, _TestUtils.isA)(this.actual, value), message || 'Expected %s to be a %s', this.actual, value);
-
- return this;
- }
- }, {
- key: 'toMatch',
- value: function toMatch(pattern, message) {
- var matches = false;
-
- if (typeof this.actual === 'string') {
- (0, _assert2.default)((0, _isRegex2.default)(pattern), 'The "pattern" argument in expect(string).toMatch(pattern) must be a RegExp');
-
- matches = pattern.test(this.actual);
- } else if ((0, _TestUtils.isObject)(this.actual)) {
- matches = (0, _tmatch2.default)(this.actual, pattern);
- } else {
- (0, _assert2.default)(false, 'The "actual" argument in expect(actual).toMatch() must be a string or an object');
- }
-
- (0, _assert2.default)(matches, message || 'Expected %s to match %s', this.actual, pattern);
-
- return this;
- }
- }, {
- key: 'toNotMatch',
- value: function toNotMatch(pattern, message) {
- var matches = false;
-
- if (typeof this.actual === 'string') {
- (0, _assert2.default)((0, _isRegex2.default)(pattern), 'The "pattern" argument in expect(string).toNotMatch(pattern) must be a RegExp');
-
- matches = pattern.test(this.actual);
- } else if ((0, _TestUtils.isObject)(this.actual)) {
- matches = (0, _tmatch2.default)(this.actual, pattern);
- } else {
- (0, _assert2.default)(false, 'The "actual" argument in expect(actual).toNotMatch() must be a string or an object');
- }
-
- (0, _assert2.default)(!matches, message || 'Expected %s to not match %s', this.actual, pattern);
-
- return this;
- }
- }, {
- key: 'toBeLessThan',
- value: function toBeLessThan(value, message) {
- (0, _assert2.default)(typeof this.actual === 'number', 'The "actual" argument in expect(actual).toBeLessThan() must be a number');
-
- (0, _assert2.default)(typeof value === 'number', 'The "value" argument in toBeLessThan(value) must be a number');
-
- (0, _assert2.default)(this.actual < value, message || 'Expected %s to be less than %s', this.actual, value);
-
- return this;
- }
- }, {
- key: 'toBeLessThanOrEqualTo',
- value: function toBeLessThanOrEqualTo(value, message) {
- (0, _assert2.default)(typeof this.actual === 'number', 'The "actual" argument in expect(actual).toBeLessThanOrEqualTo() must be a number');
-
- (0, _assert2.default)(typeof value === 'number', 'The "value" argument in toBeLessThanOrEqualTo(value) must be a number');
-
- (0, _assert2.default)(this.actual <= value, message || 'Expected %s to be less than or equal to %s', this.actual, value);
-
- return this;
- }
- }, {
- key: 'toBeGreaterThan',
- value: function toBeGreaterThan(value, message) {
- (0, _assert2.default)(typeof this.actual === 'number', 'The "actual" argument in expect(actual).toBeGreaterThan() must be a number');
-
- (0, _assert2.default)(typeof value === 'number', 'The "value" argument in toBeGreaterThan(value) must be a number');
-
- (0, _assert2.default)(this.actual > value, message || 'Expected %s to be greater than %s', this.actual, value);
-
- return this;
- }
- }, {
- key: 'toBeGreaterThanOrEqualTo',
- value: function toBeGreaterThanOrEqualTo(value, message) {
- (0, _assert2.default)(typeof this.actual === 'number', 'The "actual" argument in expect(actual).toBeGreaterThanOrEqualTo() must be a number');
-
- (0, _assert2.default)(typeof value === 'number', 'The "value" argument in toBeGreaterThanOrEqualTo(value) must be a number');
-
- (0, _assert2.default)(this.actual >= value, message || 'Expected %s to be greater than or equal to %s', this.actual, value);
-
- return this;
- }
- }, {
- key: 'toInclude',
- value: function toInclude(value, compareValues, message) {
- if (typeof compareValues === 'string') {
- message = compareValues;
- compareValues = null;
- }
-
- if (compareValues == null) compareValues = _TestUtils.isEqual;
-
- var contains = false;
-
- if ((0, _TestUtils.isArray)(this.actual)) {
- contains = (0, _TestUtils.arrayContains)(this.actual, value, compareValues);
- } else if ((0, _TestUtils.isObject)(this.actual)) {
- contains = (0, _TestUtils.objectContains)(this.actual, value, compareValues);
- } else if (typeof this.actual === 'string') {
- contains = (0, _TestUtils.stringContains)(this.actual, value);
- } else {
- (0, _assert2.default)(false, 'The "actual" argument in expect(actual).toInclude() must be an array, object, or a string');
- }
-
- (0, _assert2.default)(contains, message || 'Expected %s to include %s', this.actual, value);
-
- return this;
- }
- }, {
- key: 'toExclude',
- value: function toExclude(value, compareValues, message) {
- if (typeof compareValues === 'string') {
- message = compareValues;
- compareValues = null;
- }
-
- if (compareValues == null) compareValues = _TestUtils.isEqual;
-
- var contains = false;
-
- if ((0, _TestUtils.isArray)(this.actual)) {
- contains = (0, _TestUtils.arrayContains)(this.actual, value, compareValues);
- } else if ((0, _TestUtils.isObject)(this.actual)) {
- contains = (0, _TestUtils.objectContains)(this.actual, value, compareValues);
- } else if (typeof this.actual === 'string') {
- contains = (0, _TestUtils.stringContains)(this.actual, value);
- } else {
- (0, _assert2.default)(false, 'The "actual" argument in expect(actual).toExclude() must be an array, object, or a string');
- }
-
- (0, _assert2.default)(!contains, message || 'Expected %s to exclude %s', this.actual, value);
-
- return this;
- }
- }, {
- key: 'toIncludeKeys',
- value: function toIncludeKeys(keys, comparator, message) {
- var _this = this;
-
- if (typeof comparator === 'string') {
- message = comparator;
- comparator = null;
- }
-
- if (comparator == null) comparator = _has2.default;
-
- (0, _assert2.default)(_typeof(this.actual) === 'object', 'The "actual" argument in expect(actual).toIncludeKeys() must be an object, not %s', this.actual);
-
- (0, _assert2.default)((0, _TestUtils.isArray)(keys), 'The "keys" argument in expect(actual).toIncludeKeys(keys) must be an array, not %s', keys);
-
- var contains = keys.every(function (key) {
- return comparator(_this.actual, key);
- });
-
- (0, _assert2.default)(contains, message || 'Expected %s to include key(s) %s', this.actual, keys.join(', '));
-
- return this;
- }
- }, {
- key: 'toIncludeKey',
- value: function toIncludeKey(key) {
- for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
- args[_key - 1] = arguments[_key];
- }
-
- return this.toIncludeKeys.apply(this, [[key]].concat(args));
- }
- }, {
- key: 'toExcludeKeys',
- value: function toExcludeKeys(keys, comparator, message) {
- var _this2 = this;
-
- if (typeof comparator === 'string') {
- message = comparator;
- comparator = null;
- }
-
- if (comparator == null) comparator = _has2.default;
-
- (0, _assert2.default)(_typeof(this.actual) === 'object', 'The "actual" argument in expect(actual).toExcludeKeys() must be an object, not %s', this.actual);
-
- (0, _assert2.default)((0, _TestUtils.isArray)(keys), 'The "keys" argument in expect(actual).toIncludeKeys(keys) must be an array, not %s', keys);
-
- var contains = keys.every(function (key) {
- return comparator(_this2.actual, key);
- });
-
- (0, _assert2.default)(!contains, message || 'Expected %s to exclude key(s) %s', this.actual, keys.join(', '));
-
- return this;
- }
- }, {
- key: 'toExcludeKey',
- value: function toExcludeKey(key) {
- for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
- args[_key2 - 1] = arguments[_key2];
- }
-
- return this.toExcludeKeys.apply(this, [[key]].concat(args));
- }
- }, {
- key: 'toHaveBeenCalled',
- value: function toHaveBeenCalled(message) {
- var spy = this.actual;
-
- (0, _assert2.default)((0, _SpyUtils.isSpy)(spy), 'The "actual" argument in expect(actual).toHaveBeenCalled() must be a spy');
-
- (0, _assert2.default)(spy.calls.length > 0, message || 'spy was not called');
-
- return this;
- }
- }, {
- key: 'toHaveBeenCalledWith',
- value: function toHaveBeenCalledWith() {
- for (var _len3 = arguments.length, expectedArgs = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
- expectedArgs[_key3] = arguments[_key3];
- }
-
- var spy = this.actual;
-
- (0, _assert2.default)((0, _SpyUtils.isSpy)(spy), 'The "actual" argument in expect(actual).toHaveBeenCalledWith() must be a spy');
-
- (0, _assert2.default)(spy.calls.some(function (call) {
- return (0, _TestUtils.isEqual)(call.arguments, expectedArgs);
- }), 'spy was never called with %s', expectedArgs);
-
- return this;
- }
- }, {
- key: 'toNotHaveBeenCalled',
- value: function toNotHaveBeenCalled(message) {
- var spy = this.actual;
-
- (0, _assert2.default)((0, _SpyUtils.isSpy)(spy), 'The "actual" argument in expect(actual).toNotHaveBeenCalled() must be a spy');
-
- (0, _assert2.default)(spy.calls.length === 0, message || 'spy was not supposed to be called');
-
- return this;
- }
- }]);
-
- return Expectation;
- }();
-
- var deprecate = function deprecate(fn, message) {
- var alreadyWarned = false;
-
- return function () {
- if (!alreadyWarned) {
- alreadyWarned = true;
- console.warn(message);
- }
-
- for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
- args[_key4] = arguments[_key4];
- }
-
- return fn.apply(this, args);
- };
- };
-
- Expectation.prototype.withContext = deprecate(function (context) {
- (0, _assert2.default)((0, _TestUtils.isFunction)(this.actual), 'The "actual" argument in expect(actual).withContext() must be a function');
-
- this.context = context;
-
- return this;
- }, '\nwithContext is deprecated; use a closure instead.\n\n expect(fn).withContext(context).toThrow()\n\nbecomes\n\n expect(() => fn.call(context)).toThrow()\n');
-
- Expectation.prototype.withArgs = deprecate(function () {
- var _args;
-
- (0, _assert2.default)((0, _TestUtils.isFunction)(this.actual), 'The "actual" argument in expect(actual).withArgs() must be a function');
-
- if (arguments.length) this.args = (_args = this.args).concat.apply(_args, arguments);
-
- return this;
- }, '\nwithArgs is deprecated; use a closure instead.\n\n expect(fn).withArgs(a, b, c).toThrow()\n\nbecomes\n\n expect(() => fn(a, b, c)).toThrow()\n');
-
- var aliases = {
- toBeAn: 'toBeA',
- toNotBeAn: 'toNotBeA',
- toBeTruthy: 'toExist',
- toBeFalsy: 'toNotExist',
- toBeFewerThan: 'toBeLessThan',
- toBeMoreThan: 'toBeGreaterThan',
- toContain: 'toInclude',
- toNotContain: 'toExclude',
- toNotInclude: 'toExclude',
- toContainKeys: 'toIncludeKeys',
- toNotContainKeys: 'toExcludeKeys',
- toNotIncludeKeys: 'toExcludeKeys',
- toContainKey: 'toIncludeKey',
- toNotContainKey: 'toExcludeKey',
- toNotIncludeKey: 'toExcludeKey'
- };
-
- for (var alias in aliases) {
- if (aliases.hasOwnProperty(alias)) Expectation.prototype[alias] = Expectation.prototype[aliases[alias]];
- }exports.default = Expectation;
-
-/***/ },
-/* 2 */
-/***/ function(module, exports, __webpack_require__) {
-
- var bind = __webpack_require__(3);
-
- module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);
-
-
-/***/ },
-/* 3 */
-/***/ function(module, exports, __webpack_require__) {
-
- var implementation = __webpack_require__(4);
-
- module.exports = Function.prototype.bind || implementation;
-
-
-/***/ },
-/* 4 */
-/***/ function(module, exports) {
-
- var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';
- var slice = Array.prototype.slice;
- var toStr = Object.prototype.toString;
- var funcType = '[object Function]';
-
- module.exports = function bind(that) {
- var target = this;
- if (typeof target !== 'function' || toStr.call(target) !== funcType) {
- throw new TypeError(ERROR_MESSAGE + target);
- }
- var args = slice.call(arguments, 1);
-
- var bound;
- var binder = function () {
- if (this instanceof bound) {
- var result = target.apply(
- this,
- args.concat(slice.call(arguments))
- );
- if (Object(result) === result) {
- return result;
- }
- return this;
- } else {
- return target.apply(
- that,
- args.concat(slice.call(arguments))
- );
- }
- };
-
- var boundLength = Math.max(0, target.length - args.length);
- var boundArgs = [];
- for (var i = 0; i < boundLength; i++) {
- boundArgs.push('$' + i);
- }
-
- bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);
-
- if (target.prototype) {
- var Empty = function Empty() {};
- Empty.prototype = target.prototype;
- bound.prototype = new Empty();
- Empty.prototype = null;
- }
-
- return bound;
- };
-
-
-/***/ },
-/* 5 */
-/***/ function(module, exports, __webpack_require__) {
-
- /* WEBPACK VAR INJECTION */(function(process, Buffer) {'use strict'
-
- function isArguments (obj) {
- return Object.prototype.toString.call(obj) === '[object Arguments]'
- }
-
- module.exports = match
-
- function match (obj, pattern) {
- return match_(obj, pattern, [], [])
- }
-
- /* istanbul ignore next */
- var log = (/\btmatch\b/.test(process.env.NODE_DEBUG || '')) ?
- console.error : function () {}
-
- function match_ (obj, pattern, ca, cb) {
- log('TMATCH', typeof obj, pattern)
- if (obj == pattern) {
- log('TMATCH same object or simple value, or problem')
- // if one is object, and the other isn't, then this is bogus
- if (obj === null || pattern === null) {
- return true
-
- } else if (typeof obj === 'object' && typeof pattern === 'object') {
- return true
-
- } else if (typeof obj === 'object' && typeof pattern !== 'object') {
- return false
-
- } else if (typeof obj !== 'object' && typeof pattern === 'object') {
- return false
-
- } else {
- return true
- }
-
- } else if (obj === null || pattern === null) {
- log('TMATCH null test, already failed ==')
- return false
-
- } else if (typeof obj === 'string' && pattern instanceof RegExp) {
- log('TMATCH string~=regexp test')
- return pattern.test(obj)
-
- } else if (typeof obj === 'string' && typeof pattern === 'string' && pattern) {
- log('TMATCH string~=string test')
- return obj.indexOf(pattern) !== -1
-
- } else if (obj instanceof Date && pattern instanceof Date) {
- log('TMATCH date test')
- return obj.getTime() === pattern.getTime()
-
- } else if (obj instanceof Date && typeof pattern === 'string') {
- log('TMATCH date~=string test')
- return obj.getTime() === new Date(pattern).getTime()
-
- } else if (isArguments(obj) || isArguments(pattern)) {
- log('TMATCH arguments test')
- var slice = Array.prototype.slice
- return match_(slice.call(obj), slice.call(pattern), ca, cb)
-
- } else if (pattern === Buffer) {
- log('TMATCH Buffer ctor')
- return Buffer.isBuffer(obj)
-
- } else if (pattern === Function) {
- log('TMATCH Function ctor')
- return typeof obj === 'function'
-
- } else if (pattern === Number) {
- log('TMATCH Number ctor (finite, not NaN)')
- return typeof obj === 'number' && obj === obj && isFinite(obj)
-
- } else if (pattern !== pattern) {
- log('TMATCH NaN')
- return obj !== obj
-
- } else if (pattern === String) {
- log('TMATCH String ctor')
- return typeof obj === 'string'
-
- } else if (pattern === Boolean) {
- log('TMATCH Boolean ctor')
- return typeof obj === 'boolean'
-
- } else if (pattern === Array) {
- log('TMATCH Array ctor', pattern, Array.isArray(obj))
- return Array.isArray(obj)
-
- } else if (typeof pattern === 'function' && typeof obj === 'object') {
- log('TMATCH object~=function')
- return obj instanceof pattern
-
- } else if (typeof obj !== 'object' || typeof pattern !== 'object') {
- log('TMATCH obj is not object, pattern is not object, false')
- return false
-
- } else if (obj instanceof RegExp && pattern instanceof RegExp) {
- log('TMATCH regexp~=regexp test')
- return obj.source === pattern.source &&
- obj.global === pattern.global &&
- obj.multiline === pattern.multiline &&
- obj.lastIndex === pattern.lastIndex &&
- obj.ignoreCase === pattern.ignoreCase
-
- } else if (Buffer.isBuffer(obj) && Buffer.isBuffer(pattern)) {
- log('TMATCH buffer test')
- if (obj.equals) {
- return obj.equals(pattern)
- } else {
- if (obj.length !== pattern.length) return false
-
- for (var j = 0; j < obj.length; j++) if (obj[j] != pattern[j]) return false
-
- return true
- }
-
- } else {
- // both are objects. interesting case!
- log('TMATCH object~=object test')
- var kobj = Object.keys(obj)
- var kpat = Object.keys(pattern)
- log(' TMATCH patternkeys=%j objkeys=%j', kpat, kobj)
-
- // don't bother with stack acrobatics if there's nothing there
- if (kobj.length === 0 && kpat.length === 0) return true
-
- // if we've seen this exact pattern and object already, then
- // it means that pattern and obj have matching cyclicalness
- // however, non-cyclical patterns can match cyclical objects
- log(' TMATCH check seen objects...')
- var cal = ca.length
- while (cal--) if (ca[cal] === obj && cb[cal] === pattern) return true
- ca.push(obj); cb.push(pattern)
- log(' TMATCH not seen previously')
-
- var key
- for (var l = kpat.length - 1; l >= 0; l--) {
- key = kpat[l]
- log(' TMATCH test obj[%j]', key, obj[key], pattern[key])
- if (!match_(obj[key], pattern[key], ca, cb)) return false
- }
-
- ca.pop()
- cb.pop()
-
- log(' TMATCH object pass')
- return true
- }
-
- /* istanbul ignore next */
- throw new Error('impossible to reach this point')
- }
-
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(6), __webpack_require__(7).Buffer))
-
-/***/ },
-/* 6 */
-/***/ function(module, exports) {
-
- // shim for using process in browser
-
- var process = module.exports = {};
- var queue = [];
- var draining = false;
- var currentQueue;
- var queueIndex = -1;
-
- function cleanUpNextTick() {
- if (!draining || !currentQueue) {
- return;
- }
- draining = false;
- if (currentQueue.length) {
- queue = currentQueue.concat(queue);
- } else {
- queueIndex = -1;
- }
- if (queue.length) {
- drainQueue();
- }
- }
-
- function drainQueue() {
- if (draining) {
- return;
- }
- var timeout = setTimeout(cleanUpNextTick);
- draining = true;
-
- var len = queue.length;
- while(len) {
- currentQueue = queue;
- queue = [];
- while (++queueIndex < len) {
- if (currentQueue) {
- currentQueue[queueIndex].run();
- }
- }
- queueIndex = -1;
- len = queue.length;
- }
- currentQueue = null;
- draining = false;
- clearTimeout(timeout);
- }
-
- process.nextTick = function (fun) {
- var args = new Array(arguments.length - 1);
- if (arguments.length > 1) {
- for (var i = 1; i < arguments.length; i++) {
- args[i - 1] = arguments[i];
- }
- }
- queue.push(new Item(fun, args));
- if (queue.length === 1 && !draining) {
- setTimeout(drainQueue, 0);
- }
- };
-
- // v8 likes predictible objects
- function Item(fun, array) {
- this.fun = fun;
- this.array = array;
- }
- Item.prototype.run = function () {
- this.fun.apply(null, this.array);
- };
- process.title = 'browser';
- process.browser = true;
- process.env = {};
- process.argv = [];
- process.version = ''; // empty string to avoid regexp issues
- process.versions = {};
-
- function noop() {}
-
- process.on = noop;
- process.addListener = noop;
- process.once = noop;
- process.off = noop;
- process.removeListener = noop;
- process.removeAllListeners = noop;
- process.emit = noop;
-
- process.binding = function (name) {
- throw new Error('process.binding is not supported');
- };
-
- process.cwd = function () { return '/' };
- process.chdir = function (dir) {
- throw new Error('process.chdir is not supported');
- };
- process.umask = function() { return 0; };
-
-
-/***/ },
-/* 7 */
-/***/ function(module, exports, __webpack_require__) {
-
- /* WEBPACK VAR INJECTION */(function(Buffer, global) {/*!
- * The buffer module from node.js, for the browser.
- *
- * @author Feross Aboukhadijeh
- * @license MIT
- */
- /* eslint-disable no-proto */
-
- 'use strict'
-
- var base64 = __webpack_require__(8)
- var ieee754 = __webpack_require__(9)
- var isArray = __webpack_require__(10)
-
- exports.Buffer = Buffer
- exports.SlowBuffer = SlowBuffer
- exports.INSPECT_MAX_BYTES = 50
- Buffer.poolSize = 8192 // not used by this implementation
-
- var rootParent = {}
-
- /**
- * If `Buffer.TYPED_ARRAY_SUPPORT`:
- * === true Use Uint8Array implementation (fastest)
- * === false Use Object implementation (most compatible, even IE6)
- *
- * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
- * Opera 11.6+, iOS 4.2+.
- *
- * Due to various browser bugs, sometimes the Object implementation will be used even
- * when the browser supports typed arrays.
- *
- * Note:
- *
- * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,
- * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.
- *
- * - Safari 5-7 lacks support for changing the `Object.prototype.constructor` property
- * on objects.
- *
- * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.
- *
- * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
- * incorrect length in some situations.
-
- * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they
- * get the Object implementation, which is slower but behaves correctly.
- */
- Buffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined
- ? global.TYPED_ARRAY_SUPPORT
- : typedArraySupport()
-
- function typedArraySupport () {
- function Bar () {}
- try {
- var arr = new Uint8Array(1)
- arr.foo = function () { return 42 }
- arr.constructor = Bar
- return arr.foo() === 42 && // typed array instances can be augmented
- arr.constructor === Bar && // constructor can be set
- typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`
- arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`
- } catch (e) {
- return false
- }
- }
-
- function kMaxLength () {
- return Buffer.TYPED_ARRAY_SUPPORT
- ? 0x7fffffff
- : 0x3fffffff
- }
-
- /**
- * Class: Buffer
- * =============
- *
- * The Buffer constructor returns instances of `Uint8Array` that are augmented
- * with function properties for all the node `Buffer` API functions. We use
- * `Uint8Array` so that square bracket notation works as expected -- it returns
- * a single octet.
- *
- * By augmenting the instances, we can avoid modifying the `Uint8Array`
- * prototype.
- */
- function Buffer (arg) {
- if (!(this instanceof Buffer)) {
- // Avoid going through an ArgumentsAdaptorTrampoline in the common case.
- if (arguments.length > 1) return new Buffer(arg, arguments[1])
- return new Buffer(arg)
- }
-
- if (!Buffer.TYPED_ARRAY_SUPPORT) {
- this.length = 0
- this.parent = undefined
- }
-
- // Common case.
- if (typeof arg === 'number') {
- return fromNumber(this, arg)
- }
-
- // Slightly less common case.
- if (typeof arg === 'string') {
- return fromString(this, arg, arguments.length > 1 ? arguments[1] : 'utf8')
- }
-
- // Unusual.
- return fromObject(this, arg)
- }
-
- function fromNumber (that, length) {
- that = allocate(that, length < 0 ? 0 : checked(length) | 0)
- if (!Buffer.TYPED_ARRAY_SUPPORT) {
- for (var i = 0; i < length; i++) {
- that[i] = 0
- }
- }
- return that
- }
-
- function fromString (that, string, encoding) {
- if (typeof encoding !== 'string' || encoding === '') encoding = 'utf8'
-
- // Assumption: byteLength() return value is always < kMaxLength.
- var length = byteLength(string, encoding) | 0
- that = allocate(that, length)
-
- that.write(string, encoding)
- return that
- }
-
- function fromObject (that, object) {
- if (Buffer.isBuffer(object)) return fromBuffer(that, object)
-
- if (isArray(object)) return fromArray(that, object)
-
- if (object == null) {
- throw new TypeError('must start with number, buffer, array or string')
- }
-
- if (typeof ArrayBuffer !== 'undefined') {
- if (object.buffer instanceof ArrayBuffer) {
- return fromTypedArray(that, object)
- }
- if (object instanceof ArrayBuffer) {
- return fromArrayBuffer(that, object)
- }
- }
-
- if (object.length) return fromArrayLike(that, object)
-
- return fromJsonObject(that, object)
- }
-
- function fromBuffer (that, buffer) {
- var length = checked(buffer.length) | 0
- that = allocate(that, length)
- buffer.copy(that, 0, 0, length)
- return that
- }
-
- function fromArray (that, array) {
- var length = checked(array.length) | 0
- that = allocate(that, length)
- for (var i = 0; i < length; i += 1) {
- that[i] = array[i] & 255
- }
- return that
- }
-
- // Duplicate of fromArray() to keep fromArray() monomorphic.
- function fromTypedArray (that, array) {
- var length = checked(array.length) | 0
- that = allocate(that, length)
- // Truncating the elements is probably not what people expect from typed
- // arrays with BYTES_PER_ELEMENT > 1 but it's compatible with the behavior
- // of the old Buffer constructor.
- for (var i = 0; i < length; i += 1) {
- that[i] = array[i] & 255
- }
- return that
- }
-
- function fromArrayBuffer (that, array) {
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- // Return an augmented `Uint8Array` instance, for best performance
- array.byteLength
- that = Buffer._augment(new Uint8Array(array))
- } else {
- // Fallback: Return an object instance of the Buffer class
- that = fromTypedArray(that, new Uint8Array(array))
- }
- return that
- }
-
- function fromArrayLike (that, array) {
- var length = checked(array.length) | 0
- that = allocate(that, length)
- for (var i = 0; i < length; i += 1) {
- that[i] = array[i] & 255
- }
- return that
- }
-
- // Deserialize { type: 'Buffer', data: [1,2,3,...] } into a Buffer object.
- // Returns a zero-length buffer for inputs that don't conform to the spec.
- function fromJsonObject (that, object) {
- var array
- var length = 0
-
- if (object.type === 'Buffer' && isArray(object.data)) {
- array = object.data
- length = checked(array.length) | 0
- }
- that = allocate(that, length)
-
- for (var i = 0; i < length; i += 1) {
- that[i] = array[i] & 255
- }
- return that
- }
-
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- Buffer.prototype.__proto__ = Uint8Array.prototype
- Buffer.__proto__ = Uint8Array
- } else {
- // pre-set for values that may exist in the future
- Buffer.prototype.length = undefined
- Buffer.prototype.parent = undefined
- }
-
- function allocate (that, length) {
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- // Return an augmented `Uint8Array` instance, for best performance
- that = Buffer._augment(new Uint8Array(length))
- that.__proto__ = Buffer.prototype
- } else {
- // Fallback: Return an object instance of the Buffer class
- that.length = length
- that._isBuffer = true
- }
-
- var fromPool = length !== 0 && length <= Buffer.poolSize >>> 1
- if (fromPool) that.parent = rootParent
-
- return that
- }
-
- function checked (length) {
- // Note: cannot use `length < kMaxLength` here because that fails when
- // length is NaN (which is otherwise coerced to zero.)
- if (length >= kMaxLength()) {
- throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
- 'size: 0x' + kMaxLength().toString(16) + ' bytes')
- }
- return length | 0
- }
-
- function SlowBuffer (subject, encoding) {
- if (!(this instanceof SlowBuffer)) return new SlowBuffer(subject, encoding)
-
- var buf = new Buffer(subject, encoding)
- delete buf.parent
- return buf
- }
-
- Buffer.isBuffer = function isBuffer (b) {
- return !!(b != null && b._isBuffer)
- }
-
- Buffer.compare = function compare (a, b) {
- if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
- throw new TypeError('Arguments must be Buffers')
- }
-
- if (a === b) return 0
-
- var x = a.length
- var y = b.length
-
- var i = 0
- var len = Math.min(x, y)
- while (i < len) {
- if (a[i] !== b[i]) break
-
- ++i
- }
-
- if (i !== len) {
- x = a[i]
- y = b[i]
- }
-
- if (x < y) return -1
- if (y < x) return 1
- return 0
- }
-
- Buffer.isEncoding = function isEncoding (encoding) {
- switch (String(encoding).toLowerCase()) {
- case 'hex':
- case 'utf8':
- case 'utf-8':
- case 'ascii':
- case 'binary':
- case 'base64':
- case 'raw':
- case 'ucs2':
- case 'ucs-2':
- case 'utf16le':
- case 'utf-16le':
- return true
- default:
- return false
- }
- }
-
- Buffer.concat = function concat (list, length) {
- if (!isArray(list)) throw new TypeError('list argument must be an Array of Buffers.')
-
- if (list.length === 0) {
- return new Buffer(0)
- }
-
- var i
- if (length === undefined) {
- length = 0
- for (i = 0; i < list.length; i++) {
- length += list[i].length
- }
- }
-
- var buf = new Buffer(length)
- var pos = 0
- for (i = 0; i < list.length; i++) {
- var item = list[i]
- item.copy(buf, pos)
- pos += item.length
- }
- return buf
- }
-
- function byteLength (string, encoding) {
- if (typeof string !== 'string') string = '' + string
-
- var len = string.length
- if (len === 0) return 0
-
- // Use a for loop to avoid recursion
- var loweredCase = false
- for (;;) {
- switch (encoding) {
- case 'ascii':
- case 'binary':
- // Deprecated
- case 'raw':
- case 'raws':
- return len
- case 'utf8':
- case 'utf-8':
- return utf8ToBytes(string).length
- case 'ucs2':
- case 'ucs-2':
- case 'utf16le':
- case 'utf-16le':
- return len * 2
- case 'hex':
- return len >>> 1
- case 'base64':
- return base64ToBytes(string).length
- default:
- if (loweredCase) return utf8ToBytes(string).length // assume utf8
- encoding = ('' + encoding).toLowerCase()
- loweredCase = true
- }
- }
- }
- Buffer.byteLength = byteLength
-
- function slowToString (encoding, start, end) {
- var loweredCase = false
-
- start = start | 0
- end = end === undefined || end === Infinity ? this.length : end | 0
-
- if (!encoding) encoding = 'utf8'
- if (start < 0) start = 0
- if (end > this.length) end = this.length
- if (end <= start) return ''
-
- while (true) {
- switch (encoding) {
- case 'hex':
- return hexSlice(this, start, end)
-
- case 'utf8':
- case 'utf-8':
- return utf8Slice(this, start, end)
-
- case 'ascii':
- return asciiSlice(this, start, end)
-
- case 'binary':
- return binarySlice(this, start, end)
-
- case 'base64':
- return base64Slice(this, start, end)
-
- case 'ucs2':
- case 'ucs-2':
- case 'utf16le':
- case 'utf-16le':
- return utf16leSlice(this, start, end)
-
- default:
- if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
- encoding = (encoding + '').toLowerCase()
- loweredCase = true
- }
- }
- }
-
- Buffer.prototype.toString = function toString () {
- var length = this.length | 0
- if (length === 0) return ''
- if (arguments.length === 0) return utf8Slice(this, 0, length)
- return slowToString.apply(this, arguments)
- }
-
- Buffer.prototype.equals = function equals (b) {
- if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
- if (this === b) return true
- return Buffer.compare(this, b) === 0
- }
-
- Buffer.prototype.inspect = function inspect () {
- var str = ''
- var max = exports.INSPECT_MAX_BYTES
- if (this.length > 0) {
- str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')
- if (this.length > max) str += ' ... '
- }
- return ''
- }
-
- Buffer.prototype.compare = function compare (b) {
- if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
- if (this === b) return 0
- return Buffer.compare(this, b)
- }
-
- Buffer.prototype.indexOf = function indexOf (val, byteOffset) {
- if (byteOffset > 0x7fffffff) byteOffset = 0x7fffffff
- else if (byteOffset < -0x80000000) byteOffset = -0x80000000
- byteOffset >>= 0
-
- if (this.length === 0) return -1
- if (byteOffset >= this.length) return -1
-
- // Negative offsets start from the end of the buffer
- if (byteOffset < 0) byteOffset = Math.max(this.length + byteOffset, 0)
-
- if (typeof val === 'string') {
- if (val.length === 0) return -1 // special case: looking for empty string always fails
- return String.prototype.indexOf.call(this, val, byteOffset)
- }
- if (Buffer.isBuffer(val)) {
- return arrayIndexOf(this, val, byteOffset)
- }
- if (typeof val === 'number') {
- if (Buffer.TYPED_ARRAY_SUPPORT && Uint8Array.prototype.indexOf === 'function') {
- return Uint8Array.prototype.indexOf.call(this, val, byteOffset)
- }
- return arrayIndexOf(this, [ val ], byteOffset)
- }
-
- function arrayIndexOf (arr, val, byteOffset) {
- var foundIndex = -1
- for (var i = 0; byteOffset + i < arr.length; i++) {
- if (arr[byteOffset + i] === val[foundIndex === -1 ? 0 : i - foundIndex]) {
- if (foundIndex === -1) foundIndex = i
- if (i - foundIndex + 1 === val.length) return byteOffset + foundIndex
- } else {
- foundIndex = -1
- }
- }
- return -1
- }
-
- throw new TypeError('val must be string, number or Buffer')
- }
-
- // `get` is deprecated
- Buffer.prototype.get = function get (offset) {
- console.log('.get() is deprecated. Access using array indexes instead.')
- return this.readUInt8(offset)
- }
-
- // `set` is deprecated
- Buffer.prototype.set = function set (v, offset) {
- console.log('.set() is deprecated. Access using array indexes instead.')
- return this.writeUInt8(v, offset)
- }
-
- function hexWrite (buf, string, offset, length) {
- offset = Number(offset) || 0
- var remaining = buf.length - offset
- if (!length) {
- length = remaining
- } else {
- length = Number(length)
- if (length > remaining) {
- length = remaining
- }
- }
-
- // must be an even number of digits
- var strLen = string.length
- if (strLen % 2 !== 0) throw new Error('Invalid hex string')
-
- if (length > strLen / 2) {
- length = strLen / 2
- }
- for (var i = 0; i < length; i++) {
- var parsed = parseInt(string.substr(i * 2, 2), 16)
- if (isNaN(parsed)) throw new Error('Invalid hex string')
- buf[offset + i] = parsed
- }
- return i
- }
-
- function utf8Write (buf, string, offset, length) {
- return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
- }
-
- function asciiWrite (buf, string, offset, length) {
- return blitBuffer(asciiToBytes(string), buf, offset, length)
- }
-
- function binaryWrite (buf, string, offset, length) {
- return asciiWrite(buf, string, offset, length)
- }
-
- function base64Write (buf, string, offset, length) {
- return blitBuffer(base64ToBytes(string), buf, offset, length)
- }
-
- function ucs2Write (buf, string, offset, length) {
- return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
- }
-
- Buffer.prototype.write = function write (string, offset, length, encoding) {
- // Buffer#write(string)
- if (offset === undefined) {
- encoding = 'utf8'
- length = this.length
- offset = 0
- // Buffer#write(string, encoding)
- } else if (length === undefined && typeof offset === 'string') {
- encoding = offset
- length = this.length
- offset = 0
- // Buffer#write(string, offset[, length][, encoding])
- } else if (isFinite(offset)) {
- offset = offset | 0
- if (isFinite(length)) {
- length = length | 0
- if (encoding === undefined) encoding = 'utf8'
- } else {
- encoding = length
- length = undefined
- }
- // legacy write(string, encoding, offset, length) - remove in v0.13
- } else {
- var swap = encoding
- encoding = offset
- offset = length | 0
- length = swap
- }
-
- var remaining = this.length - offset
- if (length === undefined || length > remaining) length = remaining
-
- if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
- throw new RangeError('attempt to write outside buffer bounds')
- }
-
- if (!encoding) encoding = 'utf8'
-
- var loweredCase = false
- for (;;) {
- switch (encoding) {
- case 'hex':
- return hexWrite(this, string, offset, length)
-
- case 'utf8':
- case 'utf-8':
- return utf8Write(this, string, offset, length)
-
- case 'ascii':
- return asciiWrite(this, string, offset, length)
-
- case 'binary':
- return binaryWrite(this, string, offset, length)
-
- case 'base64':
- // Warning: maxLength not taken into account in base64Write
- return base64Write(this, string, offset, length)
-
- case 'ucs2':
- case 'ucs-2':
- case 'utf16le':
- case 'utf-16le':
- return ucs2Write(this, string, offset, length)
-
- default:
- if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
- encoding = ('' + encoding).toLowerCase()
- loweredCase = true
- }
- }
- }
-
- Buffer.prototype.toJSON = function toJSON () {
- return {
- type: 'Buffer',
- data: Array.prototype.slice.call(this._arr || this, 0)
- }
- }
-
- function base64Slice (buf, start, end) {
- if (start === 0 && end === buf.length) {
- return base64.fromByteArray(buf)
- } else {
- return base64.fromByteArray(buf.slice(start, end))
- }
- }
-
- function utf8Slice (buf, start, end) {
- end = Math.min(buf.length, end)
- var res = []
-
- var i = start
- while (i < end) {
- var firstByte = buf[i]
- var codePoint = null
- var bytesPerSequence = (firstByte > 0xEF) ? 4
- : (firstByte > 0xDF) ? 3
- : (firstByte > 0xBF) ? 2
- : 1
-
- if (i + bytesPerSequence <= end) {
- var secondByte, thirdByte, fourthByte, tempCodePoint
-
- switch (bytesPerSequence) {
- case 1:
- if (firstByte < 0x80) {
- codePoint = firstByte
- }
- break
- case 2:
- secondByte = buf[i + 1]
- if ((secondByte & 0xC0) === 0x80) {
- tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)
- if (tempCodePoint > 0x7F) {
- codePoint = tempCodePoint
- }
- }
- break
- case 3:
- secondByte = buf[i + 1]
- thirdByte = buf[i + 2]
- if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
- tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)
- if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
- codePoint = tempCodePoint
- }
- }
- break
- case 4:
- secondByte = buf[i + 1]
- thirdByte = buf[i + 2]
- fourthByte = buf[i + 3]
- if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
- tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)
- if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
- codePoint = tempCodePoint
- }
- }
- }
- }
-
- if (codePoint === null) {
- // we did not generate a valid codePoint so insert a
- // replacement char (U+FFFD) and advance only 1 byte
- codePoint = 0xFFFD
- bytesPerSequence = 1
- } else if (codePoint > 0xFFFF) {
- // encode to utf16 (surrogate pair dance)
- codePoint -= 0x10000
- res.push(codePoint >>> 10 & 0x3FF | 0xD800)
- codePoint = 0xDC00 | codePoint & 0x3FF
- }
-
- res.push(codePoint)
- i += bytesPerSequence
- }
-
- return decodeCodePointsArray(res)
- }
-
- // Based on http://stackoverflow.com/a/22747272/680742, the browser with
- // the lowest limit is Chrome, with 0x10000 args.
- // We go 1 magnitude less, for safety
- var MAX_ARGUMENTS_LENGTH = 0x1000
-
- function decodeCodePointsArray (codePoints) {
- var len = codePoints.length
- if (len <= MAX_ARGUMENTS_LENGTH) {
- return String.fromCharCode.apply(String, codePoints) // avoid extra slice()
- }
-
- // Decode in chunks to avoid "call stack size exceeded".
- var res = ''
- var i = 0
- while (i < len) {
- res += String.fromCharCode.apply(
- String,
- codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)
- )
- }
- return res
- }
-
- function asciiSlice (buf, start, end) {
- var ret = ''
- end = Math.min(buf.length, end)
-
- for (var i = start; i < end; i++) {
- ret += String.fromCharCode(buf[i] & 0x7F)
- }
- return ret
- }
-
- function binarySlice (buf, start, end) {
- var ret = ''
- end = Math.min(buf.length, end)
-
- for (var i = start; i < end; i++) {
- ret += String.fromCharCode(buf[i])
- }
- return ret
- }
-
- function hexSlice (buf, start, end) {
- var len = buf.length
-
- if (!start || start < 0) start = 0
- if (!end || end < 0 || end > len) end = len
-
- var out = ''
- for (var i = start; i < end; i++) {
- out += toHex(buf[i])
- }
- return out
- }
-
- function utf16leSlice (buf, start, end) {
- var bytes = buf.slice(start, end)
- var res = ''
- for (var i = 0; i < bytes.length; i += 2) {
- res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)
- }
- return res
- }
-
- Buffer.prototype.slice = function slice (start, end) {
- var len = this.length
- start = ~~start
- end = end === undefined ? len : ~~end
-
- if (start < 0) {
- start += len
- if (start < 0) start = 0
- } else if (start > len) {
- start = len
- }
-
- if (end < 0) {
- end += len
- if (end < 0) end = 0
- } else if (end > len) {
- end = len
- }
-
- if (end < start) end = start
-
- var newBuf
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- newBuf = Buffer._augment(this.subarray(start, end))
- } else {
- var sliceLen = end - start
- newBuf = new Buffer(sliceLen, undefined)
- for (var i = 0; i < sliceLen; i++) {
- newBuf[i] = this[i + start]
- }
- }
-
- if (newBuf.length) newBuf.parent = this.parent || this
-
- return newBuf
- }
-
- /*
- * Need to make sure that buffer isn't trying to write out of bounds.
- */
- function checkOffset (offset, ext, length) {
- if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
- if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
- }
-
- Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
- offset = offset | 0
- byteLength = byteLength | 0
- if (!noAssert) checkOffset(offset, byteLength, this.length)
-
- var val = this[offset]
- var mul = 1
- var i = 0
- while (++i < byteLength && (mul *= 0x100)) {
- val += this[offset + i] * mul
- }
-
- return val
- }
-
- Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
- offset = offset | 0
- byteLength = byteLength | 0
- if (!noAssert) {
- checkOffset(offset, byteLength, this.length)
- }
-
- var val = this[offset + --byteLength]
- var mul = 1
- while (byteLength > 0 && (mul *= 0x100)) {
- val += this[offset + --byteLength] * mul
- }
-
- return val
- }
-
- Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 1, this.length)
- return this[offset]
- }
-
- Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 2, this.length)
- return this[offset] | (this[offset + 1] << 8)
- }
-
- Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 2, this.length)
- return (this[offset] << 8) | this[offset + 1]
- }
-
- Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 4, this.length)
-
- return ((this[offset]) |
- (this[offset + 1] << 8) |
- (this[offset + 2] << 16)) +
- (this[offset + 3] * 0x1000000)
- }
-
- Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 4, this.length)
-
- return (this[offset] * 0x1000000) +
- ((this[offset + 1] << 16) |
- (this[offset + 2] << 8) |
- this[offset + 3])
- }
-
- Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
- offset = offset | 0
- byteLength = byteLength | 0
- if (!noAssert) checkOffset(offset, byteLength, this.length)
-
- var val = this[offset]
- var mul = 1
- var i = 0
- while (++i < byteLength && (mul *= 0x100)) {
- val += this[offset + i] * mul
- }
- mul *= 0x80
-
- if (val >= mul) val -= Math.pow(2, 8 * byteLength)
-
- return val
- }
-
- Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
- offset = offset | 0
- byteLength = byteLength | 0
- if (!noAssert) checkOffset(offset, byteLength, this.length)
-
- var i = byteLength
- var mul = 1
- var val = this[offset + --i]
- while (i > 0 && (mul *= 0x100)) {
- val += this[offset + --i] * mul
- }
- mul *= 0x80
-
- if (val >= mul) val -= Math.pow(2, 8 * byteLength)
-
- return val
- }
-
- Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 1, this.length)
- if (!(this[offset] & 0x80)) return (this[offset])
- return ((0xff - this[offset] + 1) * -1)
- }
-
- Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 2, this.length)
- var val = this[offset] | (this[offset + 1] << 8)
- return (val & 0x8000) ? val | 0xFFFF0000 : val
- }
-
- Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 2, this.length)
- var val = this[offset + 1] | (this[offset] << 8)
- return (val & 0x8000) ? val | 0xFFFF0000 : val
- }
-
- Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 4, this.length)
-
- return (this[offset]) |
- (this[offset + 1] << 8) |
- (this[offset + 2] << 16) |
- (this[offset + 3] << 24)
- }
-
- Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 4, this.length)
-
- return (this[offset] << 24) |
- (this[offset + 1] << 16) |
- (this[offset + 2] << 8) |
- (this[offset + 3])
- }
-
- Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 4, this.length)
- return ieee754.read(this, offset, true, 23, 4)
- }
-
- Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 4, this.length)
- return ieee754.read(this, offset, false, 23, 4)
- }
-
- Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 8, this.length)
- return ieee754.read(this, offset, true, 52, 8)
- }
-
- Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 8, this.length)
- return ieee754.read(this, offset, false, 52, 8)
- }
-
- function checkInt (buf, value, offset, ext, max, min) {
- if (!Buffer.isBuffer(buf)) throw new TypeError('buffer must be a Buffer instance')
- if (value > max || value < min) throw new RangeError('value is out of bounds')
- if (offset + ext > buf.length) throw new RangeError('index out of range')
- }
-
- Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
- value = +value
- offset = offset | 0
- byteLength = byteLength | 0
- if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0)
-
- var mul = 1
- var i = 0
- this[offset] = value & 0xFF
- while (++i < byteLength && (mul *= 0x100)) {
- this[offset + i] = (value / mul) & 0xFF
- }
-
- return offset + byteLength
- }
-
- Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
- value = +value
- offset = offset | 0
- byteLength = byteLength | 0
- if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0)
-
- var i = byteLength - 1
- var mul = 1
- this[offset + i] = value & 0xFF
- while (--i >= 0 && (mul *= 0x100)) {
- this[offset + i] = (value / mul) & 0xFF
- }
-
- return offset + byteLength
- }
-
- Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)
- if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
- this[offset] = (value & 0xff)
- return offset + 1
- }
-
- function objectWriteUInt16 (buf, value, offset, littleEndian) {
- if (value < 0) value = 0xffff + value + 1
- for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; i++) {
- buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
- (littleEndian ? i : 1 - i) * 8
- }
- }
-
- Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- this[offset] = (value & 0xff)
- this[offset + 1] = (value >>> 8)
- } else {
- objectWriteUInt16(this, value, offset, true)
- }
- return offset + 2
- }
-
- Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- this[offset] = (value >>> 8)
- this[offset + 1] = (value & 0xff)
- } else {
- objectWriteUInt16(this, value, offset, false)
- }
- return offset + 2
- }
-
- function objectWriteUInt32 (buf, value, offset, littleEndian) {
- if (value < 0) value = 0xffffffff + value + 1
- for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; i++) {
- buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff
- }
- }
-
- Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- this[offset + 3] = (value >>> 24)
- this[offset + 2] = (value >>> 16)
- this[offset + 1] = (value >>> 8)
- this[offset] = (value & 0xff)
- } else {
- objectWriteUInt32(this, value, offset, true)
- }
- return offset + 4
- }
-
- Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- this[offset] = (value >>> 24)
- this[offset + 1] = (value >>> 16)
- this[offset + 2] = (value >>> 8)
- this[offset + 3] = (value & 0xff)
- } else {
- objectWriteUInt32(this, value, offset, false)
- }
- return offset + 4
- }
-
- Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) {
- var limit = Math.pow(2, 8 * byteLength - 1)
-
- checkInt(this, value, offset, byteLength, limit - 1, -limit)
- }
-
- var i = 0
- var mul = 1
- var sub = value < 0 ? 1 : 0
- this[offset] = value & 0xFF
- while (++i < byteLength && (mul *= 0x100)) {
- this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
- }
-
- return offset + byteLength
- }
-
- Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) {
- var limit = Math.pow(2, 8 * byteLength - 1)
-
- checkInt(this, value, offset, byteLength, limit - 1, -limit)
- }
-
- var i = byteLength - 1
- var mul = 1
- var sub = value < 0 ? 1 : 0
- this[offset + i] = value & 0xFF
- while (--i >= 0 && (mul *= 0x100)) {
- this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
- }
-
- return offset + byteLength
- }
-
- Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)
- if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
- if (value < 0) value = 0xff + value + 1
- this[offset] = (value & 0xff)
- return offset + 1
- }
-
- Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- this[offset] = (value & 0xff)
- this[offset + 1] = (value >>> 8)
- } else {
- objectWriteUInt16(this, value, offset, true)
- }
- return offset + 2
- }
-
- Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- this[offset] = (value >>> 8)
- this[offset + 1] = (value & 0xff)
- } else {
- objectWriteUInt16(this, value, offset, false)
- }
- return offset + 2
- }
-
- Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- this[offset] = (value & 0xff)
- this[offset + 1] = (value >>> 8)
- this[offset + 2] = (value >>> 16)
- this[offset + 3] = (value >>> 24)
- } else {
- objectWriteUInt32(this, value, offset, true)
- }
- return offset + 4
- }
-
- Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
- if (value < 0) value = 0xffffffff + value + 1
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- this[offset] = (value >>> 24)
- this[offset + 1] = (value >>> 16)
- this[offset + 2] = (value >>> 8)
- this[offset + 3] = (value & 0xff)
- } else {
- objectWriteUInt32(this, value, offset, false)
- }
- return offset + 4
- }
-
- function checkIEEE754 (buf, value, offset, ext, max, min) {
- if (value > max || value < min) throw new RangeError('value is out of bounds')
- if (offset + ext > buf.length) throw new RangeError('index out of range')
- if (offset < 0) throw new RangeError('index out of range')
- }
-
- function writeFloat (buf, value, offset, littleEndian, noAssert) {
- if (!noAssert) {
- checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)
- }
- ieee754.write(buf, value, offset, littleEndian, 23, 4)
- return offset + 4
- }
-
- Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
- return writeFloat(this, value, offset, true, noAssert)
- }
-
- Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
- return writeFloat(this, value, offset, false, noAssert)
- }
-
- function writeDouble (buf, value, offset, littleEndian, noAssert) {
- if (!noAssert) {
- checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)
- }
- ieee754.write(buf, value, offset, littleEndian, 52, 8)
- return offset + 8
- }
-
- Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
- return writeDouble(this, value, offset, true, noAssert)
- }
-
- Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
- return writeDouble(this, value, offset, false, noAssert)
- }
-
- // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
- Buffer.prototype.copy = function copy (target, targetStart, start, end) {
- if (!start) start = 0
- if (!end && end !== 0) end = this.length
- if (targetStart >= target.length) targetStart = target.length
- if (!targetStart) targetStart = 0
- if (end > 0 && end < start) end = start
-
- // Copy 0 bytes; we're done
- if (end === start) return 0
- if (target.length === 0 || this.length === 0) return 0
-
- // Fatal error conditions
- if (targetStart < 0) {
- throw new RangeError('targetStart out of bounds')
- }
- if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')
- if (end < 0) throw new RangeError('sourceEnd out of bounds')
-
- // Are we oob?
- if (end > this.length) end = this.length
- if (target.length - targetStart < end - start) {
- end = target.length - targetStart + start
- }
-
- var len = end - start
- var i
-
- if (this === target && start < targetStart && targetStart < end) {
- // descending copy from end
- for (i = len - 1; i >= 0; i--) {
- target[i + targetStart] = this[i + start]
- }
- } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {
- // ascending copy from start
- for (i = 0; i < len; i++) {
- target[i + targetStart] = this[i + start]
- }
- } else {
- target._set(this.subarray(start, start + len), targetStart)
- }
-
- return len
- }
-
- // fill(value, start=0, end=buffer.length)
- Buffer.prototype.fill = function fill (value, start, end) {
- if (!value) value = 0
- if (!start) start = 0
- if (!end) end = this.length
-
- if (end < start) throw new RangeError('end < start')
-
- // Fill 0 bytes; we're done
- if (end === start) return
- if (this.length === 0) return
-
- if (start < 0 || start >= this.length) throw new RangeError('start out of bounds')
- if (end < 0 || end > this.length) throw new RangeError('end out of bounds')
-
- var i
- if (typeof value === 'number') {
- for (i = start; i < end; i++) {
- this[i] = value
- }
- } else {
- var bytes = utf8ToBytes(value.toString())
- var len = bytes.length
- for (i = start; i < end; i++) {
- this[i] = bytes[i % len]
- }
- }
-
- return this
- }
-
- /**
- * Creates a new `ArrayBuffer` with the *copied* memory of the buffer instance.
- * Added in Node 0.12. Only available in browsers that support ArrayBuffer.
- */
- Buffer.prototype.toArrayBuffer = function toArrayBuffer () {
- if (typeof Uint8Array !== 'undefined') {
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- return (new Buffer(this)).buffer
- } else {
- var buf = new Uint8Array(this.length)
- for (var i = 0, len = buf.length; i < len; i += 1) {
- buf[i] = this[i]
- }
- return buf.buffer
- }
- } else {
- throw new TypeError('Buffer.toArrayBuffer not supported in this browser')
- }
- }
-
- // HELPER FUNCTIONS
- // ================
-
- var BP = Buffer.prototype
-
- /**
- * Augment a Uint8Array *instance* (not the Uint8Array class!) with Buffer methods
- */
- Buffer._augment = function _augment (arr) {
- arr.constructor = Buffer
- arr._isBuffer = true
-
- // save reference to original Uint8Array set method before overwriting
- arr._set = arr.set
-
- // deprecated
- arr.get = BP.get
- arr.set = BP.set
-
- arr.write = BP.write
- arr.toString = BP.toString
- arr.toLocaleString = BP.toString
- arr.toJSON = BP.toJSON
- arr.equals = BP.equals
- arr.compare = BP.compare
- arr.indexOf = BP.indexOf
- arr.copy = BP.copy
- arr.slice = BP.slice
- arr.readUIntLE = BP.readUIntLE
- arr.readUIntBE = BP.readUIntBE
- arr.readUInt8 = BP.readUInt8
- arr.readUInt16LE = BP.readUInt16LE
- arr.readUInt16BE = BP.readUInt16BE
- arr.readUInt32LE = BP.readUInt32LE
- arr.readUInt32BE = BP.readUInt32BE
- arr.readIntLE = BP.readIntLE
- arr.readIntBE = BP.readIntBE
- arr.readInt8 = BP.readInt8
- arr.readInt16LE = BP.readInt16LE
- arr.readInt16BE = BP.readInt16BE
- arr.readInt32LE = BP.readInt32LE
- arr.readInt32BE = BP.readInt32BE
- arr.readFloatLE = BP.readFloatLE
- arr.readFloatBE = BP.readFloatBE
- arr.readDoubleLE = BP.readDoubleLE
- arr.readDoubleBE = BP.readDoubleBE
- arr.writeUInt8 = BP.writeUInt8
- arr.writeUIntLE = BP.writeUIntLE
- arr.writeUIntBE = BP.writeUIntBE
- arr.writeUInt16LE = BP.writeUInt16LE
- arr.writeUInt16BE = BP.writeUInt16BE
- arr.writeUInt32LE = BP.writeUInt32LE
- arr.writeUInt32BE = BP.writeUInt32BE
- arr.writeIntLE = BP.writeIntLE
- arr.writeIntBE = BP.writeIntBE
- arr.writeInt8 = BP.writeInt8
- arr.writeInt16LE = BP.writeInt16LE
- arr.writeInt16BE = BP.writeInt16BE
- arr.writeInt32LE = BP.writeInt32LE
- arr.writeInt32BE = BP.writeInt32BE
- arr.writeFloatLE = BP.writeFloatLE
- arr.writeFloatBE = BP.writeFloatBE
- arr.writeDoubleLE = BP.writeDoubleLE
- arr.writeDoubleBE = BP.writeDoubleBE
- arr.fill = BP.fill
- arr.inspect = BP.inspect
- arr.toArrayBuffer = BP.toArrayBuffer
-
- return arr
- }
-
- var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g
-
- function base64clean (str) {
- // Node strips out invalid characters like \n and \t from the string, base64-js does not
- str = stringtrim(str).replace(INVALID_BASE64_RE, '')
- // Node converts strings with length < 2 to ''
- if (str.length < 2) return ''
- // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
- while (str.length % 4 !== 0) {
- str = str + '='
- }
- return str
- }
-
- function stringtrim (str) {
- if (str.trim) return str.trim()
- return str.replace(/^\s+|\s+$/g, '')
- }
-
- function toHex (n) {
- if (n < 16) return '0' + n.toString(16)
- return n.toString(16)
- }
-
- function utf8ToBytes (string, units) {
- units = units || Infinity
- var codePoint
- var length = string.length
- var leadSurrogate = null
- var bytes = []
-
- for (var i = 0; i < length; i++) {
- codePoint = string.charCodeAt(i)
-
- // is surrogate component
- if (codePoint > 0xD7FF && codePoint < 0xE000) {
- // last char was a lead
- if (!leadSurrogate) {
- // no lead yet
- if (codePoint > 0xDBFF) {
- // unexpected trail
- if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
- continue
- } else if (i + 1 === length) {
- // unpaired lead
- if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
- continue
- }
-
- // valid lead
- leadSurrogate = codePoint
-
- continue
- }
-
- // 2 leads in a row
- if (codePoint < 0xDC00) {
- if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
- leadSurrogate = codePoint
- continue
- }
-
- // valid surrogate pair
- codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000
- } else if (leadSurrogate) {
- // valid bmp char, but last char was a lead
- if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
- }
-
- leadSurrogate = null
-
- // encode utf8
- if (codePoint < 0x80) {
- if ((units -= 1) < 0) break
- bytes.push(codePoint)
- } else if (codePoint < 0x800) {
- if ((units -= 2) < 0) break
- bytes.push(
- codePoint >> 0x6 | 0xC0,
- codePoint & 0x3F | 0x80
- )
- } else if (codePoint < 0x10000) {
- if ((units -= 3) < 0) break
- bytes.push(
- codePoint >> 0xC | 0xE0,
- codePoint >> 0x6 & 0x3F | 0x80,
- codePoint & 0x3F | 0x80
- )
- } else if (codePoint < 0x110000) {
- if ((units -= 4) < 0) break
- bytes.push(
- codePoint >> 0x12 | 0xF0,
- codePoint >> 0xC & 0x3F | 0x80,
- codePoint >> 0x6 & 0x3F | 0x80,
- codePoint & 0x3F | 0x80
- )
- } else {
- throw new Error('Invalid code point')
- }
- }
-
- return bytes
- }
-
- function asciiToBytes (str) {
- var byteArray = []
- for (var i = 0; i < str.length; i++) {
- // Node's code seems to be doing this and not & 0x7F..
- byteArray.push(str.charCodeAt(i) & 0xFF)
- }
- return byteArray
- }
-
- function utf16leToBytes (str, units) {
- var c, hi, lo
- var byteArray = []
- for (var i = 0; i < str.length; i++) {
- if ((units -= 2) < 0) break
-
- c = str.charCodeAt(i)
- hi = c >> 8
- lo = c % 256
- byteArray.push(lo)
- byteArray.push(hi)
- }
-
- return byteArray
- }
-
- function base64ToBytes (str) {
- return base64.toByteArray(base64clean(str))
- }
-
- function blitBuffer (src, dst, offset, length) {
- for (var i = 0; i < length; i++) {
- if ((i + offset >= dst.length) || (i >= src.length)) break
- dst[i + offset] = src[i]
- }
- return i
- }
-
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(7).Buffer, (function() { return this; }())))
-
-/***/ },
-/* 8 */
-/***/ function(module, exports, __webpack_require__) {
-
- var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
-
- ;(function (exports) {
- 'use strict';
-
- var Arr = (typeof Uint8Array !== 'undefined')
- ? Uint8Array
- : Array
-
- var PLUS = '+'.charCodeAt(0)
- var SLASH = '/'.charCodeAt(0)
- var NUMBER = '0'.charCodeAt(0)
- var LOWER = 'a'.charCodeAt(0)
- var UPPER = 'A'.charCodeAt(0)
- var PLUS_URL_SAFE = '-'.charCodeAt(0)
- var SLASH_URL_SAFE = '_'.charCodeAt(0)
-
- function decode (elt) {
- var code = elt.charCodeAt(0)
- if (code === PLUS ||
- code === PLUS_URL_SAFE)
- return 62 // '+'
- if (code === SLASH ||
- code === SLASH_URL_SAFE)
- return 63 // '/'
- if (code < NUMBER)
- return -1 //no match
- if (code < NUMBER + 10)
- return code - NUMBER + 26 + 26
- if (code < UPPER + 26)
- return code - UPPER
- if (code < LOWER + 26)
- return code - LOWER + 26
- }
-
- function b64ToByteArray (b64) {
- var i, j, l, tmp, placeHolders, arr
-
- if (b64.length % 4 > 0) {
- throw new Error('Invalid string. Length must be a multiple of 4')
- }
-
- // the number of equal signs (place holders)
- // if there are two placeholders, than the two characters before it
- // represent one byte
- // if there is only one, then the three characters before it represent 2 bytes
- // this is just a cheap hack to not do indexOf twice
- var len = b64.length
- placeHolders = '=' === b64.charAt(len - 2) ? 2 : '=' === b64.charAt(len - 1) ? 1 : 0
-
- // base64 is 4/3 + up to two characters of the original data
- arr = new Arr(b64.length * 3 / 4 - placeHolders)
-
- // if there are placeholders, only get up to the last complete 4 chars
- l = placeHolders > 0 ? b64.length - 4 : b64.length
-
- var L = 0
-
- function push (v) {
- arr[L++] = v
- }
-
- for (i = 0, j = 0; i < l; i += 4, j += 3) {
- tmp = (decode(b64.charAt(i)) << 18) | (decode(b64.charAt(i + 1)) << 12) | (decode(b64.charAt(i + 2)) << 6) | decode(b64.charAt(i + 3))
- push((tmp & 0xFF0000) >> 16)
- push((tmp & 0xFF00) >> 8)
- push(tmp & 0xFF)
- }
-
- if (placeHolders === 2) {
- tmp = (decode(b64.charAt(i)) << 2) | (decode(b64.charAt(i + 1)) >> 4)
- push(tmp & 0xFF)
- } else if (placeHolders === 1) {
- tmp = (decode(b64.charAt(i)) << 10) | (decode(b64.charAt(i + 1)) << 4) | (decode(b64.charAt(i + 2)) >> 2)
- push((tmp >> 8) & 0xFF)
- push(tmp & 0xFF)
- }
-
- return arr
- }
-
- function uint8ToBase64 (uint8) {
- var i,
- extraBytes = uint8.length % 3, // if we have 1 byte left, pad 2 bytes
- output = "",
- temp, length
-
- function encode (num) {
- return lookup.charAt(num)
- }
-
- function tripletToBase64 (num) {
- return encode(num >> 18 & 0x3F) + encode(num >> 12 & 0x3F) + encode(num >> 6 & 0x3F) + encode(num & 0x3F)
- }
-
- // go through the array every three bytes, we'll deal with trailing stuff later
- for (i = 0, length = uint8.length - extraBytes; i < length; i += 3) {
- temp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])
- output += tripletToBase64(temp)
- }
-
- // pad the end with zeros, but make sure to not forget the extra bytes
- switch (extraBytes) {
- case 1:
- temp = uint8[uint8.length - 1]
- output += encode(temp >> 2)
- output += encode((temp << 4) & 0x3F)
- output += '=='
- break
- case 2:
- temp = (uint8[uint8.length - 2] << 8) + (uint8[uint8.length - 1])
- output += encode(temp >> 10)
- output += encode((temp >> 4) & 0x3F)
- output += encode((temp << 2) & 0x3F)
- output += '='
- break
- }
-
- return output
- }
-
- exports.toByteArray = b64ToByteArray
- exports.fromByteArray = uint8ToBase64
- }( false ? (this.base64js = {}) : exports))
-
-
-/***/ },
-/* 9 */
-/***/ function(module, exports) {
-
- exports.read = function (buffer, offset, isLE, mLen, nBytes) {
- var e, m
- var eLen = nBytes * 8 - mLen - 1
- var eMax = (1 << eLen) - 1
- var eBias = eMax >> 1
- var nBits = -7
- var i = isLE ? (nBytes - 1) : 0
- var d = isLE ? -1 : 1
- var s = buffer[offset + i]
-
- i += d
-
- e = s & ((1 << (-nBits)) - 1)
- s >>= (-nBits)
- nBits += eLen
- for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}
-
- m = e & ((1 << (-nBits)) - 1)
- e >>= (-nBits)
- nBits += mLen
- for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}
-
- if (e === 0) {
- e = 1 - eBias
- } else if (e === eMax) {
- return m ? NaN : ((s ? -1 : 1) * Infinity)
- } else {
- m = m + Math.pow(2, mLen)
- e = e - eBias
- }
- return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
- }
-
- exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
- var e, m, c
- var eLen = nBytes * 8 - mLen - 1
- var eMax = (1 << eLen) - 1
- var eBias = eMax >> 1
- var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)
- var i = isLE ? 0 : (nBytes - 1)
- var d = isLE ? 1 : -1
- var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0
-
- value = Math.abs(value)
-
- if (isNaN(value) || value === Infinity) {
- m = isNaN(value) ? 1 : 0
- e = eMax
- } else {
- e = Math.floor(Math.log(value) / Math.LN2)
- if (value * (c = Math.pow(2, -e)) < 1) {
- e--
- c *= 2
- }
- if (e + eBias >= 1) {
- value += rt / c
- } else {
- value += rt * Math.pow(2, 1 - eBias)
- }
- if (value * c >= 2) {
- e++
- c /= 2
- }
-
- if (e + eBias >= eMax) {
- m = 0
- e = eMax
- } else if (e + eBias >= 1) {
- m = (value * c - 1) * Math.pow(2, mLen)
- e = e + eBias
- } else {
- m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)
- e = 0
- }
- }
-
- for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
-
- e = (e << mLen) | m
- eLen += mLen
- for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
-
- buffer[offset + i - d] |= s * 128
- }
-
-
-/***/ },
-/* 10 */
-/***/ function(module, exports) {
-
- var toString = {}.toString;
-
- module.exports = Array.isArray || function (arr) {
- return toString.call(arr) == '[object Array]';
- };
-
-
-/***/ },
-/* 11 */
-/***/ function(module, exports) {
-
- 'use strict';
-
- var regexExec = RegExp.prototype.exec;
- var tryRegexExec = function tryRegexExec(value) {
- try {
- regexExec.call(value);
- return true;
- } catch (e) {
- return false;
- }
- };
- var toStr = Object.prototype.toString;
- var regexClass = '[object RegExp]';
- var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
-
- module.exports = function isRegex(value) {
- if (typeof value !== 'object') { return false; }
- return hasToStringTag ? tryRegexExec(value) : toStr.call(value) === regexClass;
- };
-
-
-/***/ },
-/* 12 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
-
- var _objectInspect = __webpack_require__(13);
-
- var _objectInspect2 = _interopRequireDefault(_objectInspect);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- var formatString = function formatString(string, args) {
- var index = 0;
- return string.replace(/%s/g, function () {
- return (0, _objectInspect2.default)(args[index++]);
- });
- };
-
- var assert = function assert(condition, createMessage) {
- for (var _len = arguments.length, extraArgs = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
- extraArgs[_key - 2] = arguments[_key];
- }
-
- if (condition) return;
-
- var message = typeof createMessage === 'string' ? formatString(createMessage, extraArgs) : createMessage(extraArgs);
-
- throw new Error(message);
- };
-
- exports.default = assert;
-
-/***/ },
-/* 13 */
-/***/ function(module, exports) {
-
- var hasMap = typeof Map === 'function' && Map.prototype;
- var mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;
- var mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;
- var mapForEach = hasMap && Map.prototype.forEach;
- var hasSet = typeof Set === 'function' && Set.prototype;
- var setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;
- var setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;
- var setForEach = hasSet && Set.prototype.forEach;
- var booleanValueOf = Boolean.prototype.valueOf;
-
- module.exports = function inspect_ (obj, opts, depth, seen) {
- if (!opts) opts = {};
-
- var maxDepth = opts.depth === undefined ? 5 : opts.depth;
- if (depth === undefined) depth = 0;
- if (depth >= maxDepth && maxDepth > 0 && obj && typeof obj === 'object') {
- return '[Object]';
- }
-
- if (seen === undefined) seen = [];
- else if (indexOf(seen, obj) >= 0) {
- return '[Circular]';
- }
-
- function inspect (value, from) {
- if (from) {
- seen = seen.slice();
- seen.push(from);
- }
- return inspect_(value, opts, depth + 1, seen);
- }
-
- if (typeof obj === 'string') {
- return inspectString(obj);
- }
- else if (typeof obj === 'function') {
- var name = nameOf(obj);
- return '[Function' + (name ? ': ' + name : '') + ']';
- }
- else if (obj === null) {
- return 'null';
- }
- else if (isSymbol(obj)) {
- var symString = Symbol.prototype.toString.call(obj);
- return typeof obj === 'object' ? 'Object(' + symString + ')' : symString;
- }
- else if (isElement(obj)) {
- var s = '<' + String(obj.nodeName).toLowerCase();
- var attrs = obj.attributes || [];
- for (var i = 0; i < attrs.length; i++) {
- s += ' ' + attrs[i].name + '="' + quote(attrs[i].value) + '"';
- }
- s += '>';
- if (obj.childNodes && obj.childNodes.length) s += '...';
- s += '' + String(obj.nodeName).toLowerCase() + '>';
- return s;
- }
- else if (isArray(obj)) {
- if (obj.length === 0) return '[]';
- var xs = Array(obj.length);
- for (var i = 0; i < obj.length; i++) {
- xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';
- }
- return '[ ' + xs.join(', ') + ' ]';
- }
- else if (isError(obj)) {
- var parts = [];
- for (var key in obj) {
- if (!has(obj, key)) continue;
-
- if (/[^\w$]/.test(key)) {
- parts.push(inspect(key) + ': ' + inspect(obj[key]));
- }
- else {
- parts.push(key + ': ' + inspect(obj[key]));
- }
- }
- if (parts.length === 0) return '[' + obj + ']';
- return '{ [' + obj + '] ' + parts.join(', ') + ' }';
- }
- else if (typeof obj === 'object' && typeof obj.inspect === 'function') {
- return obj.inspect();
- }
- else if (isMap(obj)) {
- var parts = [];
- mapForEach.call(obj, function (value, key) {
- parts.push(inspect(key, obj) + ' => ' + inspect(value, obj));
- });
- return 'Map (' + mapSize.call(obj) + ') {' + parts.join(', ') + '}';
- }
- else if (isSet(obj)) {
- var parts = [];
- setForEach.call(obj, function (value ) {
- parts.push(inspect(value, obj));
- });
- return 'Set (' + setSize.call(obj) + ') {' + parts.join(', ') + '}';
- }
- else if (typeof obj !== 'object') {
- return String(obj);
- }
- else if (isNumber(obj)) {
- return 'Object(' + Number(obj) + ')';
- }
- else if (isBoolean(obj)) {
- return 'Object(' + booleanValueOf.call(obj) + ')';
- }
- else if (isString(obj)) {
- return 'Object(' + inspect(String(obj)) + ')';
- }
- else if (!isDate(obj) && !isRegExp(obj)) {
- var xs = [], keys = [];
- for (var key in obj) {
- if (has(obj, key)) keys.push(key);
- }
- keys.sort();
- for (var i = 0; i < keys.length; i++) {
- var key = keys[i];
- if (/[^\w$]/.test(key)) {
- xs.push(inspect(key) + ': ' + inspect(obj[key], obj));
- }
- else xs.push(key + ': ' + inspect(obj[key], obj));
- }
- if (xs.length === 0) return '{}';
- return '{ ' + xs.join(', ') + ' }';
- }
- else return String(obj);
- };
-
- function quote (s) {
- return String(s).replace(/"/g, '"');
- }
-
- function isArray (obj) { return toStr(obj) === '[object Array]' }
- function isDate (obj) { return toStr(obj) === '[object Date]' }
- function isRegExp (obj) { return toStr(obj) === '[object RegExp]' }
- function isError (obj) { return toStr(obj) === '[object Error]' }
- function isSymbol (obj) { return toStr(obj) === '[object Symbol]' }
- function isString (obj) { return toStr(obj) === '[object String]' }
- function isNumber (obj) { return toStr(obj) === '[object Number]' }
- function isBoolean (obj) { return toStr(obj) === '[object Boolean]' }
-
- var hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };
- function has (obj, key) {
- return hasOwn.call(obj, key);
- }
-
- function toStr (obj) {
- return Object.prototype.toString.call(obj);
- }
-
- function nameOf (f) {
- if (f.name) return f.name;
- var m = f.toString().match(/^function\s*([\w$]+)/);
- if (m) return m[1];
- }
-
- function indexOf (xs, x) {
- if (xs.indexOf) return xs.indexOf(x);
- for (var i = 0, l = xs.length; i < l; i++) {
- if (xs[i] === x) return i;
- }
- return -1;
- }
-
- function isMap (x) {
- if (!mapSize) {
- return false;
- }
- try {
- mapSize.call(x);
- return true;
- } catch (e) {}
- return false;
- }
-
- function isSet (x) {
- if (!setSize) {
- return false;
- }
- try {
- setSize.call(x);
- return true;
- } catch (e) {}
- return false;
- }
-
- function isElement (x) {
- if (!x || typeof x !== 'object') return false;
- if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {
- return true;
- }
- return typeof x.nodeName === 'string'
- && typeof x.getAttribute === 'function'
- ;
- }
-
- function inspectString (str) {
- var s = str.replace(/(['\\])/g, '\\$1').replace(/[\x00-\x1f]/g, lowbyte);
- return "'" + s + "'";
-
- function lowbyte (c) {
- var n = c.charCodeAt(0);
- var x = { 8: 'b', 9: 't', 10: 'n', 12: 'f', 13: 'r' }[n];
- if (x) return '\\' + x;
- return '\\x' + (n < 0x10 ? '0' : '') + n.toString(16);
- }
- }
-
-
-/***/ },
-/* 14 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.spyOn = exports.createSpy = exports.restoreSpies = exports.isSpy = undefined;
-
- var _defineProperties = __webpack_require__(15);
-
- var _assert = __webpack_require__(12);
-
- var _assert2 = _interopRequireDefault(_assert);
-
- var _TestUtils = __webpack_require__(19);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } /* eslint-disable prefer-rest-params */
-
-
- var noop = function noop() {};
-
- var supportsConfigurableFnLength = _defineProperties.supportsDescriptors && Object.getOwnPropertyDescriptor(function () {}, 'length').configurable;
-
- var isSpy = exports.isSpy = function isSpy(object) {
- return object && object.__isSpy === true;
- };
-
- var spies = [];
-
- var restoreSpies = exports.restoreSpies = function restoreSpies() {
- for (var i = spies.length - 1; i >= 0; i--) {
- spies[i].restore();
- }spies = [];
- };
-
- var createSpy = exports.createSpy = function createSpy(fn) {
- var restore = arguments.length <= 1 || arguments[1] === undefined ? noop : arguments[1];
-
- if (fn == null) fn = noop;
-
- (0, _assert2.default)((0, _TestUtils.isFunction)(fn), 'createSpy needs a function');
-
- var targetFn = void 0,
- thrownValue = void 0,
- returnValue = void 0,
- spy = void 0;
-
- function spyLogic() {
- spy.calls.push({
- context: this,
- arguments: Array.prototype.slice.call(arguments, 0)
- });
-
- if (targetFn) return targetFn.apply(this, arguments);
-
- if (thrownValue) throw thrownValue;
-
- return returnValue;
- }
-
- if (supportsConfigurableFnLength) {
- spy = Object.defineProperty(spyLogic, 'length', { value: fn.length, writable: false, enumerable: false, configurable: true });
- } else {
- spy = new Function('spy', 'return function(' + // eslint-disable-line no-new-func
- [].concat(_toConsumableArray(Array(fn.length))).map(function (_, i) {
- return '_' + i;
- }).join(',') + ') {\n return spy.apply(this, arguments)\n }')(spyLogic);
- }
-
- spy.calls = [];
-
- spy.andCall = function (otherFn) {
- targetFn = otherFn;
- return spy;
- };
-
- spy.andCallThrough = function () {
- return spy.andCall(fn);
- };
-
- spy.andThrow = function (value) {
- thrownValue = value;
- return spy;
- };
-
- spy.andReturn = function (value) {
- returnValue = value;
- return spy;
- };
-
- spy.getLastCall = function () {
- return spy.calls[spy.calls.length - 1];
- };
-
- spy.reset = function () {
- spy.calls = [];
- };
-
- spy.restore = spy.destroy = restore;
-
- spy.__isSpy = true;
-
- spies.push(spy);
-
- return spy;
- };
-
- var spyOn = exports.spyOn = function spyOn(object, methodName) {
- var original = object[methodName];
-
- if (!isSpy(original)) {
- (0, _assert2.default)((0, _TestUtils.isFunction)(original), 'Cannot spyOn the %s property; it is not a function', methodName);
-
- object[methodName] = createSpy(original, function () {
- object[methodName] = original;
- });
- }
-
- return object[methodName];
- };
-
-/***/ },
-/* 15 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- var keys = __webpack_require__(16);
- var foreach = __webpack_require__(18);
- var hasSymbols = typeof Symbol === 'function' && typeof Symbol() === 'symbol';
-
- var toStr = Object.prototype.toString;
-
- var isFunction = function (fn) {
- return typeof fn === 'function' && toStr.call(fn) === '[object Function]';
- };
-
- var arePropertyDescriptorsSupported = function () {
- var obj = {};
- try {
- Object.defineProperty(obj, 'x', { enumerable: false, value: obj });
- /* eslint-disable no-unused-vars, no-restricted-syntax */
- for (var _ in obj) { return false; }
- /* eslint-enable no-unused-vars, no-restricted-syntax */
- return obj.x === obj;
- } catch (e) { /* this is IE 8. */
- return false;
- }
- };
- var supportsDescriptors = Object.defineProperty && arePropertyDescriptorsSupported();
-
- var defineProperty = function (object, name, value, predicate) {
- if (name in object && (!isFunction(predicate) || !predicate())) {
- return;
- }
- if (supportsDescriptors) {
- Object.defineProperty(object, name, {
- configurable: true,
- enumerable: false,
- value: value,
- writable: true
- });
- } else {
- object[name] = value;
- }
- };
-
- var defineProperties = function (object, map) {
- var predicates = arguments.length > 2 ? arguments[2] : {};
- var props = keys(map);
- if (hasSymbols) {
- props = props.concat(Object.getOwnPropertySymbols(map));
- }
- foreach(props, function (name) {
- defineProperty(object, name, map[name], predicates[name]);
- });
- };
-
- defineProperties.supportsDescriptors = !!supportsDescriptors;
-
- module.exports = defineProperties;
-
-
-/***/ },
-/* 16 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- // modified from https://github.com/es-shims/es5-shim
- var has = Object.prototype.hasOwnProperty;
- var toStr = Object.prototype.toString;
- var slice = Array.prototype.slice;
- var isArgs = __webpack_require__(17);
- var hasDontEnumBug = !({ toString: null }).propertyIsEnumerable('toString');
- var hasProtoEnumBug = function () {}.propertyIsEnumerable('prototype');
- var dontEnums = [
- 'toString',
- 'toLocaleString',
- 'valueOf',
- 'hasOwnProperty',
- 'isPrototypeOf',
- 'propertyIsEnumerable',
- 'constructor'
- ];
- var equalsConstructorPrototype = function (o) {
- var ctor = o.constructor;
- return ctor && ctor.prototype === o;
- };
- var blacklistedKeys = {
- $console: true,
- $frame: true,
- $frameElement: true,
- $frames: true,
- $parent: true,
- $self: true,
- $webkitIndexedDB: true,
- $webkitStorageInfo: true,
- $window: true
- };
- var hasAutomationEqualityBug = (function () {
- /* global window */
- if (typeof window === 'undefined') { return false; }
- for (var k in window) {
- try {
- if (!blacklistedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {
- try {
- equalsConstructorPrototype(window[k]);
- } catch (e) {
- return true;
- }
- }
- } catch (e) {
- return true;
- }
- }
- return false;
- }());
- var equalsConstructorPrototypeIfNotBuggy = function (o) {
- /* global window */
- if (typeof window === 'undefined' || !hasAutomationEqualityBug) {
- return equalsConstructorPrototype(o);
- }
- try {
- return equalsConstructorPrototype(o);
- } catch (e) {
- return false;
- }
- };
-
- var keysShim = function keys(object) {
- var isObject = object !== null && typeof object === 'object';
- var isFunction = toStr.call(object) === '[object Function]';
- var isArguments = isArgs(object);
- var isString = isObject && toStr.call(object) === '[object String]';
- var theKeys = [];
-
- if (!isObject && !isFunction && !isArguments) {
- throw new TypeError('Object.keys called on a non-object');
- }
-
- var skipProto = hasProtoEnumBug && isFunction;
- if (isString && object.length > 0 && !has.call(object, 0)) {
- for (var i = 0; i < object.length; ++i) {
- theKeys.push(String(i));
- }
- }
-
- if (isArguments && object.length > 0) {
- for (var j = 0; j < object.length; ++j) {
- theKeys.push(String(j));
- }
- } else {
- for (var name in object) {
- if (!(skipProto && name === 'prototype') && has.call(object, name)) {
- theKeys.push(String(name));
- }
- }
- }
-
- if (hasDontEnumBug) {
- var skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);
-
- for (var k = 0; k < dontEnums.length; ++k) {
- if (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {
- theKeys.push(dontEnums[k]);
- }
- }
- }
- return theKeys;
- };
-
- keysShim.shim = function shimObjectKeys() {
- if (Object.keys) {
- var keysWorksWithArguments = (function () {
- // Safari 5.0 bug
- return (Object.keys(arguments) || '').length === 2;
- }(1, 2));
- if (!keysWorksWithArguments) {
- var originalKeys = Object.keys;
- Object.keys = function keys(object) {
- if (isArgs(object)) {
- return originalKeys(slice.call(object));
- } else {
- return originalKeys(object);
- }
- };
- }
- } else {
- Object.keys = keysShim;
- }
- return Object.keys || keysShim;
- };
-
- module.exports = keysShim;
-
-
-/***/ },
-/* 17 */
-/***/ function(module, exports) {
-
- 'use strict';
-
- var toStr = Object.prototype.toString;
-
- module.exports = function isArguments(value) {
- var str = toStr.call(value);
- var isArgs = str === '[object Arguments]';
- if (!isArgs) {
- isArgs = str !== '[object Array]' &&
- value !== null &&
- typeof value === 'object' &&
- typeof value.length === 'number' &&
- value.length >= 0 &&
- toStr.call(value.callee) === '[object Function]';
- }
- return isArgs;
- };
-
-
-/***/ },
-/* 18 */
-/***/ function(module, exports) {
-
-
- var hasOwn = Object.prototype.hasOwnProperty;
- var toString = Object.prototype.toString;
-
- module.exports = function forEach (obj, fn, ctx) {
- if (toString.call(fn) !== '[object Function]') {
- throw new TypeError('iterator must be a function');
- }
- var l = obj.length;
- if (l === +l) {
- for (var i = 0; i < l; i++) {
- fn.call(ctx, obj[i], i, obj);
- }
- } else {
- for (var k in obj) {
- if (hasOwn.call(obj, k)) {
- fn.call(ctx, obj[k], k, obj);
- }
- }
- }
- };
-
-
-
-/***/ },
-/* 19 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.stringContains = exports.objectContains = exports.arrayContains = exports.functionThrows = exports.isA = exports.isObject = exports.isArray = exports.isFunction = exports.isEqual = exports.whyNotEqual = undefined;
-
- var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
-
- var _isRegex = __webpack_require__(11);
-
- var _isRegex2 = _interopRequireDefault(_isRegex);
-
- var _why = __webpack_require__(20);
-
- var _why2 = _interopRequireDefault(_why);
-
- var _objectKeys = __webpack_require__(16);
-
- var _objectKeys2 = _interopRequireDefault(_objectKeys);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- /**
- * Returns the reason why the given arguments are not *conceptually*
- * equal, if any; the empty string otherwise.
- */
- var whyNotEqual = exports.whyNotEqual = function whyNotEqual(a, b) {
- return a == b ? '' : (0, _why2.default)(a, b);
- };
-
- /**
- * Returns true if the given arguments are *conceptually* equal.
- */
- var isEqual = exports.isEqual = function isEqual(a, b) {
- return whyNotEqual(a, b) === '';
- };
-
- /**
- * Returns true if the given object is a function.
- */
- var isFunction = exports.isFunction = function isFunction(object) {
- return typeof object === 'function';
- };
-
- /**
- * Returns true if the given object is an array.
- */
- var isArray = exports.isArray = function isArray(object) {
- return Array.isArray(object);
- };
-
- /**
- * Returns true if the given object is an object.
- */
- var isObject = exports.isObject = function isObject(object) {
- return object && !isArray(object) && (typeof object === 'undefined' ? 'undefined' : _typeof(object)) === 'object';
- };
-
- /**
- * Returns true if the given object is an instanceof value
- * or its typeof is the given value.
- */
- var isA = exports.isA = function isA(object, value) {
- if (isFunction(value)) return object instanceof value;
-
- if (value === 'array') return Array.isArray(object);
-
- return (typeof object === 'undefined' ? 'undefined' : _typeof(object)) === value;
- };
-
- /**
- * Returns true if the given function throws the given value
- * when invoked. The value may be:
- *
- * - undefined, to merely assert there was a throw
- * - a constructor function, for comparing using instanceof
- * - a regular expression, to compare with the error message
- * - a string, to find in the error message
- */
- var functionThrows = exports.functionThrows = function functionThrows(fn, context, args, value) {
- try {
- fn.apply(context, args);
- } catch (error) {
- if (value == null) return true;
-
- if (isFunction(value) && error instanceof value) return true;
-
- var message = error.message || error;
-
- if (typeof message === 'string') {
- if ((0, _isRegex2.default)(value) && value.test(error.message)) return true;
-
- if (typeof value === 'string' && message.indexOf(value) !== -1) return true;
- }
- }
-
- return false;
- };
-
- /**
- * Returns true if the given array contains the value, false
- * otherwise. The compareValues function must return false to
- * indicate a non-match.
- */
- var arrayContains = exports.arrayContains = function arrayContains(array, value, compareValues) {
- return array.some(function (item) {
- return compareValues(item, value) !== false;
- });
- };
-
- var ownEnumerableKeys = function ownEnumerableKeys(object) {
- if ((typeof Reflect === 'undefined' ? 'undefined' : _typeof(Reflect)) === 'object' && typeof Reflect.ownKeys === 'function') {
- return Reflect.ownKeys(object).filter(function (key) {
- return Object.getOwnPropertyDescriptor(object, key).enumerable;
- });
- }
-
- if (typeof Object.getOwnPropertySymbols === 'function') {
- return Object.getOwnPropertySymbols(object).filter(function (key) {
- return Object.getOwnPropertyDescriptor(object, key).enumerable;
- }).concat((0, _objectKeys2.default)(object));
- }
-
- return (0, _objectKeys2.default)(object);
- };
-
- /**
- * Returns true if the given object contains the value, false
- * otherwise. The compareValues function must return false to
- * indicate a non-match.
- */
- var objectContains = exports.objectContains = function objectContains(object, value, compareValues) {
- return ownEnumerableKeys(value).every(function (k) {
- if (isObject(object[k]) && isObject(value[k])) return objectContains(object[k], value[k], compareValues);
-
- return compareValues(object[k], value[k]);
- });
- };
-
- /**
- * Returns true if the given string contains the value, false otherwise.
- */
- var stringContains = exports.stringContains = function stringContains(string, value) {
- return string.indexOf(value) !== -1;
- };
-
-/***/ },
-/* 20 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- var ObjectPrototype = Object.prototype;
- var toStr = ObjectPrototype.toString;
- var booleanValue = Boolean.prototype.valueOf;
- var has = __webpack_require__(2);
- var isArrowFunction = __webpack_require__(21);
- var isBoolean = __webpack_require__(23);
- var isDate = __webpack_require__(24);
- var isGenerator = __webpack_require__(25);
- var isNumber = __webpack_require__(26);
- var isRegex = __webpack_require__(11);
- var isString = __webpack_require__(27);
- var isSymbol = __webpack_require__(28);
- var isCallable = __webpack_require__(22);
-
- var isProto = Object.prototype.isPrototypeOf;
-
- var foo = function foo() {};
- var functionsHaveNames = foo.name === 'foo';
-
- var symbolValue = typeof Symbol === 'function' ? Symbol.prototype.valueOf : null;
- var symbolIterator = __webpack_require__(29)();
-
- var collectionsForEach = __webpack_require__(30)();
-
- var getPrototypeOf = Object.getPrototypeOf;
- if (!getPrototypeOf) {
- /* eslint-disable no-proto */
- if (typeof 'test'.__proto__ === 'object') {
- getPrototypeOf = function (obj) {
- return obj.__proto__;
- };
- } else {
- getPrototypeOf = function (obj) {
- var constructor = obj.constructor,
- oldConstructor;
- if (has(obj, 'constructor')) {
- oldConstructor = constructor;
- if (!(delete obj.constructor)) { // reset constructor
- return null; // can't delete obj.constructor, return null
- }
- constructor = obj.constructor; // get real constructor
- obj.constructor = oldConstructor; // restore constructor
- }
- return constructor ? constructor.prototype : ObjectPrototype; // needed for IE
- };
- }
- /* eslint-enable no-proto */
- }
-
- var isArray = Array.isArray || function (value) {
- return toStr.call(value) === '[object Array]';
- };
-
- var normalizeFnWhitespace = function normalizeFnWhitespace(fnStr) {
- // this is needed in IE 9, at least, which has inconsistencies here.
- return fnStr.replace(/^function ?\(/, 'function (').replace('){', ') {');
- };
-
- var tryMapSetEntries = function tryMapSetEntries(collection) {
- var foundEntries = [];
- try {
- collectionsForEach.Map.call(collection, function (key, value) {
- foundEntries.push([key, value]);
- });
- } catch (notMap) {
- try {
- collectionsForEach.Set.call(collection, function (value) {
- foundEntries.push([value]);
- });
- } catch (notSet) {
- return false;
- }
- }
- return foundEntries;
- };
-
- module.exports = function whyNotEqual(value, other) {
- if (value === other) { return ''; }
- if (value == null || other == null) {
- return value === other ? '' : String(value) + ' !== ' + String(other);
- }
-
- var valToStr = toStr.call(value);
- var otherToStr = toStr.call(value);
- if (valToStr !== otherToStr) {
- return 'toStringTag is not the same: ' + valToStr + ' !== ' + otherToStr;
- }
-
- var valIsBool = isBoolean(value);
- var otherIsBool = isBoolean(other);
- if (valIsBool || otherIsBool) {
- if (!valIsBool) { return 'first argument is not a boolean; second argument is'; }
- if (!otherIsBool) { return 'second argument is not a boolean; first argument is'; }
- var valBoolVal = booleanValue.call(value);
- var otherBoolVal = booleanValue.call(other);
- if (valBoolVal === otherBoolVal) { return ''; }
- return 'primitive value of boolean arguments do not match: ' + valBoolVal + ' !== ' + otherBoolVal;
- }
-
- var valIsNumber = isNumber(value);
- var otherIsNumber = isNumber(value);
- if (valIsNumber || otherIsNumber) {
- if (!valIsNumber) { return 'first argument is not a number; second argument is'; }
- if (!otherIsNumber) { return 'second argument is not a number; first argument is'; }
- var valNum = Number(value);
- var otherNum = Number(other);
- if (valNum === otherNum) { return ''; }
- var valIsNaN = isNaN(value);
- var otherIsNaN = isNaN(other);
- if (valIsNaN && !otherIsNaN) {
- return 'first argument is NaN; second is not';
- } else if (!valIsNaN && otherIsNaN) {
- return 'second argument is NaN; first is not';
- } else if (valIsNaN && otherIsNaN) {
- return '';
- }
- return 'numbers are different: ' + value + ' !== ' + other;
- }
-
- var valIsString = isString(value);
- var otherIsString = isString(other);
- if (valIsString || otherIsString) {
- if (!valIsString) { return 'second argument is string; first is not'; }
- if (!otherIsString) { return 'first argument is string; second is not'; }
- var stringVal = String(value);
- var otherVal = String(other);
- if (stringVal === otherVal) { return ''; }
- return 'string values are different: "' + stringVal + '" !== "' + otherVal + '"';
- }
-
- var valIsDate = isDate(value);
- var otherIsDate = isDate(other);
- if (valIsDate || otherIsDate) {
- if (!valIsDate) { return 'second argument is Date, first is not'; }
- if (!otherIsDate) { return 'first argument is Date, second is not'; }
- var valTime = +value;
- var otherTime = +other;
- if (valTime === otherTime) { return ''; }
- return 'Dates have different time values: ' + valTime + ' !== ' + otherTime;
- }
-
- var valIsRegex = isRegex(value);
- var otherIsRegex = isRegex(other);
- if (valIsRegex || otherIsRegex) {
- if (!valIsRegex) { return 'second argument is RegExp, first is not'; }
- if (!otherIsRegex) { return 'first argument is RegExp, second is not'; }
- var regexStringVal = String(value);
- var regexStringOther = String(other);
- if (regexStringVal === regexStringOther) { return ''; }
- return 'regular expressions differ: ' + regexStringVal + ' !== ' + regexStringOther;
- }
-
- var valIsArray = isArray(value);
- var otherIsArray = isArray(other);
- if (valIsArray || otherIsArray) {
- if (!valIsArray) { return 'second argument is an Array, first is not'; }
- if (!otherIsArray) { return 'first argument is an Array, second is not'; }
- if (value.length !== other.length) {
- return 'arrays have different length: ' + value.length + ' !== ' + other.length;
- }
- if (String(value) !== String(other)) { return 'stringified Arrays differ'; }
-
- var index = value.length - 1;
- var equal = '';
- var valHasIndex, otherHasIndex;
- while (equal === '' && index >= 0) {
- valHasIndex = has(value, index);
- otherHasIndex = has(other, index);
- if (!valHasIndex && otherHasIndex) { return 'second argument has index ' + index + '; first does not'; }
- if (valHasIndex && !otherHasIndex) { return 'first argument has index ' + index + '; second does not'; }
- equal = whyNotEqual(value[index], other[index]);
- index -= 1;
- }
- return equal;
- }
-
- var valueIsSym = isSymbol(value);
- var otherIsSym = isSymbol(other);
- if (valueIsSym !== otherIsSym) {
- if (valueIsSym) { return 'first argument is Symbol; second is not'; }
- return 'second argument is Symbol; first is not';
- }
- if (valueIsSym && otherIsSym) {
- return symbolValue.call(value) === symbolValue.call(other) ? '' : 'first Symbol value !== second Symbol value';
- }
-
- var valueIsGen = isGenerator(value);
- var otherIsGen = isGenerator(other);
- if (valueIsGen !== otherIsGen) {
- if (valueIsGen) { return 'first argument is a Generator; second is not'; }
- return 'second argument is a Generator; first is not';
- }
-
- var valueIsArrow = isArrowFunction(value);
- var otherIsArrow = isArrowFunction(other);
- if (valueIsArrow !== otherIsArrow) {
- if (valueIsArrow) { return 'first argument is an Arrow function; second is not'; }
- return 'second argument is an Arrow function; first is not';
- }
-
- if (isCallable(value) || isCallable(other)) {
- if (functionsHaveNames && whyNotEqual(value.name, other.name) !== '') {
- return 'Function names differ: "' + value.name + '" !== "' + other.name + '"';
- }
- if (whyNotEqual(value.length, other.length) !== '') {
- return 'Function lengths differ: ' + value.length + ' !== ' + other.length;
- }
-
- var valueStr = normalizeFnWhitespace(String(value));
- var otherStr = normalizeFnWhitespace(String(other));
- if (whyNotEqual(valueStr, otherStr) === '') { return ''; }
-
- if (!valueIsGen && !valueIsArrow) {
- return whyNotEqual(valueStr.replace(/\)\s*\{/, '){'), otherStr.replace(/\)\s*\{/, '){')) === '' ? '' : 'Function string representations differ';
- }
- return whyNotEqual(valueStr, otherStr) === '' ? '' : 'Function string representations differ';
- }
-
- if (typeof value === 'object' || typeof other === 'object') {
- if (typeof value !== typeof other) { return 'arguments have a different typeof: ' + typeof value + ' !== ' + typeof other; }
- if (isProto.call(value, other)) { return 'first argument is the [[Prototype]] of the second'; }
- if (isProto.call(other, value)) { return 'second argument is the [[Prototype]] of the first'; }
- if (getPrototypeOf(value) !== getPrototypeOf(other)) { return 'arguments have a different [[Prototype]]'; }
-
- if (symbolIterator) {
- var valueIteratorFn = value[symbolIterator];
- var valueIsIterable = isCallable(valueIteratorFn);
- var otherIteratorFn = other[symbolIterator];
- var otherIsIterable = isCallable(otherIteratorFn);
- if (valueIsIterable !== otherIsIterable) {
- if (valueIsIterable) { return 'first argument is iterable; second is not'; }
- return 'second argument is iterable; first is not';
- }
- if (valueIsIterable && otherIsIterable) {
- var valueIterator = valueIteratorFn.call(value);
- var otherIterator = otherIteratorFn.call(other);
- var valueNext, otherNext, nextWhy;
- do {
- valueNext = valueIterator.next();
- otherNext = otherIterator.next();
- if (!valueNext.done && !otherNext.done) {
- nextWhy = whyNotEqual(valueNext, otherNext);
- if (nextWhy !== '') {
- return 'iteration results are not equal: ' + nextWhy;
- }
- }
- } while (!valueNext.done && !otherNext.done);
- if (valueNext.done && !otherNext.done) { return 'first argument finished iterating before second'; }
- if (!valueNext.done && otherNext.done) { return 'second argument finished iterating before first'; }
- return '';
- }
- } else if (collectionsForEach.Map || collectionsForEach.Set) {
- var valueEntries = tryMapSetEntries(value);
- var otherEntries = tryMapSetEntries(other);
- var valueEntriesIsArray = isArray(valueEntries);
- var otherEntriesIsArray = isArray(otherEntries);
- if (valueEntriesIsArray && !otherEntriesIsArray) { return 'first argument has Collection entries, second does not'; }
- if (!valueEntriesIsArray && otherEntriesIsArray) { return 'second argument has Collection entries, first does not'; }
- if (valueEntriesIsArray && otherEntriesIsArray) {
- var entriesWhy = whyNotEqual(valueEntries, otherEntries);
- return entriesWhy === '' ? '' : 'Collection entries differ: ' + entriesWhy;
- }
- }
-
- var key, valueKeyIsRecursive, otherKeyIsRecursive, keyWhy;
- for (key in value) {
- if (has(value, key)) {
- if (!has(other, key)) { return 'first argument has key "' + key + '"; second does not'; }
- valueKeyIsRecursive = value[key] && value[key][key] === value;
- otherKeyIsRecursive = other[key] && other[key][key] === other;
- if (valueKeyIsRecursive !== otherKeyIsRecursive) {
- if (valueKeyIsRecursive) { return 'first argument has a circular reference at key "' + key + '"; second does not'; }
- return 'second argument has a circular reference at key "' + key + '"; first does not';
- }
- if (!valueKeyIsRecursive && !otherKeyIsRecursive) {
- keyWhy = whyNotEqual(value[key], other[key]);
- if (keyWhy !== '') {
- return 'value at key "' + key + '" differs: ' + keyWhy;
- }
- }
- }
- }
- for (key in other) {
- if (has(other, key) && !has(value, key)) { return 'second argument has key "' + key + '"; first does not'; }
- }
- return '';
- }
-
- return false;
- };
-
-
-/***/ },
-/* 21 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- var isCallable = __webpack_require__(22);
- var fnToStr = Function.prototype.toString;
- var isNonArrowFnRegex = /^\s*function/;
- var isArrowFnWithParensRegex = /^\([^\)]*\) *=>/;
- var isArrowFnWithoutParensRegex = /^[^=]*=>/;
-
- module.exports = function isArrowFunction(fn) {
- if (!isCallable(fn)) { return false; }
- var fnStr = fnToStr.call(fn);
- return fnStr.length > 0 &&
- !isNonArrowFnRegex.test(fnStr) &&
- (isArrowFnWithParensRegex.test(fnStr) || isArrowFnWithoutParensRegex.test(fnStr));
- };
-
-
-/***/ },
-/* 22 */
-/***/ function(module, exports) {
-
- 'use strict';
-
- var fnToStr = Function.prototype.toString;
-
- var constructorRegex = /^\s*class /;
- var isES6ClassFn = function isES6ClassFn(value) {
- try {
- var fnStr = fnToStr.call(value);
- var singleStripped = fnStr.replace(/\/\/.*\n/g, '');
- var multiStripped = singleStripped.replace(/\/\*[.\s\S]*\*\//g, '');
- var spaceStripped = multiStripped.replace(/\n/mg, ' ').replace(/ {2}/g, ' ');
- return constructorRegex.test(spaceStripped);
- } catch (e) {
- return false; // not a function
- }
- };
-
- var tryFunctionObject = function tryFunctionObject(value) {
- try {
- if (isES6ClassFn(value)) { return false; }
- fnToStr.call(value);
- return true;
- } catch (e) {
- return false;
- }
- };
- var toStr = Object.prototype.toString;
- var fnClass = '[object Function]';
- var genClass = '[object GeneratorFunction]';
- var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
-
- module.exports = function isCallable(value) {
- if (!value) { return false; }
- if (typeof value !== 'function' && typeof value !== 'object') { return false; }
- if (hasToStringTag) { return tryFunctionObject(value); }
- if (isES6ClassFn(value)) { return false; }
- var strClass = toStr.call(value);
- return strClass === fnClass || strClass === genClass;
- };
-
-
-/***/ },
-/* 23 */
-/***/ function(module, exports) {
-
- 'use strict';
-
- var boolToStr = Boolean.prototype.toString;
-
- var tryBooleanObject = function tryBooleanObject(value) {
- try {
- boolToStr.call(value);
- return true;
- } catch (e) {
- return false;
- }
- };
- var toStr = Object.prototype.toString;
- var boolClass = '[object Boolean]';
- var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
-
- module.exports = function isBoolean(value) {
- if (typeof value === 'boolean') { return true; }
- if (typeof value !== 'object') { return false; }
- return hasToStringTag ? tryBooleanObject(value) : toStr.call(value) === boolClass;
- };
-
-
-/***/ },
-/* 24 */
-/***/ function(module, exports) {
-
- 'use strict';
-
- var getDay = Date.prototype.getDay;
- var tryDateObject = function tryDateObject(value) {
- try {
- getDay.call(value);
- return true;
- } catch (e) {
- return false;
- }
- };
-
- var toStr = Object.prototype.toString;
- var dateClass = '[object Date]';
- var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
-
- module.exports = function isDateObject(value) {
- if (typeof value !== 'object' || value === null) { return false; }
- return hasToStringTag ? tryDateObject(value) : toStr.call(value) === dateClass;
- };
-
-
-/***/ },
-/* 25 */
-/***/ function(module, exports) {
-
- 'use strict';
-
- var toStr = Object.prototype.toString;
- var fnToStr = Function.prototype.toString;
- var isFnRegex = /^\s*function\*/;
-
- module.exports = function isGeneratorFunction(fn) {
- if (typeof fn !== 'function') { return false; }
- var fnStr = toStr.call(fn);
- return (fnStr === '[object Function]' || fnStr === '[object GeneratorFunction]') && isFnRegex.test(fnToStr.call(fn));
- };
-
-
-
-/***/ },
-/* 26 */
-/***/ function(module, exports) {
-
- 'use strict';
-
- var numToStr = Number.prototype.toString;
- var tryNumberObject = function tryNumberObject(value) {
- try {
- numToStr.call(value);
- return true;
- } catch (e) {
- return false;
- }
- };
- var toStr = Object.prototype.toString;
- var numClass = '[object Number]';
- var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
-
- module.exports = function isNumberObject(value) {
- if (typeof value === 'number') { return true; }
- if (typeof value !== 'object') { return false; }
- return hasToStringTag ? tryNumberObject(value) : toStr.call(value) === numClass;
- };
-
-
-/***/ },
-/* 27 */
-/***/ function(module, exports) {
-
- 'use strict';
-
- var strValue = String.prototype.valueOf;
- var tryStringObject = function tryStringObject(value) {
- try {
- strValue.call(value);
- return true;
- } catch (e) {
- return false;
- }
- };
- var toStr = Object.prototype.toString;
- var strClass = '[object String]';
- var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
-
- module.exports = function isString(value) {
- if (typeof value === 'string') { return true; }
- if (typeof value !== 'object') { return false; }
- return hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass;
- };
-
-
-/***/ },
-/* 28 */
-/***/ function(module, exports) {
-
- 'use strict';
-
- var toStr = Object.prototype.toString;
- var hasSymbols = typeof Symbol === 'function' && typeof Symbol() === 'symbol';
-
- if (hasSymbols) {
- var symToStr = Symbol.prototype.toString;
- var symStringRegex = /^Symbol\(.*\)$/;
- var isSymbolObject = function isSymbolObject(value) {
- if (typeof value.valueOf() !== 'symbol') { return false; }
- return symStringRegex.test(symToStr.call(value));
- };
- module.exports = function isSymbol(value) {
- if (typeof value === 'symbol') { return true; }
- if (toStr.call(value) !== '[object Symbol]') { return false; }
- try {
- return isSymbolObject(value);
- } catch (e) {
- return false;
- }
- };
- } else {
- module.exports = function isSymbol(value) {
- // this environment does not support Symbols.
- return false;
- };
- }
-
-
-/***/ },
-/* 29 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- var isSymbol = __webpack_require__(28);
-
- module.exports = function getSymbolIterator() {
- var symbolIterator = typeof Symbol === 'function' && isSymbol(Symbol.iterator) ? Symbol.iterator : null;
-
- if (typeof Object.getOwnPropertyNames === 'function' && typeof Map === 'function' && typeof Map.prototype.entries === 'function') {
- Object.getOwnPropertyNames(Map.prototype).forEach(function (name) {
- if (name !== 'entries' && name !== 'size' && Map.prototype[name] === Map.prototype.entries) {
- symbolIterator = name;
- }
- });
- }
-
- return symbolIterator;
- };
-
-
-/***/ },
-/* 30 */
-/***/ function(module, exports) {
-
- 'use strict';
-
- module.exports = function () {
- var mapForEach = (function () {
- if (typeof Map !== 'function') { return null; }
- try {
- Map.prototype.forEach.call({}, function () {});
- } catch (e) {
- return Map.prototype.forEach;
- }
- return null;
- }());
-
- var setForEach = (function () {
- if (typeof Set !== 'function') { return null; }
- try {
- Set.prototype.forEach.call({}, function () {});
- } catch (e) {
- return Set.prototype.forEach;
- }
- return null;
- }());
-
- return { Map: mapForEach, Set: setForEach };
- };
-
-
-/***/ },
-/* 31 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
-
- var _Expectation = __webpack_require__(1);
-
- var _Expectation2 = _interopRequireDefault(_Expectation);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- var Extensions = [];
-
- function extend(extension) {
- if (Extensions.indexOf(extension) === -1) {
- Extensions.push(extension);
-
- for (var p in extension) {
- if (extension.hasOwnProperty(p)) _Expectation2.default.prototype[p] = extension[p];
- }
- }
- }
-
- exports.default = extend;
-
-/***/ }
-/******/ ])
-});
-;
\ No newline at end of file
diff --git a/node_modules/expect/umd/expect.min.js b/node_modules/expect/umd/expect.min.js
deleted file mode 100644
index c9b2049..0000000
--- a/node_modules/expect/umd/expect.min.js
+++ /dev/null
@@ -1,8 +0,0 @@
-!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.expect=e():t.expect=e()}(this,function(){return function(t){function e(n){if(r[n])return r[n].exports;var o=r[n]={exports:{},id:n,loaded:!1};return t[n].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}function o(t){return new u["default"](t)}var i=r(3),u=n(i),a=r(4),s=r(1),c=n(s),f=r(11),l=n(f);o.createSpy=a.createSpy,o.spyOn=a.spyOn,o.isSpy=a.isSpy,o.restoreSpies=a.restoreSpies,o.assert=c["default"],o.extend=l["default"],t.exports=o},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var o=r(28),i=n(o),u=function(t,e){var r=0;return t.replace(/%s/g,function(){return(0,i["default"])(e[r++])})},a=function(t,e){for(var r=arguments.length,n=Array(r>2?r-2:0),o=2;r>o;o++)n[o-2]=arguments[o];if(!t){var i="string"==typeof e?u(e,n):e(n);throw new Error(i)}};e["default"]=a},function(t,e){"use strict";var r=RegExp.prototype.exec,n=function(t){try{return r.call(t),!0}catch(e){return!1}},o=Object.prototype.toString,i="[object RegExp]",u="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;t.exports=function(t){return"object"!=typeof t?!1:u?n(t):o.call(t)===i}},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},u=function(){function t(t,e){for(var r=0;rt,e||"Expected %s to be greater than %s",this.actual,t),this}},{key:"toBeGreaterThanOrEqualTo",value:function(t,e){return(0,y["default"])("number"==typeof this.actual,'The "actual" argument in expect(actual).toBeGreaterThanOrEqualTo() must be a number'),(0,y["default"])("number"==typeof t,'The "value" argument in toBeGreaterThanOrEqualTo(value) must be a number'),(0,y["default"])(this.actual>=t,e||"Expected %s to be greater than or equal to %s",this.actual,t),this}},{key:"toInclude",value:function(t,e,r){"string"==typeof e&&(r=e,e=null),null==e&&(e=d.isEqual);var n=!1;return(0,d.isArray)(this.actual)?n=(0,d.arrayContains)(this.actual,t,e):(0,d.isObject)(this.actual)?n=(0,d.objectContains)(this.actual,t,e):"string"==typeof this.actual?n=(0,d.stringContains)(this.actual,t):(0,y["default"])(!1,'The "actual" argument in expect(actual).toInclude() must be an array, object, or a string'),(0,y["default"])(n,r||"Expected %s to include %s",this.actual,t),this}},{key:"toExclude",value:function(t,e,r){"string"==typeof e&&(r=e,e=null),null==e&&(e=d.isEqual);var n=!1;return(0,d.isArray)(this.actual)?n=(0,d.arrayContains)(this.actual,t,e):(0,d.isObject)(this.actual)?n=(0,d.objectContains)(this.actual,t,e):"string"==typeof this.actual?n=(0,d.stringContains)(this.actual,t):(0,y["default"])(!1,'The "actual" argument in expect(actual).toExclude() must be an array, object, or a string'),(0,y["default"])(!n,r||"Expected %s to exclude %s",this.actual,t),this}},{key:"toIncludeKeys",value:function(t,e,r){var n=this;"string"==typeof e&&(r=e,e=null),null==e&&(e=s["default"]),(0,y["default"])("object"===i(this.actual),'The "actual" argument in expect(actual).toIncludeKeys() must be an object, not %s',this.actual),(0,y["default"])((0,d.isArray)(t),'The "keys" argument in expect(actual).toIncludeKeys(keys) must be an array, not %s',t);var o=t.every(function(t){return e(n.actual,t)});return(0,y["default"])(o,r||"Expected %s to include key(s) %s",this.actual,t.join(", ")),this}},{key:"toIncludeKey",value:function(t){for(var e=arguments.length,r=Array(e>1?e-1:0),n=1;e>n;n++)r[n-1]=arguments[n];return this.toIncludeKeys.apply(this,[[t]].concat(r))}},{key:"toExcludeKeys",value:function(t,e,r){var n=this;"string"==typeof e&&(r=e,e=null),null==e&&(e=s["default"]),(0,y["default"])("object"===i(this.actual),'The "actual" argument in expect(actual).toExcludeKeys() must be an object, not %s',this.actual),(0,y["default"])((0,d.isArray)(t),'The "keys" argument in expect(actual).toIncludeKeys(keys) must be an array, not %s',t);var o=t.every(function(t){return e(n.actual,t)});return(0,y["default"])(!o,r||"Expected %s to exclude key(s) %s",this.actual,t.join(", ")),this}},{key:"toExcludeKey",value:function(t){for(var e=arguments.length,r=Array(e>1?e-1:0),n=1;e>n;n++)r[n-1]=arguments[n];return this.toExcludeKeys.apply(this,[[t]].concat(r))}},{key:"toHaveBeenCalled",value:function(t){var e=this.actual;return(0,y["default"])((0,g.isSpy)(e),'The "actual" argument in expect(actual).toHaveBeenCalled() must be a spy'),(0,y["default"])(e.calls.length>0,t||"spy was not called"),this}},{key:"toHaveBeenCalledWith",value:function(){for(var t=arguments.length,e=Array(t),r=0;t>r;r++)e[r]=arguments[r];var n=this.actual;return(0,y["default"])((0,g.isSpy)(n),'The "actual" argument in expect(actual).toHaveBeenCalledWith() must be a spy'),(0,y["default"])(n.calls.some(function(t){return(0,d.isEqual)(t.arguments,e)}),"spy was never called with %s",e),this}},{key:"toNotHaveBeenCalled",value:function(t){var e=this.actual;return(0,y["default"])((0,g.isSpy)(e),'The "actual" argument in expect(actual).toNotHaveBeenCalled() must be a spy'),(0,y["default"])(0===e.calls.length,t||"spy was not supposed to be called"),this}}]),t}(),v=function(t,e){var r=!1;return function(){r||(r=!0,console.warn(e));for(var n=arguments.length,o=Array(n),i=0;n>i;i++)o[i]=arguments[i];return t.apply(this,o)}};b.prototype.withContext=v(function(t){return(0,y["default"])((0,d.isFunction)(this.actual),'The "actual" argument in expect(actual).withContext() must be a function'),this.context=t,this},"\nwithContext is deprecated; use a closure instead.\n\n expect(fn).withContext(context).toThrow()\n\nbecomes\n\n expect(() => fn.call(context)).toThrow()\n"),b.prototype.withArgs=v(function(){var t;return(0,y["default"])((0,d.isFunction)(this.actual),'The "actual" argument in expect(actual).withArgs() must be a function'),arguments.length&&(this.args=(t=this.args).concat.apply(t,arguments)),this},"\nwithArgs is deprecated; use a closure instead.\n\n expect(fn).withArgs(a, b, c).toThrow()\n\nbecomes\n\n expect(() => fn(a, b, c)).toThrow()\n");var m={toBeAn:"toBeA",toNotBeAn:"toNotBeA",toBeTruthy:"toExist",toBeFalsy:"toNotExist",toBeFewerThan:"toBeLessThan",toBeMoreThan:"toBeGreaterThan",toContain:"toInclude",toNotContain:"toExclude",toNotInclude:"toExclude",toContainKeys:"toIncludeKeys",toNotContainKeys:"toExcludeKeys",toNotIncludeKeys:"toExcludeKeys",toContainKey:"toIncludeKey",toNotContainKey:"toExcludeKey",toNotIncludeKey:"toExcludeKey"};for(var w in m)m.hasOwnProperty(w)&&(b.prototype[w]=b.prototype[m[w]]);e["default"]=b},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}function o(t){if(Array.isArray(t)){for(var e=0,r=Array(t.length);e=0;t--)h[t].restore();h=[]},e.createSpy=function(t){function e(){if(l.calls.push({context:this,arguments:Array.prototype.slice.call(arguments,0)}),n)return n.apply(this,arguments);if(i)throw i;return u}var r=arguments.length<=1||void 0===arguments[1]?c:arguments[1];null==t&&(t=c),(0,a["default"])((0,s.isFunction)(t),"createSpy needs a function");var n=void 0,i=void 0,u=void 0,l=void 0;return l=f?Object.defineProperty(e,"length",{value:t.length,writable:!1,enumerable:!1,configurable:!0}):new Function("spy","return function("+[].concat(o(Array(t.length))).map(function(t,e){return"_"+e}).join(",")+") {\n return spy.apply(this, arguments)\n }")(e),l.calls=[],l.andCall=function(t){return n=t,l},l.andCallThrough=function(){return l.andCall(t)},l.andThrow=function(t){return i=t,l},l.andReturn=function(t){return u=t,l},l.getLastCall=function(){return l.calls[l.calls.length-1]},l.reset=function(){l.calls=[]},l.restore=l.destroy=r,l.__isSpy=!0,h.push(l),l});e.spyOn=function(t,e){var r=t[e];return l(r)||((0,a["default"])((0,s.isFunction)(r),"Cannot spyOn the %s property; it is not a function",e),t[e]=p(r,function(){t[e]=r})),t[e]}},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0}),e.stringContains=e.objectContains=e.arrayContains=e.functionThrows=e.isA=e.isObject=e.isArray=e.isFunction=e.isEqual=e.whyNotEqual=void 0;var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},i=r(2),u=n(i),a=r(23),s=n(a),c=r(10),f=n(c),l=e.whyNotEqual=function(t,e){return t==e?"":(0,s["default"])(t,e)},h=(e.isEqual=function(t,e){return""===l(t,e)},e.isFunction=function(t){return"function"==typeof t}),p=e.isArray=function(t){return Array.isArray(t)},y=e.isObject=function(t){return t&&!p(t)&&"object"===("undefined"==typeof t?"undefined":o(t))},g=(e.isA=function(t,e){return h(e)?t instanceof e:"array"===e?Array.isArray(t):("undefined"==typeof t?"undefined":o(t))===e},e.functionThrows=function(t,e,r,n){try{t.apply(e,r)}catch(o){if(null==n)return!0;if(h(n)&&o instanceof n)return!0;var i=o.message||o;if("string"==typeof i){if((0,u["default"])(n)&&n.test(o.message))return!0;if("string"==typeof n&&-1!==i.indexOf(n))return!0}}return!1},e.arrayContains=function(t,e,r){return t.some(function(t){return r(t,e)!==!1})},function(t){return"object"===("undefined"==typeof Reflect?"undefined":o(Reflect))&&"function"==typeof Reflect.ownKeys?Reflect.ownKeys(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}):"function"==typeof Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}).concat((0,f["default"])(t)):(0,f["default"])(t)});e.objectContains=function d(t,e,r){return g(e).every(function(n){return y(t[n])&&y(e[n])?d(t[n],e[n],r):r(t[n],e[n])})},e.stringContains=function(t,e){return-1!==t.indexOf(e)}},function(t,e,r){(function(t,n){/*!
- * The buffer module from node.js, for the browser.
- *
- * @author Feross Aboukhadijeh
- * @license MIT
- */
-"use strict";function o(){function t(){}try{var e=new Uint8Array(1);return e.foo=function(){return 42},e.constructor=t,42===e.foo()&&e.constructor===t&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(r){return!1}}function i(){return t.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function t(e){return this instanceof t?(t.TYPED_ARRAY_SUPPORT||(this.length=0,this.parent=void 0),"number"==typeof e?u(this,e):"string"==typeof e?a(this,e,arguments.length>1?arguments[1]:"utf8"):s(this,e)):arguments.length>1?new t(e,arguments[1]):new t(e)}function u(e,r){if(e=g(e,0>r?0:0|d(r)),!t.TYPED_ARRAY_SUPPORT)for(var n=0;r>n;n++)e[n]=0;return e}function a(t,e,r){"string"==typeof r&&""!==r||(r="utf8");var n=0|v(e,r);return t=g(t,n),t.write(e,r),t}function s(e,r){if(t.isBuffer(r))return c(e,r);if(X(r))return f(e,r);if(null==r)throw new TypeError("must start with number, buffer, array or string");if("undefined"!=typeof ArrayBuffer){if(r.buffer instanceof ArrayBuffer)return l(e,r);if(r instanceof ArrayBuffer)return h(e,r)}return r.length?p(e,r):y(e,r)}function c(t,e){var r=0|d(e.length);return t=g(t,r),e.copy(t,0,0,r),t}function f(t,e){var r=0|d(e.length);t=g(t,r);for(var n=0;r>n;n+=1)t[n]=255&e[n];return t}function l(t,e){var r=0|d(e.length);t=g(t,r);for(var n=0;r>n;n+=1)t[n]=255&e[n];return t}function h(e,r){return t.TYPED_ARRAY_SUPPORT?(r.byteLength,e=t._augment(new Uint8Array(r))):e=l(e,new Uint8Array(r)),e}function p(t,e){var r=0|d(e.length);t=g(t,r);for(var n=0;r>n;n+=1)t[n]=255&e[n];return t}function y(t,e){var r,n=0;"Buffer"===e.type&&X(e.data)&&(r=e.data,n=0|d(r.length)),t=g(t,n);for(var o=0;n>o;o+=1)t[o]=255&r[o];return t}function g(e,r){t.TYPED_ARRAY_SUPPORT?(e=t._augment(new Uint8Array(r)),e.__proto__=t.prototype):(e.length=r,e._isBuffer=!0);var n=0!==r&&r<=t.poolSize>>>1;return n&&(e.parent=Z),e}function d(t){if(t>=i())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i().toString(16)+" bytes");return 0|t}function b(e,r){if(!(this instanceof b))return new b(e,r);var n=new t(e,r);return delete n.parent,n}function v(t,e){"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case"ascii":case"binary":case"raw":case"raws":return r;case"utf8":case"utf-8":return q(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return G(t).length;default:if(n)return q(t).length;e=(""+e).toLowerCase(),n=!0}}function m(t,e,r){var n=!1;if(e=0|e,r=void 0===r||r===1/0?this.length:0|r,t||(t="utf8"),0>e&&(e=0),r>this.length&&(r=this.length),e>=r)return"";for(;;)switch(t){case"hex":return P(this,e,r);case"utf8":case"utf-8":return O(this,e,r);case"ascii":return I(this,e,r);case"binary":return _(this,e,r);case"base64":return j(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function w(t,e,r,n){r=Number(r)||0;var o=t.length-r;n?(n=Number(n),n>o&&(n=o)):n=o;var i=e.length;if(i%2!==0)throw new Error("Invalid hex string");n>i/2&&(n=i/2);for(var u=0;n>u;u++){var a=parseInt(e.substr(2*u,2),16);if(isNaN(a))throw new Error("Invalid hex string");t[r+u]=a}return u}function E(t,e,r,n){return z(q(e,t.length-r),t,r,n)}function A(t,e,r,n){return z(K(e),t,r,n)}function T(t,e,r,n){return A(t,e,r,n)}function S(t,e,r,n){return z(G(e),t,r,n)}function x(t,e,r,n){return z($(e,t.length-r),t,r,n)}function j(t,e,r){return 0===e&&r===t.length?J.fromByteArray(t):J.fromByteArray(t.slice(e,r))}function O(t,e,r){r=Math.min(t.length,r);for(var n=[],o=e;r>o;){var i=t[o],u=null,a=i>239?4:i>223?3:i>191?2:1;if(r>=o+a){var s,c,f,l;switch(a){case 1:128>i&&(u=i);break;case 2:s=t[o+1],128===(192&s)&&(l=(31&i)<<6|63&s,l>127&&(u=l));break;case 3:s=t[o+1],c=t[o+2],128===(192&s)&&128===(192&c)&&(l=(15&i)<<12|(63&s)<<6|63&c,l>2047&&(55296>l||l>57343)&&(u=l));break;case 4:s=t[o+1],c=t[o+2],f=t[o+3],128===(192&s)&&128===(192&c)&&128===(192&f)&&(l=(15&i)<<18|(63&s)<<12|(63&c)<<6|63&f,l>65535&&1114112>l&&(u=l))}}null===u?(u=65533,a=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),o+=a}return B(n)}function B(t){var e=t.length;if(Q>=e)return String.fromCharCode.apply(String,t);for(var r="",n=0;e>n;)r+=String.fromCharCode.apply(String,t.slice(n,n+=Q));return r}function I(t,e,r){var n="";r=Math.min(t.length,r);for(var o=e;r>o;o++)n+=String.fromCharCode(127&t[o]);return n}function _(t,e,r){var n="";r=Math.min(t.length,r);for(var o=e;r>o;o++)n+=String.fromCharCode(t[o]);return n}function P(t,e,r){var n=t.length;(!e||0>e)&&(e=0),(!r||0>r||r>n)&&(r=n);for(var o="",i=e;r>i;i++)o+=H(t[i]);return o}function R(t,e,r){for(var n=t.slice(e,r),o="",i=0;it)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function M(e,r,n,o,i,u){if(!t.isBuffer(e))throw new TypeError("buffer must be a Buffer instance");if(r>i||u>r)throw new RangeError("value is out of bounds");if(n+o>e.length)throw new RangeError("index out of range")}function U(t,e,r,n){0>e&&(e=65535+e+1);for(var o=0,i=Math.min(t.length-r,2);i>o;o++)t[r+o]=(e&255<<8*(n?o:1-o))>>>8*(n?o:1-o)}function L(t,e,r,n){0>e&&(e=4294967295+e+1);for(var o=0,i=Math.min(t.length-r,4);i>o;o++)t[r+o]=e>>>8*(n?o:3-o)&255}function N(t,e,r,n,o,i){if(e>o||i>e)throw new RangeError("value is out of bounds");if(r+n>t.length)throw new RangeError("index out of range");if(0>r)throw new RangeError("index out of range")}function k(t,e,r,n,o){return o||N(t,e,r,4,3.4028234663852886e38,-3.4028234663852886e38),W.write(t,e,r,n,23,4),r+4}function D(t,e,r,n,o){return o||N(t,e,r,8,1.7976931348623157e308,-1.7976931348623157e308),W.write(t,e,r,n,52,8),r+8}function F(t){if(t=Y(t).replace(tt,""),t.length<2)return"";for(;t.length%4!==0;)t+="=";return t}function Y(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function H(t){return 16>t?"0"+t.toString(16):t.toString(16)}function q(t,e){e=e||1/0;for(var r,n=t.length,o=null,i=[],u=0;n>u;u++){if(r=t.charCodeAt(u),r>55295&&57344>r){if(!o){if(r>56319){(e-=3)>-1&&i.push(239,191,189);continue}if(u+1===n){(e-=3)>-1&&i.push(239,191,189);continue}o=r;continue}if(56320>r){(e-=3)>-1&&i.push(239,191,189),o=r;continue}r=(o-55296<<10|r-56320)+65536}else o&&(e-=3)>-1&&i.push(239,191,189);if(o=null,128>r){if((e-=1)<0)break;i.push(r)}else if(2048>r){if((e-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(65536>r){if((e-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(1114112>r))throw new Error("Invalid code point");if((e-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function K(t){for(var e=[],r=0;r>8,o=r%256,i.push(o),i.push(n);return i}function G(t){return J.toByteArray(F(t))}function z(t,e,r,n){for(var o=0;n>o&&!(o+r>=e.length||o>=t.length);o++)e[o+r]=t[o];return o}var J=r(12),W=r(17),X=r(27);e.Buffer=t,e.SlowBuffer=b,e.INSPECT_MAX_BYTES=50,t.poolSize=8192;var Z={};t.TYPED_ARRAY_SUPPORT=void 0!==n.TYPED_ARRAY_SUPPORT?n.TYPED_ARRAY_SUPPORT:o(),t.TYPED_ARRAY_SUPPORT?(t.prototype.__proto__=Uint8Array.prototype,t.__proto__=Uint8Array):(t.prototype.length=void 0,t.prototype.parent=void 0),t.isBuffer=function(t){return!(null==t||!t._isBuffer)},t.compare=function(e,r){if(!t.isBuffer(e)||!t.isBuffer(r))throw new TypeError("Arguments must be Buffers");if(e===r)return 0;for(var n=e.length,o=r.length,i=0,u=Math.min(n,o);u>i&&e[i]===r[i];)++i;return i!==u&&(n=e[i],o=r[i]),o>n?-1:n>o?1:0},t.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"raw":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},t.concat=function(e,r){if(!X(e))throw new TypeError("list argument must be an Array of Buffers.");if(0===e.length)return new t(0);var n;if(void 0===r)for(r=0,n=0;n0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),""},t.prototype.compare=function(e){if(!t.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e?0:t.compare(this,e)},t.prototype.indexOf=function(e,r){function n(t,e,r){for(var n=-1,o=0;r+o2147483647?r=2147483647:-2147483648>r&&(r=-2147483648),r>>=0,0===this.length)return-1;if(r>=this.length)return-1;if(0>r&&(r=Math.max(this.length+r,0)),"string"==typeof e)return 0===e.length?-1:String.prototype.indexOf.call(this,e,r);if(t.isBuffer(e))return n(this,e,r);if("number"==typeof e)return t.TYPED_ARRAY_SUPPORT&&"function"===Uint8Array.prototype.indexOf?Uint8Array.prototype.indexOf.call(this,e,r):n(this,[e],r);throw new TypeError("val must be string, number or Buffer")},t.prototype.get=function(t){return console.log(".get() is deprecated. Access using array indexes instead."),this.readUInt8(t)},t.prototype.set=function(t,e){return console.log(".set() is deprecated. Access using array indexes instead."),this.writeUInt8(t,e)},t.prototype.write=function(t,e,r,n){if(void 0===e)n="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)n=e,r=this.length,e=0;else if(isFinite(e))e=0|e,isFinite(r)?(r=0|r,void 0===n&&(n="utf8")):(n=r,r=void 0);else{var o=n;n=e,e=0|r,r=o}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(0>r||0>e)||e>this.length)throw new RangeError("attempt to write outside buffer bounds");n||(n="utf8");for(var u=!1;;)switch(n){case"hex":return w(this,t,e,r);case"utf8":case"utf-8":return E(this,t,e,r);case"ascii":return A(this,t,e,r);case"binary":return T(this,t,e,r);case"base64":return S(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,t,e,r);default:if(u)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),u=!0}},t.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Q=4096;t.prototype.slice=function(e,r){var n=this.length;e=~~e,r=void 0===r?n:~~r,0>e?(e+=n,0>e&&(e=0)):e>n&&(e=n),0>r?(r+=n,0>r&&(r=0)):r>n&&(r=n),e>r&&(r=e);var o;if(t.TYPED_ARRAY_SUPPORT)o=t._augment(this.subarray(e,r));else{var i=r-e;o=new t(i,void 0);for(var u=0;i>u;u++)o[u]=this[u+e]}return o.length&&(o.parent=this.parent||this),o},t.prototype.readUIntLE=function(t,e,r){t=0|t,e=0|e,r||C(t,e,this.length);for(var n=this[t],o=1,i=0;++i0&&(o*=256);)n+=this[t+--e]*o;return n},t.prototype.readUInt8=function(t,e){return e||C(t,1,this.length),this[t]},t.prototype.readUInt16LE=function(t,e){return e||C(t,2,this.length),this[t]|this[t+1]<<8},t.prototype.readUInt16BE=function(t,e){return e||C(t,2,this.length),this[t]<<8|this[t+1]},t.prototype.readUInt32LE=function(t,e){return e||C(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},t.prototype.readUInt32BE=function(t,e){return e||C(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},t.prototype.readIntLE=function(t,e,r){t=0|t,e=0|e,r||C(t,e,this.length);for(var n=this[t],o=1,i=0;++i=o&&(n-=Math.pow(2,8*e)),n},t.prototype.readIntBE=function(t,e,r){t=0|t,e=0|e,r||C(t,e,this.length);for(var n=e,o=1,i=this[t+--n];n>0&&(o*=256);)i+=this[t+--n]*o;return o*=128,i>=o&&(i-=Math.pow(2,8*e)),i},t.prototype.readInt8=function(t,e){return e||C(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},t.prototype.readInt16LE=function(t,e){e||C(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},t.prototype.readInt16BE=function(t,e){e||C(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},t.prototype.readInt32LE=function(t,e){return e||C(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},t.prototype.readInt32BE=function(t,e){return e||C(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},t.prototype.readFloatLE=function(t,e){return e||C(t,4,this.length),W.read(this,t,!0,23,4)},t.prototype.readFloatBE=function(t,e){return e||C(t,4,this.length),W.read(this,t,!1,23,4)},t.prototype.readDoubleLE=function(t,e){return e||C(t,8,this.length),W.read(this,t,!0,52,8)},t.prototype.readDoubleBE=function(t,e){return e||C(t,8,this.length),W.read(this,t,!1,52,8)},t.prototype.writeUIntLE=function(t,e,r,n){t=+t,e=0|e,r=0|r,n||M(this,t,e,r,Math.pow(2,8*r),0);var o=1,i=0;for(this[e]=255&t;++i=0&&(i*=256);)this[e+o]=t/i&255;return e+r},t.prototype.writeUInt8=function(e,r,n){return e=+e,r=0|r,n||M(this,e,r,1,255,0),t.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[r]=255&e,r+1},t.prototype.writeUInt16LE=function(e,r,n){return e=+e,r=0|r,n||M(this,e,r,2,65535,0),t.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8):U(this,e,r,!0),r+2},t.prototype.writeUInt16BE=function(e,r,n){return e=+e,r=0|r,n||M(this,e,r,2,65535,0),t.TYPED_ARRAY_SUPPORT?(this[r]=e>>>8,this[r+1]=255&e):U(this,e,r,!1),r+2},t.prototype.writeUInt32LE=function(e,r,n){return e=+e,r=0|r,n||M(this,e,r,4,4294967295,0),t.TYPED_ARRAY_SUPPORT?(this[r+3]=e>>>24,this[r+2]=e>>>16,this[r+1]=e>>>8,this[r]=255&e):L(this,e,r,!0),r+4},t.prototype.writeUInt32BE=function(e,r,n){return e=+e,r=0|r,n||M(this,e,r,4,4294967295,0),t.TYPED_ARRAY_SUPPORT?(this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=255&e):L(this,e,r,!1),r+4},t.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e=0|e,!n){var o=Math.pow(2,8*r-1);M(this,t,e,r,o-1,-o)}var i=0,u=1,a=0>t?1:0;for(this[e]=255&t;++i>0)-a&255;return e+r},t.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e=0|e,!n){var o=Math.pow(2,8*r-1);M(this,t,e,r,o-1,-o)}var i=r-1,u=1,a=0>t?1:0;for(this[e+i]=255&t;--i>=0&&(u*=256);)this[e+i]=(t/u>>0)-a&255;return e+r},t.prototype.writeInt8=function(e,r,n){return e=+e,r=0|r,n||M(this,e,r,1,127,-128),t.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),0>e&&(e=255+e+1),this[r]=255&e,r+1},t.prototype.writeInt16LE=function(e,r,n){return e=+e,r=0|r,n||M(this,e,r,2,32767,-32768),t.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8):U(this,e,r,!0),r+2},t.prototype.writeInt16BE=function(e,r,n){return e=+e,r=0|r,n||M(this,e,r,2,32767,-32768),t.TYPED_ARRAY_SUPPORT?(this[r]=e>>>8,this[r+1]=255&e):U(this,e,r,!1),r+2},t.prototype.writeInt32LE=function(e,r,n){return e=+e,r=0|r,n||M(this,e,r,4,2147483647,-2147483648),t.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8,this[r+2]=e>>>16,this[r+3]=e>>>24):L(this,e,r,!0),r+4},t.prototype.writeInt32BE=function(e,r,n){return e=+e,r=0|r,n||M(this,e,r,4,2147483647,-2147483648),0>e&&(e=4294967295+e+1),t.TYPED_ARRAY_SUPPORT?(this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=255&e):L(this,e,r,!1),r+4},t.prototype.writeFloatLE=function(t,e,r){return k(this,t,e,!0,r)},t.prototype.writeFloatBE=function(t,e,r){return k(this,t,e,!1,r)},t.prototype.writeDoubleLE=function(t,e,r){return D(this,t,e,!0,r)},t.prototype.writeDoubleBE=function(t,e,r){return D(this,t,e,!1,r)},t.prototype.copy=function(e,r,n,o){if(n||(n=0),o||0===o||(o=this.length),r>=e.length&&(r=e.length),r||(r=0),o>0&&n>o&&(o=n),o===n)return 0;if(0===e.length||0===this.length)return 0;if(0>r)throw new RangeError("targetStart out of bounds");if(0>n||n>=this.length)throw new RangeError("sourceStart out of bounds");if(0>o)throw new RangeError("sourceEnd out of bounds");o>this.length&&(o=this.length),e.length-rn&&o>r)for(i=u-1;i>=0;i--)e[i+r]=this[i+n];else if(1e3>u||!t.TYPED_ARRAY_SUPPORT)for(i=0;u>i;i++)e[i+r]=this[i+n];else e._set(this.subarray(n,n+u),r);return u},t.prototype.fill=function(t,e,r){if(t||(t=0),e||(e=0),r||(r=this.length),e>r)throw new RangeError("end < start");if(r!==e&&0!==this.length){if(0>e||e>=this.length)throw new RangeError("start out of bounds");if(0>r||r>this.length)throw new RangeError("end out of bounds");var n;if("number"==typeof t)for(n=e;r>n;n++)this[n]=t;else{var o=q(t.toString()),i=o.length;for(n=e;r>n;n++)this[n]=o[n%i]}return this}},t.prototype.toArrayBuffer=function(){if("undefined"!=typeof Uint8Array){if(t.TYPED_ARRAY_SUPPORT)return new t(this).buffer;for(var e=new Uint8Array(this.length),r=0,n=e.length;n>r;r+=1)e[r]=this[r];return e.buffer}throw new TypeError("Buffer.toArrayBuffer not supported in this browser")};var V=t.prototype;t._augment=function(e){return e.constructor=t,e._isBuffer=!0,e._set=e.set,e.get=V.get,e.set=V.set,e.write=V.write,e.toString=V.toString,e.toLocaleString=V.toString,e.toJSON=V.toJSON,e.equals=V.equals,e.compare=V.compare,e.indexOf=V.indexOf,e.copy=V.copy,e.slice=V.slice,e.readUIntLE=V.readUIntLE,e.readUIntBE=V.readUIntBE,e.readUInt8=V.readUInt8,e.readUInt16LE=V.readUInt16LE,e.readUInt16BE=V.readUInt16BE,e.readUInt32LE=V.readUInt32LE,e.readUInt32BE=V.readUInt32BE,e.readIntLE=V.readIntLE,e.readIntBE=V.readIntBE,e.readInt8=V.readInt8,e.readInt16LE=V.readInt16LE,e.readInt16BE=V.readInt16BE,e.readInt32LE=V.readInt32LE,e.readInt32BE=V.readInt32BE,e.readFloatLE=V.readFloatLE,e.readFloatBE=V.readFloatBE,e.readDoubleLE=V.readDoubleLE,e.readDoubleBE=V.readDoubleBE,e.writeUInt8=V.writeUInt8,e.writeUIntLE=V.writeUIntLE,e.writeUIntBE=V.writeUIntBE,e.writeUInt16LE=V.writeUInt16LE,e.writeUInt16BE=V.writeUInt16BE,e.writeUInt32LE=V.writeUInt32LE,e.writeUInt32BE=V.writeUInt32BE,e.writeIntLE=V.writeIntLE,e.writeIntBE=V.writeIntBE,e.writeInt8=V.writeInt8,e.writeInt16LE=V.writeInt16LE,e.writeInt16BE=V.writeInt16BE,e.writeInt32LE=V.writeInt32LE,e.writeInt32BE=V.writeInt32BE,e.writeFloatLE=V.writeFloatLE,e.writeFloatBE=V.writeFloatBE,e.writeDoubleLE=V.writeDoubleLE,e.writeDoubleBE=V.writeDoubleBE,e.fill=V.fill,e.inspect=V.inspect,e.toArrayBuffer=V.toArrayBuffer,e};var tt=/[^+\/0-9A-Za-z-_]/g}).call(e,r(6).Buffer,function(){return this}())},function(t,e,r){var n=r(16);t.exports=n.call(Function.call,Object.prototype.hasOwnProperty)},function(t,e){"use strict";var r=Function.prototype.toString,n=/^\s*class /,o=function(t){try{var e=r.call(t),o=e.replace(/\/\/.*\n/g,""),i=o.replace(/\/\*[.\s\S]*\*\//g,""),u=i.replace(/\n/gm," ").replace(/ {2}/g," ");return n.test(u)}catch(a){return!1}},i=function(t){try{return o(t)?!1:(r.call(t),!0)}catch(e){return!1}},u=Object.prototype.toString,a="[object Function]",s="[object GeneratorFunction]",c="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;t.exports=function(t){if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;if(c)return i(t);if(o(t))return!1;var e=u.call(t);return e===a||e===s}},function(t,e){"use strict";var r=Object.prototype.toString,n="function"==typeof Symbol&&"symbol"==typeof Symbol();if(n){var o=Symbol.prototype.toString,i=/^Symbol\(.*\)$/,u=function(t){return"symbol"!=typeof t.valueOf()?!1:i.test(o.call(t))};t.exports=function(t){if("symbol"==typeof t)return!0;if("[object Symbol]"!==r.call(t))return!1;try{return u(t)}catch(e){return!1}}}else t.exports=function(t){return!1}},function(t,e,r){"use strict";var n=Object.prototype.hasOwnProperty,o=Object.prototype.toString,i=Array.prototype.slice,u=r(29),a=!{toString:null}.propertyIsEnumerable("toString"),s=function(){}.propertyIsEnumerable("prototype"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],f=function(t){var e=t.constructor;return e&&e.prototype===t},l={$console:!0,$frame:!0,$frameElement:!0,$frames:!0,$parent:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},h=function(){if("undefined"==typeof window)return!1;for(var t in window)try{if(!l["$"+t]&&n.call(window,t)&&null!==window[t]&&"object"==typeof window[t])try{f(window[t])}catch(e){return!0}}catch(e){return!0}return!1}(),p=function(t){if("undefined"==typeof window||!h)return f(t);try{return f(t)}catch(e){return!1}},y=function(t){var e=null!==t&&"object"==typeof t,r="[object Function]"===o.call(t),i=u(t),f=e&&"[object String]"===o.call(t),l=[];if(!e&&!r&&!i)throw new TypeError("Object.keys called on a non-object");var h=s&&r;if(f&&t.length>0&&!n.call(t,0))for(var y=0;y0)for(var g=0;ge?-1:s+10>e?e-s+26+26:f+26>e?e-f:c+26>e?e-c+26:void 0}function r(t){function r(t){c[l++]=t}var n,o,u,a,s,c;if(t.length%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var f=t.length;s="="===t.charAt(f-2)?2:"="===t.charAt(f-1)?1:0,c=new i(3*t.length/4-s),u=s>0?t.length-4:t.length;var l=0;for(n=0,o=0;u>n;n+=4,o+=3)a=e(t.charAt(n))<<18|e(t.charAt(n+1))<<12|e(t.charAt(n+2))<<6|e(t.charAt(n+3)),r((16711680&a)>>16),r((65280&a)>>8),r(255&a);return 2===s?(a=e(t.charAt(n))<<2|e(t.charAt(n+1))>>4,r(255&a)):1===s&&(a=e(t.charAt(n))<<10|e(t.charAt(n+1))<<4|e(t.charAt(n+2))>>2,r(a>>8&255),r(255&a)),c}function o(t){function e(t){return n.charAt(t)}function r(t){return e(t>>18&63)+e(t>>12&63)+e(t>>6&63)+e(63&t)}var o,i,u,a=t.length%3,s="";for(o=0,u=t.length-a;u>o;o+=3)i=(t[o]<<16)+(t[o+1]<<8)+t[o+2],s+=r(i);switch(a){case 1:i=t[t.length-1],s+=e(i>>2),s+=e(i<<4&63),s+="==";break;case 2:i=(t[t.length-2]<<8)+t[t.length-1],s+=e(i>>10),s+=e(i>>4&63),s+=e(i<<2&63),s+="="}return s}var i="undefined"!=typeof Uint8Array?Uint8Array:Array,u="+".charCodeAt(0),a="/".charCodeAt(0),s="0".charCodeAt(0),c="a".charCodeAt(0),f="A".charCodeAt(0),l="-".charCodeAt(0),h="_".charCodeAt(0);t.toByteArray=r,t.fromByteArray=o}(e)},function(t,e,r){"use strict";var n=r(10),o=r(14),i="function"==typeof Symbol&&"symbol"==typeof Symbol(),u=Object.prototype.toString,a=function(t){return"function"==typeof t&&"[object Function]"===u.call(t)},s=function(){var t={};try{Object.defineProperty(t,"x",{enumerable:!1,value:t});for(var e in t)return!1;return t.x===t}catch(r){return!1}},c=Object.defineProperty&&s(),f=function(t,e,r,n){(!(e in t)||a(n)&&n())&&(c?Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:r,writable:!0}):t[e]=r)},l=function(t,e){var r=arguments.length>2?arguments[2]:{},u=n(e);i&&(u=u.concat(Object.getOwnPropertySymbols(e))),o(u,function(n){f(t,n,e[n],r[n])})};l.supportsDescriptors=!!c,t.exports=l},function(t,e){var r=Object.prototype.hasOwnProperty,n=Object.prototype.toString;t.exports=function(t,e,o){if("[object Function]"!==n.call(e))throw new TypeError("iterator must be a function");var i=t.length;if(i===+i)for(var u=0;i>u;u++)e.call(o,t[u],u,t);else for(var a in t)r.call(t,a)&&e.call(o,t[a],a,t)}},function(t,e){var r="Function.prototype.bind called on incompatible ",n=Array.prototype.slice,o=Object.prototype.toString,i="[object Function]";t.exports=function(t){var e=this;if("function"!=typeof e||o.call(e)!==i)throw new TypeError(r+e);for(var u,a=n.call(arguments,1),s=function(){if(this instanceof u){var r=e.apply(this,a.concat(n.call(arguments)));return Object(r)===r?r:this}return e.apply(t,a.concat(n.call(arguments)))},c=Math.max(0,e.length-a.length),f=[],l=0;c>l;l++)f.push("$"+l);if(u=Function("binder","return function ("+f.join(",")+"){ return binder.apply(this,arguments); }")(s),e.prototype){var h=function(){};h.prototype=e.prototype,u.prototype=new h,h.prototype=null}return u}},function(t,e,r){var n=r(15);t.exports=Function.prototype.bind||n},function(t,e){e.read=function(t,e,r,n,o){var i,u,a=8*o-n-1,s=(1<>1,f=-7,l=r?o-1:0,h=r?-1:1,p=t[e+l];for(l+=h,i=p&(1<<-f)-1,p>>=-f,f+=a;f>0;i=256*i+t[e+l],l+=h,f-=8);for(u=i&(1<<-f)-1,i>>=-f,f+=n;f>0;u=256*u+t[e+l],l+=h,f-=8);if(0===i)i=1-c;else{if(i===s)return u?NaN:(p?-1:1)*(1/0);u+=Math.pow(2,n),i-=c}return(p?-1:1)*u*Math.pow(2,i-n)},e.write=function(t,e,r,n,o,i){var u,a,s,c=8*i-o-1,f=(1<>1,h=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:i-1,y=n?1:-1,g=0>e||0===e&&0>1/e?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,u=f):(u=Math.floor(Math.log(e)/Math.LN2),e*(s=Math.pow(2,-u))<1&&(u--,s*=2),e+=u+l>=1?h/s:h*Math.pow(2,1-l),e*s>=2&&(u++,s/=2),u+l>=f?(a=0,u=f):u+l>=1?(a=(e*s-1)*Math.pow(2,o),u+=l):(a=e*Math.pow(2,l-1)*Math.pow(2,o),u=0));o>=8;t[r+p]=255&a,p+=y,a/=256,o-=8);for(u=u<0;t[r+p]=255&u,p+=y,u/=256,c-=8);t[r+p-y]|=128*g}},function(t,e,r){"use strict";var n=r(8),o=Function.prototype.toString,i=/^\s*function/,u=/^\([^\)]*\) *=>/,a=/^[^=]*=>/;t.exports=function(t){if(!n(t))return!1;var e=o.call(t);return e.length>0&&!i.test(e)&&(u.test(e)||a.test(e))}},function(t,e){"use strict";var r=Boolean.prototype.toString,n=function(t){try{return r.call(t),!0}catch(e){return!1}},o=Object.prototype.toString,i="[object Boolean]",u="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;t.exports=function(t){return"boolean"==typeof t?!0:"object"!=typeof t?!1:u?n(t):o.call(t)===i}},function(t,e){"use strict";var r=Date.prototype.getDay,n=function(t){try{return r.call(t),!0}catch(e){return!1}},o=Object.prototype.toString,i="[object Date]",u="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;t.exports=function(t){return"object"!=typeof t||null===t?!1:u?n(t):o.call(t)===i}},function(t,e){"use strict";t.exports=function(){var t=function(){if("function"!=typeof Map)return null;try{Map.prototype.forEach.call({},function(){})}catch(t){return Map.prototype.forEach}return null}(),e=function(){if("function"!=typeof Set)return null;try{Set.prototype.forEach.call({},function(){})}catch(t){return Set.prototype.forEach}return null}();return{Map:t,Set:e}}},function(t,e,r){"use strict";var n=r(9);t.exports=function(){var t="function"==typeof Symbol&&n(Symbol.iterator)?Symbol.iterator:null;return"function"==typeof Object.getOwnPropertyNames&&"function"==typeof Map&&"function"==typeof Map.prototype.entries&&Object.getOwnPropertyNames(Map.prototype).forEach(function(e){"entries"!==e&&"size"!==e&&Map.prototype[e]===Map.prototype.entries&&(t=e)}),t}},function(t,e,r){"use strict";var n=Object.prototype,o=n.toString,i=Boolean.prototype.valueOf,u=r(7),a=r(18),s=r(19),c=r(20),f=r(24),l=r(25),h=r(2),p=r(26),y=r(9),g=r(8),d=Object.prototype.isPrototypeOf,b=function(){},v="foo"===b.name,m="function"==typeof Symbol?Symbol.prototype.valueOf:null,w=r(22)(),E=r(21)(),A=Object.getPrototypeOf;A||(A="object"==typeof"test".__proto__?function(t){return t.__proto__}:function(t){var e,r=t.constructor;if(u(t,"constructor")){if(e=r,!delete t.constructor)return null;r=t.constructor,t.constructor=e}return r?r.prototype:n});var T=Array.isArray||function(t){return"[object Array]"===o.call(t)},S=function(t){return t.replace(/^function ?\(/,"function (").replace("){",") {")},x=function(t){var e=[];try{E.Map.call(t,function(t,r){e.push([t,r])})}catch(r){try{E.Set.call(t,function(t){e.push([t])})}catch(n){return!1}}return e};t.exports=function j(t,e){if(t===e)return"";if(null==t||null==e)return t===e?"":String(t)+" !== "+String(e);var r=o.call(t),n=o.call(t);if(r!==n)return"toStringTag is not the same: "+r+" !== "+n;var b=s(t),O=s(e);if(b||O){if(!b)return"first argument is not a boolean; second argument is";if(!O)return"second argument is not a boolean; first argument is";var B=i.call(t),I=i.call(e);return B===I?"":"primitive value of boolean arguments do not match: "+B+" !== "+I}var _=l(t),P=l(t);if(_||P){if(!_)return"first argument is not a number; second argument is";if(!P)return"second argument is not a number; first argument is";var R=Number(t),C=Number(e);if(R===C)return"";var M=isNaN(t),U=isNaN(e);return M&&!U?"first argument is NaN; second is not":!M&&U?"second argument is NaN; first is not":M&&U?"":"numbers are different: "+t+" !== "+e}var L=p(t),N=p(e);if(L||N){if(!L)return"second argument is string; first is not";if(!N)return"first argument is string; second is not";var k=String(t),D=String(e);return k===D?"":'string values are different: "'+k+'" !== "'+D+'"'}var F=c(t),Y=c(e);if(F||Y){if(!F)return"second argument is Date, first is not";if(!Y)return"first argument is Date, second is not";var H=+t,q=+e;return H===q?"":"Dates have different time values: "+H+" !== "+q}var K=h(t),$=h(e);if(K||$){if(!K)return"second argument is RegExp, first is not";if(!$)return"first argument is RegExp, second is not";var G=String(t),z=String(e);return G===z?"":"regular expressions differ: "+G+" !== "+z}var J=T(t),W=T(e);if(J||W){if(!J)return"second argument is an Array, first is not";if(!W)return"first argument is an Array, second is not";if(t.length!==e.length)return"arrays have different length: "+t.length+" !== "+e.length;if(String(t)!==String(e))return"stringified Arrays differ";for(var X,Z,Q=t.length-1,V="";""===V&&Q>=0;){if(X=u(t,Q),Z=u(e,Q),!X&&Z)return"second argument has index "+Q+"; first does not";if(X&&!Z)return"first argument has index "+Q+"; second does not";V=j(t[Q],e[Q]),Q-=1}return V}var tt=y(t),et=y(e);if(tt!==et)return tt?"first argument is Symbol; second is not":"second argument is Symbol; first is not";if(tt&&et)return m.call(t)===m.call(e)?"":"first Symbol value !== second Symbol value";var rt=f(t),nt=f(e);if(rt!==nt)return rt?"first argument is a Generator; second is not":"second argument is a Generator; first is not";var ot=a(t),it=a(e);if(ot!==it)return ot?"first argument is an Arrow function; second is not":"second argument is an Arrow function; first is not";if(g(t)||g(e)){if(v&&""!==j(t.name,e.name))return'Function names differ: "'+t.name+'" !== "'+e.name+'"';if(""!==j(t.length,e.length))return"Function lengths differ: "+t.length+" !== "+e.length;var ut=S(String(t)),at=S(String(e));return""===j(ut,at)?"":rt||ot?""===j(ut,at)?"":"Function string representations differ":""===j(ut.replace(/\)\s*\{/,"){"),at.replace(/\)\s*\{/,"){"))?"":"Function string representations differ"}if("object"==typeof t||"object"==typeof e){if(typeof t!=typeof e)return"arguments have a different typeof: "+typeof t+" !== "+typeof e;if(d.call(t,e))return"first argument is the [[Prototype]] of the second";if(d.call(e,t))return"second argument is the [[Prototype]] of the first";if(A(t)!==A(e))return"arguments have a different [[Prototype]]";if(w){var st=t[w],ct=g(st),ft=e[w],lt=g(ft);if(ct!==lt)return ct?"first argument is iterable; second is not":"second argument is iterable; first is not";if(ct&<){var ht,pt,yt,gt=st.call(t),dt=ft.call(e);do if(ht=gt.next(),pt=dt.next(),!ht.done&&!pt.done&&(yt=j(ht,pt),""!==yt))return"iteration results are not equal: "+yt;while(!ht.done&&!pt.done);return ht.done&&!pt.done?"first argument finished iterating before second":!ht.done&&pt.done?"second argument finished iterating before first":""}}else if(E.Map||E.Set){var bt=x(t),vt=x(e),mt=T(bt),wt=T(vt);if(mt&&!wt)return"first argument has Collection entries, second does not";
-if(!mt&&wt)return"second argument has Collection entries, first does not";if(mt&&wt){var Et=j(bt,vt);return""===Et?"":"Collection entries differ: "+Et}}var At,Tt,St,xt;for(At in t)if(u(t,At)){if(!u(e,At))return'first argument has key "'+At+'"; second does not';if(Tt=t[At]&&t[At][At]===t,St=e[At]&&e[At][At]===e,Tt!==St)return Tt?'first argument has a circular reference at key "'+At+'"; second does not':'second argument has a circular reference at key "'+At+'"; first does not';if(!Tt&&!St&&(xt=j(t[At],e[At]),""!==xt))return'value at key "'+At+'" differs: '+xt}for(At in e)if(u(e,At)&&!u(t,At))return'second argument has key "'+At+'"; first does not';return""}return!1}},function(t,e){"use strict";var r=Object.prototype.toString,n=Function.prototype.toString,o=/^\s*function\*/;t.exports=function(t){if("function"!=typeof t)return!1;var e=r.call(t);return("[object Function]"===e||"[object GeneratorFunction]"===e)&&o.test(n.call(t))}},function(t,e){"use strict";var r=Number.prototype.toString,n=function(t){try{return r.call(t),!0}catch(e){return!1}},o=Object.prototype.toString,i="[object Number]",u="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;t.exports=function(t){return"number"==typeof t?!0:"object"!=typeof t?!1:u?n(t):o.call(t)===i}},function(t,e){"use strict";var r=String.prototype.valueOf,n=function(t){try{return r.call(t),!0}catch(e){return!1}},o=Object.prototype.toString,i="[object String]",u="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;t.exports=function(t){return"string"==typeof t?!0:"object"!=typeof t?!1:u?n(t):o.call(t)===i}},function(t,e){var r={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==r.call(t)}},function(t,e){function r(t){return String(t).replace(/"/g,""")}function n(t){return"[object Array]"===h(t)}function o(t){return"[object Date]"===h(t)}function i(t){return"[object RegExp]"===h(t)}function u(t){return"[object Error]"===h(t)}function a(t){return"[object Symbol]"===h(t)}function s(t){return"[object String]"===h(t)}function c(t){return"[object Number]"===h(t)}function f(t){return"[object Boolean]"===h(t)}function l(t,e){return B.call(t,e)}function h(t){return Object.prototype.toString.call(t)}function p(t){if(t.name)return t.name;var e=t.toString().match(/^function\s*([\w$]+)/);return e?e[1]:void 0}function y(t,e){if(t.indexOf)return t.indexOf(e);for(var r=0,n=t.length;n>r;r++)if(t[r]===e)return r;return-1}function g(t){if(!E)return!1;try{return E.call(t),!0}catch(e){}return!1}function d(t){if(!x)return!1;try{return x.call(t),!0}catch(e){}return!1}function b(t){return t&&"object"==typeof t?"undefined"!=typeof HTMLElement&&t instanceof HTMLElement?!0:"string"==typeof t.nodeName&&"function"==typeof t.getAttribute:!1}function v(t){function e(t){var e=t.charCodeAt(0),r={8:"b",9:"t",10:"n",12:"f",13:"r"}[e];return r?"\\"+r:"\\x"+(16>e?"0":"")+e.toString(16)}var r=t.replace(/(['\\])/g,"\\$1").replace(/[\x00-\x1f]/g,e);return"'"+r+"'"}var m="function"==typeof Map&&Map.prototype,w=Object.getOwnPropertyDescriptor&&m?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,E=m&&w&&"function"==typeof w.get?w.get:null,A=m&&Map.prototype.forEach,T="function"==typeof Set&&Set.prototype,S=Object.getOwnPropertyDescriptor&&T?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,x=T&&S&&"function"==typeof S.get?S.get:null,j=T&&Set.prototype.forEach,O=Boolean.prototype.valueOf;t.exports=function I(t,e,h,m){function w(t,r){return r&&(m=m.slice(),m.push(r)),I(t,e,h+1,m)}e||(e={});var T=void 0===e.depth?5:e.depth;if(void 0===h&&(h=0),h>=T&&T>0&&t&&"object"==typeof t)return"[Object]";if(void 0===m)m=[];else if(y(m,t)>=0)return"[Circular]";if("string"==typeof t)return v(t);if("function"==typeof t){var S=p(t);return"[Function"+(S?": "+S:"")+"]"}if(null===t)return"null";if(a(t)){var B=Symbol.prototype.toString.call(t);return"object"==typeof t?"Object("+B+")":B}if(b(t)){for(var _="<"+String(t.nodeName).toLowerCase(),P=t.attributes||[],R=0;R",t.childNodes&&t.childNodes.length&&(_+="..."),_+=""+String(t.nodeName).toLowerCase()+">"}if(n(t)){if(0===t.length)return"[]";for(var C=Array(t.length),R=0;R "+w(e,t))}),"Map ("+E.call(t)+") {"+M.join(", ")+"}"}if(d(t)){var M=[];return j.call(t,function(e){M.push(w(e,t))}),"Set ("+x.call(t)+") {"+M.join(", ")+"}"}if("object"!=typeof t)return String(t);if(c(t))return"Object("+Number(t)+")";if(f(t))return"Object("+O.call(t)+")";if(s(t))return"Object("+w(String(t))+")";if(o(t)||i(t))return String(t);var C=[],L=[];for(var U in t)l(t,U)&&L.push(U);L.sort();for(var R=0;R=0&&"[object Function]"===r.call(t.callee)),n}},function(t,e){function r(){c&&u&&(c=!1,u.length?s=u.concat(s):f=-1,s.length&&n())}function n(){if(!c){var t=setTimeout(r);c=!0;for(var e=s.length;e;){for(u=s,s=[];++f1)for(var r=1;r=0;y--)if(p=l[y],u(" TMATCH test obj[%j]",p,t[p],e[p]),!i(t[p],e[p],o,a))return!1;return o.pop(),a.pop(),u(" TMATCH object pass"),!0}t.exports=o;var u=/\btmatch\b/.test(e.env.NODE_DEBUG||"")?console.error:function(){}}).call(e,r(30),r(6).Buffer)}])});
\ No newline at end of file
diff --git a/node_modules/express/History.md b/node_modules/express/History.md
deleted file mode 100644
index 40a5ed7..0000000
--- a/node_modules/express/History.md
+++ /dev/null
@@ -1,3142 +0,0 @@
-4.14.0 / 2016-06-16
-===================
-
- * Add `acceptRanges` option to `res.sendFile`/`res.sendfile`
- * Add `cacheControl` option to `res.sendFile`/`res.sendfile`
- * Add `options` argument to `req.range`
- - Includes the `combine` option
- * Encode URL in `res.location`/`res.redirect` if not already encoded
- * Fix some redirect handling in `res.sendFile`/`res.sendfile`
- * Fix Windows absolute path check using forward slashes
- * Improve error with invalid arguments to `req.get()`
- * Improve performance for `res.json`/`res.jsonp` in most cases
- * Improve `Range` header handling in `res.sendFile`/`res.sendfile`
- * deps: accepts@~1.3.3
- - Fix including type extensions in parameters in `Accept` parsing
- - Fix parsing `Accept` parameters with quoted equals
- - Fix parsing `Accept` parameters with quoted semicolons
- - Many performance improvments
- - deps: mime-types@~2.1.11
- - deps: negotiator@0.6.1
- * deps: content-type@~1.0.2
- - perf: enable strict mode
- * deps: cookie@0.3.1
- - Add `sameSite` option
- - Fix cookie `Max-Age` to never be a floating point number
- - Improve error message when `encode` is not a function
- - Improve error message when `expires` is not a `Date`
- - Throw better error for invalid argument to parse
- - Throw on invalid values provided to `serialize`
- - perf: enable strict mode
- - perf: hoist regular expression
- - perf: use for loop in parse
- - perf: use string concatination for serialization
- * deps: finalhandler@0.5.0
- - Change invalid or non-numeric status code to 500
- - Overwrite status message to match set status code
- - Prefer `err.statusCode` if `err.status` is invalid
- - Set response headers from `err.headers` object
- - Use `statuses` instead of `http` module for status messages
- * deps: proxy-addr@~1.1.2
- - Fix accepting various invalid netmasks
- - Fix IPv6-mapped IPv4 validation edge cases
- - IPv4 netmasks must be contingous
- - IPv6 addresses cannot be used as a netmask
- - deps: ipaddr.js@1.1.1
- * deps: qs@6.2.0
- - Add `decoder` option in `parse` function
- * deps: range-parser@~1.2.0
- - Add `combine` option to combine overlapping ranges
- - Fix incorrectly returning -1 when there is at least one valid range
- - perf: remove internal function
- * deps: send@0.14.1
- - Add `acceptRanges` option
- - Add `cacheControl` option
- - Attempt to combine multiple ranges into single range
- - Correctly inherit from `Stream` class
- - Fix `Content-Range` header in 416 responses when using `start`/`end` options
- - Fix `Content-Range` header missing from default 416 responses
- - Fix redirect error when `path` contains raw non-URL characters
- - Fix redirect when `path` starts with multiple forward slashes
- - Ignore non-byte `Range` headers
- - deps: http-errors@~1.5.0
- - deps: range-parser@~1.2.0
- - deps: statuses@~1.3.0
- - perf: remove argument reassignment
- * deps: serve-static@~1.11.1
- - Add `acceptRanges` option
- - Add `cacheControl` option
- - Attempt to combine multiple ranges into single range
- - Fix redirect error when `req.url` contains raw non-URL characters
- - Ignore non-byte `Range` headers
- - Use status code 301 for redirects
- - deps: send@0.14.1
- * deps: type-is@~1.6.13
- - Fix type error when given invalid type to match against
- - deps: mime-types@~2.1.11
- * deps: vary@~1.1.0
- - Only accept valid field names in the `field` argument
- * perf: use strict equality when possible
-
-4.13.4 / 2016-01-21
-===================
-
- * deps: content-disposition@0.5.1
- - perf: enable strict mode
- * deps: cookie@0.1.5
- - Throw on invalid values provided to `serialize`
- * deps: depd@~1.1.0
- - Support web browser loading
- - perf: enable strict mode
- * deps: escape-html@~1.0.3
- - perf: enable strict mode
- - perf: optimize string replacement
- - perf: use faster string coercion
- * deps: finalhandler@0.4.1
- - deps: escape-html@~1.0.3
- * deps: merge-descriptors@1.0.1
- - perf: enable strict mode
- * deps: methods@~1.1.2
- - perf: enable strict mode
- * deps: parseurl@~1.3.1
- - perf: enable strict mode
- * deps: proxy-addr@~1.0.10
- - deps: ipaddr.js@1.0.5
- - perf: enable strict mode
- * deps: range-parser@~1.0.3
- - perf: enable strict mode
- * deps: send@0.13.1
- - deps: depd@~1.1.0
- - deps: destroy@~1.0.4
- - deps: escape-html@~1.0.3
- - deps: range-parser@~1.0.3
- * deps: serve-static@~1.10.2
- - deps: escape-html@~1.0.3
- - deps: parseurl@~1.3.0
- - deps: send@0.13.1
-
-4.13.3 / 2015-08-02
-===================
-
- * Fix infinite loop condition using `mergeParams: true`
- * Fix inner numeric indices incorrectly altering parent `req.params`
-
-4.13.2 / 2015-07-31
-===================
-
- * deps: accepts@~1.2.12
- - deps: mime-types@~2.1.4
- * deps: array-flatten@1.1.1
- - perf: enable strict mode
- * deps: path-to-regexp@0.1.7
- - Fix regression with escaped round brackets and matching groups
- * deps: type-is@~1.6.6
- - deps: mime-types@~2.1.4
-
-4.13.1 / 2015-07-05
-===================
-
- * deps: accepts@~1.2.10
- - deps: mime-types@~2.1.2
- * deps: qs@4.0.0
- - Fix dropping parameters like `hasOwnProperty`
- - Fix various parsing edge cases
- * deps: type-is@~1.6.4
- - deps: mime-types@~2.1.2
- - perf: enable strict mode
- - perf: remove argument reassignment
-
-4.13.0 / 2015-06-20
-===================
-
- * Add settings to debug output
- * Fix `res.format` error when only `default` provided
- * Fix issue where `next('route')` in `app.param` would incorrectly skip values
- * Fix hiding platform issues with `decodeURIComponent`
- - Only `URIError`s are a 400
- * Fix using `*` before params in routes
- * Fix using capture groups before params in routes
- * Simplify `res.cookie` to call `res.append`
- * Use `array-flatten` module for flattening arrays
- * deps: accepts@~1.2.9
- - deps: mime-types@~2.1.1
- - perf: avoid argument reassignment & argument slice
- - perf: avoid negotiator recursive construction
- - perf: enable strict mode
- - perf: remove unnecessary bitwise operator
- * deps: cookie@0.1.3
- - perf: deduce the scope of try-catch deopt
- - perf: remove argument reassignments
- * deps: escape-html@1.0.2
- * deps: etag@~1.7.0
- - Always include entity length in ETags for hash length extensions
- - Generate non-Stats ETags using MD5 only (no longer CRC32)
- - Improve stat performance by removing hashing
- - Improve support for JXcore
- - Remove base64 padding in ETags to shorten
- - Support "fake" stats objects in environments without fs
- - Use MD5 instead of MD4 in weak ETags over 1KB
- * deps: finalhandler@0.4.0
- - Fix a false-positive when unpiping in Node.js 0.8
- - Support `statusCode` property on `Error` objects
- - Use `unpipe` module for unpiping requests
- - deps: escape-html@1.0.2
- - deps: on-finished@~2.3.0
- - perf: enable strict mode
- - perf: remove argument reassignment
- * deps: fresh@0.3.0
- - Add weak `ETag` matching support
- * deps: on-finished@~2.3.0
- - Add defined behavior for HTTP `CONNECT` requests
- - Add defined behavior for HTTP `Upgrade` requests
- - deps: ee-first@1.1.1
- * deps: path-to-regexp@0.1.6
- * deps: send@0.13.0
- - Allow Node.js HTTP server to set `Date` response header
- - Fix incorrectly removing `Content-Location` on 304 response
- - Improve the default redirect response headers
- - Send appropriate headers on default error response
- - Use `http-errors` for standard emitted errors
- - Use `statuses` instead of `http` module for status messages
- - deps: escape-html@1.0.2
- - deps: etag@~1.7.0
- - deps: fresh@0.3.0
- - deps: on-finished@~2.3.0
- - perf: enable strict mode
- - perf: remove unnecessary array allocations
- * deps: serve-static@~1.10.0
- - Add `fallthrough` option
- - Fix reading options from options prototype
- - Improve the default redirect response headers
- - Malformed URLs now `next()` instead of 400
- - deps: escape-html@1.0.2
- - deps: send@0.13.0
- - perf: enable strict mode
- - perf: remove argument reassignment
- * deps: type-is@~1.6.3
- - deps: mime-types@~2.1.1
- - perf: reduce try block size
- - perf: remove bitwise operations
- * perf: enable strict mode
- * perf: isolate `app.render` try block
- * perf: remove argument reassignments in application
- * perf: remove argument reassignments in request prototype
- * perf: remove argument reassignments in response prototype
- * perf: remove argument reassignments in routing
- * perf: remove argument reassignments in `View`
- * perf: skip attempting to decode zero length string
- * perf: use saved reference to `http.STATUS_CODES`
-
-4.12.4 / 2015-05-17
-===================
-
- * deps: accepts@~1.2.7
- - deps: mime-types@~2.0.11
- - deps: negotiator@0.5.3
- * deps: debug@~2.2.0
- - deps: ms@0.7.1
- * deps: depd@~1.0.1
- * deps: etag@~1.6.0
- - Improve support for JXcore
- - Support "fake" stats objects in environments without `fs`
- * deps: finalhandler@0.3.6
- - deps: debug@~2.2.0
- - deps: on-finished@~2.2.1
- * deps: on-finished@~2.2.1
- - Fix `isFinished(req)` when data buffered
- * deps: proxy-addr@~1.0.8
- - deps: ipaddr.js@1.0.1
- * deps: qs@2.4.2
- - Fix allowing parameters like `constructor`
- * deps: send@0.12.3
- - deps: debug@~2.2.0
- - deps: depd@~1.0.1
- - deps: etag@~1.6.0
- - deps: ms@0.7.1
- - deps: on-finished@~2.2.1
- * deps: serve-static@~1.9.3
- - deps: send@0.12.3
- * deps: type-is@~1.6.2
- - deps: mime-types@~2.0.11
-
-4.12.3 / 2015-03-17
-===================
-
- * deps: accepts@~1.2.5
- - deps: mime-types@~2.0.10
- * deps: debug@~2.1.3
- - Fix high intensity foreground color for bold
- - deps: ms@0.7.0
- * deps: finalhandler@0.3.4
- - deps: debug@~2.1.3
- * deps: proxy-addr@~1.0.7
- - deps: ipaddr.js@0.1.9
- * deps: qs@2.4.1
- - Fix error when parameter `hasOwnProperty` is present
- * deps: send@0.12.2
- - Throw errors early for invalid `extensions` or `index` options
- - deps: debug@~2.1.3
- * deps: serve-static@~1.9.2
- - deps: send@0.12.2
- * deps: type-is@~1.6.1
- - deps: mime-types@~2.0.10
-
-4.12.2 / 2015-03-02
-===================
-
- * Fix regression where `"Request aborted"` is logged using `res.sendFile`
-
-4.12.1 / 2015-03-01
-===================
-
- * Fix constructing application with non-configurable prototype properties
- * Fix `ECONNRESET` errors from `res.sendFile` usage
- * Fix `req.host` when using "trust proxy" hops count
- * Fix `req.protocol`/`req.secure` when using "trust proxy" hops count
- * Fix wrong `code` on aborted connections from `res.sendFile`
- * deps: merge-descriptors@1.0.0
-
-4.12.0 / 2015-02-23
-===================
-
- * Fix `"trust proxy"` setting to inherit when app is mounted
- * Generate `ETag`s for all request responses
- - No longer restricted to only responses for `GET` and `HEAD` requests
- * Use `content-type` to parse `Content-Type` headers
- * deps: accepts@~1.2.4
- - Fix preference sorting to be stable for long acceptable lists
- - deps: mime-types@~2.0.9
- - deps: negotiator@0.5.1
- * deps: cookie-signature@1.0.6
- * deps: send@0.12.1
- - Always read the stat size from the file
- - Fix mutating passed-in `options`
- - deps: mime@1.3.4
- * deps: serve-static@~1.9.1
- - deps: send@0.12.1
- * deps: type-is@~1.6.0
- - fix argument reassignment
- - fix false-positives in `hasBody` `Transfer-Encoding` check
- - support wildcard for both type and subtype (`*/*`)
- - deps: mime-types@~2.0.9
-
-4.11.2 / 2015-02-01
-===================
-
- * Fix `res.redirect` double-calling `res.end` for `HEAD` requests
- * deps: accepts@~1.2.3
- - deps: mime-types@~2.0.8
- * deps: proxy-addr@~1.0.6
- - deps: ipaddr.js@0.1.8
- * deps: type-is@~1.5.6
- - deps: mime-types@~2.0.8
-
-4.11.1 / 2015-01-20
-===================
-
- * deps: send@0.11.1
- - Fix root path disclosure
- * deps: serve-static@~1.8.1
- - Fix redirect loop in Node.js 0.11.14
- - Fix root path disclosure
- - deps: send@0.11.1
-
-4.11.0 / 2015-01-13
-===================
-
- * Add `res.append(field, val)` to append headers
- * Deprecate leading `:` in `name` for `app.param(name, fn)`
- * Deprecate `req.param()` -- use `req.params`, `req.body`, or `req.query` instead
- * Deprecate `app.param(fn)`
- * Fix `OPTIONS` responses to include the `HEAD` method properly
- * Fix `res.sendFile` not always detecting aborted connection
- * Match routes iteratively to prevent stack overflows
- * deps: accepts@~1.2.2
- - deps: mime-types@~2.0.7
- - deps: negotiator@0.5.0
- * deps: send@0.11.0
- - deps: debug@~2.1.1
- - deps: etag@~1.5.1
- - deps: ms@0.7.0
- - deps: on-finished@~2.2.0
- * deps: serve-static@~1.8.0
- - deps: send@0.11.0
-
-4.10.8 / 2015-01-13
-===================
-
- * Fix crash from error within `OPTIONS` response handler
- * deps: proxy-addr@~1.0.5
- - deps: ipaddr.js@0.1.6
-
-4.10.7 / 2015-01-04
-===================
-
- * Fix `Allow` header for `OPTIONS` to not contain duplicate methods
- * Fix incorrect "Request aborted" for `res.sendFile` when `HEAD` or 304
- * deps: debug@~2.1.1
- * deps: finalhandler@0.3.3
- - deps: debug@~2.1.1
- - deps: on-finished@~2.2.0
- * deps: methods@~1.1.1
- * deps: on-finished@~2.2.0
- * deps: serve-static@~1.7.2
- - Fix potential open redirect when mounted at root
- * deps: type-is@~1.5.5
- - deps: mime-types@~2.0.7
-
-4.10.6 / 2014-12-12
-===================
-
- * Fix exception in `req.fresh`/`req.stale` without response headers
-
-4.10.5 / 2014-12-10
-===================
-
- * Fix `res.send` double-calling `res.end` for `HEAD` requests
- * deps: accepts@~1.1.4
- - deps: mime-types@~2.0.4
- * deps: type-is@~1.5.4
- - deps: mime-types@~2.0.4
-
-4.10.4 / 2014-11-24
-===================
-
- * Fix `res.sendfile` logging standard write errors
-
-4.10.3 / 2014-11-23
-===================
-
- * Fix `res.sendFile` logging standard write errors
- * deps: etag@~1.5.1
- * deps: proxy-addr@~1.0.4
- - deps: ipaddr.js@0.1.5
- * deps: qs@2.3.3
- - Fix `arrayLimit` behavior
-
-4.10.2 / 2014-11-09
-===================
-
- * Correctly invoke async router callback asynchronously
- * deps: accepts@~1.1.3
- - deps: mime-types@~2.0.3
- * deps: type-is@~1.5.3
- - deps: mime-types@~2.0.3
-
-4.10.1 / 2014-10-28
-===================
-
- * Fix handling of URLs containing `://` in the path
- * deps: qs@2.3.2
- - Fix parsing of mixed objects and values
-
-4.10.0 / 2014-10-23
-===================
-
- * Add support for `app.set('views', array)`
- - Views are looked up in sequence in array of directories
- * Fix `res.send(status)` to mention `res.sendStatus(status)`
- * Fix handling of invalid empty URLs
- * Use `content-disposition` module for `res.attachment`/`res.download`
- - Sends standards-compliant `Content-Disposition` header
- - Full Unicode support
- * Use `path.resolve` in view lookup
- * deps: debug@~2.1.0
- - Implement `DEBUG_FD` env variable support
- * deps: depd@~1.0.0
- * deps: etag@~1.5.0
- - Improve string performance
- - Slightly improve speed for weak ETags over 1KB
- * deps: finalhandler@0.3.2
- - Terminate in progress response only on error
- - Use `on-finished` to determine request status
- - deps: debug@~2.1.0
- - deps: on-finished@~2.1.1
- * deps: on-finished@~2.1.1
- - Fix handling of pipelined requests
- * deps: qs@2.3.0
- - Fix parsing of mixed implicit and explicit arrays
- * deps: send@0.10.1
- - deps: debug@~2.1.0
- - deps: depd@~1.0.0
- - deps: etag@~1.5.0
- - deps: on-finished@~2.1.1
- * deps: serve-static@~1.7.1
- - deps: send@0.10.1
-
-4.9.8 / 2014-10-17
-==================
-
- * Fix `res.redirect` body when redirect status specified
- * deps: accepts@~1.1.2
- - Fix error when media type has invalid parameter
- - deps: negotiator@0.4.9
-
-4.9.7 / 2014-10-10
-==================
-
- * Fix using same param name in array of paths
-
-4.9.6 / 2014-10-08
-==================
-
- * deps: accepts@~1.1.1
- - deps: mime-types@~2.0.2
- - deps: negotiator@0.4.8
- * deps: serve-static@~1.6.4
- - Fix redirect loop when index file serving disabled
- * deps: type-is@~1.5.2
- - deps: mime-types@~2.0.2
-
-4.9.5 / 2014-09-24
-==================
-
- * deps: etag@~1.4.0
- * deps: proxy-addr@~1.0.3
- - Use `forwarded` npm module
- * deps: send@0.9.3
- - deps: etag@~1.4.0
- * deps: serve-static@~1.6.3
- - deps: send@0.9.3
-
-4.9.4 / 2014-09-19
-==================
-
- * deps: qs@2.2.4
- - Fix issue with object keys starting with numbers truncated
-
-4.9.3 / 2014-09-18
-==================
-
- * deps: proxy-addr@~1.0.2
- - Fix a global leak when multiple subnets are trusted
- - deps: ipaddr.js@0.1.3
-
-4.9.2 / 2014-09-17
-==================
-
- * Fix regression for empty string `path` in `app.use`
- * Fix `router.use` to accept array of middleware without path
- * Improve error message for bad `app.use` arguments
-
-4.9.1 / 2014-09-16
-==================
-
- * Fix `app.use` to accept array of middleware without path
- * deps: depd@0.4.5
- * deps: etag@~1.3.1
- * deps: send@0.9.2
- - deps: depd@0.4.5
- - deps: etag@~1.3.1
- - deps: range-parser@~1.0.2
- * deps: serve-static@~1.6.2
- - deps: send@0.9.2
-
-4.9.0 / 2014-09-08
-==================
-
- * Add `res.sendStatus`
- * Invoke callback for sendfile when client aborts
- - Applies to `res.sendFile`, `res.sendfile`, and `res.download`
- - `err` will be populated with request aborted error
- * Support IP address host in `req.subdomains`
- * Use `etag` to generate `ETag` headers
- * deps: accepts@~1.1.0
- - update `mime-types`
- * deps: cookie-signature@1.0.5
- * deps: debug@~2.0.0
- * deps: finalhandler@0.2.0
- - Set `X-Content-Type-Options: nosniff` header
- - deps: debug@~2.0.0
- * deps: fresh@0.2.4
- * deps: media-typer@0.3.0
- - Throw error when parameter format invalid on parse
- * deps: qs@2.2.3
- - Fix issue where first empty value in array is discarded
- * deps: range-parser@~1.0.2
- * deps: send@0.9.1
- - Add `lastModified` option
- - Use `etag` to generate `ETag` header
- - deps: debug@~2.0.0
- - deps: fresh@0.2.4
- * deps: serve-static@~1.6.1
- - Add `lastModified` option
- - deps: send@0.9.1
- * deps: type-is@~1.5.1
- - fix `hasbody` to be true for `content-length: 0`
- - deps: media-typer@0.3.0
- - deps: mime-types@~2.0.1
- * deps: vary@~1.0.0
- - Accept valid `Vary` header string as `field`
-
-4.8.8 / 2014-09-04
-==================
-
- * deps: send@0.8.5
- - Fix a path traversal issue when using `root`
- - Fix malicious path detection for empty string path
- * deps: serve-static@~1.5.4
- - deps: send@0.8.5
-
-4.8.7 / 2014-08-29
-==================
-
- * deps: qs@2.2.2
- - Remove unnecessary cloning
-
-4.8.6 / 2014-08-27
-==================
-
- * deps: qs@2.2.0
- - Array parsing fix
- - Performance improvements
-
-4.8.5 / 2014-08-18
-==================
-
- * deps: send@0.8.3
- - deps: destroy@1.0.3
- - deps: on-finished@2.1.0
- * deps: serve-static@~1.5.3
- - deps: send@0.8.3
-
-4.8.4 / 2014-08-14
-==================
-
- * deps: qs@1.2.2
- * deps: send@0.8.2
- - Work around `fd` leak in Node.js 0.10 for `fs.ReadStream`
- * deps: serve-static@~1.5.2
- - deps: send@0.8.2
-
-4.8.3 / 2014-08-10
-==================
-
- * deps: parseurl@~1.3.0
- * deps: qs@1.2.1
- * deps: serve-static@~1.5.1
- - Fix parsing of weird `req.originalUrl` values
- - deps: parseurl@~1.3.0
- - deps: utils-merge@1.0.0
-
-4.8.2 / 2014-08-07
-==================
-
- * deps: qs@1.2.0
- - Fix parsing array of objects
-
-4.8.1 / 2014-08-06
-==================
-
- * fix incorrect deprecation warnings on `res.download`
- * deps: qs@1.1.0
- - Accept urlencoded square brackets
- - Accept empty values in implicit array notation
-
-4.8.0 / 2014-08-05
-==================
-
- * add `res.sendFile`
- - accepts a file system path instead of a URL
- - requires an absolute path or `root` option specified
- * deprecate `res.sendfile` -- use `res.sendFile` instead
- * support mounted app as any argument to `app.use()`
- * deps: qs@1.0.2
- - Complete rewrite
- - Limits array length to 20
- - Limits object depth to 5
- - Limits parameters to 1,000
- * deps: send@0.8.1
- - Add `extensions` option
- * deps: serve-static@~1.5.0
- - Add `extensions` option
- - deps: send@0.8.1
-
-4.7.4 / 2014-08-04
-==================
-
- * fix `res.sendfile` regression for serving directory index files
- * deps: send@0.7.4
- - Fix incorrect 403 on Windows and Node.js 0.11
- - Fix serving index files without root dir
- * deps: serve-static@~1.4.4
- - deps: send@0.7.4
-
-4.7.3 / 2014-08-04
-==================
-
- * deps: send@0.7.3
- - Fix incorrect 403 on Windows and Node.js 0.11
- * deps: serve-static@~1.4.3
- - Fix incorrect 403 on Windows and Node.js 0.11
- - deps: send@0.7.3
-
-4.7.2 / 2014-07-27
-==================
-
- * deps: depd@0.4.4
- - Work-around v8 generating empty stack traces
- * deps: send@0.7.2
- - deps: depd@0.4.4
- * deps: serve-static@~1.4.2
-
-4.7.1 / 2014-07-26
-==================
-
- * deps: depd@0.4.3
- - Fix exception when global `Error.stackTraceLimit` is too low
- * deps: send@0.7.1
- - deps: depd@0.4.3
- * deps: serve-static@~1.4.1
-
-4.7.0 / 2014-07-25
-==================
-
- * fix `req.protocol` for proxy-direct connections
- * configurable query parser with `app.set('query parser', parser)`
- - `app.set('query parser', 'extended')` parse with "qs" module
- - `app.set('query parser', 'simple')` parse with "querystring" core module
- - `app.set('query parser', false)` disable query string parsing
- - `app.set('query parser', true)` enable simple parsing
- * deprecate `res.json(status, obj)` -- use `res.status(status).json(obj)` instead
- * deprecate `res.jsonp(status, obj)` -- use `res.status(status).jsonp(obj)` instead
- * deprecate `res.send(status, body)` -- use `res.status(status).send(body)` instead
- * deps: debug@1.0.4
- * deps: depd@0.4.2
- - Add `TRACE_DEPRECATION` environment variable
- - Remove non-standard grey color from color output
- - Support `--no-deprecation` argument
- - Support `--trace-deprecation` argument
- * deps: finalhandler@0.1.0
- - Respond after request fully read
- - deps: debug@1.0.4
- * deps: parseurl@~1.2.0
- - Cache URLs based on original value
- - Remove no-longer-needed URL mis-parse work-around
- - Simplify the "fast-path" `RegExp`
- * deps: send@0.7.0
- - Add `dotfiles` option
- - Cap `maxAge` value to 1 year
- - deps: debug@1.0.4
- - deps: depd@0.4.2
- * deps: serve-static@~1.4.0
- - deps: parseurl@~1.2.0
- - deps: send@0.7.0
- * perf: prevent multiple `Buffer` creation in `res.send`
-
-4.6.1 / 2014-07-12
-==================
-
- * fix `subapp.mountpath` regression for `app.use(subapp)`
-
-4.6.0 / 2014-07-11
-==================
-
- * accept multiple callbacks to `app.use()`
- * add explicit "Rosetta Flash JSONP abuse" protection
- - previous versions are not vulnerable; this is just explicit protection
- * catch errors in multiple `req.param(name, fn)` handlers
- * deprecate `res.redirect(url, status)` -- use `res.redirect(status, url)` instead
- * fix `res.send(status, num)` to send `num` as json (not error)
- * remove unnecessary escaping when `res.jsonp` returns JSON response
- * support non-string `path` in `app.use(path, fn)`
- - supports array of paths
- - supports `RegExp`
- * router: fix optimization on router exit
- * router: refactor location of `try` blocks
- * router: speed up standard `app.use(fn)`
- * deps: debug@1.0.3
- - Add support for multiple wildcards in namespaces
- * deps: finalhandler@0.0.3
- - deps: debug@1.0.3
- * deps: methods@1.1.0
- - add `CONNECT`
- * deps: parseurl@~1.1.3
- - faster parsing of href-only URLs
- * deps: path-to-regexp@0.1.3
- * deps: send@0.6.0
- - deps: debug@1.0.3
- * deps: serve-static@~1.3.2
- - deps: parseurl@~1.1.3
- - deps: send@0.6.0
- * perf: fix arguments reassign deopt in some `res` methods
-
-4.5.1 / 2014-07-06
-==================
-
- * fix routing regression when altering `req.method`
-
-4.5.0 / 2014-07-04
-==================
-
- * add deprecation message to non-plural `req.accepts*`
- * add deprecation message to `res.send(body, status)`
- * add deprecation message to `res.vary()`
- * add `headers` option to `res.sendfile`
- - use to set headers on successful file transfer
- * add `mergeParams` option to `Router`
- - merges `req.params` from parent routes
- * add `req.hostname` -- correct name for what `req.host` returns
- * deprecate things with `depd` module
- * deprecate `req.host` -- use `req.hostname` instead
- * fix behavior when handling request without routes
- * fix handling when `route.all` is only route
- * invoke `router.param()` only when route matches
- * restore `req.params` after invoking router
- * use `finalhandler` for final response handling
- * use `media-typer` to alter content-type charset
- * deps: accepts@~1.0.7
- * deps: send@0.5.0
- - Accept string for `maxage` (converted by `ms`)
- - Include link in default redirect response
- * deps: serve-static@~1.3.0
- - Accept string for `maxAge` (converted by `ms`)
- - Add `setHeaders` option
- - Include HTML link in redirect response
- - deps: send@0.5.0
- * deps: type-is@~1.3.2
-
-4.4.5 / 2014-06-26
-==================
-
- * deps: cookie-signature@1.0.4
- - fix for timing attacks
-
-4.4.4 / 2014-06-20
-==================
-
- * fix `res.attachment` Unicode filenames in Safari
- * fix "trim prefix" debug message in `express:router`
- * deps: accepts@~1.0.5
- * deps: buffer-crc32@0.2.3
-
-4.4.3 / 2014-06-11
-==================
-
- * fix persistence of modified `req.params[name]` from `app.param()`
- * deps: accepts@1.0.3
- - deps: negotiator@0.4.6
- * deps: debug@1.0.2
- * deps: send@0.4.3
- - Do not throw un-catchable error on file open race condition
- - Use `escape-html` for HTML escaping
- - deps: debug@1.0.2
- - deps: finished@1.2.2
- - deps: fresh@0.2.2
- * deps: serve-static@1.2.3
- - Do not throw un-catchable error on file open race condition
- - deps: send@0.4.3
-
-4.4.2 / 2014-06-09
-==================
-
- * fix catching errors from top-level handlers
- * use `vary` module for `res.vary`
- * deps: debug@1.0.1
- * deps: proxy-addr@1.0.1
- * deps: send@0.4.2
- - fix "event emitter leak" warnings
- - deps: debug@1.0.1
- - deps: finished@1.2.1
- * deps: serve-static@1.2.2
- - fix "event emitter leak" warnings
- - deps: send@0.4.2
- * deps: type-is@1.2.1
-
-4.4.1 / 2014-06-02
-==================
-
- * deps: methods@1.0.1
- * deps: send@0.4.1
- - Send `max-age` in `Cache-Control` in correct format
- * deps: serve-static@1.2.1
- - use `escape-html` for escaping
- - deps: send@0.4.1
-
-4.4.0 / 2014-05-30
-==================
-
- * custom etag control with `app.set('etag', val)`
- - `app.set('etag', function(body, encoding){ return '"etag"' })` custom etag generation
- - `app.set('etag', 'weak')` weak tag
- - `app.set('etag', 'strong')` strong etag
- - `app.set('etag', false)` turn off
- - `app.set('etag', true)` standard etag
- * mark `res.send` ETag as weak and reduce collisions
- * update accepts to 1.0.2
- - Fix interpretation when header not in request
- * update send to 0.4.0
- - Calculate ETag with md5 for reduced collisions
- - Ignore stream errors after request ends
- - deps: debug@0.8.1
- * update serve-static to 1.2.0
- - Calculate ETag with md5 for reduced collisions
- - Ignore stream errors after request ends
- - deps: send@0.4.0
-
-4.3.2 / 2014-05-28
-==================
-
- * fix handling of errors from `router.param()` callbacks
-
-4.3.1 / 2014-05-23
-==================
-
- * revert "fix behavior of multiple `app.VERB` for the same path"
- - this caused a regression in the order of route execution
-
-4.3.0 / 2014-05-21
-==================
-
- * add `req.baseUrl` to access the path stripped from `req.url` in routes
- * fix behavior of multiple `app.VERB` for the same path
- * fix issue routing requests among sub routers
- * invoke `router.param()` only when necessary instead of every match
- * proper proxy trust with `app.set('trust proxy', trust)`
- - `app.set('trust proxy', 1)` trust first hop
- - `app.set('trust proxy', 'loopback')` trust loopback addresses
- - `app.set('trust proxy', '10.0.0.1')` trust single IP
- - `app.set('trust proxy', '10.0.0.1/16')` trust subnet
- - `app.set('trust proxy', '10.0.0.1, 10.0.0.2')` trust list
- - `app.set('trust proxy', false)` turn off
- - `app.set('trust proxy', true)` trust everything
- * set proper `charset` in `Content-Type` for `res.send`
- * update type-is to 1.2.0
- - support suffix matching
-
-4.2.0 / 2014-05-11
-==================
-
- * deprecate `app.del()` -- use `app.delete()` instead
- * deprecate `res.json(obj, status)` -- use `res.json(status, obj)` instead
- - the edge-case `res.json(status, num)` requires `res.status(status).json(num)`
- * deprecate `res.jsonp(obj, status)` -- use `res.jsonp(status, obj)` instead
- - the edge-case `res.jsonp(status, num)` requires `res.status(status).jsonp(num)`
- * fix `req.next` when inside router instance
- * include `ETag` header in `HEAD` requests
- * keep previous `Content-Type` for `res.jsonp`
- * support PURGE method
- - add `app.purge`
- - add `router.purge`
- - include PURGE in `app.all`
- * update debug to 0.8.0
- - add `enable()` method
- - change from stderr to stdout
- * update methods to 1.0.0
- - add PURGE
-
-4.1.2 / 2014-05-08
-==================
-
- * fix `req.host` for IPv6 literals
- * fix `res.jsonp` error if callback param is object
-
-4.1.1 / 2014-04-27
-==================
-
- * fix package.json to reflect supported node version
-
-4.1.0 / 2014-04-24
-==================
-
- * pass options from `res.sendfile` to `send`
- * preserve casing of headers in `res.header` and `res.set`
- * support unicode file names in `res.attachment` and `res.download`
- * update accepts to 1.0.1
- - deps: negotiator@0.4.0
- * update cookie to 0.1.2
- - Fix for maxAge == 0
- - made compat with expires field
- * update send to 0.3.0
- - Accept API options in options object
- - Coerce option types
- - Control whether to generate etags
- - Default directory access to 403 when index disabled
- - Fix sending files with dots without root set
- - Include file path in etag
- - Make "Can't set headers after they are sent." catchable
- - Send full entity-body for multi range requests
- - Set etags to "weak"
- - Support "If-Range" header
- - Support multiple index paths
- - deps: mime@1.2.11
- * update serve-static to 1.1.0
- - Accept options directly to `send` module
- - Resolve relative paths at middleware setup
- - Use parseurl to parse the URL from request
- - deps: send@0.3.0
- * update type-is to 1.1.0
- - add non-array values support
- - add `multipart` as a shorthand
-
-4.0.0 / 2014-04-09
-==================
-
- * remove:
- - node 0.8 support
- - connect and connect's patches except for charset handling
- - express(1) - moved to [express-generator](https://github.com/expressjs/generator)
- - `express.createServer()` - it has been deprecated for a long time. Use `express()`
- - `app.configure` - use logic in your own app code
- - `app.router` - is removed
- - `req.auth` - use `basic-auth` instead
- - `req.accepted*` - use `req.accepts*()` instead
- - `res.location` - relative URL resolution is removed
- - `res.charset` - include the charset in the content type when using `res.set()`
- - all bundled middleware except `static`
- * change:
- - `app.route` -> `app.mountpath` when mounting an express app in another express app
- - `json spaces` no longer enabled by default in development
- - `req.accepts*` -> `req.accepts*s` - i.e. `req.acceptsEncoding` -> `req.acceptsEncodings`
- - `req.params` is now an object instead of an array
- - `res.locals` is no longer a function. It is a plain js object. Treat it as such.
- - `res.headerSent` -> `res.headersSent` to match node.js ServerResponse object
- * refactor:
- - `req.accepts*` with [accepts](https://github.com/expressjs/accepts)
- - `req.is` with [type-is](https://github.com/expressjs/type-is)
- - [path-to-regexp](https://github.com/component/path-to-regexp)
- * add:
- - `app.router()` - returns the app Router instance
- - `app.route()` - Proxy to the app's `Router#route()` method to create a new route
- - Router & Route - public API
-
-3.21.2 / 2015-07-31
-===================
-
- * deps: connect@2.30.2
- - deps: body-parser@~1.13.3
- - deps: compression@~1.5.2
- - deps: errorhandler@~1.4.2
- - deps: method-override@~2.3.5
- - deps: serve-index@~1.7.2
- - deps: type-is@~1.6.6
- - deps: vhost@~3.0.1
- * deps: vary@~1.0.1
- - Fix setting empty header from empty `field`
- - perf: enable strict mode
- - perf: remove argument reassignments
-
-3.21.1 / 2015-07-05
-===================
-
- * deps: basic-auth@~1.0.3
- * deps: connect@2.30.1
- - deps: body-parser@~1.13.2
- - deps: compression@~1.5.1
- - deps: errorhandler@~1.4.1
- - deps: morgan@~1.6.1
- - deps: pause@0.1.0
- - deps: qs@4.0.0
- - deps: serve-index@~1.7.1
- - deps: type-is@~1.6.4
-
-3.21.0 / 2015-06-18
-===================
-
- * deps: basic-auth@1.0.2
- - perf: enable strict mode
- - perf: hoist regular expression
- - perf: parse with regular expressions
- - perf: remove argument reassignment
- * deps: connect@2.30.0
- - deps: body-parser@~1.13.1
- - deps: bytes@2.1.0
- - deps: compression@~1.5.0
- - deps: cookie@0.1.3
- - deps: cookie-parser@~1.3.5
- - deps: csurf@~1.8.3
- - deps: errorhandler@~1.4.0
- - deps: express-session@~1.11.3
- - deps: finalhandler@0.4.0
- - deps: fresh@0.3.0
- - deps: morgan@~1.6.0
- - deps: serve-favicon@~2.3.0
- - deps: serve-index@~1.7.0
- - deps: serve-static@~1.10.0
- - deps: type-is@~1.6.3
- * deps: cookie@0.1.3
- - perf: deduce the scope of try-catch deopt
- - perf: remove argument reassignments
- * deps: escape-html@1.0.2
- * deps: etag@~1.7.0
- - Always include entity length in ETags for hash length extensions
- - Generate non-Stats ETags using MD5 only (no longer CRC32)
- - Improve stat performance by removing hashing
- - Improve support for JXcore
- - Remove base64 padding in ETags to shorten
- - Support "fake" stats objects in environments without fs
- - Use MD5 instead of MD4 in weak ETags over 1KB
- * deps: fresh@0.3.0
- - Add weak `ETag` matching support
- * deps: mkdirp@0.5.1
- - Work in global strict mode
- * deps: send@0.13.0
- - Allow Node.js HTTP server to set `Date` response header
- - Fix incorrectly removing `Content-Location` on 304 response
- - Improve the default redirect response headers
- - Send appropriate headers on default error response
- - Use `http-errors` for standard emitted errors
- - Use `statuses` instead of `http` module for status messages
- - deps: escape-html@1.0.2
- - deps: etag@~1.7.0
- - deps: fresh@0.3.0
- - deps: on-finished@~2.3.0
- - perf: enable strict mode
- - perf: remove unnecessary array allocations
-
-3.20.3 / 2015-05-17
-===================
-
- * deps: connect@2.29.2
- - deps: body-parser@~1.12.4
- - deps: compression@~1.4.4
- - deps: connect-timeout@~1.6.2
- - deps: debug@~2.2.0
- - deps: depd@~1.0.1
- - deps: errorhandler@~1.3.6
- - deps: finalhandler@0.3.6
- - deps: method-override@~2.3.3
- - deps: morgan@~1.5.3
- - deps: qs@2.4.2
- - deps: response-time@~2.3.1
- - deps: serve-favicon@~2.2.1
- - deps: serve-index@~1.6.4
- - deps: serve-static@~1.9.3
- - deps: type-is@~1.6.2
- * deps: debug@~2.2.0
- - deps: ms@0.7.1
- * deps: depd@~1.0.1
- * deps: proxy-addr@~1.0.8
- - deps: ipaddr.js@1.0.1
- * deps: send@0.12.3
- - deps: debug@~2.2.0
- - deps: depd@~1.0.1
- - deps: etag@~1.6.0
- - deps: ms@0.7.1
- - deps: on-finished@~2.2.1
-
-3.20.2 / 2015-03-16
-===================
-
- * deps: connect@2.29.1
- - deps: body-parser@~1.12.2
- - deps: compression@~1.4.3
- - deps: connect-timeout@~1.6.1
- - deps: debug@~2.1.3
- - deps: errorhandler@~1.3.5
- - deps: express-session@~1.10.4
- - deps: finalhandler@0.3.4
- - deps: method-override@~2.3.2
- - deps: morgan@~1.5.2
- - deps: qs@2.4.1
- - deps: serve-index@~1.6.3
- - deps: serve-static@~1.9.2
- - deps: type-is@~1.6.1
- * deps: debug@~2.1.3
- - Fix high intensity foreground color for bold
- - deps: ms@0.7.0
- * deps: merge-descriptors@1.0.0
- * deps: proxy-addr@~1.0.7
- - deps: ipaddr.js@0.1.9
- * deps: send@0.12.2
- - Throw errors early for invalid `extensions` or `index` options
- - deps: debug@~2.1.3
-
-3.20.1 / 2015-02-28
-===================
-
- * Fix `req.host` when using "trust proxy" hops count
- * Fix `req.protocol`/`req.secure` when using "trust proxy" hops count
-
-3.20.0 / 2015-02-18
-===================
-
- * Fix `"trust proxy"` setting to inherit when app is mounted
- * Generate `ETag`s for all request responses
- - No longer restricted to only responses for `GET` and `HEAD` requests
- * Use `content-type` to parse `Content-Type` headers
- * deps: connect@2.29.0
- - Use `content-type` to parse `Content-Type` headers
- - deps: body-parser@~1.12.0
- - deps: compression@~1.4.1
- - deps: connect-timeout@~1.6.0
- - deps: cookie-parser@~1.3.4
- - deps: cookie-signature@1.0.6
- - deps: csurf@~1.7.0
- - deps: errorhandler@~1.3.4
- - deps: express-session@~1.10.3
- - deps: http-errors@~1.3.1
- - deps: response-time@~2.3.0
- - deps: serve-index@~1.6.2
- - deps: serve-static@~1.9.1
- - deps: type-is@~1.6.0
- * deps: cookie-signature@1.0.6
- * deps: send@0.12.1
- - Always read the stat size from the file
- - Fix mutating passed-in `options`
- - deps: mime@1.3.4
-
-3.19.2 / 2015-02-01
-===================
-
- * deps: connect@2.28.3
- - deps: compression@~1.3.1
- - deps: csurf@~1.6.6
- - deps: errorhandler@~1.3.3
- - deps: express-session@~1.10.2
- - deps: serve-index@~1.6.1
- - deps: type-is@~1.5.6
- * deps: proxy-addr@~1.0.6
- - deps: ipaddr.js@0.1.8
-
-3.19.1 / 2015-01-20
-===================
-
- * deps: connect@2.28.2
- - deps: body-parser@~1.10.2
- - deps: serve-static@~1.8.1
- * deps: send@0.11.1
- - Fix root path disclosure
-
-3.19.0 / 2015-01-09
-===================
-
- * Fix `OPTIONS` responses to include the `HEAD` method property
- * Use `readline` for prompt in `express(1)`
- * deps: commander@2.6.0
- * deps: connect@2.28.1
- - deps: body-parser@~1.10.1
- - deps: compression@~1.3.0
- - deps: connect-timeout@~1.5.0
- - deps: csurf@~1.6.4
- - deps: debug@~2.1.1
- - deps: errorhandler@~1.3.2
- - deps: express-session@~1.10.1
- - deps: finalhandler@0.3.3
- - deps: method-override@~2.3.1
- - deps: morgan@~1.5.1
- - deps: serve-favicon@~2.2.0
- - deps: serve-index@~1.6.0
- - deps: serve-static@~1.8.0
- - deps: type-is@~1.5.5
- * deps: debug@~2.1.1
- * deps: methods@~1.1.1
- * deps: proxy-addr@~1.0.5
- - deps: ipaddr.js@0.1.6
- * deps: send@0.11.0
- - deps: debug@~2.1.1
- - deps: etag@~1.5.1
- - deps: ms@0.7.0
- - deps: on-finished@~2.2.0
-
-3.18.6 / 2014-12-12
-===================
-
- * Fix exception in `req.fresh`/`req.stale` without response headers
-
-3.18.5 / 2014-12-11
-===================
-
- * deps: connect@2.27.6
- - deps: compression@~1.2.2
- - deps: express-session@~1.9.3
- - deps: http-errors@~1.2.8
- - deps: serve-index@~1.5.3
- - deps: type-is@~1.5.4
-
-3.18.4 / 2014-11-23
-===================
-
- * deps: connect@2.27.4
- - deps: body-parser@~1.9.3
- - deps: compression@~1.2.1
- - deps: errorhandler@~1.2.3
- - deps: express-session@~1.9.2
- - deps: qs@2.3.3
- - deps: serve-favicon@~2.1.7
- - deps: serve-static@~1.5.1
- - deps: type-is@~1.5.3
- * deps: etag@~1.5.1
- * deps: proxy-addr@~1.0.4
- - deps: ipaddr.js@0.1.5
-
-3.18.3 / 2014-11-09
-===================
-
- * deps: connect@2.27.3
- - Correctly invoke async callback asynchronously
- - deps: csurf@~1.6.3
-
-3.18.2 / 2014-10-28
-===================
-
- * deps: connect@2.27.2
- - Fix handling of URLs containing `://` in the path
- - deps: body-parser@~1.9.2
- - deps: qs@2.3.2
-
-3.18.1 / 2014-10-22
-===================
-
- * Fix internal `utils.merge` deprecation warnings
- * deps: connect@2.27.1
- - deps: body-parser@~1.9.1
- - deps: express-session@~1.9.1
- - deps: finalhandler@0.3.2
- - deps: morgan@~1.4.1
- - deps: qs@2.3.0
- - deps: serve-static@~1.7.1
- * deps: send@0.10.1
- - deps: on-finished@~2.1.1
-
-3.18.0 / 2014-10-17
-===================
-
- * Use `content-disposition` module for `res.attachment`/`res.download`
- - Sends standards-compliant `Content-Disposition` header
- - Full Unicode support
- * Use `etag` module to generate `ETag` headers
- * deps: connect@2.27.0
- - Use `http-errors` module for creating errors
- - Use `utils-merge` module for merging objects
- - deps: body-parser@~1.9.0
- - deps: compression@~1.2.0
- - deps: connect-timeout@~1.4.0
- - deps: debug@~2.1.0
- - deps: depd@~1.0.0
- - deps: express-session@~1.9.0
- - deps: finalhandler@0.3.1
- - deps: method-override@~2.3.0
- - deps: morgan@~1.4.0
- - deps: response-time@~2.2.0
- - deps: serve-favicon@~2.1.6
- - deps: serve-index@~1.5.0
- - deps: serve-static@~1.7.0
- * deps: debug@~2.1.0
- - Implement `DEBUG_FD` env variable support
- * deps: depd@~1.0.0
- * deps: send@0.10.0
- - deps: debug@~2.1.0
- - deps: depd@~1.0.0
- - deps: etag@~1.5.0
-
-3.17.8 / 2014-10-15
-===================
-
- * deps: connect@2.26.6
- - deps: compression@~1.1.2
- - deps: csurf@~1.6.2
- - deps: errorhandler@~1.2.2
-
-3.17.7 / 2014-10-08
-===================
-
- * deps: connect@2.26.5
- - Fix accepting non-object arguments to `logger`
- - deps: serve-static@~1.6.4
-
-3.17.6 / 2014-10-02
-===================
-
- * deps: connect@2.26.4
- - deps: morgan@~1.3.2
- - deps: type-is@~1.5.2
-
-3.17.5 / 2014-09-24
-===================
-
- * deps: connect@2.26.3
- - deps: body-parser@~1.8.4
- - deps: serve-favicon@~2.1.5
- - deps: serve-static@~1.6.3
- * deps: proxy-addr@~1.0.3
- - Use `forwarded` npm module
- * deps: send@0.9.3
- - deps: etag@~1.4.0
-
-3.17.4 / 2014-09-19
-===================
-
- * deps: connect@2.26.2
- - deps: body-parser@~1.8.3
- - deps: qs@2.2.4
-
-3.17.3 / 2014-09-18
-===================
-
- * deps: proxy-addr@~1.0.2
- - Fix a global leak when multiple subnets are trusted
- - deps: ipaddr.js@0.1.3
-
-3.17.2 / 2014-09-15
-===================
-
- * Use `crc` instead of `buffer-crc32` for speed
- * deps: connect@2.26.1
- - deps: body-parser@~1.8.2
- - deps: depd@0.4.5
- - deps: express-session@~1.8.2
- - deps: morgan@~1.3.1
- - deps: serve-favicon@~2.1.3
- - deps: serve-static@~1.6.2
- * deps: depd@0.4.5
- * deps: send@0.9.2
- - deps: depd@0.4.5
- - deps: etag@~1.3.1
- - deps: range-parser@~1.0.2
-
-3.17.1 / 2014-09-08
-===================
-
- * Fix error in `req.subdomains` on empty host
-
-3.17.0 / 2014-09-08
-===================
-
- * Support `X-Forwarded-Host` in `req.subdomains`
- * Support IP address host in `req.subdomains`
- * deps: connect@2.26.0
- - deps: body-parser@~1.8.1
- - deps: compression@~1.1.0
- - deps: connect-timeout@~1.3.0
- - deps: cookie-parser@~1.3.3
- - deps: cookie-signature@1.0.5
- - deps: csurf@~1.6.1
- - deps: debug@~2.0.0
- - deps: errorhandler@~1.2.0
- - deps: express-session@~1.8.1
- - deps: finalhandler@0.2.0
- - deps: fresh@0.2.4
- - deps: media-typer@0.3.0
- - deps: method-override@~2.2.0
- - deps: morgan@~1.3.0
- - deps: qs@2.2.3
- - deps: serve-favicon@~2.1.3
- - deps: serve-index@~1.2.1
- - deps: serve-static@~1.6.1
- - deps: type-is@~1.5.1
- - deps: vhost@~3.0.0
- * deps: cookie-signature@1.0.5
- * deps: debug@~2.0.0
- * deps: fresh@0.2.4
- * deps: media-typer@0.3.0
- - Throw error when parameter format invalid on parse
- * deps: range-parser@~1.0.2
- * deps: send@0.9.1
- - Add `lastModified` option
- - Use `etag` to generate `ETag` header
- - deps: debug@~2.0.0
- - deps: fresh@0.2.4
- * deps: vary@~1.0.0
- - Accept valid `Vary` header string as `field`
-
-3.16.10 / 2014-09-04
-====================
-
- * deps: connect@2.25.10
- - deps: serve-static@~1.5.4
- * deps: send@0.8.5
- - Fix a path traversal issue when using `root`
- - Fix malicious path detection for empty string path
-
-3.16.9 / 2014-08-29
-===================
-
- * deps: connect@2.25.9
- - deps: body-parser@~1.6.7
- - deps: qs@2.2.2
-
-3.16.8 / 2014-08-27
-===================
-
- * deps: connect@2.25.8
- - deps: body-parser@~1.6.6
- - deps: csurf@~1.4.1
- - deps: qs@2.2.0
-
-3.16.7 / 2014-08-18
-===================
-
- * deps: connect@2.25.7
- - deps: body-parser@~1.6.5
- - deps: express-session@~1.7.6
- - deps: morgan@~1.2.3
- - deps: serve-static@~1.5.3
- * deps: send@0.8.3
- - deps: destroy@1.0.3
- - deps: on-finished@2.1.0
-
-3.16.6 / 2014-08-14
-===================
-
- * deps: connect@2.25.6
- - deps: body-parser@~1.6.4
- - deps: qs@1.2.2
- - deps: serve-static@~1.5.2
- * deps: send@0.8.2
- - Work around `fd` leak in Node.js 0.10 for `fs.ReadStream`
-
-3.16.5 / 2014-08-11
-===================
-
- * deps: connect@2.25.5
- - Fix backwards compatibility in `logger`
-
-3.16.4 / 2014-08-10
-===================
-
- * Fix original URL parsing in `res.location`
- * deps: connect@2.25.4
- - Fix `query` middleware breaking with argument
- - deps: body-parser@~1.6.3
- - deps: compression@~1.0.11
- - deps: connect-timeout@~1.2.2
- - deps: express-session@~1.7.5
- - deps: method-override@~2.1.3
- - deps: on-headers@~1.0.0
- - deps: parseurl@~1.3.0
- - deps: qs@1.2.1
- - deps: response-time@~2.0.1
- - deps: serve-index@~1.1.6
- - deps: serve-static@~1.5.1
- * deps: parseurl@~1.3.0
-
-3.16.3 / 2014-08-07
-===================
-
- * deps: connect@2.25.3
- - deps: multiparty@3.3.2
-
-3.16.2 / 2014-08-07
-===================
-
- * deps: connect@2.25.2
- - deps: body-parser@~1.6.2
- - deps: qs@1.2.0
-
-3.16.1 / 2014-08-06
-===================
-
- * deps: connect@2.25.1
- - deps: body-parser@~1.6.1
- - deps: qs@1.1.0
-
-3.16.0 / 2014-08-05
-===================
-
- * deps: connect@2.25.0
- - deps: body-parser@~1.6.0
- - deps: compression@~1.0.10
- - deps: csurf@~1.4.0
- - deps: express-session@~1.7.4
- - deps: qs@1.0.2
- - deps: serve-static@~1.5.0
- * deps: send@0.8.1
- - Add `extensions` option
-
-3.15.3 / 2014-08-04
-===================
-
- * fix `res.sendfile` regression for serving directory index files
- * deps: connect@2.24.3
- - deps: serve-index@~1.1.5
- - deps: serve-static@~1.4.4
- * deps: send@0.7.4
- - Fix incorrect 403 on Windows and Node.js 0.11
- - Fix serving index files without root dir
-
-3.15.2 / 2014-07-27
-===================
-
- * deps: connect@2.24.2
- - deps: body-parser@~1.5.2
- - deps: depd@0.4.4
- - deps: express-session@~1.7.2
- - deps: morgan@~1.2.2
- - deps: serve-static@~1.4.2
- * deps: depd@0.4.4
- - Work-around v8 generating empty stack traces
- * deps: send@0.7.2
- - deps: depd@0.4.4
-
-3.15.1 / 2014-07-26
-===================
-
- * deps: connect@2.24.1
- - deps: body-parser@~1.5.1
- - deps: depd@0.4.3
- - deps: express-session@~1.7.1
- - deps: morgan@~1.2.1
- - deps: serve-index@~1.1.4
- - deps: serve-static@~1.4.1
- * deps: depd@0.4.3
- - Fix exception when global `Error.stackTraceLimit` is too low
- * deps: send@0.7.1
- - deps: depd@0.4.3
-
-3.15.0 / 2014-07-22
-===================
-
- * Fix `req.protocol` for proxy-direct connections
- * Pass options from `res.sendfile` to `send`
- * deps: connect@2.24.0
- - deps: body-parser@~1.5.0
- - deps: compression@~1.0.9
- - deps: connect-timeout@~1.2.1
- - deps: debug@1.0.4
- - deps: depd@0.4.2
- - deps: express-session@~1.7.0
- - deps: finalhandler@0.1.0
- - deps: method-override@~2.1.2
- - deps: morgan@~1.2.0
- - deps: multiparty@3.3.1
- - deps: parseurl@~1.2.0
- - deps: serve-static@~1.4.0
- * deps: debug@1.0.4
- * deps: depd@0.4.2
- - Add `TRACE_DEPRECATION` environment variable
- - Remove non-standard grey color from color output
- - Support `--no-deprecation` argument
- - Support `--trace-deprecation` argument
- * deps: parseurl@~1.2.0
- - Cache URLs based on original value
- - Remove no-longer-needed URL mis-parse work-around
- - Simplify the "fast-path" `RegExp`
- * deps: send@0.7.0
- - Add `dotfiles` option
- - Cap `maxAge` value to 1 year
- - deps: debug@1.0.4
- - deps: depd@0.4.2
-
-3.14.0 / 2014-07-11
-===================
-
- * add explicit "Rosetta Flash JSONP abuse" protection
- - previous versions are not vulnerable; this is just explicit protection
- * deprecate `res.redirect(url, status)` -- use `res.redirect(status, url)` instead
- * fix `res.send(status, num)` to send `num` as json (not error)
- * remove unnecessary escaping when `res.jsonp` returns JSON response
- * deps: basic-auth@1.0.0
- - support empty password
- - support empty username
- * deps: connect@2.23.0
- - deps: debug@1.0.3
- - deps: express-session@~1.6.4
- - deps: method-override@~2.1.0
- - deps: parseurl@~1.1.3
- - deps: serve-static@~1.3.1
- * deps: debug@1.0.3
- - Add support for multiple wildcards in namespaces
- * deps: methods@1.1.0
- - add `CONNECT`
- * deps: parseurl@~1.1.3
- - faster parsing of href-only URLs
-
-3.13.0 / 2014-07-03
-===================
-
- * add deprecation message to `app.configure`
- * add deprecation message to `req.auth`
- * use `basic-auth` to parse `Authorization` header
- * deps: connect@2.22.0
- - deps: csurf@~1.3.0
- - deps: express-session@~1.6.1
- - deps: multiparty@3.3.0
- - deps: serve-static@~1.3.0
- * deps: send@0.5.0
- - Accept string for `maxage` (converted by `ms`)
- - Include link in default redirect response
-
-3.12.1 / 2014-06-26
-===================
-
- * deps: connect@2.21.1
- - deps: cookie-parser@1.3.2
- - deps: cookie-signature@1.0.4
- - deps: express-session@~1.5.2
- - deps: type-is@~1.3.2
- * deps: cookie-signature@1.0.4
- - fix for timing attacks
-
-3.12.0 / 2014-06-21
-===================
-
- * use `media-typer` to alter content-type charset
- * deps: connect@2.21.0
- - deprecate `connect(middleware)` -- use `app.use(middleware)` instead
- - deprecate `connect.createServer()` -- use `connect()` instead
- - fix `res.setHeader()` patch to work with with get -> append -> set pattern
- - deps: compression@~1.0.8
- - deps: errorhandler@~1.1.1
- - deps: express-session@~1.5.0
- - deps: serve-index@~1.1.3
-
-3.11.0 / 2014-06-19
-===================
-
- * deprecate things with `depd` module
- * deps: buffer-crc32@0.2.3
- * deps: connect@2.20.2
- - deprecate `verify` option to `json` -- use `body-parser` npm module instead
- - deprecate `verify` option to `urlencoded` -- use `body-parser` npm module instead
- - deprecate things with `depd` module
- - use `finalhandler` for final response handling
- - use `media-typer` to parse `content-type` for charset
- - deps: body-parser@1.4.3
- - deps: connect-timeout@1.1.1
- - deps: cookie-parser@1.3.1
- - deps: csurf@1.2.2
- - deps: errorhandler@1.1.0
- - deps: express-session@1.4.0
- - deps: multiparty@3.2.9
- - deps: serve-index@1.1.2
- - deps: type-is@1.3.1
- - deps: vhost@2.0.0
-
-3.10.5 / 2014-06-11
-===================
-
- * deps: connect@2.19.6
- - deps: body-parser@1.3.1
- - deps: compression@1.0.7
- - deps: debug@1.0.2
- - deps: serve-index@1.1.1
- - deps: serve-static@1.2.3
- * deps: debug@1.0.2
- * deps: send@0.4.3
- - Do not throw un-catchable error on file open race condition
- - Use `escape-html` for HTML escaping
- - deps: debug@1.0.2
- - deps: finished@1.2.2
- - deps: fresh@0.2.2
-
-3.10.4 / 2014-06-09
-===================
-
- * deps: connect@2.19.5
- - fix "event emitter leak" warnings
- - deps: csurf@1.2.1
- - deps: debug@1.0.1
- - deps: serve-static@1.2.2
- - deps: type-is@1.2.1
- * deps: debug@1.0.1
- * deps: send@0.4.2
- - fix "event emitter leak" warnings
- - deps: finished@1.2.1
- - deps: debug@1.0.1
-
-3.10.3 / 2014-06-05
-===================
-
- * use `vary` module for `res.vary`
- * deps: connect@2.19.4
- - deps: errorhandler@1.0.2
- - deps: method-override@2.0.2
- - deps: serve-favicon@2.0.1
- * deps: debug@1.0.0
-
-3.10.2 / 2014-06-03
-===================
-
- * deps: connect@2.19.3
- - deps: compression@1.0.6
-
-3.10.1 / 2014-06-03
-===================
-
- * deps: connect@2.19.2
- - deps: compression@1.0.4
- * deps: proxy-addr@1.0.1
-
-3.10.0 / 2014-06-02
-===================
-
- * deps: connect@2.19.1
- - deprecate `methodOverride()` -- use `method-override` npm module instead
- - deps: body-parser@1.3.0
- - deps: method-override@2.0.1
- - deps: multiparty@3.2.8
- - deps: response-time@2.0.0
- - deps: serve-static@1.2.1
- * deps: methods@1.0.1
- * deps: send@0.4.1
- - Send `max-age` in `Cache-Control` in correct format
-
-3.9.0 / 2014-05-30
-==================
-
- * custom etag control with `app.set('etag', val)`
- - `app.set('etag', function(body, encoding){ return '"etag"' })` custom etag generation
- - `app.set('etag', 'weak')` weak tag
- - `app.set('etag', 'strong')` strong etag
- - `app.set('etag', false)` turn off
- - `app.set('etag', true)` standard etag
- * Include ETag in HEAD requests
- * mark `res.send` ETag as weak and reduce collisions
- * update connect to 2.18.0
- - deps: compression@1.0.3
- - deps: serve-index@1.1.0
- - deps: serve-static@1.2.0
- * update send to 0.4.0
- - Calculate ETag with md5 for reduced collisions
- - Ignore stream errors after request ends
- - deps: debug@0.8.1
-
-3.8.1 / 2014-05-27
-==================
-
- * update connect to 2.17.3
- - deps: body-parser@1.2.2
- - deps: express-session@1.2.1
- - deps: method-override@1.0.2
-
-3.8.0 / 2014-05-21
-==================
-
- * keep previous `Content-Type` for `res.jsonp`
- * set proper `charset` in `Content-Type` for `res.send`
- * update connect to 2.17.1
- - fix `res.charset` appending charset when `content-type` has one
- - deps: express-session@1.2.0
- - deps: morgan@1.1.1
- - deps: serve-index@1.0.3
-
-3.7.0 / 2014-05-18
-==================
-
- * proper proxy trust with `app.set('trust proxy', trust)`
- - `app.set('trust proxy', 1)` trust first hop
- - `app.set('trust proxy', 'loopback')` trust loopback addresses
- - `app.set('trust proxy', '10.0.0.1')` trust single IP
- - `app.set('trust proxy', '10.0.0.1/16')` trust subnet
- - `app.set('trust proxy', '10.0.0.1, 10.0.0.2')` trust list
- - `app.set('trust proxy', false)` turn off
- - `app.set('trust proxy', true)` trust everything
- * update connect to 2.16.2
- - deprecate `res.headerSent` -- use `res.headersSent`
- - deprecate `res.on("header")` -- use on-headers module instead
- - fix edge-case in `res.appendHeader` that would append in wrong order
- - json: use body-parser
- - urlencoded: use body-parser
- - dep: bytes@1.0.0
- - dep: cookie-parser@1.1.0
- - dep: csurf@1.2.0
- - dep: express-session@1.1.0
- - dep: method-override@1.0.1
-
-3.6.0 / 2014-05-09
-==================
-
- * deprecate `app.del()` -- use `app.delete()` instead
- * deprecate `res.json(obj, status)` -- use `res.json(status, obj)` instead
- - the edge-case `res.json(status, num)` requires `res.status(status).json(num)`
- * deprecate `res.jsonp(obj, status)` -- use `res.jsonp(status, obj)` instead
- - the edge-case `res.jsonp(status, num)` requires `res.status(status).jsonp(num)`
- * support PURGE method
- - add `app.purge`
- - add `router.purge`
- - include PURGE in `app.all`
- * update connect to 2.15.0
- * Add `res.appendHeader`
- * Call error stack even when response has been sent
- * Patch `res.headerSent` to return Boolean
- * Patch `res.headersSent` for node.js 0.8
- * Prevent default 404 handler after response sent
- * dep: compression@1.0.2
- * dep: connect-timeout@1.1.0
- * dep: debug@^0.8.0
- * dep: errorhandler@1.0.1
- * dep: express-session@1.0.4
- * dep: morgan@1.0.1
- * dep: serve-favicon@2.0.0
- * dep: serve-index@1.0.2
- * update debug to 0.8.0
- * add `enable()` method
- * change from stderr to stdout
- * update methods to 1.0.0
- - add PURGE
- * update mkdirp to 0.5.0
-
-3.5.3 / 2014-05-08
-==================
-
- * fix `req.host` for IPv6 literals
- * fix `res.jsonp` error if callback param is object
-
-3.5.2 / 2014-04-24
-==================
-
- * update connect to 2.14.5
- * update cookie to 0.1.2
- * update mkdirp to 0.4.0
- * update send to 0.3.0
-
-3.5.1 / 2014-03-25
-==================
-
- * pin less-middleware in generated app
-
-3.5.0 / 2014-03-06
-==================
-
- * bump deps
-
-3.4.8 / 2014-01-13
-==================
-
- * prevent incorrect automatic OPTIONS responses #1868 @dpatti
- * update binary and examples for jade 1.0 #1876 @yossi, #1877 @reqshark, #1892 @matheusazzi
- * throw 400 in case of malformed paths @rlidwka
-
-3.4.7 / 2013-12-10
-==================
-
- * update connect
-
-3.4.6 / 2013-12-01
-==================
-
- * update connect (raw-body)
-
-3.4.5 / 2013-11-27
-==================
-
- * update connect
- * res.location: remove leading ./ #1802 @kapouer
- * res.redirect: fix `res.redirect('toString') #1829 @michaelficarra
- * res.send: always send ETag when content-length > 0
- * router: add Router.all() method
-
-3.4.4 / 2013-10-29
-==================
-
- * update connect
- * update supertest
- * update methods
- * express(1): replace bodyParser() with urlencoded() and json() #1795 @chirag04
-
-3.4.3 / 2013-10-23
-==================
-
- * update connect
-
-3.4.2 / 2013-10-18
-==================
-
- * update connect
- * downgrade commander
-
-3.4.1 / 2013-10-15
-==================
-
- * update connect
- * update commander
- * jsonp: check if callback is a function
- * router: wrap encodeURIComponent in a try/catch #1735 (@lxe)
- * res.format: now includes charset @1747 (@sorribas)
- * res.links: allow multiple calls @1746 (@sorribas)
-
-3.4.0 / 2013-09-07
-==================
-
- * add res.vary(). Closes #1682
- * update connect
-
-3.3.8 / 2013-09-02
-==================
-
- * update connect
-
-3.3.7 / 2013-08-28
-==================
-
- * update connect
-
-3.3.6 / 2013-08-27
-==================
-
- * Revert "remove charset from json responses. Closes #1631" (causes issues in some clients)
- * add: req.accepts take an argument list
-
-3.3.4 / 2013-07-08
-==================
-
- * update send and connect
-
-3.3.3 / 2013-07-04
-==================
-
- * update connect
-
-3.3.2 / 2013-07-03
-==================
-
- * update connect
- * update send
- * remove .version export
-
-3.3.1 / 2013-06-27
-==================
-
- * update connect
-
-3.3.0 / 2013-06-26
-==================
-
- * update connect
- * add support for multiple X-Forwarded-Proto values. Closes #1646
- * change: remove charset from json responses. Closes #1631
- * change: return actual booleans from req.accept* functions
- * fix jsonp callback array throw
-
-3.2.6 / 2013-06-02
-==================
-
- * update connect
-
-3.2.5 / 2013-05-21
-==================
-
- * update connect
- * update node-cookie
- * add: throw a meaningful error when there is no default engine
- * change generation of ETags with res.send() to GET requests only. Closes #1619
-
-3.2.4 / 2013-05-09
-==================
-
- * fix `req.subdomains` when no Host is present
- * fix `req.host` when no Host is present, return undefined
-
-3.2.3 / 2013-05-07
-==================
-
- * update connect / qs
-
-3.2.2 / 2013-05-03
-==================
-
- * update qs
-
-3.2.1 / 2013-04-29
-==================
-
- * add app.VERB() paths array deprecation warning
- * update connect
- * update qs and remove all ~ semver crap
- * fix: accept number as value of Signed Cookie
-
-3.2.0 / 2013-04-15
-==================
-
- * add "view" constructor setting to override view behaviour
- * add req.acceptsEncoding(name)
- * add req.acceptedEncodings
- * revert cookie signature change causing session race conditions
- * fix sorting of Accept values of the same quality
-
-3.1.2 / 2013-04-12
-==================
-
- * add support for custom Accept parameters
- * update cookie-signature
-
-3.1.1 / 2013-04-01
-==================
-
- * add X-Forwarded-Host support to `req.host`
- * fix relative redirects
- * update mkdirp
- * update buffer-crc32
- * remove legacy app.configure() method from app template.
-
-3.1.0 / 2013-01-25
-==================
-
- * add support for leading "." in "view engine" setting
- * add array support to `res.set()`
- * add node 0.8.x to travis.yml
- * add "subdomain offset" setting for tweaking `req.subdomains`
- * add `res.location(url)` implementing `res.redirect()`-like setting of Location
- * use app.get() for x-powered-by setting for inheritance
- * fix colons in passwords for `req.auth`
-
-3.0.6 / 2013-01-04
-==================
-
- * add http verb methods to Router
- * update connect
- * fix mangling of the `res.cookie()` options object
- * fix jsonp whitespace escape. Closes #1132
-
-3.0.5 / 2012-12-19
-==================
-
- * add throwing when a non-function is passed to a route
- * fix: explicitly remove Transfer-Encoding header from 204 and 304 responses
- * revert "add 'etag' option"
-
-3.0.4 / 2012-12-05
-==================
-
- * add 'etag' option to disable `res.send()` Etags
- * add escaping of urls in text/plain in `res.redirect()`
- for old browsers interpreting as html
- * change crc32 module for a more liberal license
- * update connect
-
-3.0.3 / 2012-11-13
-==================
-
- * update connect
- * update cookie module
- * fix cookie max-age
-
-3.0.2 / 2012-11-08
-==================
-
- * add OPTIONS to cors example. Closes #1398
- * fix route chaining regression. Closes #1397
-
-3.0.1 / 2012-11-01
-==================
-
- * update connect
-
-3.0.0 / 2012-10-23
-==================
-
- * add `make clean`
- * add "Basic" check to req.auth
- * add `req.auth` test coverage
- * add cb && cb(payload) to `res.jsonp()`. Closes #1374
- * add backwards compat for `res.redirect()` status. Closes #1336
- * add support for `res.json()` to retain previously defined Content-Types. Closes #1349
- * update connect
- * change `res.redirect()` to utilize a pathname-relative Location again. Closes #1382
- * remove non-primitive string support for `res.send()`
- * fix view-locals example. Closes #1370
- * fix route-separation example
-
-3.0.0rc5 / 2012-09-18
-==================
-
- * update connect
- * add redis search example
- * add static-files example
- * add "x-powered-by" setting (`app.disable('x-powered-by')`)
- * add "application/octet-stream" redirect Accept test case. Closes #1317
-
-3.0.0rc4 / 2012-08-30
-==================
-
- * add `res.jsonp()`. Closes #1307
- * add "verbose errors" option to error-pages example
- * add another route example to express(1) so people are not so confused
- * add redis online user activity tracking example
- * update connect dep
- * fix etag quoting. Closes #1310
- * fix error-pages 404 status
- * fix jsonp callback char restrictions
- * remove old OPTIONS default response
-
-3.0.0rc3 / 2012-08-13
-==================
-
- * update connect dep
- * fix signed cookies to work with `connect.cookieParser()` ("s:" prefix was missing) [tnydwrds]
- * fix `res.render()` clobbering of "locals"
-
-3.0.0rc2 / 2012-08-03
-==================
-
- * add CORS example
- * update connect dep
- * deprecate `.createServer()` & remove old stale examples
- * fix: escape `res.redirect()` link
- * fix vhost example
-
-3.0.0rc1 / 2012-07-24
-==================
-
- * add more examples to view-locals
- * add scheme-relative redirects (`res.redirect("//foo.com")`) support
- * update cookie dep
- * update connect dep
- * update send dep
- * fix `express(1)` -h flag, use -H for hogan. Closes #1245
- * fix `res.sendfile()` socket error handling regression
-
-3.0.0beta7 / 2012-07-16
-==================
-
- * update connect dep for `send()` root normalization regression
-
-3.0.0beta6 / 2012-07-13
-==================
-
- * add `err.view` property for view errors. Closes #1226
- * add "jsonp callback name" setting
- * add support for "/foo/:bar*" non-greedy matches
- * change `res.sendfile()` to use `send()` module
- * change `res.send` to use "response-send" module
- * remove `app.locals.use` and `res.locals.use`, use regular middleware
-
-3.0.0beta5 / 2012-07-03
-==================
-
- * add "make check" support
- * add route-map example
- * add `res.json(obj, status)` support back for BC
- * add "methods" dep, remove internal methods module
- * update connect dep
- * update auth example to utilize cores pbkdf2
- * updated tests to use "supertest"
-
-3.0.0beta4 / 2012-06-25
-==================
-
- * Added `req.auth`
- * Added `req.range(size)`
- * Added `res.links(obj)`
- * Added `res.send(body, status)` support back for backwards compat
- * Added `.default()` support to `res.format()`
- * Added 2xx / 304 check to `req.fresh`
- * Revert "Added + support to the router"
- * Fixed `res.send()` freshness check, respect res.statusCode
-
-3.0.0beta3 / 2012-06-15
-==================
-
- * Added hogan `--hjs` to express(1) [nullfirm]
- * Added another example to content-negotiation
- * Added `fresh` dep
- * Changed: `res.send()` always checks freshness
- * Fixed: expose connects mime module. Closes #1165
-
-3.0.0beta2 / 2012-06-06
-==================
-
- * Added `+` support to the router
- * Added `req.host`
- * Changed `req.param()` to check route first
- * Update connect dep
-
-3.0.0beta1 / 2012-06-01
-==================
-
- * Added `res.format()` callback to override default 406 behaviour
- * Fixed `res.redirect()` 406. Closes #1154
-
-3.0.0alpha5 / 2012-05-30
-==================
-
- * Added `req.ip`
- * Added `{ signed: true }` option to `res.cookie()`
- * Removed `res.signedCookie()`
- * Changed: dont reverse `req.ips`
- * Fixed "trust proxy" setting check for `req.ips`
-
-3.0.0alpha4 / 2012-05-09
-==================
-
- * Added: allow `[]` in jsonp callback. Closes #1128
- * Added `PORT` env var support in generated template. Closes #1118 [benatkin]
- * Updated: connect 2.2.2
-
-3.0.0alpha3 / 2012-05-04
-==================
-
- * Added public `app.routes`. Closes #887
- * Added _view-locals_ example
- * Added _mvc_ example
- * Added `res.locals.use()`. Closes #1120
- * Added conditional-GET support to `res.send()`
- * Added: coerce `res.set()` values to strings
- * Changed: moved `static()` in generated apps below router
- * Changed: `res.send()` only set ETag when not previously set
- * Changed connect 2.2.1 dep
- * Changed: `make test` now runs unit / acceptance tests
- * Fixed req/res proto inheritance
-
-3.0.0alpha2 / 2012-04-26
-==================
-
- * Added `make benchmark` back
- * Added `res.send()` support for `String` objects
- * Added client-side data exposing example
- * Added `res.header()` and `req.header()` aliases for BC
- * Added `express.createServer()` for BC
- * Perf: memoize parsed urls
- * Perf: connect 2.2.0 dep
- * Changed: make `expressInit()` middleware self-aware
- * Fixed: use app.get() for all core settings
- * Fixed redis session example
- * Fixed session example. Closes #1105
- * Fixed generated express dep. Closes #1078
-
-3.0.0alpha1 / 2012-04-15
-==================
-
- * Added `app.locals.use(callback)`
- * Added `app.locals` object
- * Added `app.locals(obj)`
- * Added `res.locals` object
- * Added `res.locals(obj)`
- * Added `res.format()` for content-negotiation
- * Added `app.engine()`
- * Added `res.cookie()` JSON cookie support
- * Added "trust proxy" setting
- * Added `req.subdomains`
- * Added `req.protocol`
- * Added `req.secure`
- * Added `req.path`
- * Added `req.ips`
- * Added `req.fresh`
- * Added `req.stale`
- * Added comma-delimited / array support for `req.accepts()`
- * Added debug instrumentation
- * Added `res.set(obj)`
- * Added `res.set(field, value)`
- * Added `res.get(field)`
- * Added `app.get(setting)`. Closes #842
- * Added `req.acceptsLanguage()`
- * Added `req.acceptsCharset()`
- * Added `req.accepted`
- * Added `req.acceptedLanguages`
- * Added `req.acceptedCharsets`
- * Added "json replacer" setting
- * Added "json spaces" setting
- * Added X-Forwarded-Proto support to `res.redirect()`. Closes #92
- * Added `--less` support to express(1)
- * Added `express.response` prototype
- * Added `express.request` prototype
- * Added `express.application` prototype
- * Added `app.path()`
- * Added `app.render()`
- * Added `res.type()` to replace `res.contentType()`
- * Changed: `res.redirect()` to add relative support
- * Changed: enable "jsonp callback" by default
- * Changed: renamed "case sensitive routes" to "case sensitive routing"
- * Rewrite of all tests with mocha
- * Removed "root" setting
- * Removed `res.redirect('home')` support
- * Removed `req.notify()`
- * Removed `app.register()`
- * Removed `app.redirect()`
- * Removed `app.is()`
- * Removed `app.helpers()`
- * Removed `app.dynamicHelpers()`
- * Fixed `res.sendfile()` with non-GET. Closes #723
- * Fixed express(1) public dir for windows. Closes #866
-
-2.5.9/ 2012-04-02
-==================
-
- * Added support for PURGE request method [pbuyle]
- * Fixed `express(1)` generated app `app.address()` before `listening` [mmalecki]
-
-2.5.8 / 2012-02-08
-==================
-
- * Update mkdirp dep. Closes #991
-
-2.5.7 / 2012-02-06
-==================
-
- * Fixed `app.all` duplicate DELETE requests [mscdex]
-
-2.5.6 / 2012-01-13
-==================
-
- * Updated hamljs dev dep. Closes #953
-
-2.5.5 / 2012-01-08
-==================
-
- * Fixed: set `filename` on cached templates [matthewleon]
-
-2.5.4 / 2012-01-02
-==================
-
- * Fixed `express(1)` eol on 0.4.x. Closes #947
-
-2.5.3 / 2011-12-30
-==================
-
- * Fixed `req.is()` when a charset is present
-
-2.5.2 / 2011-12-10
-==================
-
- * Fixed: express(1) LF -> CRLF for windows
-
-2.5.1 / 2011-11-17
-==================
-
- * Changed: updated connect to 1.8.x
- * Removed sass.js support from express(1)
-
-2.5.0 / 2011-10-24
-==================
-
- * Added ./routes dir for generated app by default
- * Added npm install reminder to express(1) app gen
- * Added 0.5.x support
- * Removed `make test-cov` since it wont work with node 0.5.x
- * Fixed express(1) public dir for windows. Closes #866
-
-2.4.7 / 2011-10-05
-==================
-
- * Added mkdirp to express(1). Closes #795
- * Added simple _json-config_ example
- * Added shorthand for the parsed request's pathname via `req.path`
- * Changed connect dep to 1.7.x to fix npm issue...
- * Fixed `res.redirect()` __HEAD__ support. [reported by xerox]
- * Fixed `req.flash()`, only escape args
- * Fixed absolute path checking on windows. Closes #829 [reported by andrewpmckenzie]
-
-2.4.6 / 2011-08-22
-==================
-
- * Fixed multiple param callback regression. Closes #824 [reported by TroyGoode]
-
-2.4.5 / 2011-08-19
-==================
-
- * Added support for routes to handle errors. Closes #809
- * Added `app.routes.all()`. Closes #803
- * Added "basepath" setting to work in conjunction with reverse proxies etc.
- * Refactored `Route` to use a single array of callbacks
- * Added support for multiple callbacks for `app.param()`. Closes #801
-Closes #805
- * Changed: removed .call(self) for route callbacks
- * Dependency: `qs >= 0.3.1`
- * Fixed `res.redirect()` on windows due to `join()` usage. Closes #808
-
-2.4.4 / 2011-08-05
-==================
-
- * Fixed `res.header()` intention of a set, even when `undefined`
- * Fixed `*`, value no longer required
- * Fixed `res.send(204)` support. Closes #771
-
-2.4.3 / 2011-07-14
-==================
-
- * Added docs for `status` option special-case. Closes #739
- * Fixed `options.filename`, exposing the view path to template engines
-
-2.4.2. / 2011-07-06
-==================
-
- * Revert "removed jsonp stripping" for XSS
-
-2.4.1 / 2011-07-06
-==================
-
- * Added `res.json()` JSONP support. Closes #737
- * Added _extending-templates_ example. Closes #730
- * Added "strict routing" setting for trailing slashes
- * Added support for multiple envs in `app.configure()` calls. Closes #735
- * Changed: `res.send()` using `res.json()`
- * Changed: when cookie `path === null` don't default it
- * Changed; default cookie path to "home" setting. Closes #731
- * Removed _pids/logs_ creation from express(1)
-
-2.4.0 / 2011-06-28
-==================
-
- * Added chainable `res.status(code)`
- * Added `res.json()`, an explicit version of `res.send(obj)`
- * Added simple web-service example
-
-2.3.12 / 2011-06-22
-==================
-
- * \#express is now on freenode! come join!
- * Added `req.get(field, param)`
- * Added links to Japanese documentation, thanks @hideyukisaito!
- * Added; the `express(1)` generated app outputs the env
- * Added `content-negotiation` example
- * Dependency: connect >= 1.5.1 < 2.0.0
- * Fixed view layout bug. Closes #720
- * Fixed; ignore body on 304. Closes #701
-
-2.3.11 / 2011-06-04
-==================
-
- * Added `npm test`
- * Removed generation of dummy test file from `express(1)`
- * Fixed; `express(1)` adds express as a dep
- * Fixed; prune on `prepublish`
-
-2.3.10 / 2011-05-27
-==================
-
- * Added `req.route`, exposing the current route
- * Added _package.json_ generation support to `express(1)`
- * Fixed call to `app.param()` function for optional params. Closes #682
-
-2.3.9 / 2011-05-25
-==================
-
- * Fixed bug-ish with `../' in `res.partial()` calls
-
-2.3.8 / 2011-05-24
-==================
-
- * Fixed `app.options()`
-
-2.3.7 / 2011-05-23
-==================
-
- * Added route `Collection`, ex: `app.get('/user/:id').remove();`
- * Added support for `app.param(fn)` to define param logic
- * Removed `app.param()` support for callback with return value
- * Removed module.parent check from express(1) generated app. Closes #670
- * Refactored router. Closes #639
-
-2.3.6 / 2011-05-20
-==================
-
- * Changed; using devDependencies instead of git submodules
- * Fixed redis session example
- * Fixed markdown example
- * Fixed view caching, should not be enabled in development
-
-2.3.5 / 2011-05-20
-==================
-
- * Added export `.view` as alias for `.View`
-
-2.3.4 / 2011-05-08
-==================
-
- * Added `./examples/say`
- * Fixed `res.sendfile()` bug preventing the transfer of files with spaces
-
-2.3.3 / 2011-05-03
-==================
-
- * Added "case sensitive routes" option.
- * Changed; split methods supported per rfc [slaskis]
- * Fixed route-specific middleware when using the same callback function several times
-
-2.3.2 / 2011-04-27
-==================
-
- * Fixed view hints
-
-2.3.1 / 2011-04-26
-==================
-
- * Added `app.match()` as `app.match.all()`
- * Added `app.lookup()` as `app.lookup.all()`
- * Added `app.remove()` for `app.remove.all()`
- * Added `app.remove.VERB()`
- * Fixed template caching collision issue. Closes #644
- * Moved router over from connect and started refactor
-
-2.3.0 / 2011-04-25
-==================
-
- * Added options support to `res.clearCookie()`
- * Added `res.helpers()` as alias of `res.locals()`
- * Added; json defaults to UTF-8 with `res.send()`. Closes #632. [Daniel * Dependency `connect >= 1.4.0`
- * Changed; auto set Content-Type in res.attachement [Aaron Heckmann]
- * Renamed "cache views" to "view cache". Closes #628
- * Fixed caching of views when using several apps. Closes #637
- * Fixed gotcha invoking `app.param()` callbacks once per route middleware.
-Closes #638
- * Fixed partial lookup precedence. Closes #631
-Shaw]
-
-2.2.2 / 2011-04-12
-==================
-
- * Added second callback support for `res.download()` connection errors
- * Fixed `filename` option passing to template engine
-
-2.2.1 / 2011-04-04
-==================
-
- * Added `layout(path)` helper to change the layout within a view. Closes #610
- * Fixed `partial()` collection object support.
- Previously only anything with `.length` would work.
- When `.length` is present one must still be aware of holes,
- however now `{ collection: {foo: 'bar'}}` is valid, exposes
- `keyInCollection` and `keysInCollection`.
-
- * Performance improved with better view caching
- * Removed `request` and `response` locals
- * Changed; errorHandler page title is now `Express` instead of `Connect`
-
-2.2.0 / 2011-03-30
-==================
-
- * Added `app.lookup.VERB()`, ex `app.lookup.put('/user/:id')`. Closes #606
- * Added `app.match.VERB()`, ex `app.match.put('/user/12')`. Closes #606
- * Added `app.VERB(path)` as alias of `app.lookup.VERB()`.
- * Dependency `connect >= 1.2.0`
-
-2.1.1 / 2011-03-29
-==================
-
- * Added; expose `err.view` object when failing to locate a view
- * Fixed `res.partial()` call `next(err)` when no callback is given [reported by aheckmann]
- * Fixed; `res.send(undefined)` responds with 204 [aheckmann]
-
-2.1.0 / 2011-03-24
-==================
-
- * Added `/_?` partial lookup support. Closes #447
- * Added `request`, `response`, and `app` local variables
- * Added `settings` local variable, containing the app's settings
- * Added `req.flash()` exception if `req.session` is not available
- * Added `res.send(bool)` support (json response)
- * Fixed stylus example for latest version
- * Fixed; wrap try/catch around `res.render()`
-
-2.0.0 / 2011-03-17
-==================
-
- * Fixed up index view path alternative.
- * Changed; `res.locals()` without object returns the locals
-
-2.0.0rc3 / 2011-03-17
-==================
-
- * Added `res.locals(obj)` to compliment `res.local(key, val)`
- * Added `res.partial()` callback support
- * Fixed recursive error reporting issue in `res.render()`
-
-2.0.0rc2 / 2011-03-17
-==================
-
- * Changed; `partial()` "locals" are now optional
- * Fixed `SlowBuffer` support. Closes #584 [reported by tyrda01]
- * Fixed .filename view engine option [reported by drudge]
- * Fixed blog example
- * Fixed `{req,res}.app` reference when mounting [Ben Weaver]
-
-2.0.0rc / 2011-03-14
-==================
-
- * Fixed; expose `HTTPSServer` constructor
- * Fixed express(1) default test charset. Closes #579 [reported by secoif]
- * Fixed; default charset to utf-8 instead of utf8 for lame IE [reported by NickP]
-
-2.0.0beta3 / 2011-03-09
-==================
-
- * Added support for `res.contentType()` literal
- The original `res.contentType('.json')`,
- `res.contentType('application/json')`, and `res.contentType('json')`
- will work now.
- * Added `res.render()` status option support back
- * Added charset option for `res.render()`
- * Added `.charset` support (via connect 1.0.4)
- * Added view resolution hints when in development and a lookup fails
- * Added layout lookup support relative to the page view.
- For example while rendering `./views/user/index.jade` if you create
- `./views/user/layout.jade` it will be used in favour of the root layout.
- * Fixed `res.redirect()`. RFC states absolute url [reported by unlink]
- * Fixed; default `res.send()` string charset to utf8
- * Removed `Partial` constructor (not currently used)
-
-2.0.0beta2 / 2011-03-07
-==================
-
- * Added res.render() `.locals` support back to aid in migration process
- * Fixed flash example
-
-2.0.0beta / 2011-03-03
-==================
-
- * Added HTTPS support
- * Added `res.cookie()` maxAge support
- * Added `req.header()` _Referrer_ / _Referer_ special-case, either works
- * Added mount support for `res.redirect()`, now respects the mount-point
- * Added `union()` util, taking place of `merge(clone())` combo
- * Added stylus support to express(1) generated app
- * Added secret to session middleware used in examples and generated app
- * Added `res.local(name, val)` for progressive view locals
- * Added default param support to `req.param(name, default)`
- * Added `app.disabled()` and `app.enabled()`
- * Added `app.register()` support for omitting leading ".", either works
- * Added `res.partial()`, using the same interface as `partial()` within a view. Closes #539
- * Added `app.param()` to map route params to async/sync logic
- * Added; aliased `app.helpers()` as `app.locals()`. Closes #481
- * Added extname with no leading "." support to `res.contentType()`
- * Added `cache views` setting, defaulting to enabled in "production" env
- * Added index file partial resolution, eg: partial('user') may try _views/user/index.jade_.
- * Added `req.accepts()` support for extensions
- * Changed; `res.download()` and `res.sendfile()` now utilize Connect's
- static file server `connect.static.send()`.
- * Changed; replaced `connect.utils.mime()` with npm _mime_ module
- * Changed; allow `req.query` to be pre-defined (via middleware or other parent
- * Changed view partial resolution, now relative to parent view
- * Changed view engine signature. no longer `engine.render(str, options, callback)`, now `engine.compile(str, options) -> Function`, the returned function accepts `fn(locals)`.
- * Fixed `req.param()` bug returning Array.prototype methods. Closes #552
- * Fixed; using `Stream#pipe()` instead of `sys.pump()` in `res.sendfile()`
- * Fixed; using _qs_ module instead of _querystring_
- * Fixed; strip unsafe chars from jsonp callbacks
- * Removed "stream threshold" setting
-
-1.0.8 / 2011-03-01
-==================
-
- * Allow `req.query` to be pre-defined (via middleware or other parent app)
- * "connect": ">= 0.5.0 < 1.0.0". Closes #547
- * Removed the long deprecated __EXPRESS_ENV__ support
-
-1.0.7 / 2011-02-07
-==================
-
- * Fixed `render()` setting inheritance.
- Mounted apps would not inherit "view engine"
-
-1.0.6 / 2011-02-07
-==================
-
- * Fixed `view engine` setting bug when period is in dirname
-
-1.0.5 / 2011-02-05
-==================
-
- * Added secret to generated app `session()` call
-
-1.0.4 / 2011-02-05
-==================
-
- * Added `qs` dependency to _package.json_
- * Fixed namespaced `require()`s for latest connect support
-
-1.0.3 / 2011-01-13
-==================
-
- * Remove unsafe characters from JSONP callback names [Ryan Grove]
-
-1.0.2 / 2011-01-10
-==================
-
- * Removed nested require, using `connect.router`
-
-1.0.1 / 2010-12-29
-==================
-
- * Fixed for middleware stacked via `createServer()`
- previously the `foo` middleware passed to `createServer(foo)`
- would not have access to Express methods such as `res.send()`
- or props like `req.query` etc.
-
-1.0.0 / 2010-11-16
-==================
-
- * Added; deduce partial object names from the last segment.
- For example by default `partial('forum/post', postObject)` will
- give you the _post_ object, providing a meaningful default.
- * Added http status code string representation to `res.redirect()` body
- * Added; `res.redirect()` supporting _text/plain_ and _text/html_ via __Accept__.
- * Added `req.is()` to aid in content negotiation
- * Added partial local inheritance [suggested by masylum]. Closes #102
- providing access to parent template locals.
- * Added _-s, --session[s]_ flag to express(1) to add session related middleware
- * Added _--template_ flag to express(1) to specify the
- template engine to use.
- * Added _--css_ flag to express(1) to specify the
- stylesheet engine to use (or just plain css by default).
- * Added `app.all()` support [thanks aheckmann]
- * Added partial direct object support.
- You may now `partial('user', user)` providing the "user" local,
- vs previously `partial('user', { object: user })`.
- * Added _route-separation_ example since many people question ways
- to do this with CommonJS modules. Also view the _blog_ example for
- an alternative.
- * Performance; caching view path derived partial object names
- * Fixed partial local inheritance precedence. [reported by Nick Poulden] Closes #454
- * Fixed jsonp support; _text/javascript_ as per mailinglist discussion
-
-1.0.0rc4 / 2010-10-14
-==================
-
- * Added _NODE_ENV_ support, _EXPRESS_ENV_ is deprecated and will be removed in 1.0.0
- * Added route-middleware support (very helpful, see the [docs](http://expressjs.com/guide.html#Route-Middleware))
- * Added _jsonp callback_ setting to enable/disable jsonp autowrapping [Dav Glass]
- * Added callback query check on response.send to autowrap JSON objects for simple webservice implementations [Dav Glass]
- * Added `partial()` support for array-like collections. Closes #434
- * Added support for swappable querystring parsers
- * Added session usage docs. Closes #443
- * Added dynamic helper caching. Closes #439 [suggested by maritz]
- * Added authentication example
- * Added basic Range support to `res.sendfile()` (and `res.download()` etc)
- * Changed; `express(1)` generated app using 2 spaces instead of 4
- * Default env to "development" again [aheckmann]
- * Removed _context_ option is no more, use "scope"
- * Fixed; exposing _./support_ libs to examples so they can run without installs
- * Fixed mvc example
-
-1.0.0rc3 / 2010-09-20
-==================
-
- * Added confirmation for `express(1)` app generation. Closes #391
- * Added extending of flash formatters via `app.flashFormatters`
- * Added flash formatter support. Closes #411
- * Added streaming support to `res.sendfile()` using `sys.pump()` when >= "stream threshold"
- * Added _stream threshold_ setting for `res.sendfile()`
- * Added `res.send()` __HEAD__ support
- * Added `res.clearCookie()`
- * Added `res.cookie()`
- * Added `res.render()` headers option
- * Added `res.redirect()` response bodies
- * Added `res.render()` status option support. Closes #425 [thanks aheckmann]
- * Fixed `res.sendfile()` responding with 403 on malicious path
- * Fixed `res.download()` bug; when an error occurs remove _Content-Disposition_
- * Fixed; mounted apps settings now inherit from parent app [aheckmann]
- * Fixed; stripping Content-Length / Content-Type when 204
- * Fixed `res.send()` 204. Closes #419
- * Fixed multiple _Set-Cookie_ headers via `res.header()`. Closes #402
- * Fixed bug messing with error handlers when `listenFD()` is called instead of `listen()`. [thanks guillermo]
-
-
-1.0.0rc2 / 2010-08-17
-==================
-
- * Added `app.register()` for template engine mapping. Closes #390
- * Added `res.render()` callback support as second argument (no options)
- * Added callback support to `res.download()`
- * Added callback support for `res.sendfile()`
- * Added support for middleware access via `express.middlewareName()` vs `connect.middlewareName()`
- * Added "partials" setting to docs
- * Added default expresso tests to `express(1)` generated app. Closes #384
- * Fixed `res.sendfile()` error handling, defer via `next()`
- * Fixed `res.render()` callback when a layout is used [thanks guillermo]
- * Fixed; `make install` creating ~/.node_libraries when not present
- * Fixed issue preventing error handlers from being defined anywhere. Closes #387
-
-1.0.0rc / 2010-07-28
-==================
-
- * Added mounted hook. Closes #369
- * Added connect dependency to _package.json_
-
- * Removed "reload views" setting and support code
- development env never caches, production always caches.
-
- * Removed _param_ in route callbacks, signature is now
- simply (req, res, next), previously (req, res, params, next).
- Use _req.params_ for path captures, _req.query_ for GET params.
-
- * Fixed "home" setting
- * Fixed middleware/router precedence issue. Closes #366
- * Fixed; _configure()_ callbacks called immediately. Closes #368
-
-1.0.0beta2 / 2010-07-23
-==================
-
- * Added more examples
- * Added; exporting `Server` constructor
- * Added `Server#helpers()` for view locals
- * Added `Server#dynamicHelpers()` for dynamic view locals. Closes #349
- * Added support for absolute view paths
- * Added; _home_ setting defaults to `Server#route` for mounted apps. Closes #363
- * Added Guillermo Rauch to the contributor list
- * Added support for "as" for non-collection partials. Closes #341
- * Fixed _install.sh_, ensuring _~/.node_libraries_ exists. Closes #362 [thanks jf]
- * Fixed `res.render()` exceptions, now passed to `next()` when no callback is given [thanks guillermo]
- * Fixed instanceof `Array` checks, now `Array.isArray()`
- * Fixed express(1) expansion of public dirs. Closes #348
- * Fixed middleware precedence. Closes #345
- * Fixed view watcher, now async [thanks aheckmann]
-
-1.0.0beta / 2010-07-15
-==================
-
- * Re-write
- - much faster
- - much lighter
- - Check [ExpressJS.com](http://expressjs.com) for migration guide and updated docs
-
-0.14.0 / 2010-06-15
-==================
-
- * Utilize relative requires
- * Added Static bufferSize option [aheckmann]
- * Fixed caching of view and partial subdirectories [aheckmann]
- * Fixed mime.type() comments now that ".ext" is not supported
- * Updated haml submodule
- * Updated class submodule
- * Removed bin/express
-
-0.13.0 / 2010-06-01
-==================
-
- * Added node v0.1.97 compatibility
- * Added support for deleting cookies via Request#cookie('key', null)
- * Updated haml submodule
- * Fixed not-found page, now using using charset utf-8
- * Fixed show-exceptions page, now using using charset utf-8
- * Fixed view support due to fs.readFile Buffers
- * Changed; mime.type() no longer accepts ".type" due to node extname() changes
-
-0.12.0 / 2010-05-22
-==================
-
- * Added node v0.1.96 compatibility
- * Added view `helpers` export which act as additional local variables
- * Updated haml submodule
- * Changed ETag; removed inode, modified time only
- * Fixed LF to CRLF for setting multiple cookies
- * Fixed cookie complation; values are now urlencoded
- * Fixed cookies parsing; accepts quoted values and url escaped cookies
-
-0.11.0 / 2010-05-06
-==================
-
- * Added support for layouts using different engines
- - this.render('page.html.haml', { layout: 'super-cool-layout.html.ejs' })
- - this.render('page.html.haml', { layout: 'foo' }) // assumes 'foo.html.haml'
- - this.render('page.html.haml', { layout: false }) // no layout
- * Updated ext submodule
- * Updated haml submodule
- * Fixed EJS partial support by passing along the context. Issue #307
-
-0.10.1 / 2010-05-03
-==================
-
- * Fixed binary uploads.
-
-0.10.0 / 2010-04-30
-==================
-
- * Added charset support via Request#charset (automatically assigned to 'UTF-8' when respond()'s
- encoding is set to 'utf8' or 'utf-8'.
- * Added "encoding" option to Request#render(). Closes #299
- * Added "dump exceptions" setting, which is enabled by default.
- * Added simple ejs template engine support
- * Added error response support for text/plain, application/json. Closes #297
- * Added callback function param to Request#error()
- * Added Request#sendHead()
- * Added Request#stream()
- * Added support for Request#respond(304, null) for empty response bodies
- * Added ETag support to Request#sendfile()
- * Added options to Request#sendfile(), passed to fs.createReadStream()
- * Added filename arg to Request#download()
- * Performance enhanced due to pre-reversing plugins so that plugins.reverse() is not called on each request
- * Performance enhanced by preventing several calls to toLowerCase() in Router#match()
- * Changed; Request#sendfile() now streams
- * Changed; Renamed Request#halt() to Request#respond(). Closes #289
- * Changed; Using sys.inspect() instead of JSON.encode() for error output
- * Changed; run() returns the http.Server instance. Closes #298
- * Changed; Defaulting Server#host to null (INADDR_ANY)
- * Changed; Logger "common" format scale of 0.4f
- * Removed Logger "request" format
- * Fixed; Catching ENOENT in view caching, preventing error when "views/partials" is not found
- * Fixed several issues with http client
- * Fixed Logger Content-Length output
- * Fixed bug preventing Opera from retaining the generated session id. Closes #292
-
-0.9.0 / 2010-04-14
-==================
-
- * Added DSL level error() route support
- * Added DSL level notFound() route support
- * Added Request#error()
- * Added Request#notFound()
- * Added Request#render() callback function. Closes #258
- * Added "max upload size" setting
- * Added "magic" variables to collection partials (\_\_index\_\_, \_\_length\_\_, \_\_isFirst\_\_, \_\_isLast\_\_). Closes #254
- * Added [haml.js](http://github.com/visionmedia/haml.js) submodule; removed haml-js
- * Added callback function support to Request#halt() as 3rd/4th arg
- * Added preprocessing of route param wildcards using param(). Closes #251
- * Added view partial support (with collections etc)
- * Fixed bug preventing falsey params (such as ?page=0). Closes #286
- * Fixed setting of multiple cookies. Closes #199
- * Changed; view naming convention is now NAME.TYPE.ENGINE (for example page.html.haml)
- * Changed; session cookie is now httpOnly
- * Changed; Request is no longer global
- * Changed; Event is no longer global
- * Changed; "sys" module is no longer global
- * Changed; moved Request#download to Static plugin where it belongs
- * Changed; Request instance created before body parsing. Closes #262
- * Changed; Pre-caching views in memory when "cache view contents" is enabled. Closes #253
- * Changed; Pre-caching view partials in memory when "cache view partials" is enabled
- * Updated support to node --version 0.1.90
- * Updated dependencies
- * Removed set("session cookie") in favour of use(Session, { cookie: { ... }})
- * Removed utils.mixin(); use Object#mergeDeep()
-
-0.8.0 / 2010-03-19
-==================
-
- * Added coffeescript example app. Closes #242
- * Changed; cache api now async friendly. Closes #240
- * Removed deprecated 'express/static' support. Use 'express/plugins/static'
-
-0.7.6 / 2010-03-19
-==================
-
- * Added Request#isXHR. Closes #229
- * Added `make install` (for the executable)
- * Added `express` executable for setting up simple app templates
- * Added "GET /public/*" to Static plugin, defaulting to /public
- * Added Static plugin
- * Fixed; Request#render() only calls cache.get() once
- * Fixed; Namespacing View caches with "view:"
- * Fixed; Namespacing Static caches with "static:"
- * Fixed; Both example apps now use the Static plugin
- * Fixed set("views"). Closes #239
- * Fixed missing space for combined log format
- * Deprecated Request#sendfile() and 'express/static'
- * Removed Server#running
-
-0.7.5 / 2010-03-16
-==================
-
- * Added Request#flash() support without args, now returns all flashes
- * Updated ext submodule
-
-0.7.4 / 2010-03-16
-==================
-
- * Fixed session reaper
- * Changed; class.js replacing js-oo Class implementation (quite a bit faster, no browser cruft)
-
-0.7.3 / 2010-03-16
-==================
-
- * Added package.json
- * Fixed requiring of haml / sass due to kiwi removal
-
-0.7.2 / 2010-03-16
-==================
-
- * Fixed GIT submodules (HAH!)
-
-0.7.1 / 2010-03-16
-==================
-
- * Changed; Express now using submodules again until a PM is adopted
- * Changed; chat example using millisecond conversions from ext
-
-0.7.0 / 2010-03-15
-==================
-
- * Added Request#pass() support (finds the next matching route, or the given path)
- * Added Logger plugin (default "common" format replaces CommonLogger)
- * Removed Profiler plugin
- * Removed CommonLogger plugin
-
-0.6.0 / 2010-03-11
-==================
-
- * Added seed.yml for kiwi package management support
- * Added HTTP client query string support when method is GET. Closes #205
-
- * Added support for arbitrary view engines.
- For example "foo.engine.html" will now require('engine'),
- the exports from this module are cached after the first require().
-
- * Added async plugin support
-
- * Removed usage of RESTful route funcs as http client
- get() etc, use http.get() and friends
-
- * Removed custom exceptions
-
-0.5.0 / 2010-03-10
-==================
-
- * Added ext dependency (library of js extensions)
- * Removed extname() / basename() utils. Use path module
- * Removed toArray() util. Use arguments.values
- * Removed escapeRegexp() util. Use RegExp.escape()
- * Removed process.mixin() dependency. Use utils.mixin()
- * Removed Collection
- * Removed ElementCollection
- * Shameless self promotion of ebook "Advanced JavaScript" (http://dev-mag.com) ;)
-
-0.4.0 / 2010-02-11
-==================
-
- * Added flash() example to sample upload app
- * Added high level restful http client module (express/http)
- * Changed; RESTful route functions double as HTTP clients. Closes #69
- * Changed; throwing error when routes are added at runtime
- * Changed; defaulting render() context to the current Request. Closes #197
- * Updated haml submodule
-
-0.3.0 / 2010-02-11
-==================
-
- * Updated haml / sass submodules. Closes #200
- * Added flash message support. Closes #64
- * Added accepts() now allows multiple args. fixes #117
- * Added support for plugins to halt. Closes #189
- * Added alternate layout support. Closes #119
- * Removed Route#run(). Closes #188
- * Fixed broken specs due to use(Cookie) missing
-
-0.2.1 / 2010-02-05
-==================
-
- * Added "plot" format option for Profiler (for gnuplot processing)
- * Added request number to Profiler plugin
- * Fixed binary encoding for multi-part file uploads, was previously defaulting to UTF8
- * Fixed issue with routes not firing when not files are present. Closes #184
- * Fixed process.Promise -> events.Promise
-
-0.2.0 / 2010-02-03
-==================
-
- * Added parseParam() support for name[] etc. (allows for file inputs with "multiple" attr) Closes #180
- * Added Both Cache and Session option "reapInterval" may be "reapEvery". Closes #174
- * Added expiration support to cache api with reaper. Closes #133
- * Added cache Store.Memory#reap()
- * Added Cache; cache api now uses first class Cache instances
- * Added abstract session Store. Closes #172
- * Changed; cache Memory.Store#get() utilizing Collection
- * Renamed MemoryStore -> Store.Memory
- * Fixed use() of the same plugin several time will always use latest options. Closes #176
-
-0.1.0 / 2010-02-03
-==================
-
- * Changed; Hooks (before / after) pass request as arg as well as evaluated in their context
- * Updated node support to 0.1.27 Closes #169
- * Updated dirname(__filename) -> __dirname
- * Updated libxmljs support to v0.2.0
- * Added session support with memory store / reaping
- * Added quick uid() helper
- * Added multi-part upload support
- * Added Sass.js support / submodule
- * Added production env caching view contents and static files
- * Added static file caching. Closes #136
- * Added cache plugin with memory stores
- * Added support to StaticFile so that it works with non-textual files.
- * Removed dirname() helper
- * Removed several globals (now their modules must be required)
-
-0.0.2 / 2010-01-10
-==================
-
- * Added view benchmarks; currently haml vs ejs
- * Added Request#attachment() specs. Closes #116
- * Added use of node's parseQuery() util. Closes #123
- * Added `make init` for submodules
- * Updated Haml
- * Updated sample chat app to show messages on load
- * Updated libxmljs parseString -> parseHtmlString
- * Fixed `make init` to work with older versions of git
- * Fixed specs can now run independent specs for those who cant build deps. Closes #127
- * Fixed issues introduced by the node url module changes. Closes 126.
- * Fixed two assertions failing due to Collection#keys() returning strings
- * Fixed faulty Collection#toArray() spec due to keys() returning strings
- * Fixed `make test` now builds libxmljs.node before testing
-
-0.0.1 / 2010-01-03
-==================
-
- * Initial release
diff --git a/node_modules/express/LICENSE b/node_modules/express/LICENSE
deleted file mode 100644
index aa927e4..0000000
--- a/node_modules/express/LICENSE
+++ /dev/null
@@ -1,24 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2009-2014 TJ Holowaychuk
-Copyright (c) 2013-2014 Roman Shtylman
-Copyright (c) 2014-2015 Douglas Christopher Wilson
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/express/Readme.md b/node_modules/express/Readme.md
deleted file mode 100644
index e9bfaeb..0000000
--- a/node_modules/express/Readme.md
+++ /dev/null
@@ -1,142 +0,0 @@
-[](http://expressjs.com/)
-
- Fast, unopinionated, minimalist web framework for [node](http://nodejs.org).
-
- [![NPM Version][npm-image]][npm-url]
- [![NPM Downloads][downloads-image]][downloads-url]
- [![Linux Build][travis-image]][travis-url]
- [![Windows Build][appveyor-image]][appveyor-url]
- [![Test Coverage][coveralls-image]][coveralls-url]
-
-```js
-var express = require('express')
-var app = express()
-
-app.get('/', function (req, res) {
- res.send('Hello World')
-})
-
-app.listen(3000)
-```
-
-## Installation
-
-```bash
-$ npm install express
-```
-
-## Features
-
- * Robust routing
- * Focus on high performance
- * Super-high test coverage
- * HTTP helpers (redirection, caching, etc)
- * View system supporting 14+ template engines
- * Content negotiation
- * Executable for generating applications quickly
-
-## Docs & Community
-
- * [Website and Documentation](http://expressjs.com/) - [[website repo](https://github.com/strongloop/expressjs.com)]
- * [#express](https://webchat.freenode.net/?channels=express) on freenode IRC
- * [Github Organization](https://github.com/expressjs) for Official Middleware & Modules
- * Visit the [Wiki](https://github.com/expressjs/express/wiki)
- * [Google Group](https://groups.google.com/group/express-js) for discussion
- * [Gitter](https://gitter.im/expressjs/express) for support and discussion
- * [Русскоязычная документация](http://jsman.ru/express/)
-
-**PROTIP** Be sure to read [Migrating from 3.x to 4.x](https://github.com/expressjs/express/wiki/Migrating-from-3.x-to-4.x) as well as [New features in 4.x](https://github.com/expressjs/express/wiki/New-features-in-4.x).
-
-###Security Issues
-
-If you discover a security vulnerability in Express, please see [Security Policies and Procedures](Security.md).
-
-## Quick Start
-
- The quickest way to get started with express is to utilize the executable [`express(1)`](https://github.com/expressjs/generator) to generate an application as shown below:
-
- Install the executable. The executable's major version will match Express's:
-
-```bash
-$ npm install -g express-generator@4
-```
-
- Create the app:
-
-```bash
-$ express /tmp/foo && cd /tmp/foo
-```
-
- Install dependencies:
-
-```bash
-$ npm install
-```
-
- Start the server:
-
-```bash
-$ npm start
-```
-
-## Philosophy
-
- The Express philosophy is to provide small, robust tooling for HTTP servers, making
- it a great solution for single page applications, web sites, hybrids, or public
- HTTP APIs.
-
- Express does not force you to use any specific ORM or template engine. With support for over
- 14 template engines via [Consolidate.js](https://github.com/tj/consolidate.js),
- you can quickly craft your perfect framework.
-
-## Examples
-
- To view the examples, clone the Express repo and install the dependencies:
-
-```bash
-$ git clone git://github.com/expressjs/express.git --depth 1
-$ cd express
-$ npm install
-```
-
- Then run whichever example you want:
-
-```bash
-$ node examples/content-negotiation
-```
-
-## Tests
-
- To run the test suite, first install the dependencies, then run `npm test`:
-
-```bash
-$ npm install
-$ npm test
-```
-
-## People
-
-The original author of Express is [TJ Holowaychuk](https://github.com/tj) [![TJ's Gratipay][gratipay-image-visionmedia]][gratipay-url-visionmedia]
-
-The current lead maintainer is [Douglas Christopher Wilson](https://github.com/dougwilson) [![Doug's Gratipay][gratipay-image-dougwilson]][gratipay-url-dougwilson]
-
-[List of all contributors](https://github.com/expressjs/express/graphs/contributors)
-
-## License
-
- [MIT](LICENSE)
-
-[npm-image]: https://img.shields.io/npm/v/express.svg
-[npm-url]: https://npmjs.org/package/express
-[downloads-image]: https://img.shields.io/npm/dm/express.svg
-[downloads-url]: https://npmjs.org/package/express
-[travis-image]: https://img.shields.io/travis/expressjs/express/master.svg?label=linux
-[travis-url]: https://travis-ci.org/expressjs/express
-[appveyor-image]: https://img.shields.io/appveyor/ci/dougwilson/express/master.svg?label=windows
-[appveyor-url]: https://ci.appveyor.com/project/dougwilson/express
-[coveralls-image]: https://img.shields.io/coveralls/expressjs/express/master.svg
-[coveralls-url]: https://coveralls.io/r/expressjs/express?branch=master
-[gratipay-image-visionmedia]: https://img.shields.io/gratipay/visionmedia.svg
-[gratipay-url-visionmedia]: https://gratipay.com/visionmedia/
-[gratipay-image-dougwilson]: https://img.shields.io/gratipay/dougwilson.svg
-[gratipay-url-dougwilson]: https://gratipay.com/dougwilson/
diff --git a/node_modules/express/index.js b/node_modules/express/index.js
deleted file mode 100644
index d219b0c..0000000
--- a/node_modules/express/index.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/*!
- * express
- * Copyright(c) 2009-2013 TJ Holowaychuk
- * Copyright(c) 2013 Roman Shtylman
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict';
-
-module.exports = require('./lib/express');
diff --git a/node_modules/express/lib/application.js b/node_modules/express/lib/application.js
deleted file mode 100644
index 0ee4def..0000000
--- a/node_modules/express/lib/application.js
+++ /dev/null
@@ -1,643 +0,0 @@
-/*!
- * express
- * Copyright(c) 2009-2013 TJ Holowaychuk
- * Copyright(c) 2013 Roman Shtylman
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict';
-
-/**
- * Module dependencies.
- * @private
- */
-
-var finalhandler = require('finalhandler');
-var Router = require('./router');
-var methods = require('methods');
-var middleware = require('./middleware/init');
-var query = require('./middleware/query');
-var debug = require('debug')('express:application');
-var View = require('./view');
-var http = require('http');
-var compileETag = require('./utils').compileETag;
-var compileQueryParser = require('./utils').compileQueryParser;
-var compileTrust = require('./utils').compileTrust;
-var deprecate = require('depd')('express');
-var flatten = require('array-flatten');
-var merge = require('utils-merge');
-var resolve = require('path').resolve;
-var slice = Array.prototype.slice;
-
-/**
- * Application prototype.
- */
-
-var app = exports = module.exports = {};
-
-/**
- * Variable for trust proxy inheritance back-compat
- * @private
- */
-
-var trustProxyDefaultSymbol = '@@symbol:trust_proxy_default';
-
-/**
- * Initialize the server.
- *
- * - setup default configuration
- * - setup default middleware
- * - setup route reflection methods
- *
- * @private
- */
-
-app.init = function init() {
- this.cache = {};
- this.engines = {};
- this.settings = {};
-
- this.defaultConfiguration();
-};
-
-/**
- * Initialize application configuration.
- * @private
- */
-
-app.defaultConfiguration = function defaultConfiguration() {
- var env = process.env.NODE_ENV || 'development';
-
- // default settings
- this.enable('x-powered-by');
- this.set('etag', 'weak');
- this.set('env', env);
- this.set('query parser', 'extended');
- this.set('subdomain offset', 2);
- this.set('trust proxy', false);
-
- // trust proxy inherit back-compat
- Object.defineProperty(this.settings, trustProxyDefaultSymbol, {
- configurable: true,
- value: true
- });
-
- debug('booting in %s mode', env);
-
- this.on('mount', function onmount(parent) {
- // inherit trust proxy
- if (this.settings[trustProxyDefaultSymbol] === true
- && typeof parent.settings['trust proxy fn'] === 'function') {
- delete this.settings['trust proxy'];
- delete this.settings['trust proxy fn'];
- }
-
- // inherit protos
- this.request.__proto__ = parent.request;
- this.response.__proto__ = parent.response;
- this.engines.__proto__ = parent.engines;
- this.settings.__proto__ = parent.settings;
- });
-
- // setup locals
- this.locals = Object.create(null);
-
- // top-most app is mounted at /
- this.mountpath = '/';
-
- // default locals
- this.locals.settings = this.settings;
-
- // default configuration
- this.set('view', View);
- this.set('views', resolve('views'));
- this.set('jsonp callback name', 'callback');
-
- if (env === 'production') {
- this.enable('view cache');
- }
-
- Object.defineProperty(this, 'router', {
- get: function() {
- throw new Error('\'app.router\' is deprecated!\nPlease see the 3.x to 4.x migration guide for details on how to update your app.');
- }
- });
-};
-
-/**
- * lazily adds the base router if it has not yet been added.
- *
- * We cannot add the base router in the defaultConfiguration because
- * it reads app settings which might be set after that has run.
- *
- * @private
- */
-app.lazyrouter = function lazyrouter() {
- if (!this._router) {
- this._router = new Router({
- caseSensitive: this.enabled('case sensitive routing'),
- strict: this.enabled('strict routing')
- });
-
- this._router.use(query(this.get('query parser fn')));
- this._router.use(middleware.init(this));
- }
-};
-
-/**
- * Dispatch a req, res pair into the application. Starts pipeline processing.
- *
- * If no callback is provided, then default error handlers will respond
- * in the event of an error bubbling through the stack.
- *
- * @private
- */
-
-app.handle = function handle(req, res, callback) {
- var router = this._router;
-
- // final handler
- var done = callback || finalhandler(req, res, {
- env: this.get('env'),
- onerror: logerror.bind(this)
- });
-
- // no routes
- if (!router) {
- debug('no routes defined on app');
- done();
- return;
- }
-
- router.handle(req, res, done);
-};
-
-/**
- * Proxy `Router#use()` to add middleware to the app router.
- * See Router#use() documentation for details.
- *
- * If the _fn_ parameter is an express app, then it will be
- * mounted at the _route_ specified.
- *
- * @public
- */
-
-app.use = function use(fn) {
- var offset = 0;
- var path = '/';
-
- // default path to '/'
- // disambiguate app.use([fn])
- if (typeof fn !== 'function') {
- var arg = fn;
-
- while (Array.isArray(arg) && arg.length !== 0) {
- arg = arg[0];
- }
-
- // first arg is the path
- if (typeof arg !== 'function') {
- offset = 1;
- path = fn;
- }
- }
-
- var fns = flatten(slice.call(arguments, offset));
-
- if (fns.length === 0) {
- throw new TypeError('app.use() requires middleware functions');
- }
-
- // setup router
- this.lazyrouter();
- var router = this._router;
-
- fns.forEach(function (fn) {
- // non-express app
- if (!fn || !fn.handle || !fn.set) {
- return router.use(path, fn);
- }
-
- debug('.use app under %s', path);
- fn.mountpath = path;
- fn.parent = this;
-
- // restore .app property on req and res
- router.use(path, function mounted_app(req, res, next) {
- var orig = req.app;
- fn.handle(req, res, function (err) {
- req.__proto__ = orig.request;
- res.__proto__ = orig.response;
- next(err);
- });
- });
-
- // mounted an app
- fn.emit('mount', this);
- }, this);
-
- return this;
-};
-
-/**
- * Proxy to the app `Router#route()`
- * Returns a new `Route` instance for the _path_.
- *
- * Routes are isolated middleware stacks for specific paths.
- * See the Route api docs for details.
- *
- * @public
- */
-
-app.route = function route(path) {
- this.lazyrouter();
- return this._router.route(path);
-};
-
-/**
- * Register the given template engine callback `fn`
- * as `ext`.
- *
- * By default will `require()` the engine based on the
- * file extension. For example if you try to render
- * a "foo.jade" file Express will invoke the following internally:
- *
- * app.engine('jade', require('jade').__express);
- *
- * For engines that do not provide `.__express` out of the box,
- * or if you wish to "map" a different extension to the template engine
- * you may use this method. For example mapping the EJS template engine to
- * ".html" files:
- *
- * app.engine('html', require('ejs').renderFile);
- *
- * In this case EJS provides a `.renderFile()` method with
- * the same signature that Express expects: `(path, options, callback)`,
- * though note that it aliases this method as `ejs.__express` internally
- * so if you're using ".ejs" extensions you dont need to do anything.
- *
- * Some template engines do not follow this convention, the
- * [Consolidate.js](https://github.com/tj/consolidate.js)
- * library was created to map all of node's popular template
- * engines to follow this convention, thus allowing them to
- * work seamlessly within Express.
- *
- * @param {String} ext
- * @param {Function} fn
- * @return {app} for chaining
- * @public
- */
-
-app.engine = function engine(ext, fn) {
- if (typeof fn !== 'function') {
- throw new Error('callback function required');
- }
-
- // get file extension
- var extension = ext[0] !== '.'
- ? '.' + ext
- : ext;
-
- // store engine
- this.engines[extension] = fn;
-
- return this;
-};
-
-/**
- * Proxy to `Router#param()` with one added api feature. The _name_ parameter
- * can be an array of names.
- *
- * See the Router#param() docs for more details.
- *
- * @param {String|Array} name
- * @param {Function} fn
- * @return {app} for chaining
- * @public
- */
-
-app.param = function param(name, fn) {
- this.lazyrouter();
-
- if (Array.isArray(name)) {
- for (var i = 0; i < name.length; i++) {
- this.param(name[i], fn);
- }
-
- return this;
- }
-
- this._router.param(name, fn);
-
- return this;
-};
-
-/**
- * Assign `setting` to `val`, or return `setting`'s value.
- *
- * app.set('foo', 'bar');
- * app.get('foo');
- * // => "bar"
- *
- * Mounted servers inherit their parent server's settings.
- *
- * @param {String} setting
- * @param {*} [val]
- * @return {Server} for chaining
- * @public
- */
-
-app.set = function set(setting, val) {
- if (arguments.length === 1) {
- // app.get(setting)
- return this.settings[setting];
- }
-
- debug('set "%s" to %o', setting, val);
-
- // set value
- this.settings[setting] = val;
-
- // trigger matched settings
- switch (setting) {
- case 'etag':
- this.set('etag fn', compileETag(val));
- break;
- case 'query parser':
- this.set('query parser fn', compileQueryParser(val));
- break;
- case 'trust proxy':
- this.set('trust proxy fn', compileTrust(val));
-
- // trust proxy inherit back-compat
- Object.defineProperty(this.settings, trustProxyDefaultSymbol, {
- configurable: true,
- value: false
- });
-
- break;
- }
-
- return this;
-};
-
-/**
- * Return the app's absolute pathname
- * based on the parent(s) that have
- * mounted it.
- *
- * For example if the application was
- * mounted as "/admin", which itself
- * was mounted as "/blog" then the
- * return value would be "/blog/admin".
- *
- * @return {String}
- * @private
- */
-
-app.path = function path() {
- return this.parent
- ? this.parent.path() + this.mountpath
- : '';
-};
-
-/**
- * Check if `setting` is enabled (truthy).
- *
- * app.enabled('foo')
- * // => false
- *
- * app.enable('foo')
- * app.enabled('foo')
- * // => true
- *
- * @param {String} setting
- * @return {Boolean}
- * @public
- */
-
-app.enabled = function enabled(setting) {
- return Boolean(this.set(setting));
-};
-
-/**
- * Check if `setting` is disabled.
- *
- * app.disabled('foo')
- * // => true
- *
- * app.enable('foo')
- * app.disabled('foo')
- * // => false
- *
- * @param {String} setting
- * @return {Boolean}
- * @public
- */
-
-app.disabled = function disabled(setting) {
- return !this.set(setting);
-};
-
-/**
- * Enable `setting`.
- *
- * @param {String} setting
- * @return {app} for chaining
- * @public
- */
-
-app.enable = function enable(setting) {
- return this.set(setting, true);
-};
-
-/**
- * Disable `setting`.
- *
- * @param {String} setting
- * @return {app} for chaining
- * @public
- */
-
-app.disable = function disable(setting) {
- return this.set(setting, false);
-};
-
-/**
- * Delegate `.VERB(...)` calls to `router.VERB(...)`.
- */
-
-methods.forEach(function(method){
- app[method] = function(path){
- if (method === 'get' && arguments.length === 1) {
- // app.get(setting)
- return this.set(path);
- }
-
- this.lazyrouter();
-
- var route = this._router.route(path);
- route[method].apply(route, slice.call(arguments, 1));
- return this;
- };
-});
-
-/**
- * Special-cased "all" method, applying the given route `path`,
- * middleware, and callback to _every_ HTTP method.
- *
- * @param {String} path
- * @param {Function} ...
- * @return {app} for chaining
- * @public
- */
-
-app.all = function all(path) {
- this.lazyrouter();
-
- var route = this._router.route(path);
- var args = slice.call(arguments, 1);
-
- for (var i = 0; i < methods.length; i++) {
- route[methods[i]].apply(route, args);
- }
-
- return this;
-};
-
-// del -> delete alias
-
-app.del = deprecate.function(app.delete, 'app.del: Use app.delete instead');
-
-/**
- * Render the given view `name` name with `options`
- * and a callback accepting an error and the
- * rendered template string.
- *
- * Example:
- *
- * app.render('email', { name: 'Tobi' }, function(err, html){
- * // ...
- * })
- *
- * @param {String} name
- * @param {Object|Function} options or fn
- * @param {Function} callback
- * @public
- */
-
-app.render = function render(name, options, callback) {
- var cache = this.cache;
- var done = callback;
- var engines = this.engines;
- var opts = options;
- var renderOptions = {};
- var view;
-
- // support callback function as second arg
- if (typeof options === 'function') {
- done = options;
- opts = {};
- }
-
- // merge app.locals
- merge(renderOptions, this.locals);
-
- // merge options._locals
- if (opts._locals) {
- merge(renderOptions, opts._locals);
- }
-
- // merge options
- merge(renderOptions, opts);
-
- // set .cache unless explicitly provided
- if (renderOptions.cache == null) {
- renderOptions.cache = this.enabled('view cache');
- }
-
- // primed cache
- if (renderOptions.cache) {
- view = cache[name];
- }
-
- // view
- if (!view) {
- var View = this.get('view');
-
- view = new View(name, {
- defaultEngine: this.get('view engine'),
- root: this.get('views'),
- engines: engines
- });
-
- if (!view.path) {
- var dirs = Array.isArray(view.root) && view.root.length > 1
- ? 'directories "' + view.root.slice(0, -1).join('", "') + '" or "' + view.root[view.root.length - 1] + '"'
- : 'directory "' + view.root + '"'
- var err = new Error('Failed to lookup view "' + name + '" in views ' + dirs);
- err.view = view;
- return done(err);
- }
-
- // prime the cache
- if (renderOptions.cache) {
- cache[name] = view;
- }
- }
-
- // render
- tryRender(view, renderOptions, done);
-};
-
-/**
- * Listen for connections.
- *
- * A node `http.Server` is returned, with this
- * application (which is a `Function`) as its
- * callback. If you wish to create both an HTTP
- * and HTTPS server you may do so with the "http"
- * and "https" modules as shown here:
- *
- * var http = require('http')
- * , https = require('https')
- * , express = require('express')
- * , app = express();
- *
- * http.createServer(app).listen(80);
- * https.createServer({ ... }, app).listen(443);
- *
- * @return {http.Server}
- * @public
- */
-
-app.listen = function listen() {
- var server = http.createServer(this);
- return server.listen.apply(server, arguments);
-};
-
-/**
- * Log error using console.error.
- *
- * @param {Error} err
- * @private
- */
-
-function logerror(err) {
- /* istanbul ignore next */
- if (this.get('env') !== 'test') console.error(err.stack || err.toString());
-}
-
-/**
- * Try rendering a view.
- * @private
- */
-
-function tryRender(view, options, callback) {
- try {
- view.render(options, callback);
- } catch (err) {
- callback(err);
- }
-}
diff --git a/node_modules/express/lib/express.js b/node_modules/express/lib/express.js
deleted file mode 100644
index 540c8be..0000000
--- a/node_modules/express/lib/express.js
+++ /dev/null
@@ -1,103 +0,0 @@
-/*!
- * express
- * Copyright(c) 2009-2013 TJ Holowaychuk
- * Copyright(c) 2013 Roman Shtylman
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict';
-
-/**
- * Module dependencies.
- */
-
-var EventEmitter = require('events').EventEmitter;
-var mixin = require('merge-descriptors');
-var proto = require('./application');
-var Route = require('./router/route');
-var Router = require('./router');
-var req = require('./request');
-var res = require('./response');
-
-/**
- * Expose `createApplication()`.
- */
-
-exports = module.exports = createApplication;
-
-/**
- * Create an express application.
- *
- * @return {Function}
- * @api public
- */
-
-function createApplication() {
- var app = function(req, res, next) {
- app.handle(req, res, next);
- };
-
- mixin(app, EventEmitter.prototype, false);
- mixin(app, proto, false);
-
- app.request = { __proto__: req, app: app };
- app.response = { __proto__: res, app: app };
- app.init();
- return app;
-}
-
-/**
- * Expose the prototypes.
- */
-
-exports.application = proto;
-exports.request = req;
-exports.response = res;
-
-/**
- * Expose constructors.
- */
-
-exports.Route = Route;
-exports.Router = Router;
-
-/**
- * Expose middleware
- */
-
-exports.query = require('./middleware/query');
-exports.static = require('serve-static');
-
-/**
- * Replace removed middleware with an appropriate error message.
- */
-
-[
- 'json',
- 'urlencoded',
- 'bodyParser',
- 'compress',
- 'cookieSession',
- 'session',
- 'logger',
- 'cookieParser',
- 'favicon',
- 'responseTime',
- 'errorHandler',
- 'timeout',
- 'methodOverride',
- 'vhost',
- 'csrf',
- 'directory',
- 'limit',
- 'multipart',
- 'staticCache',
-].forEach(function (name) {
- Object.defineProperty(exports, name, {
- get: function () {
- throw new Error('Most middleware (like ' + name + ') is no longer bundled with Express and must be installed separately. Please see https://github.com/senchalabs/connect#middleware.');
- },
- configurable: true
- });
-});
diff --git a/node_modules/express/lib/middleware/init.js b/node_modules/express/lib/middleware/init.js
deleted file mode 100644
index f3119ed..0000000
--- a/node_modules/express/lib/middleware/init.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/*!
- * express
- * Copyright(c) 2009-2013 TJ Holowaychuk
- * Copyright(c) 2013 Roman Shtylman
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict';
-
-/**
- * Initialization middleware, exposing the
- * request and response to each other, as well
- * as defaulting the X-Powered-By header field.
- *
- * @param {Function} app
- * @return {Function}
- * @api private
- */
-
-exports.init = function(app){
- return function expressInit(req, res, next){
- if (app.enabled('x-powered-by')) res.setHeader('X-Powered-By', 'Express');
- req.res = res;
- res.req = req;
- req.next = next;
-
- req.__proto__ = app.request;
- res.__proto__ = app.response;
-
- res.locals = res.locals || Object.create(null);
-
- next();
- };
-};
-
diff --git a/node_modules/express/lib/middleware/query.js b/node_modules/express/lib/middleware/query.js
deleted file mode 100644
index 5f76f84..0000000
--- a/node_modules/express/lib/middleware/query.js
+++ /dev/null
@@ -1,46 +0,0 @@
-/*!
- * express
- * Copyright(c) 2009-2013 TJ Holowaychuk
- * Copyright(c) 2013 Roman Shtylman
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict';
-
-/**
- * Module dependencies.
- */
-
-var parseUrl = require('parseurl');
-var qs = require('qs');
-
-/**
- * @param {Object} options
- * @return {Function}
- * @api public
- */
-
-module.exports = function query(options) {
- var opts = Object.create(options || null);
- var queryparse = qs.parse;
-
- if (typeof options === 'function') {
- queryparse = options;
- opts = undefined;
- }
-
- if (opts !== undefined && opts.allowPrototypes === undefined) {
- // back-compat for qs module
- opts.allowPrototypes = true;
- }
-
- return function query(req, res, next){
- if (!req.query) {
- var val = parseUrl(req).query;
- req.query = queryparse(val, opts);
- }
-
- next();
- };
-};
diff --git a/node_modules/express/lib/request.js b/node_modules/express/lib/request.js
deleted file mode 100644
index 557d050..0000000
--- a/node_modules/express/lib/request.js
+++ /dev/null
@@ -1,502 +0,0 @@
-/*!
- * express
- * Copyright(c) 2009-2013 TJ Holowaychuk
- * Copyright(c) 2013 Roman Shtylman
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict';
-
-/**
- * Module dependencies.
- * @private
- */
-
-var accepts = require('accepts');
-var deprecate = require('depd')('express');
-var isIP = require('net').isIP;
-var typeis = require('type-is');
-var http = require('http');
-var fresh = require('fresh');
-var parseRange = require('range-parser');
-var parse = require('parseurl');
-var proxyaddr = require('proxy-addr');
-
-/**
- * Request prototype.
- */
-
-var req = exports = module.exports = {
- __proto__: http.IncomingMessage.prototype
-};
-
-/**
- * Return request header.
- *
- * The `Referrer` header field is special-cased,
- * both `Referrer` and `Referer` are interchangeable.
- *
- * Examples:
- *
- * req.get('Content-Type');
- * // => "text/plain"
- *
- * req.get('content-type');
- * // => "text/plain"
- *
- * req.get('Something');
- * // => undefined
- *
- * Aliased as `req.header()`.
- *
- * @param {String} name
- * @return {String}
- * @public
- */
-
-req.get =
-req.header = function header(name) {
- if (!name) {
- throw new TypeError('name argument is required to req.get');
- }
-
- if (typeof name !== 'string') {
- throw new TypeError('name must be a string to req.get');
- }
-
- var lc = name.toLowerCase();
-
- switch (lc) {
- case 'referer':
- case 'referrer':
- return this.headers.referrer
- || this.headers.referer;
- default:
- return this.headers[lc];
- }
-};
-
-/**
- * To do: update docs.
- *
- * Check if the given `type(s)` is acceptable, returning
- * the best match when true, otherwise `undefined`, in which
- * case you should respond with 406 "Not Acceptable".
- *
- * The `type` value may be a single MIME type string
- * such as "application/json", an extension name
- * such as "json", a comma-delimited list such as "json, html, text/plain",
- * an argument list such as `"json", "html", "text/plain"`,
- * or an array `["json", "html", "text/plain"]`. When a list
- * or array is given, the _best_ match, if any is returned.
- *
- * Examples:
- *
- * // Accept: text/html
- * req.accepts('html');
- * // => "html"
- *
- * // Accept: text/*, application/json
- * req.accepts('html');
- * // => "html"
- * req.accepts('text/html');
- * // => "text/html"
- * req.accepts('json, text');
- * // => "json"
- * req.accepts('application/json');
- * // => "application/json"
- *
- * // Accept: text/*, application/json
- * req.accepts('image/png');
- * req.accepts('png');
- * // => undefined
- *
- * // Accept: text/*;q=.5, application/json
- * req.accepts(['html', 'json']);
- * req.accepts('html', 'json');
- * req.accepts('html, json');
- * // => "json"
- *
- * @param {String|Array} type(s)
- * @return {String|Array|Boolean}
- * @public
- */
-
-req.accepts = function(){
- var accept = accepts(this);
- return accept.types.apply(accept, arguments);
-};
-
-/**
- * Check if the given `encoding`s are accepted.
- *
- * @param {String} ...encoding
- * @return {String|Array}
- * @public
- */
-
-req.acceptsEncodings = function(){
- var accept = accepts(this);
- return accept.encodings.apply(accept, arguments);
-};
-
-req.acceptsEncoding = deprecate.function(req.acceptsEncodings,
- 'req.acceptsEncoding: Use acceptsEncodings instead');
-
-/**
- * Check if the given `charset`s are acceptable,
- * otherwise you should respond with 406 "Not Acceptable".
- *
- * @param {String} ...charset
- * @return {String|Array}
- * @public
- */
-
-req.acceptsCharsets = function(){
- var accept = accepts(this);
- return accept.charsets.apply(accept, arguments);
-};
-
-req.acceptsCharset = deprecate.function(req.acceptsCharsets,
- 'req.acceptsCharset: Use acceptsCharsets instead');
-
-/**
- * Check if the given `lang`s are acceptable,
- * otherwise you should respond with 406 "Not Acceptable".
- *
- * @param {String} ...lang
- * @return {String|Array}
- * @public
- */
-
-req.acceptsLanguages = function(){
- var accept = accepts(this);
- return accept.languages.apply(accept, arguments);
-};
-
-req.acceptsLanguage = deprecate.function(req.acceptsLanguages,
- 'req.acceptsLanguage: Use acceptsLanguages instead');
-
-/**
- * Parse Range header field, capping to the given `size`.
- *
- * Unspecified ranges such as "0-" require knowledge of your resource length. In
- * the case of a byte range this is of course the total number of bytes. If the
- * Range header field is not given `undefined` is returned, `-1` when unsatisfiable,
- * and `-2` when syntactically invalid.
- *
- * When ranges are returned, the array has a "type" property which is the type of
- * range that is required (most commonly, "bytes"). Each array element is an object
- * with a "start" and "end" property for the portion of the range.
- *
- * The "combine" option can be set to `true` and overlapping & adjacent ranges
- * will be combined into a single range.
- *
- * NOTE: remember that ranges are inclusive, so for example "Range: users=0-3"
- * should respond with 4 users when available, not 3.
- *
- * @param {number} size
- * @param {object} [options]
- * @param {boolean} [options.combine=false]
- * @return {number|array}
- * @public
- */
-
-req.range = function range(size, options) {
- var range = this.get('Range');
- if (!range) return;
- return parseRange(size, range, options);
-};
-
-/**
- * Return the value of param `name` when present or `defaultValue`.
- *
- * - Checks route placeholders, ex: _/user/:id_
- * - Checks body params, ex: id=12, {"id":12}
- * - Checks query string params, ex: ?id=12
- *
- * To utilize request bodies, `req.body`
- * should be an object. This can be done by using
- * the `bodyParser()` middleware.
- *
- * @param {String} name
- * @param {Mixed} [defaultValue]
- * @return {String}
- * @public
- */
-
-req.param = function param(name, defaultValue) {
- var params = this.params || {};
- var body = this.body || {};
- var query = this.query || {};
-
- var args = arguments.length === 1
- ? 'name'
- : 'name, default';
- deprecate('req.param(' + args + '): Use req.params, req.body, or req.query instead');
-
- if (null != params[name] && params.hasOwnProperty(name)) return params[name];
- if (null != body[name]) return body[name];
- if (null != query[name]) return query[name];
-
- return defaultValue;
-};
-
-/**
- * Check if the incoming request contains the "Content-Type"
- * header field, and it contains the give mime `type`.
- *
- * Examples:
- *
- * // With Content-Type: text/html; charset=utf-8
- * req.is('html');
- * req.is('text/html');
- * req.is('text/*');
- * // => true
- *
- * // When Content-Type is application/json
- * req.is('json');
- * req.is('application/json');
- * req.is('application/*');
- * // => true
- *
- * req.is('html');
- * // => false
- *
- * @param {String|Array} types...
- * @return {String|false|null}
- * @public
- */
-
-req.is = function is(types) {
- var arr = types;
-
- // support flattened arguments
- if (!Array.isArray(types)) {
- arr = new Array(arguments.length);
- for (var i = 0; i < arr.length; i++) {
- arr[i] = arguments[i];
- }
- }
-
- return typeis(this, arr);
-};
-
-/**
- * Return the protocol string "http" or "https"
- * when requested with TLS. When the "trust proxy"
- * setting trusts the socket address, the
- * "X-Forwarded-Proto" header field will be trusted
- * and used if present.
- *
- * If you're running behind a reverse proxy that
- * supplies https for you this may be enabled.
- *
- * @return {String}
- * @public
- */
-
-defineGetter(req, 'protocol', function protocol(){
- var proto = this.connection.encrypted
- ? 'https'
- : 'http';
- var trust = this.app.get('trust proxy fn');
-
- if (!trust(this.connection.remoteAddress, 0)) {
- return proto;
- }
-
- // Note: X-Forwarded-Proto is normally only ever a
- // single value, but this is to be safe.
- proto = this.get('X-Forwarded-Proto') || proto;
- return proto.split(/\s*,\s*/)[0];
-});
-
-/**
- * Short-hand for:
- *
- * req.protocol === 'https'
- *
- * @return {Boolean}
- * @public
- */
-
-defineGetter(req, 'secure', function secure(){
- return this.protocol === 'https';
-});
-
-/**
- * Return the remote address from the trusted proxy.
- *
- * The is the remote address on the socket unless
- * "trust proxy" is set.
- *
- * @return {String}
- * @public
- */
-
-defineGetter(req, 'ip', function ip(){
- var trust = this.app.get('trust proxy fn');
- return proxyaddr(this, trust);
-});
-
-/**
- * When "trust proxy" is set, trusted proxy addresses + client.
- *
- * For example if the value were "client, proxy1, proxy2"
- * you would receive the array `["client", "proxy1", "proxy2"]`
- * where "proxy2" is the furthest down-stream and "proxy1" and
- * "proxy2" were trusted.
- *
- * @return {Array}
- * @public
- */
-
-defineGetter(req, 'ips', function ips() {
- var trust = this.app.get('trust proxy fn');
- var addrs = proxyaddr.all(this, trust);
- return addrs.slice(1).reverse();
-});
-
-/**
- * Return subdomains as an array.
- *
- * Subdomains are the dot-separated parts of the host before the main domain of
- * the app. By default, the domain of the app is assumed to be the last two
- * parts of the host. This can be changed by setting "subdomain offset".
- *
- * For example, if the domain is "tobi.ferrets.example.com":
- * If "subdomain offset" is not set, req.subdomains is `["ferrets", "tobi"]`.
- * If "subdomain offset" is 3, req.subdomains is `["tobi"]`.
- *
- * @return {Array}
- * @public
- */
-
-defineGetter(req, 'subdomains', function subdomains() {
- var hostname = this.hostname;
-
- if (!hostname) return [];
-
- var offset = this.app.get('subdomain offset');
- var subdomains = !isIP(hostname)
- ? hostname.split('.').reverse()
- : [hostname];
-
- return subdomains.slice(offset);
-});
-
-/**
- * Short-hand for `url.parse(req.url).pathname`.
- *
- * @return {String}
- * @public
- */
-
-defineGetter(req, 'path', function path() {
- return parse(this).pathname;
-});
-
-/**
- * Parse the "Host" header field to a hostname.
- *
- * When the "trust proxy" setting trusts the socket
- * address, the "X-Forwarded-Host" header field will
- * be trusted.
- *
- * @return {String}
- * @public
- */
-
-defineGetter(req, 'hostname', function hostname(){
- var trust = this.app.get('trust proxy fn');
- var host = this.get('X-Forwarded-Host');
-
- if (!host || !trust(this.connection.remoteAddress, 0)) {
- host = this.get('Host');
- }
-
- if (!host) return;
-
- // IPv6 literal support
- var offset = host[0] === '['
- ? host.indexOf(']') + 1
- : 0;
- var index = host.indexOf(':', offset);
-
- return index !== -1
- ? host.substring(0, index)
- : host;
-});
-
-// TODO: change req.host to return host in next major
-
-defineGetter(req, 'host', deprecate.function(function host(){
- return this.hostname;
-}, 'req.host: Use req.hostname instead'));
-
-/**
- * Check if the request is fresh, aka
- * Last-Modified and/or the ETag
- * still match.
- *
- * @return {Boolean}
- * @public
- */
-
-defineGetter(req, 'fresh', function(){
- var method = this.method;
- var s = this.res.statusCode;
-
- // GET or HEAD for weak freshness validation only
- if ('GET' !== method && 'HEAD' !== method) return false;
-
- // 2xx or 304 as per rfc2616 14.26
- if ((s >= 200 && s < 300) || 304 === s) {
- return fresh(this.headers, (this.res._headers || {}));
- }
-
- return false;
-});
-
-/**
- * Check if the request is stale, aka
- * "Last-Modified" and / or the "ETag" for the
- * resource has changed.
- *
- * @return {Boolean}
- * @public
- */
-
-defineGetter(req, 'stale', function stale(){
- return !this.fresh;
-});
-
-/**
- * Check if the request was an _XMLHttpRequest_.
- *
- * @return {Boolean}
- * @public
- */
-
-defineGetter(req, 'xhr', function xhr(){
- var val = this.get('X-Requested-With') || '';
- return val.toLowerCase() === 'xmlhttprequest';
-});
-
-/**
- * Helper function for creating a getter on an object.
- *
- * @param {Object} obj
- * @param {String} name
- * @param {Function} getter
- * @private
- */
-function defineGetter(obj, name, getter) {
- Object.defineProperty(obj, name, {
- configurable: true,
- enumerable: true,
- get: getter
- });
-};
diff --git a/node_modules/express/lib/response.js b/node_modules/express/lib/response.js
deleted file mode 100644
index 6128f45..0000000
--- a/node_modules/express/lib/response.js
+++ /dev/null
@@ -1,1065 +0,0 @@
-/*!
- * express
- * Copyright(c) 2009-2013 TJ Holowaychuk
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict';
-
-/**
- * Module dependencies.
- * @private
- */
-
-var contentDisposition = require('content-disposition');
-var deprecate = require('depd')('express');
-var encodeUrl = require('encodeurl');
-var escapeHtml = require('escape-html');
-var http = require('http');
-var isAbsolute = require('./utils').isAbsolute;
-var onFinished = require('on-finished');
-var path = require('path');
-var merge = require('utils-merge');
-var sign = require('cookie-signature').sign;
-var normalizeType = require('./utils').normalizeType;
-var normalizeTypes = require('./utils').normalizeTypes;
-var setCharset = require('./utils').setCharset;
-var statusCodes = http.STATUS_CODES;
-var cookie = require('cookie');
-var send = require('send');
-var extname = path.extname;
-var mime = send.mime;
-var resolve = path.resolve;
-var vary = require('vary');
-
-/**
- * Response prototype.
- */
-
-var res = module.exports = {
- __proto__: http.ServerResponse.prototype
-};
-
-/**
- * Module variables.
- * @private
- */
-
-var charsetRegExp = /;\s*charset\s*=/;
-
-/**
- * Set status `code`.
- *
- * @param {Number} code
- * @return {ServerResponse}
- * @public
- */
-
-res.status = function status(code) {
- this.statusCode = code;
- return this;
-};
-
-/**
- * Set Link header field with the given `links`.
- *
- * Examples:
- *
- * res.links({
- * next: 'http://api.example.com/users?page=2',
- * last: 'http://api.example.com/users?page=5'
- * });
- *
- * @param {Object} links
- * @return {ServerResponse}
- * @public
- */
-
-res.links = function(links){
- var link = this.get('Link') || '';
- if (link) link += ', ';
- return this.set('Link', link + Object.keys(links).map(function(rel){
- return '<' + links[rel] + '>; rel="' + rel + '"';
- }).join(', '));
-};
-
-/**
- * Send a response.
- *
- * Examples:
- *
- * res.send(new Buffer('wahoo'));
- * res.send({ some: 'json' });
- * res.send('some html
');
- *
- * @param {string|number|boolean|object|Buffer} body
- * @public
- */
-
-res.send = function send(body) {
- var chunk = body;
- var encoding;
- var len;
- var req = this.req;
- var type;
-
- // settings
- var app = this.app;
-
- // allow status / body
- if (arguments.length === 2) {
- // res.send(body, status) backwards compat
- if (typeof arguments[0] !== 'number' && typeof arguments[1] === 'number') {
- deprecate('res.send(body, status): Use res.status(status).send(body) instead');
- this.statusCode = arguments[1];
- } else {
- deprecate('res.send(status, body): Use res.status(status).send(body) instead');
- this.statusCode = arguments[0];
- chunk = arguments[1];
- }
- }
-
- // disambiguate res.send(status) and res.send(status, num)
- if (typeof chunk === 'number' && arguments.length === 1) {
- // res.send(status) will set status message as text string
- if (!this.get('Content-Type')) {
- this.type('txt');
- }
-
- deprecate('res.send(status): Use res.sendStatus(status) instead');
- this.statusCode = chunk;
- chunk = statusCodes[chunk];
- }
-
- switch (typeof chunk) {
- // string defaulting to html
- case 'string':
- if (!this.get('Content-Type')) {
- this.type('html');
- }
- break;
- case 'boolean':
- case 'number':
- case 'object':
- if (chunk === null) {
- chunk = '';
- } else if (Buffer.isBuffer(chunk)) {
- if (!this.get('Content-Type')) {
- this.type('bin');
- }
- } else {
- return this.json(chunk);
- }
- break;
- }
-
- // write strings in utf-8
- if (typeof chunk === 'string') {
- encoding = 'utf8';
- type = this.get('Content-Type');
-
- // reflect this in content-type
- if (typeof type === 'string') {
- this.set('Content-Type', setCharset(type, 'utf-8'));
- }
- }
-
- // populate Content-Length
- if (chunk !== undefined) {
- if (!Buffer.isBuffer(chunk)) {
- // convert chunk to Buffer; saves later double conversions
- chunk = new Buffer(chunk, encoding);
- encoding = undefined;
- }
-
- len = chunk.length;
- this.set('Content-Length', len);
- }
-
- // populate ETag
- var etag;
- var generateETag = len !== undefined && app.get('etag fn');
- if (typeof generateETag === 'function' && !this.get('ETag')) {
- if ((etag = generateETag(chunk, encoding))) {
- this.set('ETag', etag);
- }
- }
-
- // freshness
- if (req.fresh) this.statusCode = 304;
-
- // strip irrelevant headers
- if (204 === this.statusCode || 304 === this.statusCode) {
- this.removeHeader('Content-Type');
- this.removeHeader('Content-Length');
- this.removeHeader('Transfer-Encoding');
- chunk = '';
- }
-
- if (req.method === 'HEAD') {
- // skip body for HEAD
- this.end();
- } else {
- // respond
- this.end(chunk, encoding);
- }
-
- return this;
-};
-
-/**
- * Send JSON response.
- *
- * Examples:
- *
- * res.json(null);
- * res.json({ user: 'tj' });
- *
- * @param {string|number|boolean|object} obj
- * @public
- */
-
-res.json = function json(obj) {
- var val = obj;
-
- // allow status / body
- if (arguments.length === 2) {
- // res.json(body, status) backwards compat
- if (typeof arguments[1] === 'number') {
- deprecate('res.json(obj, status): Use res.status(status).json(obj) instead');
- this.statusCode = arguments[1];
- } else {
- deprecate('res.json(status, obj): Use res.status(status).json(obj) instead');
- this.statusCode = arguments[0];
- val = arguments[1];
- }
- }
-
- // settings
- var app = this.app;
- var replacer = app.get('json replacer');
- var spaces = app.get('json spaces');
- var body = stringify(val, replacer, spaces);
-
- // content-type
- if (!this.get('Content-Type')) {
- this.set('Content-Type', 'application/json');
- }
-
- return this.send(body);
-};
-
-/**
- * Send JSON response with JSONP callback support.
- *
- * Examples:
- *
- * res.jsonp(null);
- * res.jsonp({ user: 'tj' });
- *
- * @param {string|number|boolean|object} obj
- * @public
- */
-
-res.jsonp = function jsonp(obj) {
- var val = obj;
-
- // allow status / body
- if (arguments.length === 2) {
- // res.json(body, status) backwards compat
- if (typeof arguments[1] === 'number') {
- deprecate('res.jsonp(obj, status): Use res.status(status).json(obj) instead');
- this.statusCode = arguments[1];
- } else {
- deprecate('res.jsonp(status, obj): Use res.status(status).jsonp(obj) instead');
- this.statusCode = arguments[0];
- val = arguments[1];
- }
- }
-
- // settings
- var app = this.app;
- var replacer = app.get('json replacer');
- var spaces = app.get('json spaces');
- var body = stringify(val, replacer, spaces);
- var callback = this.req.query[app.get('jsonp callback name')];
-
- // content-type
- if (!this.get('Content-Type')) {
- this.set('X-Content-Type-Options', 'nosniff');
- this.set('Content-Type', 'application/json');
- }
-
- // fixup callback
- if (Array.isArray(callback)) {
- callback = callback[0];
- }
-
- // jsonp
- if (typeof callback === 'string' && callback.length !== 0) {
- this.charset = 'utf-8';
- this.set('X-Content-Type-Options', 'nosniff');
- this.set('Content-Type', 'text/javascript');
-
- // restrict callback charset
- callback = callback.replace(/[^\[\]\w$.]/g, '');
-
- // replace chars not allowed in JavaScript that are in JSON
- body = body
- .replace(/\u2028/g, '\\u2028')
- .replace(/\u2029/g, '\\u2029');
-
- // the /**/ is a specific security mitigation for "Rosetta Flash JSONP abuse"
- // the typeof check is just to reduce client error noise
- body = '/**/ typeof ' + callback + ' === \'function\' && ' + callback + '(' + body + ');';
- }
-
- return this.send(body);
-};
-
-/**
- * Send given HTTP status code.
- *
- * Sets the response status to `statusCode` and the body of the
- * response to the standard description from node's http.STATUS_CODES
- * or the statusCode number if no description.
- *
- * Examples:
- *
- * res.sendStatus(200);
- *
- * @param {number} statusCode
- * @public
- */
-
-res.sendStatus = function sendStatus(statusCode) {
- var body = statusCodes[statusCode] || String(statusCode);
-
- this.statusCode = statusCode;
- this.type('txt');
-
- return this.send(body);
-};
-
-/**
- * Transfer the file at the given `path`.
- *
- * Automatically sets the _Content-Type_ response header field.
- * The callback `callback(err)` is invoked when the transfer is complete
- * or when an error occurs. Be sure to check `res.sentHeader`
- * if you wish to attempt responding, as the header and some data
- * may have already been transferred.
- *
- * Options:
- *
- * - `maxAge` defaulting to 0 (can be string converted by `ms`)
- * - `root` root directory for relative filenames
- * - `headers` object of headers to serve with file
- * - `dotfiles` serve dotfiles, defaulting to false; can be `"allow"` to send them
- *
- * Other options are passed along to `send`.
- *
- * Examples:
- *
- * The following example illustrates how `res.sendFile()` may
- * be used as an alternative for the `static()` middleware for
- * dynamic situations. The code backing `res.sendFile()` is actually
- * the same code, so HTTP cache support etc is identical.
- *
- * app.get('/user/:uid/photos/:file', function(req, res){
- * var uid = req.params.uid
- * , file = req.params.file;
- *
- * req.user.mayViewFilesFrom(uid, function(yes){
- * if (yes) {
- * res.sendFile('/uploads/' + uid + '/' + file);
- * } else {
- * res.send(403, 'Sorry! you cant see that.');
- * }
- * });
- * });
- *
- * @public
- */
-
-res.sendFile = function sendFile(path, options, callback) {
- var done = callback;
- var req = this.req;
- var res = this;
- var next = req.next;
- var opts = options || {};
-
- if (!path) {
- throw new TypeError('path argument is required to res.sendFile');
- }
-
- // support function as second arg
- if (typeof options === 'function') {
- done = options;
- opts = {};
- }
-
- if (!opts.root && !isAbsolute(path)) {
- throw new TypeError('path must be absolute or specify root to res.sendFile');
- }
-
- // create file stream
- var pathname = encodeURI(path);
- var file = send(req, pathname, opts);
-
- // transfer
- sendfile(res, file, opts, function (err) {
- if (done) return done(err);
- if (err && err.code === 'EISDIR') return next();
-
- // next() all but write errors
- if (err && err.code !== 'ECONNABORTED' && err.syscall !== 'write') {
- next(err);
- }
- });
-};
-
-/**
- * Transfer the file at the given `path`.
- *
- * Automatically sets the _Content-Type_ response header field.
- * The callback `callback(err)` is invoked when the transfer is complete
- * or when an error occurs. Be sure to check `res.sentHeader`
- * if you wish to attempt responding, as the header and some data
- * may have already been transferred.
- *
- * Options:
- *
- * - `maxAge` defaulting to 0 (can be string converted by `ms`)
- * - `root` root directory for relative filenames
- * - `headers` object of headers to serve with file
- * - `dotfiles` serve dotfiles, defaulting to false; can be `"allow"` to send them
- *
- * Other options are passed along to `send`.
- *
- * Examples:
- *
- * The following example illustrates how `res.sendfile()` may
- * be used as an alternative for the `static()` middleware for
- * dynamic situations. The code backing `res.sendfile()` is actually
- * the same code, so HTTP cache support etc is identical.
- *
- * app.get('/user/:uid/photos/:file', function(req, res){
- * var uid = req.params.uid
- * , file = req.params.file;
- *
- * req.user.mayViewFilesFrom(uid, function(yes){
- * if (yes) {
- * res.sendfile('/uploads/' + uid + '/' + file);
- * } else {
- * res.send(403, 'Sorry! you cant see that.');
- * }
- * });
- * });
- *
- * @public
- */
-
-res.sendfile = function (path, options, callback) {
- var done = callback;
- var req = this.req;
- var res = this;
- var next = req.next;
- var opts = options || {};
-
- // support function as second arg
- if (typeof options === 'function') {
- done = options;
- opts = {};
- }
-
- // create file stream
- var file = send(req, path, opts);
-
- // transfer
- sendfile(res, file, opts, function (err) {
- if (done) return done(err);
- if (err && err.code === 'EISDIR') return next();
-
- // next() all but write errors
- if (err && err.code !== 'ECONNABORT' && err.syscall !== 'write') {
- next(err);
- }
- });
-};
-
-res.sendfile = deprecate.function(res.sendfile,
- 'res.sendfile: Use res.sendFile instead');
-
-/**
- * Transfer the file at the given `path` as an attachment.
- *
- * Optionally providing an alternate attachment `filename`,
- * and optional callback `callback(err)`. The callback is invoked
- * when the data transfer is complete, or when an error has
- * ocurred. Be sure to check `res.headersSent` if you plan to respond.
- *
- * This method uses `res.sendfile()`.
- *
- * @public
- */
-
-res.download = function download(path, filename, callback) {
- var done = callback;
- var name = filename;
-
- // support function as second arg
- if (typeof filename === 'function') {
- done = filename;
- name = null;
- }
-
- // set Content-Disposition when file is sent
- var headers = {
- 'Content-Disposition': contentDisposition(name || path)
- };
-
- // Resolve the full path for sendFile
- var fullPath = resolve(path);
-
- return this.sendFile(fullPath, { headers: headers }, done);
-};
-
-/**
- * Set _Content-Type_ response header with `type` through `mime.lookup()`
- * when it does not contain "/", or set the Content-Type to `type` otherwise.
- *
- * Examples:
- *
- * res.type('.html');
- * res.type('html');
- * res.type('json');
- * res.type('application/json');
- * res.type('png');
- *
- * @param {String} type
- * @return {ServerResponse} for chaining
- * @public
- */
-
-res.contentType =
-res.type = function contentType(type) {
- var ct = type.indexOf('/') === -1
- ? mime.lookup(type)
- : type;
-
- return this.set('Content-Type', ct);
-};
-
-/**
- * Respond to the Acceptable formats using an `obj`
- * of mime-type callbacks.
- *
- * This method uses `req.accepted`, an array of
- * acceptable types ordered by their quality values.
- * When "Accept" is not present the _first_ callback
- * is invoked, otherwise the first match is used. When
- * no match is performed the server responds with
- * 406 "Not Acceptable".
- *
- * Content-Type is set for you, however if you choose
- * you may alter this within the callback using `res.type()`
- * or `res.set('Content-Type', ...)`.
- *
- * res.format({
- * 'text/plain': function(){
- * res.send('hey');
- * },
- *
- * 'text/html': function(){
- * res.send('hey
');
- * },
- *
- * 'appliation/json': function(){
- * res.send({ message: 'hey' });
- * }
- * });
- *
- * In addition to canonicalized MIME types you may
- * also use extnames mapped to these types:
- *
- * res.format({
- * text: function(){
- * res.send('hey');
- * },
- *
- * html: function(){
- * res.send('hey
');
- * },
- *
- * json: function(){
- * res.send({ message: 'hey' });
- * }
- * });
- *
- * By default Express passes an `Error`
- * with a `.status` of 406 to `next(err)`
- * if a match is not made. If you provide
- * a `.default` callback it will be invoked
- * instead.
- *
- * @param {Object} obj
- * @return {ServerResponse} for chaining
- * @public
- */
-
-res.format = function(obj){
- var req = this.req;
- var next = req.next;
-
- var fn = obj.default;
- if (fn) delete obj.default;
- var keys = Object.keys(obj);
-
- var key = keys.length > 0
- ? req.accepts(keys)
- : false;
-
- this.vary("Accept");
-
- if (key) {
- this.set('Content-Type', normalizeType(key).value);
- obj[key](req, this, next);
- } else if (fn) {
- fn();
- } else {
- var err = new Error('Not Acceptable');
- err.status = err.statusCode = 406;
- err.types = normalizeTypes(keys).map(function(o){ return o.value });
- next(err);
- }
-
- return this;
-};
-
-/**
- * Set _Content-Disposition_ header to _attachment_ with optional `filename`.
- *
- * @param {String} filename
- * @return {ServerResponse}
- * @public
- */
-
-res.attachment = function attachment(filename) {
- if (filename) {
- this.type(extname(filename));
- }
-
- this.set('Content-Disposition', contentDisposition(filename));
-
- return this;
-};
-
-/**
- * Append additional header `field` with value `val`.
- *
- * Example:
- *
- * res.append('Link', [' ', ' ']);
- * res.append('Set-Cookie', 'foo=bar; Path=/; HttpOnly');
- * res.append('Warning', '199 Miscellaneous warning');
- *
- * @param {String} field
- * @param {String|Array} val
- * @return {ServerResponse} for chaining
- * @public
- */
-
-res.append = function append(field, val) {
- var prev = this.get(field);
- var value = val;
-
- if (prev) {
- // concat the new and prev vals
- value = Array.isArray(prev) ? prev.concat(val)
- : Array.isArray(val) ? [prev].concat(val)
- : [prev, val];
- }
-
- return this.set(field, value);
-};
-
-/**
- * Set header `field` to `val`, or pass
- * an object of header fields.
- *
- * Examples:
- *
- * res.set('Foo', ['bar', 'baz']);
- * res.set('Accept', 'application/json');
- * res.set({ Accept: 'text/plain', 'X-API-Key': 'tobi' });
- *
- * Aliased as `res.header()`.
- *
- * @param {String|Object} field
- * @param {String|Array} val
- * @return {ServerResponse} for chaining
- * @public
- */
-
-res.set =
-res.header = function header(field, val) {
- if (arguments.length === 2) {
- var value = Array.isArray(val)
- ? val.map(String)
- : String(val);
-
- // add charset to content-type
- if (field.toLowerCase() === 'content-type' && !charsetRegExp.test(value)) {
- var charset = mime.charsets.lookup(value.split(';')[0]);
- if (charset) value += '; charset=' + charset.toLowerCase();
- }
-
- this.setHeader(field, value);
- } else {
- for (var key in field) {
- this.set(key, field[key]);
- }
- }
- return this;
-};
-
-/**
- * Get value for header `field`.
- *
- * @param {String} field
- * @return {String}
- * @public
- */
-
-res.get = function(field){
- return this.getHeader(field);
-};
-
-/**
- * Clear cookie `name`.
- *
- * @param {String} name
- * @param {Object} [options]
- * @return {ServerResponse} for chaining
- * @public
- */
-
-res.clearCookie = function clearCookie(name, options) {
- var opts = merge({ expires: new Date(1), path: '/' }, options);
-
- return this.cookie(name, '', opts);
-};
-
-/**
- * Set cookie `name` to `value`, with the given `options`.
- *
- * Options:
- *
- * - `maxAge` max-age in milliseconds, converted to `expires`
- * - `signed` sign the cookie
- * - `path` defaults to "/"
- *
- * Examples:
- *
- * // "Remember Me" for 15 minutes
- * res.cookie('rememberme', '1', { expires: new Date(Date.now() + 900000), httpOnly: true });
- *
- * // save as above
- * res.cookie('rememberme', '1', { maxAge: 900000, httpOnly: true })
- *
- * @param {String} name
- * @param {String|Object} value
- * @param {Options} options
- * @return {ServerResponse} for chaining
- * @public
- */
-
-res.cookie = function (name, value, options) {
- var opts = merge({}, options);
- var secret = this.req.secret;
- var signed = opts.signed;
-
- if (signed && !secret) {
- throw new Error('cookieParser("secret") required for signed cookies');
- }
-
- var val = typeof value === 'object'
- ? 'j:' + JSON.stringify(value)
- : String(value);
-
- if (signed) {
- val = 's:' + sign(val, secret);
- }
-
- if ('maxAge' in opts) {
- opts.expires = new Date(Date.now() + opts.maxAge);
- opts.maxAge /= 1000;
- }
-
- if (opts.path == null) {
- opts.path = '/';
- }
-
- this.append('Set-Cookie', cookie.serialize(name, String(val), opts));
-
- return this;
-};
-
-/**
- * Set the location header to `url`.
- *
- * The given `url` can also be "back", which redirects
- * to the _Referrer_ or _Referer_ headers or "/".
- *
- * Examples:
- *
- * res.location('/foo/bar').;
- * res.location('http://example.com');
- * res.location('../login');
- *
- * @param {String} url
- * @return {ServerResponse} for chaining
- * @public
- */
-
-res.location = function location(url) {
- var loc = url;
-
- // "back" is an alias for the referrer
- if (url === 'back') {
- loc = this.req.get('Referrer') || '/';
- }
-
- // set location
- return this.set('Location', encodeUrl(loc));
-};
-
-/**
- * Redirect to the given `url` with optional response `status`
- * defaulting to 302.
- *
- * The resulting `url` is determined by `res.location()`, so
- * it will play nicely with mounted apps, relative paths,
- * `"back"` etc.
- *
- * Examples:
- *
- * res.redirect('/foo/bar');
- * res.redirect('http://example.com');
- * res.redirect(301, 'http://example.com');
- * res.redirect('../login'); // /blog/post/1 -> /blog/login
- *
- * @public
- */
-
-res.redirect = function redirect(url) {
- var address = url;
- var body;
- var status = 302;
-
- // allow status / url
- if (arguments.length === 2) {
- if (typeof arguments[0] === 'number') {
- status = arguments[0];
- address = arguments[1];
- } else {
- deprecate('res.redirect(url, status): Use res.redirect(status, url) instead');
- status = arguments[1];
- }
- }
-
- // Set location header
- address = this.location(address).get('Location');
-
- // Support text/{plain,html} by default
- this.format({
- text: function(){
- body = statusCodes[status] + '. Redirecting to ' + address;
- },
-
- html: function(){
- var u = escapeHtml(address);
- body = '' + statusCodes[status] + '. Redirecting to ' + u + '
';
- },
-
- default: function(){
- body = '';
- }
- });
-
- // Respond
- this.statusCode = status;
- this.set('Content-Length', Buffer.byteLength(body));
-
- if (this.req.method === 'HEAD') {
- this.end();
- } else {
- this.end(body);
- }
-};
-
-/**
- * Add `field` to Vary. If already present in the Vary set, then
- * this call is simply ignored.
- *
- * @param {Array|String} field
- * @return {ServerResponse} for chaining
- * @public
- */
-
-res.vary = function(field){
- // checks for back-compat
- if (!field || (Array.isArray(field) && !field.length)) {
- deprecate('res.vary(): Provide a field name');
- return this;
- }
-
- vary(this, field);
-
- return this;
-};
-
-/**
- * Render `view` with the given `options` and optional callback `fn`.
- * When a callback function is given a response will _not_ be made
- * automatically, otherwise a response of _200_ and _text/html_ is given.
- *
- * Options:
- *
- * - `cache` boolean hinting to the engine it should cache
- * - `filename` filename of the view being rendered
- *
- * @public
- */
-
-res.render = function render(view, options, callback) {
- var app = this.req.app;
- var done = callback;
- var opts = options || {};
- var req = this.req;
- var self = this;
-
- // support callback function as second arg
- if (typeof options === 'function') {
- done = options;
- opts = {};
- }
-
- // merge res.locals
- opts._locals = self.locals;
-
- // default callback to respond
- done = done || function (err, str) {
- if (err) return req.next(err);
- self.send(str);
- };
-
- // render
- app.render(view, opts, done);
-};
-
-// pipe the send file stream
-function sendfile(res, file, options, callback) {
- var done = false;
- var streaming;
-
- // request aborted
- function onaborted() {
- if (done) return;
- done = true;
-
- var err = new Error('Request aborted');
- err.code = 'ECONNABORTED';
- callback(err);
- }
-
- // directory
- function ondirectory() {
- if (done) return;
- done = true;
-
- var err = new Error('EISDIR, read');
- err.code = 'EISDIR';
- callback(err);
- }
-
- // errors
- function onerror(err) {
- if (done) return;
- done = true;
- callback(err);
- }
-
- // ended
- function onend() {
- if (done) return;
- done = true;
- callback();
- }
-
- // file
- function onfile() {
- streaming = false;
- }
-
- // finished
- function onfinish(err) {
- if (err && err.code === 'ECONNRESET') return onaborted();
- if (err) return onerror(err);
- if (done) return;
-
- setImmediate(function () {
- if (streaming !== false && !done) {
- onaborted();
- return;
- }
-
- if (done) return;
- done = true;
- callback();
- });
- }
-
- // streaming
- function onstream() {
- streaming = true;
- }
-
- file.on('directory', ondirectory);
- file.on('end', onend);
- file.on('error', onerror);
- file.on('file', onfile);
- file.on('stream', onstream);
- onFinished(res, onfinish);
-
- if (options.headers) {
- // set headers on successful transfer
- file.on('headers', function headers(res) {
- var obj = options.headers;
- var keys = Object.keys(obj);
-
- for (var i = 0; i < keys.length; i++) {
- var k = keys[i];
- res.setHeader(k, obj[k]);
- }
- });
- }
-
- // pipe
- file.pipe(res);
-}
-
-/**
- * Stringify JSON, like JSON.stringify, but v8 optimized.
- * @private
- */
-
-function stringify(value, replacer, spaces) {
- // v8 checks arguments.length for optimizing simple call
- // https://bugs.chromium.org/p/v8/issues/detail?id=4730
- return replacer || spaces
- ? JSON.stringify(value, replacer, spaces)
- : JSON.stringify(value);
-}
diff --git a/node_modules/express/lib/router/index.js b/node_modules/express/lib/router/index.js
deleted file mode 100644
index dac2514..0000000
--- a/node_modules/express/lib/router/index.js
+++ /dev/null
@@ -1,645 +0,0 @@
-/*!
- * express
- * Copyright(c) 2009-2013 TJ Holowaychuk
- * Copyright(c) 2013 Roman Shtylman
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict';
-
-/**
- * Module dependencies.
- * @private
- */
-
-var Route = require('./route');
-var Layer = require('./layer');
-var methods = require('methods');
-var mixin = require('utils-merge');
-var debug = require('debug')('express:router');
-var deprecate = require('depd')('express');
-var flatten = require('array-flatten');
-var parseUrl = require('parseurl');
-
-/**
- * Module variables.
- * @private
- */
-
-var objectRegExp = /^\[object (\S+)\]$/;
-var slice = Array.prototype.slice;
-var toString = Object.prototype.toString;
-
-/**
- * Initialize a new `Router` with the given `options`.
- *
- * @param {Object} options
- * @return {Router} which is an callable function
- * @public
- */
-
-var proto = module.exports = function(options) {
- var opts = options || {};
-
- function router(req, res, next) {
- router.handle(req, res, next);
- }
-
- // mixin Router class functions
- router.__proto__ = proto;
-
- router.params = {};
- router._params = [];
- router.caseSensitive = opts.caseSensitive;
- router.mergeParams = opts.mergeParams;
- router.strict = opts.strict;
- router.stack = [];
-
- return router;
-};
-
-/**
- * Map the given param placeholder `name`(s) to the given callback.
- *
- * Parameter mapping is used to provide pre-conditions to routes
- * which use normalized placeholders. For example a _:user_id_ parameter
- * could automatically load a user's information from the database without
- * any additional code,
- *
- * The callback uses the same signature as middleware, the only difference
- * being that the value of the placeholder is passed, in this case the _id_
- * of the user. Once the `next()` function is invoked, just like middleware
- * it will continue on to execute the route, or subsequent parameter functions.
- *
- * Just like in middleware, you must either respond to the request or call next
- * to avoid stalling the request.
- *
- * app.param('user_id', function(req, res, next, id){
- * User.find(id, function(err, user){
- * if (err) {
- * return next(err);
- * } else if (!user) {
- * return next(new Error('failed to load user'));
- * }
- * req.user = user;
- * next();
- * });
- * });
- *
- * @param {String} name
- * @param {Function} fn
- * @return {app} for chaining
- * @public
- */
-
-proto.param = function param(name, fn) {
- // param logic
- if (typeof name === 'function') {
- deprecate('router.param(fn): Refactor to use path params');
- this._params.push(name);
- return;
- }
-
- // apply param functions
- var params = this._params;
- var len = params.length;
- var ret;
-
- if (name[0] === ':') {
- deprecate('router.param(' + JSON.stringify(name) + ', fn): Use router.param(' + JSON.stringify(name.substr(1)) + ', fn) instead');
- name = name.substr(1);
- }
-
- for (var i = 0; i < len; ++i) {
- if (ret = params[i](name, fn)) {
- fn = ret;
- }
- }
-
- // ensure we end up with a
- // middleware function
- if ('function' !== typeof fn) {
- throw new Error('invalid param() call for ' + name + ', got ' + fn);
- }
-
- (this.params[name] = this.params[name] || []).push(fn);
- return this;
-};
-
-/**
- * Dispatch a req, res into the router.
- * @private
- */
-
-proto.handle = function handle(req, res, out) {
- var self = this;
-
- debug('dispatching %s %s', req.method, req.url);
-
- var search = 1 + req.url.indexOf('?');
- var pathlength = search ? search - 1 : req.url.length;
- var fqdn = req.url[0] !== '/' && 1 + req.url.substr(0, pathlength).indexOf('://');
- var protohost = fqdn ? req.url.substr(0, req.url.indexOf('/', 2 + fqdn)) : '';
- var idx = 0;
- var removed = '';
- var slashAdded = false;
- var paramcalled = {};
-
- // store options for OPTIONS request
- // only used if OPTIONS request
- var options = [];
-
- // middleware and routes
- var stack = self.stack;
-
- // manage inter-router variables
- var parentParams = req.params;
- var parentUrl = req.baseUrl || '';
- var done = restore(out, req, 'baseUrl', 'next', 'params');
-
- // setup next layer
- req.next = next;
-
- // for options requests, respond with a default if nothing else responds
- if (req.method === 'OPTIONS') {
- done = wrap(done, function(old, err) {
- if (err || options.length === 0) return old(err);
- sendOptionsResponse(res, options, old);
- });
- }
-
- // setup basic req values
- req.baseUrl = parentUrl;
- req.originalUrl = req.originalUrl || req.url;
-
- next();
-
- function next(err) {
- var layerError = err === 'route'
- ? null
- : err;
-
- // remove added slash
- if (slashAdded) {
- req.url = req.url.substr(1);
- slashAdded = false;
- }
-
- // restore altered req.url
- if (removed.length !== 0) {
- req.baseUrl = parentUrl;
- req.url = protohost + removed + req.url.substr(protohost.length);
- removed = '';
- }
-
- // no more matching layers
- if (idx >= stack.length) {
- setImmediate(done, layerError);
- return;
- }
-
- // get pathname of request
- var path = getPathname(req);
-
- if (path == null) {
- return done(layerError);
- }
-
- // find next matching layer
- var layer;
- var match;
- var route;
-
- while (match !== true && idx < stack.length) {
- layer = stack[idx++];
- match = matchLayer(layer, path);
- route = layer.route;
-
- if (typeof match !== 'boolean') {
- // hold on to layerError
- layerError = layerError || match;
- }
-
- if (match !== true) {
- continue;
- }
-
- if (!route) {
- // process non-route handlers normally
- continue;
- }
-
- if (layerError) {
- // routes do not match with a pending error
- match = false;
- continue;
- }
-
- var method = req.method;
- var has_method = route._handles_method(method);
-
- // build up automatic options response
- if (!has_method && method === 'OPTIONS') {
- appendMethods(options, route._options());
- }
-
- // don't even bother matching route
- if (!has_method && method !== 'HEAD') {
- match = false;
- continue;
- }
- }
-
- // no match
- if (match !== true) {
- return done(layerError);
- }
-
- // store route for dispatch on change
- if (route) {
- req.route = route;
- }
-
- // Capture one-time layer values
- req.params = self.mergeParams
- ? mergeParams(layer.params, parentParams)
- : layer.params;
- var layerPath = layer.path;
-
- // this should be done for the layer
- self.process_params(layer, paramcalled, req, res, function (err) {
- if (err) {
- return next(layerError || err);
- }
-
- if (route) {
- return layer.handle_request(req, res, next);
- }
-
- trim_prefix(layer, layerError, layerPath, path);
- });
- }
-
- function trim_prefix(layer, layerError, layerPath, path) {
- var c = path[layerPath.length];
- if (c && '/' !== c && '.' !== c) return next(layerError);
-
- // Trim off the part of the url that matches the route
- // middleware (.use stuff) needs to have the path stripped
- if (layerPath.length !== 0) {
- debug('trim prefix (%s) from url %s', layerPath, req.url);
- removed = layerPath;
- req.url = protohost + req.url.substr(protohost.length + removed.length);
-
- // Ensure leading slash
- if (!fqdn && req.url[0] !== '/') {
- req.url = '/' + req.url;
- slashAdded = true;
- }
-
- // Setup base URL (no trailing slash)
- req.baseUrl = parentUrl + (removed[removed.length - 1] === '/'
- ? removed.substring(0, removed.length - 1)
- : removed);
- }
-
- debug('%s %s : %s', layer.name, layerPath, req.originalUrl);
-
- if (layerError) {
- layer.handle_error(layerError, req, res, next);
- } else {
- layer.handle_request(req, res, next);
- }
- }
-};
-
-/**
- * Process any parameters for the layer.
- * @private
- */
-
-proto.process_params = function process_params(layer, called, req, res, done) {
- var params = this.params;
-
- // captured parameters from the layer, keys and values
- var keys = layer.keys;
-
- // fast track
- if (!keys || keys.length === 0) {
- return done();
- }
-
- var i = 0;
- var name;
- var paramIndex = 0;
- var key;
- var paramVal;
- var paramCallbacks;
- var paramCalled;
-
- // process params in order
- // param callbacks can be async
- function param(err) {
- if (err) {
- return done(err);
- }
-
- if (i >= keys.length ) {
- return done();
- }
-
- paramIndex = 0;
- key = keys[i++];
-
- if (!key) {
- return done();
- }
-
- name = key.name;
- paramVal = req.params[name];
- paramCallbacks = params[name];
- paramCalled = called[name];
-
- if (paramVal === undefined || !paramCallbacks) {
- return param();
- }
-
- // param previously called with same value or error occurred
- if (paramCalled && (paramCalled.match === paramVal
- || (paramCalled.error && paramCalled.error !== 'route'))) {
- // restore value
- req.params[name] = paramCalled.value;
-
- // next param
- return param(paramCalled.error);
- }
-
- called[name] = paramCalled = {
- error: null,
- match: paramVal,
- value: paramVal
- };
-
- paramCallback();
- }
-
- // single param callbacks
- function paramCallback(err) {
- var fn = paramCallbacks[paramIndex++];
-
- // store updated value
- paramCalled.value = req.params[key.name];
-
- if (err) {
- // store error
- paramCalled.error = err;
- param(err);
- return;
- }
-
- if (!fn) return param();
-
- try {
- fn(req, res, paramCallback, paramVal, key.name);
- } catch (e) {
- paramCallback(e);
- }
- }
-
- param();
-};
-
-/**
- * Use the given middleware function, with optional path, defaulting to "/".
- *
- * Use (like `.all`) will run for any http METHOD, but it will not add
- * handlers for those methods so OPTIONS requests will not consider `.use`
- * functions even if they could respond.
- *
- * The other difference is that _route_ path is stripped and not visible
- * to the handler function. The main effect of this feature is that mounted
- * handlers can operate without any code changes regardless of the "prefix"
- * pathname.
- *
- * @public
- */
-
-proto.use = function use(fn) {
- var offset = 0;
- var path = '/';
-
- // default path to '/'
- // disambiguate router.use([fn])
- if (typeof fn !== 'function') {
- var arg = fn;
-
- while (Array.isArray(arg) && arg.length !== 0) {
- arg = arg[0];
- }
-
- // first arg is the path
- if (typeof arg !== 'function') {
- offset = 1;
- path = fn;
- }
- }
-
- var callbacks = flatten(slice.call(arguments, offset));
-
- if (callbacks.length === 0) {
- throw new TypeError('Router.use() requires middleware functions');
- }
-
- for (var i = 0; i < callbacks.length; i++) {
- var fn = callbacks[i];
-
- if (typeof fn !== 'function') {
- throw new TypeError('Router.use() requires middleware function but got a ' + gettype(fn));
- }
-
- // add the middleware
- debug('use %s %s', path, fn.name || '');
-
- var layer = new Layer(path, {
- sensitive: this.caseSensitive,
- strict: false,
- end: false
- }, fn);
-
- layer.route = undefined;
-
- this.stack.push(layer);
- }
-
- return this;
-};
-
-/**
- * Create a new Route for the given path.
- *
- * Each route contains a separate middleware stack and VERB handlers.
- *
- * See the Route api documentation for details on adding handlers
- * and middleware to routes.
- *
- * @param {String} path
- * @return {Route}
- * @public
- */
-
-proto.route = function route(path) {
- var route = new Route(path);
-
- var layer = new Layer(path, {
- sensitive: this.caseSensitive,
- strict: this.strict,
- end: true
- }, route.dispatch.bind(route));
-
- layer.route = route;
-
- this.stack.push(layer);
- return route;
-};
-
-// create Router#VERB functions
-methods.concat('all').forEach(function(method){
- proto[method] = function(path){
- var route = this.route(path)
- route[method].apply(route, slice.call(arguments, 1));
- return this;
- };
-});
-
-// append methods to a list of methods
-function appendMethods(list, addition) {
- for (var i = 0; i < addition.length; i++) {
- var method = addition[i];
- if (list.indexOf(method) === -1) {
- list.push(method);
- }
- }
-}
-
-// get pathname of request
-function getPathname(req) {
- try {
- return parseUrl(req).pathname;
- } catch (err) {
- return undefined;
- }
-}
-
-// get type for error message
-function gettype(obj) {
- var type = typeof obj;
-
- if (type !== 'object') {
- return type;
- }
-
- // inspect [[Class]] for objects
- return toString.call(obj)
- .replace(objectRegExp, '$1');
-}
-
-/**
- * Match path to a layer.
- *
- * @param {Layer} layer
- * @param {string} path
- * @private
- */
-
-function matchLayer(layer, path) {
- try {
- return layer.match(path);
- } catch (err) {
- return err;
- }
-}
-
-// merge params with parent params
-function mergeParams(params, parent) {
- if (typeof parent !== 'object' || !parent) {
- return params;
- }
-
- // make copy of parent for base
- var obj = mixin({}, parent);
-
- // simple non-numeric merging
- if (!(0 in params) || !(0 in parent)) {
- return mixin(obj, params);
- }
-
- var i = 0;
- var o = 0;
-
- // determine numeric gaps
- while (i in params) {
- i++;
- }
-
- while (o in parent) {
- o++;
- }
-
- // offset numeric indices in params before merge
- for (i--; i >= 0; i--) {
- params[i + o] = params[i];
-
- // create holes for the merge when necessary
- if (i < o) {
- delete params[i];
- }
- }
-
- return mixin(obj, params);
-}
-
-// restore obj props after function
-function restore(fn, obj) {
- var props = new Array(arguments.length - 2);
- var vals = new Array(arguments.length - 2);
-
- for (var i = 0; i < props.length; i++) {
- props[i] = arguments[i + 2];
- vals[i] = obj[props[i]];
- }
-
- return function(err){
- // restore vals
- for (var i = 0; i < props.length; i++) {
- obj[props[i]] = vals[i];
- }
-
- return fn.apply(this, arguments);
- };
-}
-
-// send an OPTIONS response
-function sendOptionsResponse(res, options, next) {
- try {
- var body = options.join(',');
- res.set('Allow', body);
- res.send(body);
- } catch (err) {
- next(err);
- }
-}
-
-// wrap a function
-function wrap(old, fn) {
- return function proxy() {
- var args = new Array(arguments.length + 1);
-
- args[0] = old;
- for (var i = 0, len = arguments.length; i < len; i++) {
- args[i + 1] = arguments[i];
- }
-
- fn.apply(this, args);
- };
-}
diff --git a/node_modules/express/lib/router/layer.js b/node_modules/express/lib/router/layer.js
deleted file mode 100644
index fe9210c..0000000
--- a/node_modules/express/lib/router/layer.js
+++ /dev/null
@@ -1,176 +0,0 @@
-/*!
- * express
- * Copyright(c) 2009-2013 TJ Holowaychuk
- * Copyright(c) 2013 Roman Shtylman
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict';
-
-/**
- * Module dependencies.
- * @private
- */
-
-var pathRegexp = require('path-to-regexp');
-var debug = require('debug')('express:router:layer');
-
-/**
- * Module variables.
- * @private
- */
-
-var hasOwnProperty = Object.prototype.hasOwnProperty;
-
-/**
- * Module exports.
- * @public
- */
-
-module.exports = Layer;
-
-function Layer(path, options, fn) {
- if (!(this instanceof Layer)) {
- return new Layer(path, options, fn);
- }
-
- debug('new %s', path);
- var opts = options || {};
-
- this.handle = fn;
- this.name = fn.name || '';
- this.params = undefined;
- this.path = undefined;
- this.regexp = pathRegexp(path, this.keys = [], opts);
-
- if (path === '/' && opts.end === false) {
- this.regexp.fast_slash = true;
- }
-}
-
-/**
- * Handle the error for the layer.
- *
- * @param {Error} error
- * @param {Request} req
- * @param {Response} res
- * @param {function} next
- * @api private
- */
-
-Layer.prototype.handle_error = function handle_error(error, req, res, next) {
- var fn = this.handle;
-
- if (fn.length !== 4) {
- // not a standard error handler
- return next(error);
- }
-
- try {
- fn(error, req, res, next);
- } catch (err) {
- next(err);
- }
-};
-
-/**
- * Handle the request for the layer.
- *
- * @param {Request} req
- * @param {Response} res
- * @param {function} next
- * @api private
- */
-
-Layer.prototype.handle_request = function handle(req, res, next) {
- var fn = this.handle;
-
- if (fn.length > 3) {
- // not a standard request handler
- return next();
- }
-
- try {
- fn(req, res, next);
- } catch (err) {
- next(err);
- }
-};
-
-/**
- * Check if this route matches `path`, if so
- * populate `.params`.
- *
- * @param {String} path
- * @return {Boolean}
- * @api private
- */
-
-Layer.prototype.match = function match(path) {
- if (path == null) {
- // no path, nothing matches
- this.params = undefined;
- this.path = undefined;
- return false;
- }
-
- if (this.regexp.fast_slash) {
- // fast path non-ending match for / (everything matches)
- this.params = {};
- this.path = '';
- return true;
- }
-
- var m = this.regexp.exec(path);
-
- if (!m) {
- this.params = undefined;
- this.path = undefined;
- return false;
- }
-
- // store values
- this.params = {};
- this.path = m[0];
-
- var keys = this.keys;
- var params = this.params;
-
- for (var i = 1; i < m.length; i++) {
- var key = keys[i - 1];
- var prop = key.name;
- var val = decode_param(m[i]);
-
- if (val !== undefined || !(hasOwnProperty.call(params, prop))) {
- params[prop] = val;
- }
- }
-
- return true;
-};
-
-/**
- * Decode param value.
- *
- * @param {string} val
- * @return {string}
- * @private
- */
-
-function decode_param(val) {
- if (typeof val !== 'string' || val.length === 0) {
- return val;
- }
-
- try {
- return decodeURIComponent(val);
- } catch (err) {
- if (err instanceof URIError) {
- err.message = 'Failed to decode param \'' + val + '\'';
- err.status = err.statusCode = 400;
- }
-
- throw err;
- }
-}
diff --git a/node_modules/express/lib/router/route.js b/node_modules/express/lib/router/route.js
deleted file mode 100644
index 2788d7b..0000000
--- a/node_modules/express/lib/router/route.js
+++ /dev/null
@@ -1,210 +0,0 @@
-/*!
- * express
- * Copyright(c) 2009-2013 TJ Holowaychuk
- * Copyright(c) 2013 Roman Shtylman
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict';
-
-/**
- * Module dependencies.
- * @private
- */
-
-var debug = require('debug')('express:router:route');
-var flatten = require('array-flatten');
-var Layer = require('./layer');
-var methods = require('methods');
-
-/**
- * Module variables.
- * @private
- */
-
-var slice = Array.prototype.slice;
-var toString = Object.prototype.toString;
-
-/**
- * Module exports.
- * @public
- */
-
-module.exports = Route;
-
-/**
- * Initialize `Route` with the given `path`,
- *
- * @param {String} path
- * @public
- */
-
-function Route(path) {
- this.path = path;
- this.stack = [];
-
- debug('new %s', path);
-
- // route handlers for various http methods
- this.methods = {};
-}
-
-/**
- * Determine if the route handles a given method.
- * @private
- */
-
-Route.prototype._handles_method = function _handles_method(method) {
- if (this.methods._all) {
- return true;
- }
-
- var name = method.toLowerCase();
-
- if (name === 'head' && !this.methods['head']) {
- name = 'get';
- }
-
- return Boolean(this.methods[name]);
-};
-
-/**
- * @return {Array} supported HTTP methods
- * @private
- */
-
-Route.prototype._options = function _options() {
- var methods = Object.keys(this.methods);
-
- // append automatic head
- if (this.methods.get && !this.methods.head) {
- methods.push('head');
- }
-
- for (var i = 0; i < methods.length; i++) {
- // make upper case
- methods[i] = methods[i].toUpperCase();
- }
-
- return methods;
-};
-
-/**
- * dispatch req, res into this route
- * @private
- */
-
-Route.prototype.dispatch = function dispatch(req, res, done) {
- var idx = 0;
- var stack = this.stack;
- if (stack.length === 0) {
- return done();
- }
-
- var method = req.method.toLowerCase();
- if (method === 'head' && !this.methods['head']) {
- method = 'get';
- }
-
- req.route = this;
-
- next();
-
- function next(err) {
- if (err && err === 'route') {
- return done();
- }
-
- var layer = stack[idx++];
- if (!layer) {
- return done(err);
- }
-
- if (layer.method && layer.method !== method) {
- return next(err);
- }
-
- if (err) {
- layer.handle_error(err, req, res, next);
- } else {
- layer.handle_request(req, res, next);
- }
- }
-};
-
-/**
- * Add a handler for all HTTP verbs to this route.
- *
- * Behaves just like middleware and can respond or call `next`
- * to continue processing.
- *
- * You can use multiple `.all` call to add multiple handlers.
- *
- * function check_something(req, res, next){
- * next();
- * };
- *
- * function validate_user(req, res, next){
- * next();
- * };
- *
- * route
- * .all(validate_user)
- * .all(check_something)
- * .get(function(req, res, next){
- * res.send('hello world');
- * });
- *
- * @param {function} handler
- * @return {Route} for chaining
- * @api public
- */
-
-Route.prototype.all = function all() {
- var handles = flatten(slice.call(arguments));
-
- for (var i = 0; i < handles.length; i++) {
- var handle = handles[i];
-
- if (typeof handle !== 'function') {
- var type = toString.call(handle);
- var msg = 'Route.all() requires callback functions but got a ' + type;
- throw new TypeError(msg);
- }
-
- var layer = Layer('/', {}, handle);
- layer.method = undefined;
-
- this.methods._all = true;
- this.stack.push(layer);
- }
-
- return this;
-};
-
-methods.forEach(function(method){
- Route.prototype[method] = function(){
- var handles = flatten(slice.call(arguments));
-
- for (var i = 0; i < handles.length; i++) {
- var handle = handles[i];
-
- if (typeof handle !== 'function') {
- var type = toString.call(handle);
- var msg = 'Route.' + method + '() requires callback functions but got a ' + type;
- throw new Error(msg);
- }
-
- debug('%s %s', method, this.path);
-
- var layer = Layer('/', {}, handle);
- layer.method = method;
-
- this.methods[method] = true;
- this.stack.push(layer);
- }
-
- return this;
- };
-});
diff --git a/node_modules/express/lib/utils.js b/node_modules/express/lib/utils.js
deleted file mode 100644
index f418c58..0000000
--- a/node_modules/express/lib/utils.js
+++ /dev/null
@@ -1,299 +0,0 @@
-/*!
- * express
- * Copyright(c) 2009-2013 TJ Holowaychuk
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict';
-
-/**
- * Module dependencies.
- * @api private
- */
-
-var contentDisposition = require('content-disposition');
-var contentType = require('content-type');
-var deprecate = require('depd')('express');
-var flatten = require('array-flatten');
-var mime = require('send').mime;
-var basename = require('path').basename;
-var etag = require('etag');
-var proxyaddr = require('proxy-addr');
-var qs = require('qs');
-var querystring = require('querystring');
-
-/**
- * Return strong ETag for `body`.
- *
- * @param {String|Buffer} body
- * @param {String} [encoding]
- * @return {String}
- * @api private
- */
-
-exports.etag = function (body, encoding) {
- var buf = !Buffer.isBuffer(body)
- ? new Buffer(body, encoding)
- : body;
-
- return etag(buf, {weak: false});
-};
-
-/**
- * Return weak ETag for `body`.
- *
- * @param {String|Buffer} body
- * @param {String} [encoding]
- * @return {String}
- * @api private
- */
-
-exports.wetag = function wetag(body, encoding){
- var buf = !Buffer.isBuffer(body)
- ? new Buffer(body, encoding)
- : body;
-
- return etag(buf, {weak: true});
-};
-
-/**
- * Check if `path` looks absolute.
- *
- * @param {String} path
- * @return {Boolean}
- * @api private
- */
-
-exports.isAbsolute = function(path){
- if ('/' === path[0]) return true;
- if (':' === path[1] && ('\\' === path[2] || '/' === path[2])) return true; // Windows device path
- if ('\\\\' === path.substring(0, 2)) return true; // Microsoft Azure absolute path
-};
-
-/**
- * Flatten the given `arr`.
- *
- * @param {Array} arr
- * @return {Array}
- * @api private
- */
-
-exports.flatten = deprecate.function(flatten,
- 'utils.flatten: use array-flatten npm module instead');
-
-/**
- * Normalize the given `type`, for example "html" becomes "text/html".
- *
- * @param {String} type
- * @return {Object}
- * @api private
- */
-
-exports.normalizeType = function(type){
- return ~type.indexOf('/')
- ? acceptParams(type)
- : { value: mime.lookup(type), params: {} };
-};
-
-/**
- * Normalize `types`, for example "html" becomes "text/html".
- *
- * @param {Array} types
- * @return {Array}
- * @api private
- */
-
-exports.normalizeTypes = function(types){
- var ret = [];
-
- for (var i = 0; i < types.length; ++i) {
- ret.push(exports.normalizeType(types[i]));
- }
-
- return ret;
-};
-
-/**
- * Generate Content-Disposition header appropriate for the filename.
- * non-ascii filenames are urlencoded and a filename* parameter is added
- *
- * @param {String} filename
- * @return {String}
- * @api private
- */
-
-exports.contentDisposition = deprecate.function(contentDisposition,
- 'utils.contentDisposition: use content-disposition npm module instead');
-
-/**
- * Parse accept params `str` returning an
- * object with `.value`, `.quality` and `.params`.
- * also includes `.originalIndex` for stable sorting
- *
- * @param {String} str
- * @return {Object}
- * @api private
- */
-
-function acceptParams(str, index) {
- var parts = str.split(/ *; */);
- var ret = { value: parts[0], quality: 1, params: {}, originalIndex: index };
-
- for (var i = 1; i < parts.length; ++i) {
- var pms = parts[i].split(/ *= */);
- if ('q' === pms[0]) {
- ret.quality = parseFloat(pms[1]);
- } else {
- ret.params[pms[0]] = pms[1];
- }
- }
-
- return ret;
-}
-
-/**
- * Compile "etag" value to function.
- *
- * @param {Boolean|String|Function} val
- * @return {Function}
- * @api private
- */
-
-exports.compileETag = function(val) {
- var fn;
-
- if (typeof val === 'function') {
- return val;
- }
-
- switch (val) {
- case true:
- fn = exports.wetag;
- break;
- case false:
- break;
- case 'strong':
- fn = exports.etag;
- break;
- case 'weak':
- fn = exports.wetag;
- break;
- default:
- throw new TypeError('unknown value for etag function: ' + val);
- }
-
- return fn;
-}
-
-/**
- * Compile "query parser" value to function.
- *
- * @param {String|Function} val
- * @return {Function}
- * @api private
- */
-
-exports.compileQueryParser = function compileQueryParser(val) {
- var fn;
-
- if (typeof val === 'function') {
- return val;
- }
-
- switch (val) {
- case true:
- fn = querystring.parse;
- break;
- case false:
- fn = newObject;
- break;
- case 'extended':
- fn = parseExtendedQueryString;
- break;
- case 'simple':
- fn = querystring.parse;
- break;
- default:
- throw new TypeError('unknown value for query parser function: ' + val);
- }
-
- return fn;
-}
-
-/**
- * Compile "proxy trust" value to function.
- *
- * @param {Boolean|String|Number|Array|Function} val
- * @return {Function}
- * @api private
- */
-
-exports.compileTrust = function(val) {
- if (typeof val === 'function') return val;
-
- if (val === true) {
- // Support plain true/false
- return function(){ return true };
- }
-
- if (typeof val === 'number') {
- // Support trusting hop count
- return function(a, i){ return i < val };
- }
-
- if (typeof val === 'string') {
- // Support comma-separated values
- val = val.split(/ *, */);
- }
-
- return proxyaddr.compile(val || []);
-}
-
-/**
- * Set the charset in a given Content-Type string.
- *
- * @param {String} type
- * @param {String} charset
- * @return {String}
- * @api private
- */
-
-exports.setCharset = function setCharset(type, charset) {
- if (!type || !charset) {
- return type;
- }
-
- // parse type
- var parsed = contentType.parse(type);
-
- // set charset
- parsed.parameters.charset = charset;
-
- // format type
- return contentType.format(parsed);
-};
-
-/**
- * Parse an extended query string with qs.
- *
- * @return {Object}
- * @private
- */
-
-function parseExtendedQueryString(str) {
- return qs.parse(str, {
- allowPrototypes: true
- });
-}
-
-/**
- * Return new empty object.
- *
- * @return {Object}
- * @api private
- */
-
-function newObject() {
- return {};
-}
diff --git a/node_modules/express/lib/view.js b/node_modules/express/lib/view.js
deleted file mode 100644
index 52415d4..0000000
--- a/node_modules/express/lib/view.js
+++ /dev/null
@@ -1,173 +0,0 @@
-/*!
- * express
- * Copyright(c) 2009-2013 TJ Holowaychuk
- * Copyright(c) 2013 Roman Shtylman
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict';
-
-/**
- * Module dependencies.
- * @private
- */
-
-var debug = require('debug')('express:view');
-var path = require('path');
-var fs = require('fs');
-var utils = require('./utils');
-
-/**
- * Module variables.
- * @private
- */
-
-var dirname = path.dirname;
-var basename = path.basename;
-var extname = path.extname;
-var join = path.join;
-var resolve = path.resolve;
-
-/**
- * Module exports.
- * @public
- */
-
-module.exports = View;
-
-/**
- * Initialize a new `View` with the given `name`.
- *
- * Options:
- *
- * - `defaultEngine` the default template engine name
- * - `engines` template engine require() cache
- * - `root` root path for view lookup
- *
- * @param {string} name
- * @param {object} options
- * @public
- */
-
-function View(name, options) {
- var opts = options || {};
-
- this.defaultEngine = opts.defaultEngine;
- this.ext = extname(name);
- this.name = name;
- this.root = opts.root;
-
- if (!this.ext && !this.defaultEngine) {
- throw new Error('No default engine was specified and no extension was provided.');
- }
-
- var fileName = name;
-
- if (!this.ext) {
- // get extension from default engine name
- this.ext = this.defaultEngine[0] !== '.'
- ? '.' + this.defaultEngine
- : this.defaultEngine;
-
- fileName += this.ext;
- }
-
- if (!opts.engines[this.ext]) {
- // load engine
- opts.engines[this.ext] = require(this.ext.substr(1)).__express;
- }
-
- // store loaded engine
- this.engine = opts.engines[this.ext];
-
- // lookup path
- this.path = this.lookup(fileName);
-}
-
-/**
- * Lookup view by the given `name`
- *
- * @param {string} name
- * @private
- */
-
-View.prototype.lookup = function lookup(name) {
- var path;
- var roots = [].concat(this.root);
-
- debug('lookup "%s"', name);
-
- for (var i = 0; i < roots.length && !path; i++) {
- var root = roots[i];
-
- // resolve the path
- var loc = resolve(root, name);
- var dir = dirname(loc);
- var file = basename(loc);
-
- // resolve the file
- path = this.resolve(dir, file);
- }
-
- return path;
-};
-
-/**
- * Render with the given options.
- *
- * @param {object} options
- * @param {function} callback
- * @private
- */
-
-View.prototype.render = function render(options, callback) {
- debug('render "%s"', this.path);
- this.engine(this.path, options, callback);
-};
-
-/**
- * Resolve the file within the given directory.
- *
- * @param {string} dir
- * @param {string} file
- * @private
- */
-
-View.prototype.resolve = function resolve(dir, file) {
- var ext = this.ext;
-
- // .
- var path = join(dir, file);
- var stat = tryStat(path);
-
- if (stat && stat.isFile()) {
- return path;
- }
-
- // /index.
- path = join(dir, basename(file, ext), 'index' + ext);
- stat = tryStat(path);
-
- if (stat && stat.isFile()) {
- return path;
- }
-};
-
-/**
- * Return a stat, maybe.
- *
- * @param {string} path
- * @return {fs.Stats}
- * @private
- */
-
-function tryStat(path) {
- debug('stat "%s"', path);
-
- try {
- return fs.statSync(path);
- } catch (e) {
- return undefined;
- }
-}
diff --git a/node_modules/express/node_modules/qs/.eslintignore b/node_modules/express/node_modules/qs/.eslintignore
deleted file mode 100644
index 1521c8b..0000000
--- a/node_modules/express/node_modules/qs/.eslintignore
+++ /dev/null
@@ -1 +0,0 @@
-dist
diff --git a/node_modules/express/node_modules/qs/.eslintrc b/node_modules/express/node_modules/qs/.eslintrc
deleted file mode 100644
index 1faac27..0000000
--- a/node_modules/express/node_modules/qs/.eslintrc
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "root": true,
-
- "extends": "@ljharb",
-
- "rules": {
- "complexity": [2, 22],
- "consistent-return": [1],
- "id-length": [2, { "min": 1, "max": 25, "properties": "never" }],
- "indent": [2, 4],
- "max-params": [2, 9],
- "max-statements": [2, 36],
- "no-extra-parens": [1],
- "no-continue": [1],
- "no-magic-numbers": 0,
- "no-restricted-syntax": [2, "BreakStatement", "DebuggerStatement", "ForInStatement", "LabeledStatement", "WithStatement"],
- "operator-linebreak": 1
- }
-}
diff --git a/node_modules/express/node_modules/qs/.jscs.json b/node_modules/express/node_modules/qs/.jscs.json
deleted file mode 100644
index 3d099c4..0000000
--- a/node_modules/express/node_modules/qs/.jscs.json
+++ /dev/null
@@ -1,176 +0,0 @@
-{
- "es3": true,
-
- "additionalRules": [],
-
- "requireSemicolons": true,
-
- "disallowMultipleSpaces": true,
-
- "disallowIdentifierNames": [],
-
- "requireCurlyBraces": {
- "allExcept": [],
- "keywords": ["if", "else", "for", "while", "do", "try", "catch"]
- },
-
- "requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"],
-
- "disallowSpaceAfterKeywords": [],
-
- "disallowSpaceBeforeComma": true,
- "disallowSpaceAfterComma": false,
- "disallowSpaceBeforeSemicolon": true,
-
- "disallowNodeTypes": [
- "DebuggerStatement",
- "ForInStatement",
- "LabeledStatement",
- "SwitchCase",
- "SwitchStatement",
- "WithStatement"
- ],
-
- "requireObjectKeysOnNewLine": { "allExcept": ["sameLine"] },
-
- "requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true },
- "requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true },
- "disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true },
- "requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true },
- "disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true },
-
- "requireSpaceBetweenArguments": true,
-
- "disallowSpacesInsideParentheses": true,
-
- "disallowSpacesInsideArrayBrackets": true,
-
- "disallowQuotedKeysInObjects": { "allExcept": ["reserved"] },
-
- "disallowSpaceAfterObjectKeys": true,
-
- "requireCommaBeforeLineBreak": true,
-
- "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
- "requireSpaceAfterPrefixUnaryOperators": [],
-
- "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
- "requireSpaceBeforePostfixUnaryOperators": [],
-
- "disallowSpaceBeforeBinaryOperators": [],
- "requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
-
- "requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
- "disallowSpaceAfterBinaryOperators": [],
-
- "disallowImplicitTypeConversion": ["binary", "string"],
-
- "disallowKeywords": ["with", "eval"],
-
- "requireKeywordsOnNewLine": [],
- "disallowKeywordsOnNewLine": ["else"],
-
- "requireLineFeedAtFileEnd": true,
-
- "disallowTrailingWhitespace": true,
-
- "disallowTrailingComma": true,
-
- "excludeFiles": ["node_modules/**", "vendor/**"],
-
- "disallowMultipleLineStrings": true,
-
- "requireDotNotation": { "allExcept": ["keywords"] },
-
- "requireParenthesesAroundIIFE": true,
-
- "validateLineBreaks": "LF",
-
- "validateQuoteMarks": {
- "escape": true,
- "mark": "'"
- },
-
- "disallowOperatorBeforeLineBreak": [],
-
- "requireSpaceBeforeKeywords": [
- "do",
- "for",
- "if",
- "else",
- "switch",
- "case",
- "try",
- "catch",
- "finally",
- "while",
- "with",
- "return"
- ],
-
- "validateAlignedFunctionParameters": {
- "lineBreakAfterOpeningBraces": true,
- "lineBreakBeforeClosingBraces": true
- },
-
- "requirePaddingNewLinesBeforeExport": true,
-
- "validateNewlineAfterArrayElements": {
- "maximum": 1
- },
-
- "requirePaddingNewLinesAfterUseStrict": true,
-
- "disallowArrowFunctions": true,
-
- "disallowMultiLineTernary": true,
-
- "validateOrderInObjectKeys": "asc-insensitive",
-
- "disallowIdenticalDestructuringNames": true,
-
- "disallowNestedTernaries": { "maxLevel": 1 },
-
- "requireSpaceAfterComma": { "allExcept": ["trailing"] },
- "requireAlignedMultilineParams": false,
-
- "requireSpacesInGenerator": {
- "afterStar": true
- },
-
- "disallowSpacesInGenerator": {
- "beforeStar": true
- },
-
- "disallowVar": false,
-
- "requireArrayDestructuring": false,
-
- "requireEnhancedObjectLiterals": false,
-
- "requireObjectDestructuring": false,
-
- "requireEarlyReturn": false,
-
- "requireCapitalizedConstructorsNew": {
- "allExcept": ["Function", "String", "Object", "Symbol", "Number", "Date", "RegExp", "Error", "Boolean", "Array"]
- },
-
- "requireImportAlphabetized": false,
-
- "requireSpaceBeforeObjectValues": true,
- "requireSpaceBeforeDestructuredValues": true,
-
- "disallowSpacesInsideTemplateStringPlaceholders": true,
-
- "disallowArrayDestructuringReturn": false,
-
- "requireNewlineBeforeSingleStatementsInIf": false,
-
- "disallowUnusedVariables": true,
-
- "requireSpacesInsideImportedObjectBraces": true,
-
- "requireUseStrict": true
-}
-
diff --git a/node_modules/express/node_modules/qs/CHANGELOG.md b/node_modules/express/node_modules/qs/CHANGELOG.md
deleted file mode 100644
index e318a05..0000000
--- a/node_modules/express/node_modules/qs/CHANGELOG.md
+++ /dev/null
@@ -1,120 +0,0 @@
-## [**6.2.0**](https://github.com/ljharb/qs/issues?milestone=36&state=closed)
-- [New] pass Buffers to the encoder/decoder directly (#161)
-- [New] add "encoder" and "decoder" options, for custom param encoding/decoding (#160)
-- [Fix] fix compacting of nested sparse arrays (#150)
-
-## [**6.1.0**](https://github.com/ljharb/qs/issues?milestone=35&state=closed)
-- [New] allowDots option for `stringify` (#151)
-- [Fix] "sort" option should work at a depth of 3 or more (#151)
-- [Fix] Restore `dist` directory; will be removed in v7 (#148)
-
-## [**6.0.2**](https://github.com/ljharb/qs/issues?milestone=33&state=closed)
-- Revert ES6 requirement and restore support for node down to v0.8.
-
-## [**6.0.1**](https://github.com/ljharb/qs/issues?milestone=32&state=closed)
-- [**#127**](https://github.com/ljharb/qs/pull/127) Fix engines definition in package.json
-
-## [**6.0.0**](https://github.com/ljharb/qs/issues?milestone=31&state=closed)
-- [**#124**](https://github.com/ljharb/qs/issues/124) Use ES6 and drop support for node < v4
-
-## [**5.2.0**](https://github.com/ljharb/qs/issues?milestone=30&state=closed)
-- [**#64**](https://github.com/ljharb/qs/issues/64) Add option to sort object keys in the query string
-
-## [**5.1.0**](https://github.com/ljharb/qs/issues?milestone=29&state=closed)
-- [**#117**](https://github.com/ljharb/qs/issues/117) make URI encoding stringified results optional
-- [**#106**](https://github.com/ljharb/qs/issues/106) Add flag `skipNulls` to optionally skip null values in stringify
-
-## [**5.0.0**](https://github.com/ljharb/qs/issues?milestone=28&state=closed)
-- [**#114**](https://github.com/ljharb/qs/issues/114) default allowDots to false
-- [**#100**](https://github.com/ljharb/qs/issues/100) include dist to npm
-
-## [**4.0.0**](https://github.com/ljharb/qs/issues?milestone=26&state=closed)
-- [**#98**](https://github.com/ljharb/qs/issues/98) make returning plain objects and allowing prototype overwriting properties optional
-
-## [**3.1.0**](https://github.com/ljharb/qs/issues?milestone=24&state=closed)
-- [**#89**](https://github.com/ljharb/qs/issues/89) Add option to disable "Transform dot notation to bracket notation"
-
-## [**3.0.0**](https://github.com/ljharb/qs/issues?milestone=23&state=closed)
-- [**#80**](https://github.com/ljharb/qs/issues/80) qs.parse silently drops properties
-- [**#77**](https://github.com/ljharb/qs/issues/77) Perf boost
-- [**#60**](https://github.com/ljharb/qs/issues/60) Add explicit option to disable array parsing
-- [**#74**](https://github.com/ljharb/qs/issues/74) Bad parse when turning array into object
-- [**#81**](https://github.com/ljharb/qs/issues/81) Add a `filter` option
-- [**#68**](https://github.com/ljharb/qs/issues/68) Fixed issue with recursion and passing strings into objects.
-- [**#66**](https://github.com/ljharb/qs/issues/66) Add mixed array and object dot notation support Closes: #47
-- [**#76**](https://github.com/ljharb/qs/issues/76) RFC 3986
-- [**#85**](https://github.com/ljharb/qs/issues/85) No equal sign
-- [**#84**](https://github.com/ljharb/qs/issues/84) update license attribute
-
-## [**2.4.1**](https://github.com/ljharb/qs/issues?milestone=20&state=closed)
-- [**#73**](https://github.com/ljharb/qs/issues/73) Property 'hasOwnProperty' of object # is not a function
-
-## [**2.4.0**](https://github.com/ljharb/qs/issues?milestone=19&state=closed)
-- [**#70**](https://github.com/ljharb/qs/issues/70) Add arrayFormat option
-
-## [**2.3.3**](https://github.com/ljharb/qs/issues?milestone=18&state=closed)
-- [**#59**](https://github.com/ljharb/qs/issues/59) make sure array indexes are >= 0, closes #57
-- [**#58**](https://github.com/ljharb/qs/issues/58) make qs usable for browser loader
-
-## [**2.3.2**](https://github.com/ljharb/qs/issues?milestone=17&state=closed)
-- [**#55**](https://github.com/ljharb/qs/issues/55) allow merging a string into an object
-
-## [**2.3.1**](https://github.com/ljharb/qs/issues?milestone=16&state=closed)
-- [**#52**](https://github.com/ljharb/qs/issues/52) Return "undefined" and "false" instead of throwing "TypeError".
-
-## [**2.3.0**](https://github.com/ljharb/qs/issues?milestone=15&state=closed)
-- [**#50**](https://github.com/ljharb/qs/issues/50) add option to omit array indices, closes #46
-
-## [**2.2.5**](https://github.com/ljharb/qs/issues?milestone=14&state=closed)
-- [**#39**](https://github.com/ljharb/qs/issues/39) Is there an alternative to Buffer.isBuffer?
-- [**#49**](https://github.com/ljharb/qs/issues/49) refactor utils.merge, fixes #45
-- [**#41**](https://github.com/ljharb/qs/issues/41) avoid browserifying Buffer, for #39
-
-## [**2.2.4**](https://github.com/ljharb/qs/issues?milestone=13&state=closed)
-- [**#38**](https://github.com/ljharb/qs/issues/38) how to handle object keys beginning with a number
-
-## [**2.2.3**](https://github.com/ljharb/qs/issues?milestone=12&state=closed)
-- [**#37**](https://github.com/ljharb/qs/issues/37) parser discards first empty value in array
-- [**#36**](https://github.com/ljharb/qs/issues/36) Update to lab 4.x
-
-## [**2.2.2**](https://github.com/ljharb/qs/issues?milestone=11&state=closed)
-- [**#33**](https://github.com/ljharb/qs/issues/33) Error when plain object in a value
-- [**#34**](https://github.com/ljharb/qs/issues/34) use Object.prototype.hasOwnProperty.call instead of obj.hasOwnProperty
-- [**#24**](https://github.com/ljharb/qs/issues/24) Changelog? Semver?
-
-## [**2.2.1**](https://github.com/ljharb/qs/issues?milestone=10&state=closed)
-- [**#32**](https://github.com/ljharb/qs/issues/32) account for circular references properly, closes #31
-- [**#31**](https://github.com/ljharb/qs/issues/31) qs.parse stackoverflow on circular objects
-
-## [**2.2.0**](https://github.com/ljharb/qs/issues?milestone=9&state=closed)
-- [**#26**](https://github.com/ljharb/qs/issues/26) Don't use Buffer global if it's not present
-- [**#30**](https://github.com/ljharb/qs/issues/30) Bug when merging non-object values into arrays
-- [**#29**](https://github.com/ljharb/qs/issues/29) Don't call Utils.clone at the top of Utils.merge
-- [**#23**](https://github.com/ljharb/qs/issues/23) Ability to not limit parameters?
-
-## [**2.1.0**](https://github.com/ljharb/qs/issues?milestone=8&state=closed)
-- [**#22**](https://github.com/ljharb/qs/issues/22) Enable using a RegExp as delimiter
-
-## [**2.0.0**](https://github.com/ljharb/qs/issues?milestone=7&state=closed)
-- [**#18**](https://github.com/ljharb/qs/issues/18) Why is there arrayLimit?
-- [**#20**](https://github.com/ljharb/qs/issues/20) Configurable parametersLimit
-- [**#21**](https://github.com/ljharb/qs/issues/21) make all limits optional, for #18, for #20
-
-## [**1.2.2**](https://github.com/ljharb/qs/issues?milestone=6&state=closed)
-- [**#19**](https://github.com/ljharb/qs/issues/19) Don't overwrite null values
-
-## [**1.2.1**](https://github.com/ljharb/qs/issues?milestone=5&state=closed)
-- [**#16**](https://github.com/ljharb/qs/issues/16) ignore non-string delimiters
-- [**#15**](https://github.com/ljharb/qs/issues/15) Close code block
-
-## [**1.2.0**](https://github.com/ljharb/qs/issues?milestone=4&state=closed)
-- [**#12**](https://github.com/ljharb/qs/issues/12) Add optional delim argument
-- [**#13**](https://github.com/ljharb/qs/issues/13) fix #11: flattened keys in array are now correctly parsed
-
-## [**1.1.0**](https://github.com/ljharb/qs/issues?milestone=3&state=closed)
-- [**#7**](https://github.com/ljharb/qs/issues/7) Empty values of a POST array disappear after being submitted
-- [**#9**](https://github.com/ljharb/qs/issues/9) Should not omit equals signs (=) when value is null
-- [**#6**](https://github.com/ljharb/qs/issues/6) Minor grammar fix in README
-
-## [**1.0.2**](https://github.com/ljharb/qs/issues?milestone=2&state=closed)
-- [**#5**](https://github.com/ljharb/qs/issues/5) array holes incorrectly copied into object on large index
diff --git a/node_modules/express/node_modules/qs/CONTRIBUTING.md b/node_modules/express/node_modules/qs/CONTRIBUTING.md
deleted file mode 100644
index 8928361..0000000
--- a/node_modules/express/node_modules/qs/CONTRIBUTING.md
+++ /dev/null
@@ -1 +0,0 @@
-Please view our [hapijs contributing guide](https://github.com/hapijs/hapi/blob/master/CONTRIBUTING.md).
diff --git a/node_modules/express/node_modules/qs/LICENSE b/node_modules/express/node_modules/qs/LICENSE
deleted file mode 100644
index d456948..0000000
--- a/node_modules/express/node_modules/qs/LICENSE
+++ /dev/null
@@ -1,28 +0,0 @@
-Copyright (c) 2014 Nathan LaFreniere and other contributors.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- * The names of any contributors may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- * * *
-
-The complete list of contributors can be found at: https://github.com/hapijs/qs/graphs/contributors
diff --git a/node_modules/express/node_modules/qs/dist/qs.js b/node_modules/express/node_modules/qs/dist/qs.js
deleted file mode 100644
index 4cc6f30..0000000
--- a/node_modules/express/node_modules/qs/dist/qs.js
+++ /dev/null
@@ -1,487 +0,0 @@
-(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Qs = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o= 0 &&
- (options.parseArrays && index <= options.arrayLimit)
- ) {
- obj = [];
- obj[index] = parseObject(chain, val, options);
- } else {
- obj[cleanRoot] = parseObject(chain, val, options);
- }
- }
-
- return obj;
-};
-
-var parseKeys = function parseKeys(givenKey, val, options) {
- if (!givenKey) {
- return;
- }
-
- // Transform dot notation to bracket notation
- var key = options.allowDots ? givenKey.replace(/\.([^\.\[]+)/g, '[$1]') : givenKey;
-
- // The regex chunks
-
- var parent = /^([^\[\]]*)/;
- var child = /(\[[^\[\]]*\])/g;
-
- // Get the parent
-
- var segment = parent.exec(key);
-
- // Stash the parent if it exists
-
- var keys = [];
- if (segment[1]) {
- // If we aren't using plain objects, optionally prefix keys
- // that would overwrite object prototype properties
- if (!options.plainObjects && Object.prototype.hasOwnProperty(segment[1])) {
- if (!options.allowPrototypes) {
- return;
- }
- }
-
- keys.push(segment[1]);
- }
-
- // Loop through children appending to the array until we hit depth
-
- var i = 0;
- while ((segment = child.exec(key)) !== null && i < options.depth) {
- i += 1;
- if (!options.plainObjects && Object.prototype.hasOwnProperty(segment[1].replace(/\[|\]/g, ''))) {
- if (!options.allowPrototypes) {
- continue;
- }
- }
- keys.push(segment[1]);
- }
-
- // If there's a remainder, just add whatever is left
-
- if (segment) {
- keys.push('[' + key.slice(segment.index) + ']');
- }
-
- return parseObject(keys, val, options);
-};
-
-module.exports = function (str, opts) {
- var options = opts || {};
-
- if (options.decoder !== null && options.decoder !== undefined && typeof options.decoder !== 'function') {
- throw new TypeError('Decoder has to be a function.');
- }
-
- options.delimiter = typeof options.delimiter === 'string' || Utils.isRegExp(options.delimiter) ? options.delimiter : defaults.delimiter;
- options.depth = typeof options.depth === 'number' ? options.depth : defaults.depth;
- options.arrayLimit = typeof options.arrayLimit === 'number' ? options.arrayLimit : defaults.arrayLimit;
- options.parseArrays = options.parseArrays !== false;
- options.decoder = typeof options.decoder === 'function' ? options.decoder : defaults.decoder;
- options.allowDots = typeof options.allowDots === 'boolean' ? options.allowDots : defaults.allowDots;
- options.plainObjects = typeof options.plainObjects === 'boolean' ? options.plainObjects : defaults.plainObjects;
- options.allowPrototypes = typeof options.allowPrototypes === 'boolean' ? options.allowPrototypes : defaults.allowPrototypes;
- options.parameterLimit = typeof options.parameterLimit === 'number' ? options.parameterLimit : defaults.parameterLimit;
- options.strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling;
-
- if (str === '' || str === null || typeof str === 'undefined') {
- return options.plainObjects ? Object.create(null) : {};
- }
-
- var tempObj = typeof str === 'string' ? parseValues(str, options) : str;
- var obj = options.plainObjects ? Object.create(null) : {};
-
- // Iterate over the keys and setup the new object
-
- var keys = Object.keys(tempObj);
- for (var i = 0; i < keys.length; ++i) {
- var key = keys[i];
- var newObj = parseKeys(key, tempObj[key], options);
- obj = Utils.merge(obj, newObj, options);
- }
-
- return Utils.compact(obj);
-};
-
-},{"./utils":4}],3:[function(require,module,exports){
-'use strict';
-
-var Utils = require('./utils');
-
-var arrayPrefixGenerators = {
- brackets: function brackets(prefix) {
- return prefix + '[]';
- },
- indices: function indices(prefix, key) {
- return prefix + '[' + key + ']';
- },
- repeat: function repeat(prefix) {
- return prefix;
- }
-};
-
-var defaults = {
- delimiter: '&',
- strictNullHandling: false,
- skipNulls: false,
- encode: true,
- encoder: Utils.encode
-};
-
-var stringify = function stringify(object, prefix, generateArrayPrefix, strictNullHandling, skipNulls, encoder, filter, sort, allowDots) {
- var obj = object;
- if (typeof filter === 'function') {
- obj = filter(prefix, obj);
- } else if (obj instanceof Date) {
- obj = obj.toISOString();
- } else if (obj === null) {
- if (strictNullHandling) {
- return encoder ? encoder(prefix) : prefix;
- }
-
- obj = '';
- }
-
- if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean' || Utils.isBuffer(obj)) {
- if (encoder) {
- return [encoder(prefix) + '=' + encoder(obj)];
- }
- return [prefix + '=' + String(obj)];
- }
-
- var values = [];
-
- if (typeof obj === 'undefined') {
- return values;
- }
-
- var objKeys;
- if (Array.isArray(filter)) {
- objKeys = filter;
- } else {
- var keys = Object.keys(obj);
- objKeys = sort ? keys.sort(sort) : keys;
- }
-
- for (var i = 0; i < objKeys.length; ++i) {
- var key = objKeys[i];
-
- if (skipNulls && obj[key] === null) {
- continue;
- }
-
- if (Array.isArray(obj)) {
- values = values.concat(stringify(obj[key], generateArrayPrefix(prefix, key), generateArrayPrefix, strictNullHandling, skipNulls, encoder, filter, sort, allowDots));
- } else {
- values = values.concat(stringify(obj[key], prefix + (allowDots ? '.' + key : '[' + key + ']'), generateArrayPrefix, strictNullHandling, skipNulls, encoder, filter, sort, allowDots));
- }
- }
-
- return values;
-};
-
-module.exports = function (object, opts) {
- var obj = object;
- var options = opts || {};
- var delimiter = typeof options.delimiter === 'undefined' ? defaults.delimiter : options.delimiter;
- var strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling;
- var skipNulls = typeof options.skipNulls === 'boolean' ? options.skipNulls : defaults.skipNulls;
- var encode = typeof options.encode === 'boolean' ? options.encode : defaults.encode;
- var encoder = encode ? (typeof options.encoder === 'function' ? options.encoder : defaults.encoder) : null;
- var sort = typeof options.sort === 'function' ? options.sort : null;
- var allowDots = typeof options.allowDots === 'undefined' ? false : options.allowDots;
- var objKeys;
- var filter;
-
- if (options.encoder !== null && options.encoder !== undefined && typeof options.encoder !== 'function') {
- throw new TypeError('Encoder has to be a function.');
- }
-
- if (typeof options.filter === 'function') {
- filter = options.filter;
- obj = filter('', obj);
- } else if (Array.isArray(options.filter)) {
- objKeys = filter = options.filter;
- }
-
- var keys = [];
-
- if (typeof obj !== 'object' || obj === null) {
- return '';
- }
-
- var arrayFormat;
- if (options.arrayFormat in arrayPrefixGenerators) {
- arrayFormat = options.arrayFormat;
- } else if ('indices' in options) {
- arrayFormat = options.indices ? 'indices' : 'repeat';
- } else {
- arrayFormat = 'indices';
- }
-
- var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];
-
- if (!objKeys) {
- objKeys = Object.keys(obj);
- }
-
- if (sort) {
- objKeys.sort(sort);
- }
-
- for (var i = 0; i < objKeys.length; ++i) {
- var key = objKeys[i];
-
- if (skipNulls && obj[key] === null) {
- continue;
- }
-
- keys = keys.concat(stringify(obj[key], key, generateArrayPrefix, strictNullHandling, skipNulls, encoder, filter, sort, allowDots));
- }
-
- return keys.join(delimiter);
-};
-
-},{"./utils":4}],4:[function(require,module,exports){
-'use strict';
-
-var hexTable = (function () {
- var array = new Array(256);
- for (var i = 0; i < 256; ++i) {
- array[i] = '%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase();
- }
-
- return array;
-}());
-
-exports.arrayToObject = function (source, options) {
- var obj = options.plainObjects ? Object.create(null) : {};
- for (var i = 0; i < source.length; ++i) {
- if (typeof source[i] !== 'undefined') {
- obj[i] = source[i];
- }
- }
-
- return obj;
-};
-
-exports.merge = function (target, source, options) {
- if (!source) {
- return target;
- }
-
- if (typeof source !== 'object') {
- if (Array.isArray(target)) {
- target.push(source);
- } else if (typeof target === 'object') {
- target[source] = true;
- } else {
- return [target, source];
- }
-
- return target;
- }
-
- if (typeof target !== 'object') {
- return [target].concat(source);
- }
-
- var mergeTarget = target;
- if (Array.isArray(target) && !Array.isArray(source)) {
- mergeTarget = exports.arrayToObject(target, options);
- }
-
- return Object.keys(source).reduce(function (acc, key) {
- var value = source[key];
-
- if (Object.prototype.hasOwnProperty.call(acc, key)) {
- acc[key] = exports.merge(acc[key], value, options);
- } else {
- acc[key] = value;
- }
- return acc;
- }, mergeTarget);
-};
-
-exports.decode = function (str) {
- try {
- return decodeURIComponent(str.replace(/\+/g, ' '));
- } catch (e) {
- return str;
- }
-};
-
-exports.encode = function (str) {
- // This code was originally written by Brian White (mscdex) for the io.js core querystring library.
- // It has been adapted here for stricter adherence to RFC 3986
- if (str.length === 0) {
- return str;
- }
-
- var string = typeof str === 'string' ? str : String(str);
-
- var out = '';
- for (var i = 0; i < string.length; ++i) {
- var c = string.charCodeAt(i);
-
- if (
- c === 0x2D || // -
- c === 0x2E || // .
- c === 0x5F || // _
- c === 0x7E || // ~
- (c >= 0x30 && c <= 0x39) || // 0-9
- (c >= 0x41 && c <= 0x5A) || // a-z
- (c >= 0x61 && c <= 0x7A) // A-Z
- ) {
- out += string.charAt(i);
- continue;
- }
-
- if (c < 0x80) {
- out = out + hexTable[c];
- continue;
- }
-
- if (c < 0x800) {
- out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);
- continue;
- }
-
- if (c < 0xD800 || c >= 0xE000) {
- out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);
- continue;
- }
-
- i += 1;
- c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));
- out += hexTable[0xF0 | (c >> 18)] + hexTable[0x80 | ((c >> 12) & 0x3F)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)];
- }
-
- return out;
-};
-
-exports.compact = function (obj, references) {
- if (typeof obj !== 'object' || obj === null) {
- return obj;
- }
-
- var refs = references || [];
- var lookup = refs.indexOf(obj);
- if (lookup !== -1) {
- return refs[lookup];
- }
-
- refs.push(obj);
-
- if (Array.isArray(obj)) {
- var compacted = [];
-
- for (var i = 0; i < obj.length; ++i) {
- if (obj[i] && typeof obj[i] === 'object') {
- compacted.push(exports.compact(obj[i], refs));
- } else if (typeof obj[i] !== 'undefined') {
- compacted.push(obj[i]);
- }
- }
-
- return compacted;
- }
-
- var keys = Object.keys(obj);
- for (var j = 0; j < keys.length; ++j) {
- var key = keys[j];
- obj[key] = exports.compact(obj[key], refs);
- }
-
- return obj;
-};
-
-exports.isRegExp = function (obj) {
- return Object.prototype.toString.call(obj) === '[object RegExp]';
-};
-
-exports.isBuffer = function (obj) {
- if (obj === null || typeof obj === 'undefined') {
- return false;
- }
-
- return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
-};
-
-},{}]},{},[1])(1)
-});
\ No newline at end of file
diff --git a/node_modules/express/node_modules/qs/lib/index.js b/node_modules/express/node_modules/qs/lib/index.js
deleted file mode 100755
index 1901959..0000000
--- a/node_modules/express/node_modules/qs/lib/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-'use strict';
-
-var Stringify = require('./stringify');
-var Parse = require('./parse');
-
-module.exports = {
- stringify: Stringify,
- parse: Parse
-};
diff --git a/node_modules/express/node_modules/qs/lib/parse.js b/node_modules/express/node_modules/qs/lib/parse.js
deleted file mode 100755
index bf70fd8..0000000
--- a/node_modules/express/node_modules/qs/lib/parse.js
+++ /dev/null
@@ -1,167 +0,0 @@
-'use strict';
-
-var Utils = require('./utils');
-
-var defaults = {
- delimiter: '&',
- depth: 5,
- arrayLimit: 20,
- parameterLimit: 1000,
- strictNullHandling: false,
- plainObjects: false,
- allowPrototypes: false,
- allowDots: false,
- decoder: Utils.decode
-};
-
-var parseValues = function parseValues(str, options) {
- var obj = {};
- var parts = str.split(options.delimiter, options.parameterLimit === Infinity ? undefined : options.parameterLimit);
-
- for (var i = 0; i < parts.length; ++i) {
- var part = parts[i];
- var pos = part.indexOf(']=') === -1 ? part.indexOf('=') : part.indexOf(']=') + 1;
-
- if (pos === -1) {
- obj[options.decoder(part)] = '';
-
- if (options.strictNullHandling) {
- obj[options.decoder(part)] = null;
- }
- } else {
- var key = options.decoder(part.slice(0, pos));
- var val = options.decoder(part.slice(pos + 1));
-
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
- obj[key] = [].concat(obj[key]).concat(val);
- } else {
- obj[key] = val;
- }
- }
- }
-
- return obj;
-};
-
-var parseObject = function parseObject(chain, val, options) {
- if (!chain.length) {
- return val;
- }
-
- var root = chain.shift();
-
- var obj;
- if (root === '[]') {
- obj = [];
- obj = obj.concat(parseObject(chain, val, options));
- } else {
- obj = options.plainObjects ? Object.create(null) : {};
- var cleanRoot = root[0] === '[' && root[root.length - 1] === ']' ? root.slice(1, root.length - 1) : root;
- var index = parseInt(cleanRoot, 10);
- if (
- !isNaN(index) &&
- root !== cleanRoot &&
- String(index) === cleanRoot &&
- index >= 0 &&
- (options.parseArrays && index <= options.arrayLimit)
- ) {
- obj = [];
- obj[index] = parseObject(chain, val, options);
- } else {
- obj[cleanRoot] = parseObject(chain, val, options);
- }
- }
-
- return obj;
-};
-
-var parseKeys = function parseKeys(givenKey, val, options) {
- if (!givenKey) {
- return;
- }
-
- // Transform dot notation to bracket notation
- var key = options.allowDots ? givenKey.replace(/\.([^\.\[]+)/g, '[$1]') : givenKey;
-
- // The regex chunks
-
- var parent = /^([^\[\]]*)/;
- var child = /(\[[^\[\]]*\])/g;
-
- // Get the parent
-
- var segment = parent.exec(key);
-
- // Stash the parent if it exists
-
- var keys = [];
- if (segment[1]) {
- // If we aren't using plain objects, optionally prefix keys
- // that would overwrite object prototype properties
- if (!options.plainObjects && Object.prototype.hasOwnProperty(segment[1])) {
- if (!options.allowPrototypes) {
- return;
- }
- }
-
- keys.push(segment[1]);
- }
-
- // Loop through children appending to the array until we hit depth
-
- var i = 0;
- while ((segment = child.exec(key)) !== null && i < options.depth) {
- i += 1;
- if (!options.plainObjects && Object.prototype.hasOwnProperty(segment[1].replace(/\[|\]/g, ''))) {
- if (!options.allowPrototypes) {
- continue;
- }
- }
- keys.push(segment[1]);
- }
-
- // If there's a remainder, just add whatever is left
-
- if (segment) {
- keys.push('[' + key.slice(segment.index) + ']');
- }
-
- return parseObject(keys, val, options);
-};
-
-module.exports = function (str, opts) {
- var options = opts || {};
-
- if (options.decoder !== null && options.decoder !== undefined && typeof options.decoder !== 'function') {
- throw new TypeError('Decoder has to be a function.');
- }
-
- options.delimiter = typeof options.delimiter === 'string' || Utils.isRegExp(options.delimiter) ? options.delimiter : defaults.delimiter;
- options.depth = typeof options.depth === 'number' ? options.depth : defaults.depth;
- options.arrayLimit = typeof options.arrayLimit === 'number' ? options.arrayLimit : defaults.arrayLimit;
- options.parseArrays = options.parseArrays !== false;
- options.decoder = typeof options.decoder === 'function' ? options.decoder : defaults.decoder;
- options.allowDots = typeof options.allowDots === 'boolean' ? options.allowDots : defaults.allowDots;
- options.plainObjects = typeof options.plainObjects === 'boolean' ? options.plainObjects : defaults.plainObjects;
- options.allowPrototypes = typeof options.allowPrototypes === 'boolean' ? options.allowPrototypes : defaults.allowPrototypes;
- options.parameterLimit = typeof options.parameterLimit === 'number' ? options.parameterLimit : defaults.parameterLimit;
- options.strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling;
-
- if (str === '' || str === null || typeof str === 'undefined') {
- return options.plainObjects ? Object.create(null) : {};
- }
-
- var tempObj = typeof str === 'string' ? parseValues(str, options) : str;
- var obj = options.plainObjects ? Object.create(null) : {};
-
- // Iterate over the keys and setup the new object
-
- var keys = Object.keys(tempObj);
- for (var i = 0; i < keys.length; ++i) {
- var key = keys[i];
- var newObj = parseKeys(key, tempObj[key], options);
- obj = Utils.merge(obj, newObj, options);
- }
-
- return Utils.compact(obj);
-};
diff --git a/node_modules/express/node_modules/qs/lib/stringify.js b/node_modules/express/node_modules/qs/lib/stringify.js
deleted file mode 100755
index 6e1c9a2..0000000
--- a/node_modules/express/node_modules/qs/lib/stringify.js
+++ /dev/null
@@ -1,137 +0,0 @@
-'use strict';
-
-var Utils = require('./utils');
-
-var arrayPrefixGenerators = {
- brackets: function brackets(prefix) {
- return prefix + '[]';
- },
- indices: function indices(prefix, key) {
- return prefix + '[' + key + ']';
- },
- repeat: function repeat(prefix) {
- return prefix;
- }
-};
-
-var defaults = {
- delimiter: '&',
- strictNullHandling: false,
- skipNulls: false,
- encode: true,
- encoder: Utils.encode
-};
-
-var stringify = function stringify(object, prefix, generateArrayPrefix, strictNullHandling, skipNulls, encoder, filter, sort, allowDots) {
- var obj = object;
- if (typeof filter === 'function') {
- obj = filter(prefix, obj);
- } else if (obj instanceof Date) {
- obj = obj.toISOString();
- } else if (obj === null) {
- if (strictNullHandling) {
- return encoder ? encoder(prefix) : prefix;
- }
-
- obj = '';
- }
-
- if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean' || Utils.isBuffer(obj)) {
- if (encoder) {
- return [encoder(prefix) + '=' + encoder(obj)];
- }
- return [prefix + '=' + String(obj)];
- }
-
- var values = [];
-
- if (typeof obj === 'undefined') {
- return values;
- }
-
- var objKeys;
- if (Array.isArray(filter)) {
- objKeys = filter;
- } else {
- var keys = Object.keys(obj);
- objKeys = sort ? keys.sort(sort) : keys;
- }
-
- for (var i = 0; i < objKeys.length; ++i) {
- var key = objKeys[i];
-
- if (skipNulls && obj[key] === null) {
- continue;
- }
-
- if (Array.isArray(obj)) {
- values = values.concat(stringify(obj[key], generateArrayPrefix(prefix, key), generateArrayPrefix, strictNullHandling, skipNulls, encoder, filter, sort, allowDots));
- } else {
- values = values.concat(stringify(obj[key], prefix + (allowDots ? '.' + key : '[' + key + ']'), generateArrayPrefix, strictNullHandling, skipNulls, encoder, filter, sort, allowDots));
- }
- }
-
- return values;
-};
-
-module.exports = function (object, opts) {
- var obj = object;
- var options = opts || {};
- var delimiter = typeof options.delimiter === 'undefined' ? defaults.delimiter : options.delimiter;
- var strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling;
- var skipNulls = typeof options.skipNulls === 'boolean' ? options.skipNulls : defaults.skipNulls;
- var encode = typeof options.encode === 'boolean' ? options.encode : defaults.encode;
- var encoder = encode ? (typeof options.encoder === 'function' ? options.encoder : defaults.encoder) : null;
- var sort = typeof options.sort === 'function' ? options.sort : null;
- var allowDots = typeof options.allowDots === 'undefined' ? false : options.allowDots;
- var objKeys;
- var filter;
-
- if (options.encoder !== null && options.encoder !== undefined && typeof options.encoder !== 'function') {
- throw new TypeError('Encoder has to be a function.');
- }
-
- if (typeof options.filter === 'function') {
- filter = options.filter;
- obj = filter('', obj);
- } else if (Array.isArray(options.filter)) {
- objKeys = filter = options.filter;
- }
-
- var keys = [];
-
- if (typeof obj !== 'object' || obj === null) {
- return '';
- }
-
- var arrayFormat;
- if (options.arrayFormat in arrayPrefixGenerators) {
- arrayFormat = options.arrayFormat;
- } else if ('indices' in options) {
- arrayFormat = options.indices ? 'indices' : 'repeat';
- } else {
- arrayFormat = 'indices';
- }
-
- var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];
-
- if (!objKeys) {
- objKeys = Object.keys(obj);
- }
-
- if (sort) {
- objKeys.sort(sort);
- }
-
- for (var i = 0; i < objKeys.length; ++i) {
- var key = objKeys[i];
-
- if (skipNulls && obj[key] === null) {
- continue;
- }
-
- keys = keys.concat(stringify(obj[key], key, generateArrayPrefix, strictNullHandling, skipNulls, encoder, filter, sort, allowDots));
- }
-
- return keys.join(delimiter);
-};
diff --git a/node_modules/express/node_modules/qs/lib/utils.js b/node_modules/express/node_modules/qs/lib/utils.js
deleted file mode 100755
index 2c5c8ee..0000000
--- a/node_modules/express/node_modules/qs/lib/utils.js
+++ /dev/null
@@ -1,164 +0,0 @@
-'use strict';
-
-var hexTable = (function () {
- var array = new Array(256);
- for (var i = 0; i < 256; ++i) {
- array[i] = '%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase();
- }
-
- return array;
-}());
-
-exports.arrayToObject = function (source, options) {
- var obj = options.plainObjects ? Object.create(null) : {};
- for (var i = 0; i < source.length; ++i) {
- if (typeof source[i] !== 'undefined') {
- obj[i] = source[i];
- }
- }
-
- return obj;
-};
-
-exports.merge = function (target, source, options) {
- if (!source) {
- return target;
- }
-
- if (typeof source !== 'object') {
- if (Array.isArray(target)) {
- target.push(source);
- } else if (typeof target === 'object') {
- target[source] = true;
- } else {
- return [target, source];
- }
-
- return target;
- }
-
- if (typeof target !== 'object') {
- return [target].concat(source);
- }
-
- var mergeTarget = target;
- if (Array.isArray(target) && !Array.isArray(source)) {
- mergeTarget = exports.arrayToObject(target, options);
- }
-
- return Object.keys(source).reduce(function (acc, key) {
- var value = source[key];
-
- if (Object.prototype.hasOwnProperty.call(acc, key)) {
- acc[key] = exports.merge(acc[key], value, options);
- } else {
- acc[key] = value;
- }
- return acc;
- }, mergeTarget);
-};
-
-exports.decode = function (str) {
- try {
- return decodeURIComponent(str.replace(/\+/g, ' '));
- } catch (e) {
- return str;
- }
-};
-
-exports.encode = function (str) {
- // This code was originally written by Brian White (mscdex) for the io.js core querystring library.
- // It has been adapted here for stricter adherence to RFC 3986
- if (str.length === 0) {
- return str;
- }
-
- var string = typeof str === 'string' ? str : String(str);
-
- var out = '';
- for (var i = 0; i < string.length; ++i) {
- var c = string.charCodeAt(i);
-
- if (
- c === 0x2D || // -
- c === 0x2E || // .
- c === 0x5F || // _
- c === 0x7E || // ~
- (c >= 0x30 && c <= 0x39) || // 0-9
- (c >= 0x41 && c <= 0x5A) || // a-z
- (c >= 0x61 && c <= 0x7A) // A-Z
- ) {
- out += string.charAt(i);
- continue;
- }
-
- if (c < 0x80) {
- out = out + hexTable[c];
- continue;
- }
-
- if (c < 0x800) {
- out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);
- continue;
- }
-
- if (c < 0xD800 || c >= 0xE000) {
- out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);
- continue;
- }
-
- i += 1;
- c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));
- out += hexTable[0xF0 | (c >> 18)] + hexTable[0x80 | ((c >> 12) & 0x3F)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)];
- }
-
- return out;
-};
-
-exports.compact = function (obj, references) {
- if (typeof obj !== 'object' || obj === null) {
- return obj;
- }
-
- var refs = references || [];
- var lookup = refs.indexOf(obj);
- if (lookup !== -1) {
- return refs[lookup];
- }
-
- refs.push(obj);
-
- if (Array.isArray(obj)) {
- var compacted = [];
-
- for (var i = 0; i < obj.length; ++i) {
- if (obj[i] && typeof obj[i] === 'object') {
- compacted.push(exports.compact(obj[i], refs));
- } else if (typeof obj[i] !== 'undefined') {
- compacted.push(obj[i]);
- }
- }
-
- return compacted;
- }
-
- var keys = Object.keys(obj);
- for (var j = 0; j < keys.length; ++j) {
- var key = keys[j];
- obj[key] = exports.compact(obj[key], refs);
- }
-
- return obj;
-};
-
-exports.isRegExp = function (obj) {
- return Object.prototype.toString.call(obj) === '[object RegExp]';
-};
-
-exports.isBuffer = function (obj) {
- if (obj === null || typeof obj === 'undefined') {
- return false;
- }
-
- return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
-};
diff --git a/node_modules/express/node_modules/qs/package.json b/node_modules/express/node_modules/qs/package.json
deleted file mode 100644
index 5b56e55..0000000
--- a/node_modules/express/node_modules/qs/package.json
+++ /dev/null
@@ -1,111 +0,0 @@
-{
- "_args": [
- [
- "qs@6.2.0",
- "/home/vincent/Bureau/RIA/node_modules/express"
- ]
- ],
- "_from": "qs@6.2.0",
- "_id": "qs@6.2.0",
- "_inCache": true,
- "_installable": true,
- "_location": "/express/qs",
- "_nodeVersion": "6.1.0",
- "_npmOperationalInternal": {
- "host": "packages-12-west.internal.npmjs.com",
- "tmp": "tmp/qs-6.2.0.tgz_1462749349998_0.03372702235355973"
- },
- "_npmUser": {
- "email": "ljharb@gmail.com",
- "name": "ljharb"
- },
- "_npmVersion": "3.8.6",
- "_phantomChildren": {},
- "_requested": {
- "name": "qs",
- "raw": "qs@6.2.0",
- "rawSpec": "6.2.0",
- "scope": null,
- "spec": "6.2.0",
- "type": "version"
- },
- "_requiredBy": [
- "/express"
- ],
- "_resolved": "https://registry.npmjs.org/qs/-/qs-6.2.0.tgz",
- "_shasum": "3b7848c03c2dece69a9522b0fae8c4126d745f3b",
- "_shrinkwrap": null,
- "_spec": "qs@6.2.0",
- "_where": "/home/vincent/Bureau/RIA/node_modules/express",
- "bugs": {
- "url": "https://github.com/ljharb/qs/issues"
- },
- "contributors": [
- {
- "email": "ljharb@gmail.com",
- "name": "Jordan Harband",
- "url": "http://ljharb.codes"
- }
- ],
- "dependencies": {},
- "description": "A querystring parser that supports nesting and arrays, with a depth limit",
- "devDependencies": {
- "@ljharb/eslint-config": "^4.0.0",
- "browserify": "^13.0.1",
- "covert": "^1.1.0",
- "eslint": "^2.9.0",
- "evalmd": "^0.0.17",
- "iconv-lite": "^0.4.13",
- "mkdirp": "^0.5.1",
- "parallelshell": "^2.0.0",
- "tape": "^4.5.1"
- },
- "directories": {},
- "dist": {
- "shasum": "3b7848c03c2dece69a9522b0fae8c4126d745f3b",
- "tarball": "https://registry.npmjs.org/qs/-/qs-6.2.0.tgz"
- },
- "engines": {
- "node": ">=0.6"
- },
- "gitHead": "d67d315b606c6bb809fedcbeebbbdb7f863852aa",
- "homepage": "https://github.com/ljharb/qs",
- "keywords": [
- "querystring",
- "qs"
- ],
- "license": "BSD-3-Clause",
- "main": "lib/index.js",
- "maintainers": [
- {
- "email": "eran@hammer.io",
- "name": "hueniverse"
- },
- {
- "email": "ljharb@gmail.com",
- "name": "ljharb"
- },
- {
- "email": "quitlahok@gmail.com",
- "name": "nlf"
- }
- ],
- "name": "qs",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/ljharb/qs.git"
- },
- "scripts": {
- "coverage": "covert test",
- "dist": "mkdirp dist && browserify --standalone Qs lib/index.js > dist/qs.js",
- "lint": "eslint lib/*.js text/*.js",
- "prepublish": "npm run dist",
- "pretest": "parallelshell 'npm run --silent readme' 'npm run --silent lint'",
- "readme": "evalmd README.md",
- "test": "npm run --silent coverage",
- "tests-only": "node test"
- },
- "version": "6.2.0"
-}
diff --git a/node_modules/express/node_modules/qs/test/index.js b/node_modules/express/node_modules/qs/test/index.js
deleted file mode 100644
index b6a7d95..0000000
--- a/node_modules/express/node_modules/qs/test/index.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('./parse');
-
-require('./stringify');
-
-require('./utils');
diff --git a/node_modules/express/node_modules/qs/test/parse.js b/node_modules/express/node_modules/qs/test/parse.js
deleted file mode 100755
index 1b79daf..0000000
--- a/node_modules/express/node_modules/qs/test/parse.js
+++ /dev/null
@@ -1,423 +0,0 @@
-'use strict';
-
-var test = require('tape');
-var qs = require('../');
-var iconv = require('iconv-lite');
-
-test('parse()', function (t) {
- t.test('parses a simple string', function (st) {
- st.deepEqual(qs.parse('0=foo'), { '0': 'foo' });
- st.deepEqual(qs.parse('foo=c++'), { foo: 'c ' });
- st.deepEqual(qs.parse('a[>=]=23'), { a: { '>=': '23' } });
- st.deepEqual(qs.parse('a[<=>]==23'), { a: { '<=>': '=23' } });
- st.deepEqual(qs.parse('a[==]=23'), { a: { '==': '23' } });
- st.deepEqual(qs.parse('foo', { strictNullHandling: true }), { foo: null });
- st.deepEqual(qs.parse('foo'), { foo: '' });
- st.deepEqual(qs.parse('foo='), { foo: '' });
- st.deepEqual(qs.parse('foo=bar'), { foo: 'bar' });
- st.deepEqual(qs.parse(' foo = bar = baz '), { ' foo ': ' bar = baz ' });
- st.deepEqual(qs.parse('foo=bar=baz'), { foo: 'bar=baz' });
- st.deepEqual(qs.parse('foo=bar&bar=baz'), { foo: 'bar', bar: 'baz' });
- st.deepEqual(qs.parse('foo2=bar2&baz2='), { foo2: 'bar2', baz2: '' });
- st.deepEqual(qs.parse('foo=bar&baz', { strictNullHandling: true }), { foo: 'bar', baz: null });
- st.deepEqual(qs.parse('foo=bar&baz'), { foo: 'bar', baz: '' });
- st.deepEqual(qs.parse('cht=p3&chd=t:60,40&chs=250x100&chl=Hello|World'), {
- cht: 'p3',
- chd: 't:60,40',
- chs: '250x100',
- chl: 'Hello|World'
- });
- st.end();
- });
-
- t.test('allows enabling dot notation', function (st) {
- st.deepEqual(qs.parse('a.b=c'), { 'a.b': 'c' });
- st.deepEqual(qs.parse('a.b=c', { allowDots: true }), { a: { b: 'c' } });
- st.end();
- });
-
- t.deepEqual(qs.parse('a[b]=c'), { a: { b: 'c' } }, 'parses a single nested string');
- t.deepEqual(qs.parse('a[b][c]=d'), { a: { b: { c: 'd' } } }, 'parses a double nested string');
- t.deepEqual(
- qs.parse('a[b][c][d][e][f][g][h]=i'),
- { a: { b: { c: { d: { e: { f: { '[g][h]': 'i' } } } } } } },
- 'defaults to a depth of 5'
- );
-
- t.test('only parses one level when depth = 1', function (st) {
- st.deepEqual(qs.parse('a[b][c]=d', { depth: 1 }), { a: { b: { '[c]': 'd' } } });
- st.deepEqual(qs.parse('a[b][c][d]=e', { depth: 1 }), { a: { b: { '[c][d]': 'e' } } });
- st.end();
- });
-
- t.deepEqual(qs.parse('a=b&a=c'), { a: ['b', 'c'] }, 'parses a simple array');
-
- t.test('parses an explicit array', function (st) {
- st.deepEqual(qs.parse('a[]=b'), { a: ['b'] });
- st.deepEqual(qs.parse('a[]=b&a[]=c'), { a: ['b', 'c'] });
- st.deepEqual(qs.parse('a[]=b&a[]=c&a[]=d'), { a: ['b', 'c', 'd'] });
- st.end();
- });
-
- t.test('parses a mix of simple and explicit arrays', function (st) {
- st.deepEqual(qs.parse('a=b&a[]=c'), { a: ['b', 'c'] });
- st.deepEqual(qs.parse('a[]=b&a=c'), { a: ['b', 'c'] });
- st.deepEqual(qs.parse('a[0]=b&a=c'), { a: ['b', 'c'] });
- st.deepEqual(qs.parse('a=b&a[0]=c'), { a: ['b', 'c'] });
- st.deepEqual(qs.parse('a[1]=b&a=c'), { a: ['b', 'c'] });
- st.deepEqual(qs.parse('a=b&a[1]=c'), { a: ['b', 'c'] });
- st.end();
- });
-
- t.test('parses a nested array', function (st) {
- st.deepEqual(qs.parse('a[b][]=c&a[b][]=d'), { a: { b: ['c', 'd'] } });
- st.deepEqual(qs.parse('a[>=]=25'), { a: { '>=': '25' } });
- st.end();
- });
-
- t.test('allows to specify array indices', function (st) {
- st.deepEqual(qs.parse('a[1]=c&a[0]=b&a[2]=d'), { a: ['b', 'c', 'd'] });
- st.deepEqual(qs.parse('a[1]=c&a[0]=b'), { a: ['b', 'c'] });
- st.deepEqual(qs.parse('a[1]=c'), { a: ['c'] });
- st.end();
- });
-
- t.test('limits specific array indices to 20', function (st) {
- st.deepEqual(qs.parse('a[20]=a'), { a: ['a'] });
- st.deepEqual(qs.parse('a[21]=a'), { a: { '21': 'a' } });
- st.end();
- });
-
- t.deepEqual(qs.parse('a[12b]=c'), { a: { '12b': 'c' } }, 'supports keys that begin with a number');
-
- t.test('supports encoded = signs', function (st) {
- st.deepEqual(qs.parse('he%3Dllo=th%3Dere'), { 'he=llo': 'th=ere' });
- st.end();
- });
-
- t.test('is ok with url encoded strings', function (st) {
- st.deepEqual(qs.parse('a[b%20c]=d'), { a: { 'b c': 'd' } });
- st.deepEqual(qs.parse('a[b]=c%20d'), { a: { b: 'c d' } });
- st.end();
- });
-
- t.test('allows brackets in the value', function (st) {
- st.deepEqual(qs.parse('pets=["tobi"]'), { pets: '["tobi"]' });
- st.deepEqual(qs.parse('operators=[">=", "<="]'), { operators: '[">=", "<="]' });
- st.end();
- });
-
- t.test('allows empty values', function (st) {
- st.deepEqual(qs.parse(''), {});
- st.deepEqual(qs.parse(null), {});
- st.deepEqual(qs.parse(undefined), {});
- st.end();
- });
-
- t.test('transforms arrays to objects', function (st) {
- st.deepEqual(qs.parse('foo[0]=bar&foo[bad]=baz'), { foo: { '0': 'bar', bad: 'baz' } });
- st.deepEqual(qs.parse('foo[bad]=baz&foo[0]=bar'), { foo: { bad: 'baz', '0': 'bar' } });
- st.deepEqual(qs.parse('foo[bad]=baz&foo[]=bar'), { foo: { bad: 'baz', '0': 'bar' } });
- st.deepEqual(qs.parse('foo[]=bar&foo[bad]=baz'), { foo: { '0': 'bar', bad: 'baz' } });
- st.deepEqual(qs.parse('foo[bad]=baz&foo[]=bar&foo[]=foo'), { foo: { bad: 'baz', '0': 'bar', '1': 'foo' } });
- st.deepEqual(qs.parse('foo[0][a]=a&foo[0][b]=b&foo[1][a]=aa&foo[1][b]=bb'), { foo: [{ a: 'a', b: 'b' }, { a: 'aa', b: 'bb' }] });
- st.deepEqual(qs.parse('a[]=b&a[t]=u&a[hasOwnProperty]=c'), { a: { '0': 'b', t: 'u', c: true } });
- st.deepEqual(qs.parse('a[]=b&a[hasOwnProperty]=c&a[x]=y'), { a: { '0': 'b', '1': 'c', x: 'y' } });
- st.end();
- });
-
- t.test('transforms arrays to objects (dot notation)', function (st) {
- st.deepEqual(qs.parse('foo[0].baz=bar&fool.bad=baz', { allowDots: true }), { foo: [{ baz: 'bar' }], fool: { bad: 'baz' } });
- st.deepEqual(qs.parse('foo[0].baz=bar&fool.bad.boo=baz', { allowDots: true }), { foo: [{ baz: 'bar' }], fool: { bad: { boo: 'baz' } } });
- st.deepEqual(qs.parse('foo[0][0].baz=bar&fool.bad=baz', { allowDots: true }), { foo: [[{ baz: 'bar' }]], fool: { bad: 'baz' } });
- st.deepEqual(qs.parse('foo[0].baz[0]=15&foo[0].bar=2', { allowDots: true }), { foo: [{ baz: ['15'], bar: '2' }] });
- st.deepEqual(qs.parse('foo[0].baz[0]=15&foo[0].baz[1]=16&foo[0].bar=2', { allowDots: true }), { foo: [{ baz: ['15', '16'], bar: '2' }] });
- st.deepEqual(qs.parse('foo.bad=baz&foo[0]=bar', { allowDots: true }), { foo: { bad: 'baz', '0': 'bar' } });
- st.deepEqual(qs.parse('foo.bad=baz&foo[]=bar', { allowDots: true }), { foo: { bad: 'baz', '0': 'bar' } });
- st.deepEqual(qs.parse('foo[]=bar&foo.bad=baz', { allowDots: true }), { foo: { '0': 'bar', bad: 'baz' } });
- st.deepEqual(qs.parse('foo.bad=baz&foo[]=bar&foo[]=foo', { allowDots: true }), { foo: { bad: 'baz', '0': 'bar', '1': 'foo' } });
- st.deepEqual(qs.parse('foo[0].a=a&foo[0].b=b&foo[1].a=aa&foo[1].b=bb', { allowDots: true }), { foo: [{ a: 'a', b: 'b' }, { a: 'aa', b: 'bb' }] });
- st.end();
- });
-
- t.deepEqual(qs.parse('a[b]=c&a=d'), { a: { b: 'c', d: true } }, 'can add keys to objects');
-
- t.test('correctly prunes undefined values when converting an array to an object', function (st) {
- st.deepEqual(qs.parse('a[2]=b&a[99999999]=c'), { a: { '2': 'b', '99999999': 'c' } });
- st.end();
- });
-
- t.test('supports malformed uri characters', function (st) {
- st.deepEqual(qs.parse('{%:%}', { strictNullHandling: true }), { '{%:%}': null });
- st.deepEqual(qs.parse('{%:%}='), { '{%:%}': '' });
- st.deepEqual(qs.parse('foo=%:%}'), { foo: '%:%}' });
- st.end();
- });
-
- t.test('doesn\'t produce empty keys', function (st) {
- st.deepEqual(qs.parse('_r=1&'), { '_r': '1' });
- st.end();
- });
-
- t.test('cannot access Object prototype', function (st) {
- qs.parse('constructor[prototype][bad]=bad');
- qs.parse('bad[constructor][prototype][bad]=bad');
- st.equal(typeof Object.prototype.bad, 'undefined');
- st.end();
- });
-
- t.test('parses arrays of objects', function (st) {
- st.deepEqual(qs.parse('a[][b]=c'), { a: [{ b: 'c' }] });
- st.deepEqual(qs.parse('a[0][b]=c'), { a: [{ b: 'c' }] });
- st.end();
- });
-
- t.test('allows for empty strings in arrays', function (st) {
- st.deepEqual(qs.parse('a[]=b&a[]=&a[]=c'), { a: ['b', '', 'c'] });
- st.deepEqual(qs.parse('a[0]=b&a[1]&a[2]=c&a[19]=', { strictNullHandling: true }), { a: ['b', null, 'c', ''] });
- st.deepEqual(qs.parse('a[0]=b&a[1]=&a[2]=c&a[19]', { strictNullHandling: true }), { a: ['b', '', 'c', null] });
- st.deepEqual(qs.parse('a[]=&a[]=b&a[]=c'), { a: ['', 'b', 'c'] });
- st.end();
- });
-
- t.test('compacts sparse arrays', function (st) {
- st.deepEqual(qs.parse('a[10]=1&a[2]=2'), { a: ['2', '1'] });
- st.deepEqual(qs.parse('a[1][b][2][c]=1'), { a: [{ b: [{ c: '1' }] }] });
- st.deepEqual(qs.parse('a[1][2][3][c]=1'), { a: [[[{ c: '1' }]]] });
- st.deepEqual(qs.parse('a[1][2][3][c][1]=1'), { a: [[[{ c: ['1'] }]]] });
- st.end();
- });
-
- t.test('parses semi-parsed strings', function (st) {
- st.deepEqual(qs.parse({ 'a[b]': 'c' }), { a: { b: 'c' } });
- st.deepEqual(qs.parse({ 'a[b]': 'c', 'a[d]': 'e' }), { a: { b: 'c', d: 'e' } });
- st.end();
- });
-
- t.test('parses buffers correctly', function (st) {
- var b = new Buffer('test');
- st.deepEqual(qs.parse({ a: b }), { a: b });
- st.end();
- });
-
- t.test('continues parsing when no parent is found', function (st) {
- st.deepEqual(qs.parse('[]=&a=b'), { '0': '', a: 'b' });
- st.deepEqual(qs.parse('[]&a=b', { strictNullHandling: true }), { '0': null, a: 'b' });
- st.deepEqual(qs.parse('[foo]=bar'), { foo: 'bar' });
- st.end();
- });
-
- t.test('does not error when parsing a very long array', function (st) {
- var str = 'a[]=a';
- while (Buffer.byteLength(str) < 128 * 1024) {
- str = str + '&' + str;
- }
-
- st.doesNotThrow(function () { qs.parse(str); });
-
- st.end();
- });
-
- t.test('should not throw when a native prototype has an enumerable property', { parallel: false }, function (st) {
- Object.prototype.crash = '';
- Array.prototype.crash = '';
- st.doesNotThrow(qs.parse.bind(null, 'a=b'));
- st.deepEqual(qs.parse('a=b'), { a: 'b' });
- st.doesNotThrow(qs.parse.bind(null, 'a[][b]=c'));
- st.deepEqual(qs.parse('a[][b]=c'), { a: [{ b: 'c' }] });
- delete Object.prototype.crash;
- delete Array.prototype.crash;
- st.end();
- });
-
- t.test('parses a string with an alternative string delimiter', function (st) {
- st.deepEqual(qs.parse('a=b;c=d', { delimiter: ';' }), { a: 'b', c: 'd' });
- st.end();
- });
-
- t.test('parses a string with an alternative RegExp delimiter', function (st) {
- st.deepEqual(qs.parse('a=b; c=d', { delimiter: /[;,] */ }), { a: 'b', c: 'd' });
- st.end();
- });
-
- t.test('does not use non-splittable objects as delimiters', function (st) {
- st.deepEqual(qs.parse('a=b&c=d', { delimiter: true }), { a: 'b', c: 'd' });
- st.end();
- });
-
- t.test('allows overriding parameter limit', function (st) {
- st.deepEqual(qs.parse('a=b&c=d', { parameterLimit: 1 }), { a: 'b' });
- st.end();
- });
-
- t.test('allows setting the parameter limit to Infinity', function (st) {
- st.deepEqual(qs.parse('a=b&c=d', { parameterLimit: Infinity }), { a: 'b', c: 'd' });
- st.end();
- });
-
- t.test('allows overriding array limit', function (st) {
- st.deepEqual(qs.parse('a[0]=b', { arrayLimit: -1 }), { a: { '0': 'b' } });
- st.deepEqual(qs.parse('a[-1]=b', { arrayLimit: -1 }), { a: { '-1': 'b' } });
- st.deepEqual(qs.parse('a[0]=b&a[1]=c', { arrayLimit: 0 }), { a: { '0': 'b', '1': 'c' } });
- st.end();
- });
-
- t.test('allows disabling array parsing', function (st) {
- st.deepEqual(qs.parse('a[0]=b&a[1]=c', { parseArrays: false }), { a: { '0': 'b', '1': 'c' } });
- st.end();
- });
-
- t.test('parses an object', function (st) {
- var input = {
- 'user[name]': { 'pop[bob]': 3 },
- 'user[email]': null
- };
-
- var expected = {
- user: {
- name: { 'pop[bob]': 3 },
- email: null
- }
- };
-
- var result = qs.parse(input);
-
- st.deepEqual(result, expected);
- st.end();
- });
-
- t.test('parses an object in dot notation', function (st) {
- var input = {
- 'user.name': { 'pop[bob]': 3 },
- 'user.email.': null
- };
-
- var expected = {
- user: {
- name: { 'pop[bob]': 3 },
- email: null
- }
- };
-
- var result = qs.parse(input, { allowDots: true });
-
- st.deepEqual(result, expected);
- st.end();
- });
-
- t.test('parses an object and not child values', function (st) {
- var input = {
- 'user[name]': { 'pop[bob]': { 'test': 3 } },
- 'user[email]': null
- };
-
- var expected = {
- user: {
- name: { 'pop[bob]': { 'test': 3 } },
- email: null
- }
- };
-
- var result = qs.parse(input);
-
- st.deepEqual(result, expected);
- st.end();
- });
-
- t.test('does not blow up when Buffer global is missing', function (st) {
- var tempBuffer = global.Buffer;
- delete global.Buffer;
- var result = qs.parse('a=b&c=d');
- global.Buffer = tempBuffer;
- st.deepEqual(result, { a: 'b', c: 'd' });
- st.end();
- });
-
- t.test('does not crash when parsing circular references', function (st) {
- var a = {};
- a.b = a;
-
- var parsed;
-
- st.doesNotThrow(function () {
- parsed = qs.parse({ 'foo[bar]': 'baz', 'foo[baz]': a });
- });
-
- st.equal('foo' in parsed, true, 'parsed has "foo" property');
- st.equal('bar' in parsed.foo, true);
- st.equal('baz' in parsed.foo, true);
- st.equal(parsed.foo.bar, 'baz');
- st.deepEqual(parsed.foo.baz, a);
- st.end();
- });
-
- t.test('parses plain objects correctly', function (st) {
- var a = Object.create(null);
- a.b = 'c';
-
- st.deepEqual(qs.parse(a), { b: 'c' });
- var result = qs.parse({ a: a });
- st.equal('a' in result, true, 'result has "a" property');
- st.deepEqual(result.a, a);
- st.end();
- });
-
- t.test('parses dates correctly', function (st) {
- var now = new Date();
- st.deepEqual(qs.parse({ a: now }), { a: now });
- st.end();
- });
-
- t.test('parses regular expressions correctly', function (st) {
- var re = /^test$/;
- st.deepEqual(qs.parse({ a: re }), { a: re });
- st.end();
- });
-
- t.test('can allow overwriting prototype properties', function (st) {
- st.deepEqual(qs.parse('a[hasOwnProperty]=b', { allowPrototypes: true }), { a: { hasOwnProperty: 'b' } }, { prototype: false });
- st.deepEqual(qs.parse('hasOwnProperty=b', { allowPrototypes: true }), { hasOwnProperty: 'b' }, { prototype: false });
- st.end();
- });
-
- t.test('can return plain objects', function (st) {
- var expected = Object.create(null);
- expected.a = Object.create(null);
- expected.a.b = 'c';
- expected.a.hasOwnProperty = 'd';
- st.deepEqual(qs.parse('a[b]=c&a[hasOwnProperty]=d', { plainObjects: true }), expected);
- st.deepEqual(qs.parse(null, { plainObjects: true }), Object.create(null));
- var expectedArray = Object.create(null);
- expectedArray.a = Object.create(null);
- expectedArray.a['0'] = 'b';
- expectedArray.a.c = 'd';
- st.deepEqual(qs.parse('a[]=b&a[c]=d', { plainObjects: true }), expectedArray);
- st.end();
- });
-
- t.test('can parse with custom encoding', function (st) {
- st.deepEqual(qs.parse('%8c%a7=%91%e5%8d%e3%95%7b', {
- decoder: function (str) {
- var reg = /\%([0-9A-F]{2})/ig;
- var result = [];
- var parts;
- var last = 0;
- while (parts = reg.exec(str)) {
- result.push(parseInt(parts[1], 16));
- last = parts.index + parts[0].length;
- }
- return iconv.decode(new Buffer(result), 'shift_jis').toString();
- }
- }), { 県: '大阪府' });
- st.end();
- });
-
- t.test('throws error with wrong decoder', function (st) {
- st.throws(function () {
- qs.parse({}, {
- decoder: 'string'
- });
- }, new TypeError('Decoder has to be a function.'));
- st.end();
- });
-});
diff --git a/node_modules/express/node_modules/qs/test/stringify.js b/node_modules/express/node_modules/qs/test/stringify.js
deleted file mode 100755
index 699397e..0000000
--- a/node_modules/express/node_modules/qs/test/stringify.js
+++ /dev/null
@@ -1,305 +0,0 @@
-'use strict';
-
-var test = require('tape');
-var qs = require('../');
-var iconv = require('iconv-lite');
-
-test('stringify()', function (t) {
- t.test('stringifies a querystring object', function (st) {
- st.equal(qs.stringify({ a: 'b' }), 'a=b');
- st.equal(qs.stringify({ a: 1 }), 'a=1');
- st.equal(qs.stringify({ a: 1, b: 2 }), 'a=1&b=2');
- st.equal(qs.stringify({ a: 'A_Z' }), 'a=A_Z');
- st.equal(qs.stringify({ a: '€' }), 'a=%E2%82%AC');
- st.equal(qs.stringify({ a: '' }), 'a=%EE%80%80');
- st.equal(qs.stringify({ a: 'א' }), 'a=%D7%90');
- st.equal(qs.stringify({ a: '𐐷' }), 'a=%F0%90%90%B7');
- st.end();
- });
-
- t.test('stringifies a nested object', function (st) {
- st.equal(qs.stringify({ a: { b: 'c' } }), 'a%5Bb%5D=c');
- st.equal(qs.stringify({ a: { b: { c: { d: 'e' } } } }), 'a%5Bb%5D%5Bc%5D%5Bd%5D=e');
- st.end();
- });
-
- t.test('stringifies a nested object with dots notation', function (st) {
- st.equal(qs.stringify({ a: { b: 'c' } }, { allowDots: true }), 'a.b=c');
- st.equal(qs.stringify({ a: { b: { c: { d: 'e' } } } }, { allowDots: true }), 'a.b.c.d=e');
- st.end();
- });
-
- t.test('stringifies an array value', function (st) {
- st.equal(qs.stringify({ a: ['b', 'c', 'd'] }), 'a%5B0%5D=b&a%5B1%5D=c&a%5B2%5D=d');
- st.end();
- });
-
- t.test('omits nulls when asked', function (st) {
- st.equal(qs.stringify({ a: 'b', c: null }, { skipNulls: true }), 'a=b');
- st.end();
- });
-
-
- t.test('omits nested nulls when asked', function (st) {
- st.equal(qs.stringify({ a: { b: 'c', d: null } }, { skipNulls: true }), 'a%5Bb%5D=c');
- st.end();
- });
-
- t.test('omits array indices when asked', function (st) {
- st.equal(qs.stringify({ a: ['b', 'c', 'd'] }, { indices: false }), 'a=b&a=c&a=d');
- st.end();
- });
-
- t.test('stringifies a nested array value', function (st) {
- st.equal(qs.stringify({ a: { b: ['c', 'd'] } }), 'a%5Bb%5D%5B0%5D=c&a%5Bb%5D%5B1%5D=d');
- st.end();
- });
-
- t.test('stringifies a nested array value with dots notation', function (st) {
- st.equal(qs.stringify({ a: { b: ['c', 'd'] } }, { allowDots: true, encode: false }), 'a.b[0]=c&a.b[1]=d');
- st.end();
- });
-
- t.test('stringifies an object inside an array', function (st) {
- st.equal(qs.stringify({ a: [{ b: 'c' }] }), 'a%5B0%5D%5Bb%5D=c');
- st.equal(qs.stringify({ a: [{ b: { c: [1] } }] }), 'a%5B0%5D%5Bb%5D%5Bc%5D%5B0%5D=1');
- st.end();
- });
-
- t.test('stringifies an array with mixed objects and primitives', function (st) {
- st.equal(qs.stringify({ a: [{ b: 1 }, 2, 3] }, { encode: false }), 'a[0][b]=1&a[1]=2&a[2]=3');
- st.end();
- });
-
- t.test('stringifies an object inside an array with dots notation', function (st) {
- st.equal(qs.stringify({ a: [{ b: 'c' }] }, { allowDots: true, encode: false }), 'a[0].b=c');
- st.equal(qs.stringify({ a: [{ b: { c: [1] } }] }, { allowDots: true, encode: false }), 'a[0].b.c[0]=1');
- st.end();
- });
-
- t.test('does not omit object keys when indices = false', function (st) {
- st.equal(qs.stringify({ a: [{ b: 'c' }] }, { indices: false }), 'a%5Bb%5D=c');
- st.end();
- });
-
- t.test('uses indices notation for arrays when indices=true', function (st) {
- st.equal(qs.stringify({ a: ['b', 'c'] }, { indices: true }), 'a%5B0%5D=b&a%5B1%5D=c');
- st.end();
- });
-
- t.test('uses indices notation for arrays when no arrayFormat is specified', function (st) {
- st.equal(qs.stringify({ a: ['b', 'c'] }), 'a%5B0%5D=b&a%5B1%5D=c');
- st.end();
- });
-
- t.test('uses indices notation for arrays when no arrayFormat=indices', function (st) {
- st.equal(qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'indices' }), 'a%5B0%5D=b&a%5B1%5D=c');
- st.end();
- });
-
- t.test('uses repeat notation for arrays when no arrayFormat=repeat', function (st) {
- st.equal(qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'repeat' }), 'a=b&a=c');
- st.end();
- });
-
- t.test('uses brackets notation for arrays when no arrayFormat=brackets', function (st) {
- st.equal(qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'brackets' }), 'a%5B%5D=b&a%5B%5D=c');
- st.end();
- });
-
- t.test('stringifies a complicated object', function (st) {
- st.equal(qs.stringify({ a: { b: 'c', d: 'e' } }), 'a%5Bb%5D=c&a%5Bd%5D=e');
- st.end();
- });
-
- t.test('stringifies an empty value', function (st) {
- st.equal(qs.stringify({ a: '' }), 'a=');
- st.equal(qs.stringify({ a: null }, { strictNullHandling: true }), 'a');
-
- st.equal(qs.stringify({ a: '', b: '' }), 'a=&b=');
- st.equal(qs.stringify({ a: null, b: '' }, { strictNullHandling: true }), 'a&b=');
-
- st.equal(qs.stringify({ a: { b: '' } }), 'a%5Bb%5D=');
- st.equal(qs.stringify({ a: { b: null } }, { strictNullHandling: true }), 'a%5Bb%5D');
- st.equal(qs.stringify({ a: { b: null } }, { strictNullHandling: false }), 'a%5Bb%5D=');
-
- st.end();
- });
-
- t.test('stringifies an empty object', function (st) {
- var obj = Object.create(null);
- obj.a = 'b';
- st.equal(qs.stringify(obj), 'a=b');
- st.end();
- });
-
- t.test('returns an empty string for invalid input', function (st) {
- st.equal(qs.stringify(undefined), '');
- st.equal(qs.stringify(false), '');
- st.equal(qs.stringify(null), '');
- st.equal(qs.stringify(''), '');
- st.end();
- });
-
- t.test('stringifies an object with an empty object as a child', function (st) {
- var obj = {
- a: Object.create(null)
- };
-
- obj.a.b = 'c';
- st.equal(qs.stringify(obj), 'a%5Bb%5D=c');
- st.end();
- });
-
- t.test('drops keys with a value of undefined', function (st) {
- st.equal(qs.stringify({ a: undefined }), '');
-
- st.equal(qs.stringify({ a: { b: undefined, c: null } }, { strictNullHandling: true }), 'a%5Bc%5D');
- st.equal(qs.stringify({ a: { b: undefined, c: null } }, { strictNullHandling: false }), 'a%5Bc%5D=');
- st.equal(qs.stringify({ a: { b: undefined, c: '' } }), 'a%5Bc%5D=');
- st.end();
- });
-
- t.test('url encodes values', function (st) {
- st.equal(qs.stringify({ a: 'b c' }), 'a=b%20c');
- st.end();
- });
-
- t.test('stringifies a date', function (st) {
- var now = new Date();
- var str = 'a=' + encodeURIComponent(now.toISOString());
- st.equal(qs.stringify({ a: now }), str);
- st.end();
- });
-
- t.test('stringifies the weird object from qs', function (st) {
- st.equal(qs.stringify({ 'my weird field': '~q1!2"\'w$5&7/z8)?' }), 'my%20weird%20field=~q1%212%22%27w%245%267%2Fz8%29%3F');
- st.end();
- });
-
- t.test('skips properties that are part of the object prototype', function (st) {
- Object.prototype.crash = 'test';
- st.equal(qs.stringify({ a: 'b' }), 'a=b');
- st.equal(qs.stringify({ a: { b: 'c' } }), 'a%5Bb%5D=c');
- delete Object.prototype.crash;
- st.end();
- });
-
- t.test('stringifies boolean values', function (st) {
- st.equal(qs.stringify({ a: true }), 'a=true');
- st.equal(qs.stringify({ a: { b: true } }), 'a%5Bb%5D=true');
- st.equal(qs.stringify({ b: false }), 'b=false');
- st.equal(qs.stringify({ b: { c: false } }), 'b%5Bc%5D=false');
- st.end();
- });
-
- t.test('stringifies buffer values', function (st) {
- st.equal(qs.stringify({ a: new Buffer('test') }), 'a=test');
- st.equal(qs.stringify({ a: { b: new Buffer('test') } }), 'a%5Bb%5D=test');
- st.end();
- });
-
- t.test('stringifies an object using an alternative delimiter', function (st) {
- st.equal(qs.stringify({ a: 'b', c: 'd' }, { delimiter: ';' }), 'a=b;c=d');
- st.end();
- });
-
- t.test('doesn\'t blow up when Buffer global is missing', function (st) {
- var tempBuffer = global.Buffer;
- delete global.Buffer;
- var result = qs.stringify({ a: 'b', c: 'd' });
- global.Buffer = tempBuffer;
- st.equal(result, 'a=b&c=d');
- st.end();
- });
-
- t.test('selects properties when filter=array', function (st) {
- st.equal(qs.stringify({ a: 'b' }, { filter: ['a'] }), 'a=b');
- st.equal(qs.stringify({ a: 1 }, { filter: [] }), '');
- st.equal(qs.stringify({ a: { b: [1, 2, 3, 4], c: 'd' }, c: 'f' }, { filter: ['a', 'b', 0, 2] }), 'a%5Bb%5D%5B0%5D=1&a%5Bb%5D%5B2%5D=3');
- st.end();
- });
-
- t.test('supports custom representations when filter=function', function (st) {
- var calls = 0;
- var obj = { a: 'b', c: 'd', e: { f: new Date(1257894000000) } };
- var filterFunc = function (prefix, value) {
- calls++;
- if (calls === 1) {
- st.equal(prefix, '', 'prefix is empty');
- st.equal(value, obj);
- } else if (prefix === 'c') {
- return;
- } else if (value instanceof Date) {
- st.equal(prefix, 'e[f]');
- return value.getTime();
- }
- return value;
- };
-
- st.equal(qs.stringify(obj, { filter: filterFunc }), 'a=b&e%5Bf%5D=1257894000000');
- st.equal(calls, 5);
- st.end();
- });
-
- t.test('can disable uri encoding', function (st) {
- st.equal(qs.stringify({ a: 'b' }, { encode: false }), 'a=b');
- st.equal(qs.stringify({ a: { b: 'c' } }, { encode: false }), 'a[b]=c');
- st.equal(qs.stringify({ a: 'b', c: null }, { strictNullHandling: true, encode: false }), 'a=b&c');
- st.end();
- });
-
- t.test('can sort the keys', function (st) {
- var sort = function (a, b) { return a.localeCompare(b); };
- st.equal(qs.stringify({ a: 'c', z: 'y', b: 'f' }, { sort: sort }), 'a=c&b=f&z=y');
- st.equal(qs.stringify({ a: 'c', z: { j: 'a', i: 'b' }, b: 'f' }, { sort: sort }), 'a=c&b=f&z%5Bi%5D=b&z%5Bj%5D=a');
- st.end();
- });
-
- t.test('can sort the keys at depth 3 or more too', function (st) {
- var sort = function (a, b) { return a.localeCompare(b); };
- st.equal(qs.stringify({ a: 'a', z: { zj: {zjb: 'zjb', zja: 'zja'}, zi: {zib: 'zib', zia: 'zia'} }, b: 'b' }, { sort: sort, encode: false }), 'a=a&b=b&z[zi][zia]=zia&z[zi][zib]=zib&z[zj][zja]=zja&z[zj][zjb]=zjb');
- st.equal(qs.stringify({ a: 'a', z: { zj: {zjb: 'zjb', zja: 'zja'}, zi: {zib: 'zib', zia: 'zia'} }, b: 'b' }, { sort: null, encode: false }), 'a=a&z[zj][zjb]=zjb&z[zj][zja]=zja&z[zi][zib]=zib&z[zi][zia]=zia&b=b');
- st.end();
- });
-
- t.test('can stringify with custom encoding', function (st) {
- st.equal(qs.stringify({ 県: '大阪府', '': ''}, {
- encoder: function (str) {
- if (str.length === 0) {
- return '';
- }
- var buf = iconv.encode(str, 'shiftjis');
- var result = [];
- for (var i=0; i < buf.length; ++i) {
- result.push(buf.readUInt8(i).toString(16));
- }
- return '%' + result.join('%');
- }
- }), '%8c%a7=%91%e5%8d%e3%95%7b&=');
- st.end();
- });
-
- t.test('throws error with wrong encoder', function (st) {
- st.throws(function () {
- qs.stringify({}, {
- encoder: 'string'
- });
- }, new TypeError('Encoder has to be a function.'));
- st.end();
- });
-
- t.test('can use custom encoder for a buffer object', {
- skip: typeof Buffer === 'undefined'
- }, function (st) {
- st.equal(qs.stringify({ a: new Buffer([1]) }, {
- encoder: function (buffer) {
- if (typeof buffer === 'string') {
- return buffer;
- }
- return String.fromCharCode(buffer.readUInt8(0) + 97);
- }
- }), 'a=b');
- st.end();
- });
-});
diff --git a/node_modules/express/node_modules/qs/test/utils.js b/node_modules/express/node_modules/qs/test/utils.js
deleted file mode 100755
index 4a8d824..0000000
--- a/node_modules/express/node_modules/qs/test/utils.js
+++ /dev/null
@@ -1,9 +0,0 @@
-'use strict';
-
-var test = require('tape');
-var utils = require('../lib/utils');
-
-test('merge()', function (t) {
- t.deepEqual(utils.merge({ a: 'b' }, { a: 'c' }), { a: ['b', 'c'] }, 'merges two objects with the same key');
- t.end();
-});
diff --git a/node_modules/express/package.json b/node_modules/express/package.json
deleted file mode 100644
index 339ca12..0000000
--- a/node_modules/express/package.json
+++ /dev/null
@@ -1,185 +0,0 @@
-{
- "_args": [
- [
- "express@4.14.0",
- "/home/vincent/Bureau/RIA"
- ]
- ],
- "_from": "express@4.14.0",
- "_id": "express@4.14.0",
- "_inCache": true,
- "_installable": true,
- "_location": "/express",
- "_npmOperationalInternal": {
- "host": "packages-12-west.internal.npmjs.com",
- "tmp": "tmp/express-4.14.0.tgz_1466095407850_0.17484632693231106"
- },
- "_npmUser": {
- "email": "doug@somethingdoug.com",
- "name": "dougwilson"
- },
- "_npmVersion": "1.4.28",
- "_phantomChildren": {},
- "_requested": {
- "name": "express",
- "raw": "express@4.14.0",
- "rawSpec": "4.14.0",
- "scope": null,
- "spec": "4.14.0",
- "type": "version"
- },
- "_requiredBy": [
- "/"
- ],
- "_resolved": "https://registry.npmjs.org/express/-/express-4.14.0.tgz",
- "_shasum": "c1ee3f42cdc891fb3dc650a8922d51ec847d0d66",
- "_shrinkwrap": null,
- "_spec": "express@4.14.0",
- "_where": "/home/vincent/Bureau/RIA",
- "author": {
- "email": "tj@vision-media.ca",
- "name": "TJ Holowaychuk"
- },
- "bugs": {
- "url": "https://github.com/expressjs/express/issues"
- },
- "contributors": [
- {
- "email": "aaron.heckmann+github@gmail.com",
- "name": "Aaron Heckmann"
- },
- {
- "email": "ciaranj@gmail.com",
- "name": "Ciaran Jessup"
- },
- {
- "email": "doug@somethingdoug.com",
- "name": "Douglas Christopher Wilson"
- },
- {
- "email": "rauchg@gmail.com",
- "name": "Guillermo Rauch"
- },
- {
- "email": "me@jongleberry.com",
- "name": "Jonathan Ong"
- },
- {
- "email": "shtylman+expressjs@gmail.com",
- "name": "Roman Shtylman"
- },
- {
- "email": "hanul@hanul.me",
- "name": "Young Jae Sim"
- }
- ],
- "dependencies": {
- "accepts": "~1.3.3",
- "array-flatten": "1.1.1",
- "content-disposition": "0.5.1",
- "content-type": "~1.0.2",
- "cookie": "0.3.1",
- "cookie-signature": "1.0.6",
- "debug": "~2.2.0",
- "depd": "~1.1.0",
- "encodeurl": "~1.0.1",
- "escape-html": "~1.0.3",
- "etag": "~1.7.0",
- "finalhandler": "0.5.0",
- "fresh": "0.3.0",
- "merge-descriptors": "1.0.1",
- "methods": "~1.1.2",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.1",
- "path-to-regexp": "0.1.7",
- "proxy-addr": "~1.1.2",
- "qs": "6.2.0",
- "range-parser": "~1.2.0",
- "send": "0.14.1",
- "serve-static": "~1.11.1",
- "type-is": "~1.6.13",
- "utils-merge": "1.0.0",
- "vary": "~1.1.0"
- },
- "description": "Fast, unopinionated, minimalist web framework",
- "devDependencies": {
- "after": "0.8.1",
- "body-parser": "~1.15.1",
- "connect-redis": "~2.4.1",
- "cookie-parser": "~1.4.3",
- "cookie-session": "~1.2.0",
- "ejs": "2.4.2",
- "express-session": "~1.13.0",
- "istanbul": "0.4.3",
- "jade": "~1.11.0",
- "marked": "0.3.5",
- "method-override": "~2.3.6",
- "mocha": "2.5.3",
- "morgan": "~1.7.0",
- "multiparty": "~4.1.2",
- "should": "9.0.2",
- "supertest": "1.2.0",
- "vhost": "~3.0.2"
- },
- "directories": {},
- "dist": {
- "shasum": "c1ee3f42cdc891fb3dc650a8922d51ec847d0d66",
- "tarball": "https://registry.npmjs.org/express/-/express-4.14.0.tgz"
- },
- "engines": {
- "node": ">= 0.10.0"
- },
- "files": [
- "LICENSE",
- "History.md",
- "Readme.md",
- "index.js",
- "lib/"
- ],
- "gitHead": "9375a9afa9d7baa814b454c7a6818a7471aaef00",
- "homepage": "http://expressjs.com/",
- "keywords": [
- "express",
- "framework",
- "sinatra",
- "web",
- "rest",
- "restful",
- "router",
- "app",
- "api"
- ],
- "license": "MIT",
- "maintainers": [
- {
- "email": "doug@somethingdoug.com",
- "name": "dougwilson"
- },
- {
- "email": "captain@hacksparrow.com",
- "name": "hacksparrow"
- },
- {
- "email": "jasnell@gmail.com",
- "name": "jasnell"
- },
- {
- "email": "mikeal.rogers@gmail.com",
- "name": "mikeal"
- }
- ],
- "name": "express",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/expressjs/express.git"
- },
- "scripts": {
- "test": "mocha --require test/support/env --reporter spec --bail --check-leaks test/ test/acceptance/",
- "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --require test/support/env --reporter spec --check-leaks test/ test/acceptance/",
- "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --require test/support/env --reporter dot --check-leaks test/ test/acceptance/",
- "test-tap": "mocha --require test/support/env --reporter tap --check-leaks test/ test/acceptance/"
- },
- "version": "4.14.0"
-}
diff --git a/node_modules/fbjs/CHANGELOG.md b/node_modules/fbjs/CHANGELOG.md
deleted file mode 100644
index 020cea4..0000000
--- a/node_modules/fbjs/CHANGELOG.md
+++ /dev/null
@@ -1,130 +0,0 @@
-## [Unreleased]
-
-
-## [0.8.3] - 2016-05-25
-
-### Added
-- `Deferred`: added `Deferred.prototype.catch` to avoid having to call this directly on the Promise.
-- `UnicodeUtilsExtra`: added several methods for escaping strings.
-
-### Changed
-- More Flow annotations: `containsNode`, `emptyFunction`, `memoizeStringOnly`
-- Added explicit `` type arguments to in anticipation of a future Flow change requiring them.
-- `Object.assign` calls now replaced with usage of `object-assign` module.
-
-### Fixed
-- Type imports in .js.flow files are now properly using relative paths.
-- `DataTransfer`: handle Firefox better
-
-
-## [0.8.2] - 2016-05-05
-
-### Removed
-- Removed extraneous production dependency
-
-
-## [0.8.1] - 2016-04-18
-
-### Added
-- We now include a `Promise` class definition in `flow/lib` to account for the changes in Flow v0.23 which removed non-spec methods. This will allow our code to continue typechecking while using these methods.
-
-
-## [0.8.0] - 2016-04-04
-
-### Added
-- Several additional modules. Notably, a collection of Unicode utilities and many new `functional` helpers.
-- `CSSCore`: added `matchesSelector` method
-
-### Changed
-- Copyright headers updated to reflect current boilerplate
-- `@providesModule` headers removed from generated source code
-- Flow files now contain relative requires, improving compatibility with Haste and CommonJS module systems
-
-### Fixed
-- `isEmpty`: Protect from breaking in environments without `Symbol` defined
-
-
-## [0.7.2] - 2016-02-05
-
-### Fixed
-- `URI`: correctly store reference to value in constructor and return it when stringifying
-
-### Removed
-- Backed out rejection tracking for React Native `Promise` implementation. That code now lives in React Native.
-
-
-## [0.7.1] - 2016-02-02
-
-### Fixed
-
-- Corrected require path issue for native `Promise` module
-
-
-## [0.7.0] - 2016-01-27
-
-### Added
-- `Promise` for React Native with rejection tracking in `__DEV__` and a `finally` method
-- `_shouldPolyfillES6Collection`: check if ES6 Collections need to be polyfilled.
-
-### Removed
-- `toArray`: removed in favor of using `Array.from` directly.
-
-### Changed
-- `ErrorUtils`: Re-uses any global instance that already exists
-- `fetch`: Switched to `isomorphic-fetch` when a global implementation is missing
-- `shallowEqual`: handles `NaN` values appropriately (as equal), now using `Object.is` semantics
-
-
-## [0.6.1] - 2016-01-06
-
-### Changed
-- `getActiveElement`: no longer throws in non-browser environment (again)
-
-
-## [0.6.0] - 2015-12-29
-
-### Changed
-- Flow: Original source files in `fbjs/flow/include` have been removed in favor of placing original files alongside compiled files in lib with a `.flow` suffix. This requires Flow version 0.19 or greater and a change to `.flowconfig` files to remove the include path.
-
-
-## [0.5.1] - 2015-12-13
-
-### Added
-- `base62` module
-
-
-## [0.5.0] - 2015-12-04
-
-### Changed
-
-- `getActiveElement`: No longer handles a non-existent `document`
-
-
-## [0.4.0] - 2015-10-16
-
-### Changed
-
-- `invariant`: Message is no longer prefixed with "Invariant Violation: ".
-
-
-## [0.3.2] - 2015-10-12
-
-### Added
-- Apply appropriate transform (`loose-envify`) when bundling with `browserify`
-
-
-## [0.3.1] - 2015-10-01
-
-### Fixed
-- Ensure the build completes correctly before packaging
-
-
-## [0.3.0] - 2015-10-01
-
-### Added
-- More modules: `memoizeStringOnly`, `joinClasses`
-- `UserAgent`: Query information about current user agent
-
-### Changed
-- `fetchWithRetries`: Reject failure with an Error, not the response
-- `getActiveElement`: no longer throws in non-browser environment
diff --git a/node_modules/fbjs/LICENSE b/node_modules/fbjs/LICENSE
deleted file mode 100644
index 10bd152..0000000
--- a/node_modules/fbjs/LICENSE
+++ /dev/null
@@ -1,31 +0,0 @@
-BSD License
-
-For fbjs software
-
-Copyright (c) 2013-present, Facebook, Inc.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
- * Neither the name Facebook nor the names of its contributors may be used to
- endorse or promote products derived from this software without specific
- prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/node_modules/fbjs/PATENTS b/node_modules/fbjs/PATENTS
deleted file mode 100644
index fd9879c..0000000
--- a/node_modules/fbjs/PATENTS
+++ /dev/null
@@ -1,33 +0,0 @@
-Additional Grant of Patent Rights Version 2
-
-"Software" means the fbjs software distributed by Facebook, Inc.
-
-Facebook, Inc. ("Facebook") hereby grants to each recipient of the Software
-("you") a perpetual, worldwide, royalty-free, non-exclusive, irrevocable
-(subject to the termination provision below) license under any Necessary
-Claims, to make, have made, use, sell, offer to sell, import, and otherwise
-transfer the Software. For avoidance of doubt, no license is granted under
-Facebook's rights in any patent claims that are infringed by (i) modifications
-to the Software made by you or any third party or (ii) the Software in
-combination with any software or other technology.
-
-The license granted hereunder will terminate, automatically and without notice,
-if you (or any of your subsidiaries, corporate affiliates or agents) initiate
-directly or indirectly, or take a direct financial interest in, any Patent
-Assertion: (i) against Facebook or any of its subsidiaries or corporate
-affiliates, (ii) against any party if such Patent Assertion arises in whole or
-in part from any software, technology, product or service of Facebook or any of
-its subsidiaries or corporate affiliates, or (iii) against any party relating
-to the Software. Notwithstanding the foregoing, if Facebook or any of its
-subsidiaries or corporate affiliates files a lawsuit alleging patent
-infringement against you in the first instance, and you respond by filing a
-patent infringement counterclaim in that lawsuit against that party that is
-unrelated to the Software, the license granted hereunder will not terminate
-under section (i) of this paragraph due to such counterclaim.
-
-A "Necessary Claim" is a claim of a patent owned by Facebook that is
-necessarily infringed by the Software standing alone.
-
-A "Patent Assertion" is any lawsuit or other action alleging direct, indirect,
-or contributory infringement or inducement to infringe any patent, including a
-cross-claim or counterclaim.
diff --git a/node_modules/fbjs/README.md b/node_modules/fbjs/README.md
deleted file mode 100644
index efac549..0000000
--- a/node_modules/fbjs/README.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# FBJS
-
-## Purpose
-
-To make it easier for Facebook to share and consume our own JavaScript. Primarily this will allow us to ship code without worrying too much about where it lives, keeping with the spirit of `@providesModule` but working in the broader JavaScript ecosystem.
-
-**Note:** If you are consuming the code here and you are not also a Facebook project, be prepared for a bad time. APIs may appear or disappear and we may not follow semver strictly, though we will do our best to. This library is being published with our use cases in mind and is not necessarily meant to be consumed by the broader public. In order for us to move fast and ship projects like React and Relay, we've made the decision to not support everybody. We probably won't take your feature requests unless they align with our needs. There will be overlap in functionality here and in other open source projects.
-
-## Usage
-
-Any `@providesModule` modules that are used by your project should be added to `src/`. They will be built and added to `module-map.json`. This file will contain a map from `@providesModule` name to what will be published as `fbjs`. The `module-map.json` file can then be consumed in your own project, along with the [rewrite-modules](https://github.com/facebook/fbjs/blob/master/scripts/babel/rewrite-modules.js) Babel plugin (which we'll publish with this), to rewrite requires in your own project. Then, just make sure `fbjs` is a dependency in your `package.json` and your package will consume the shared code.
-
-```js
-// Before transform
-const emptyFunction = require('emptyFunction');
-// After transform
-const emptyFunction = require('fbjs/lib/emptyFunction');
-```
-
-See React for an example of this. *Coming soon!*
-
-## Building
-
-It's as easy as just running gulp. This assumes you've also done `npm install -g gulp`.
-
-```sh
-gulp
-```
-
-Alternatively `npm run build` will also work.
-
-### Layout
-
-Right now these packages represent a subset of packages that we use internally at Facebook. Mostly these are support libraries used when shipping larger libraries, like React and Relay, or products. Each of these packages is in its own directory under `src/`.
-
-### Process
-
-Since we use `@providesModule`, we need to rewrite requires to be relative. Thanks to `@providesModule` requiring global uniqueness, we can do this easily. Eventually we'll try to make this part of the process go away by making more projects use CommonJS.
-
-
-## TODO
-
-- Flow: Ideally we'd ship our original files with type annotations, however that's not doable right now. We have a couple options:
- - Make sure our transpilation step converts inline type annotations to the comment format.
- - Make our build process also build Flow interface files which we can ship to npm.
-- Split into multiple packages. This will be better for more concise versioning, otherwise we'll likely just be shipping lots of major versions.
diff --git a/node_modules/fbjs/flow/lib/Promise.js b/node_modules/fbjs/flow/lib/Promise.js
deleted file mode 100644
index 510e3d5..0000000
--- a/node_modules/fbjs/flow/lib/Promise.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- */
-
-// These annotations are copy/pasted from the built-in Flow definitions for
-// Native Promises with some non-standard APIs added in
-declare class Promise<+R> {
- constructor(callback: (
- resolve: (result?: Promise | R) => void,
- reject: (error?: any) => void
- ) => mixed): void;
-
- then(
- onFulfill?: ?(value: R) => Promise | ?U,
- onReject?: ?(error: any) => Promise | ?U
- ): Promise;
-
- catch(
- onReject?: (error: any) => ?Promise | U
- ): Promise;
-
- static resolve(object?: Promise | T): Promise;
- static reject(error?: any): Promise;
-
- static all: Promise$All;
- static race(promises: Array>): Promise;
-
- // Non-standard APIs
- done(
- onFulfill?: ?(value: R) => mixed,
- onReject?: ?(error: any) => mixed
- ): void;
-
- static cast(object?: T): Promise;
-}
diff --git a/node_modules/fbjs/flow/lib/dev.js b/node_modules/fbjs/flow/lib/dev.js
deleted file mode 100644
index 24bedef..0000000
--- a/node_modules/fbjs/flow/lib/dev.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
- * Copyright 2013-2015, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- */
-
-declare var __DEV__: boolean;
diff --git a/node_modules/fbjs/index.js b/node_modules/fbjs/index.js
deleted file mode 100644
index 98539df..0000000
--- a/node_modules/fbjs/index.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- */
-
-'use strict';
-
-throw new Error('The fbjs package should not be required without a full path.');
diff --git a/node_modules/fbjs/lib/CSSCore.js b/node_modules/fbjs/lib/CSSCore.js
deleted file mode 100644
index c8efce7..0000000
--- a/node_modules/fbjs/lib/CSSCore.js
+++ /dev/null
@@ -1,121 +0,0 @@
-'use strict';
-
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @typechecks
- */
-
-var invariant = require('./invariant');
-
-/**
- * The CSSCore module specifies the API (and implements most of the methods)
- * that should be used when dealing with the display of elements (via their
- * CSS classes and visibility on screen. It is an API focused on mutating the
- * display and not reading it as no logical state should be encoded in the
- * display of elements.
- */
-
-/* Slow implementation for browsers that don't natively support .matches() */
-function matchesSelector_SLOW(element, selector) {
- var root = element;
- while (root.parentNode) {
- root = root.parentNode;
- }
-
- var all = root.querySelectorAll(selector);
- return Array.prototype.indexOf.call(all, element) !== -1;
-}
-
-var CSSCore = {
-
- /**
- * Adds the class passed in to the element if it doesn't already have it.
- *
- * @param {DOMElement} element the element to set the class on
- * @param {string} className the CSS className
- * @return {DOMElement} the element passed in
- */
- addClass: function addClass(element, className) {
- !!/\s/.test(className) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'CSSCore.addClass takes only a single class name. "%s" contains ' + 'multiple classes.', className) : invariant(false) : void 0;
-
- if (className) {
- if (element.classList) {
- element.classList.add(className);
- } else if (!CSSCore.hasClass(element, className)) {
- element.className = element.className + ' ' + className;
- }
- }
- return element;
- },
-
- /**
- * Removes the class passed in from the element
- *
- * @param {DOMElement} element the element to set the class on
- * @param {string} className the CSS className
- * @return {DOMElement} the element passed in
- */
- removeClass: function removeClass(element, className) {
- !!/\s/.test(className) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'CSSCore.removeClass takes only a single class name. "%s" contains ' + 'multiple classes.', className) : invariant(false) : void 0;
-
- if (className) {
- if (element.classList) {
- element.classList.remove(className);
- } else if (CSSCore.hasClass(element, className)) {
- element.className = element.className.replace(new RegExp('(^|\\s)' + className + '(?:\\s|$)', 'g'), '$1').replace(/\s+/g, ' ') // multiple spaces to one
- .replace(/^\s*|\s*$/g, ''); // trim the ends
- }
- }
- return element;
- },
-
- /**
- * Helper to add or remove a class from an element based on a condition.
- *
- * @param {DOMElement} element the element to set the class on
- * @param {string} className the CSS className
- * @param {*} bool condition to whether to add or remove the class
- * @return {DOMElement} the element passed in
- */
- conditionClass: function conditionClass(element, className, bool) {
- return (bool ? CSSCore.addClass : CSSCore.removeClass)(element, className);
- },
-
- /**
- * Tests whether the element has the class specified.
- *
- * @param {DOMNode|DOMWindow} element the element to check the class on
- * @param {string} className the CSS className
- * @return {boolean} true if the element has the class, false if not
- */
- hasClass: function hasClass(element, className) {
- !!/\s/.test(className) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'CSS.hasClass takes only a single class name.') : invariant(false) : void 0;
- if (element.classList) {
- return !!className && element.classList.contains(className);
- }
- return (' ' + element.className + ' ').indexOf(' ' + className + ' ') > -1;
- },
-
- /**
- * Tests whether the element matches the selector specified
- *
- * @param {DOMNode|DOMWindow} element the element that we are querying
- * @param {string} selector the CSS selector
- * @return {boolean} true if the element matches the selector, false if not
- */
- matchesSelector: function matchesSelector(element, selector) {
- var matchesImpl = element.matches || element.webkitMatchesSelector || element.mozMatchesSelector || element.msMatchesSelector || function (s) {
- return matchesSelector_SLOW(element, s);
- };
- return matchesImpl.call(element, selector);
- }
-
-};
-
-module.exports = CSSCore;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/CSSCore.js.flow b/node_modules/fbjs/lib/CSSCore.js.flow
deleted file mode 100644
index e7d8479..0000000
--- a/node_modules/fbjs/lib/CSSCore.js.flow
+++ /dev/null
@@ -1,118 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule CSSCore
- * @typechecks
- */
-
-const invariant = require('./invariant');
-
-/**
- * The CSSCore module specifies the API (and implements most of the methods)
- * that should be used when dealing with the display of elements (via their
- * CSS classes and visibility on screen. It is an API focused on mutating the
- * display and not reading it as no logical state should be encoded in the
- * display of elements.
- */
-
-/* Slow implementation for browsers that don't natively support .matches() */
-function matchesSelector_SLOW(element, selector) {
- let root = element;
- while (root.parentNode) {
- root = root.parentNode;
- }
-
- const all = root.querySelectorAll(selector);
- return Array.prototype.indexOf.call(all, element) !== -1;
-}
-
-const CSSCore = {
-
- /**
- * Adds the class passed in to the element if it doesn't already have it.
- *
- * @param {DOMElement} element the element to set the class on
- * @param {string} className the CSS className
- * @return {DOMElement} the element passed in
- */
- addClass: function (element, className) {
- invariant(!/\s/.test(className), 'CSSCore.addClass takes only a single class name. "%s" contains ' + 'multiple classes.', className);
-
- if (className) {
- if (element.classList) {
- element.classList.add(className);
- } else if (!CSSCore.hasClass(element, className)) {
- element.className = element.className + ' ' + className;
- }
- }
- return element;
- },
-
- /**
- * Removes the class passed in from the element
- *
- * @param {DOMElement} element the element to set the class on
- * @param {string} className the CSS className
- * @return {DOMElement} the element passed in
- */
- removeClass: function (element, className) {
- invariant(!/\s/.test(className), 'CSSCore.removeClass takes only a single class name. "%s" contains ' + 'multiple classes.', className);
-
- if (className) {
- if (element.classList) {
- element.classList.remove(className);
- } else if (CSSCore.hasClass(element, className)) {
- element.className = element.className.replace(new RegExp('(^|\\s)' + className + '(?:\\s|$)', 'g'), '$1').replace(/\s+/g, ' ') // multiple spaces to one
- .replace(/^\s*|\s*$/g, ''); // trim the ends
- }
- }
- return element;
- },
-
- /**
- * Helper to add or remove a class from an element based on a condition.
- *
- * @param {DOMElement} element the element to set the class on
- * @param {string} className the CSS className
- * @param {*} bool condition to whether to add or remove the class
- * @return {DOMElement} the element passed in
- */
- conditionClass: function (element, className, bool) {
- return (bool ? CSSCore.addClass : CSSCore.removeClass)(element, className);
- },
-
- /**
- * Tests whether the element has the class specified.
- *
- * @param {DOMNode|DOMWindow} element the element to check the class on
- * @param {string} className the CSS className
- * @return {boolean} true if the element has the class, false if not
- */
- hasClass: function (element, className) {
- invariant(!/\s/.test(className), 'CSS.hasClass takes only a single class name.');
- if (element.classList) {
- return !!className && element.classList.contains(className);
- }
- return (' ' + element.className + ' ').indexOf(' ' + className + ' ') > -1;
- },
-
- /**
- * Tests whether the element matches the selector specified
- *
- * @param {DOMNode|DOMWindow} element the element that we are querying
- * @param {string} selector the CSS selector
- * @return {boolean} true if the element matches the selector, false if not
- */
- matchesSelector: function (element, selector) {
- const matchesImpl = element.matches || element.webkitMatchesSelector || element.mozMatchesSelector || element.msMatchesSelector || (s => matchesSelector_SLOW(element, s));
- return matchesImpl.call(element, selector);
- }
-
-};
-
-module.exports = CSSCore;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/DataTransfer.js b/node_modules/fbjs/lib/DataTransfer.js
deleted file mode 100644
index f6eca43..0000000
--- a/node_modules/fbjs/lib/DataTransfer.js
+++ /dev/null
@@ -1,222 +0,0 @@
-'use strict';
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @typechecks
- */
-
-var PhotosMimeType = require('./PhotosMimeType');
-
-var createArrayFromMixed = require('./createArrayFromMixed');
-var emptyFunction = require('./emptyFunction');
-
-var CR_LF_REGEX = new RegExp('\r\n', 'g');
-var LF_ONLY = '\n';
-
-var RICH_TEXT_TYPES = {
- 'text/rtf': 1,
- 'text/html': 1
-};
-
-/**
- * If DataTransferItem is a file then return the Blob of data.
- *
- * @param {object} item
- * @return {?blob}
- */
-function getFileFromDataTransfer(item) {
- if (item.kind == 'file') {
- return item.getAsFile();
- }
-}
-
-var DataTransfer = function () {
- /**
- * @param {object} data
- */
-
- function DataTransfer(data) {
- _classCallCheck(this, DataTransfer);
-
- this.data = data;
-
- // Types could be DOMStringList or array
- this.types = data.types ? createArrayFromMixed(data.types) : [];
- }
-
- /**
- * Is this likely to be a rich text data transfer?
- *
- * @return {boolean}
- */
-
-
- DataTransfer.prototype.isRichText = function isRichText() {
- // If HTML is available, treat this data as rich text. This way, we avoid
- // using a pasted image if it is packaged with HTML -- this may occur with
- // pastes from MS Word, for example. However this is only rich text if
- // there's accompanying text.
- if (this.getHTML() && this.getText()) {
- return true;
- }
-
- // When an image is copied from a preview window, you end up with two
- // DataTransferItems one of which is a file's metadata as text. Skip those.
- if (this.isImage()) {
- return false;
- }
-
- return this.types.some(function (type) {
- return RICH_TEXT_TYPES[type];
- });
- };
-
- /**
- * Get raw text.
- *
- * @return {?string}
- */
-
-
- DataTransfer.prototype.getText = function getText() {
- var text;
- if (this.data.getData) {
- if (!this.types.length) {
- text = this.data.getData('Text');
- } else if (this.types.indexOf('text/plain') != -1) {
- text = this.data.getData('text/plain');
- }
- }
- return text ? text.replace(CR_LF_REGEX, LF_ONLY) : null;
- };
-
- /**
- * Get HTML paste data
- *
- * @return {?string}
- */
-
-
- DataTransfer.prototype.getHTML = function getHTML() {
- if (this.data.getData) {
- if (!this.types.length) {
- return this.data.getData('Text');
- } else if (this.types.indexOf('text/html') != -1) {
- return this.data.getData('text/html');
- }
- }
- };
-
- /**
- * Is this a link data transfer?
- *
- * @return {boolean}
- */
-
-
- DataTransfer.prototype.isLink = function isLink() {
- return this.types.some(function (type) {
- return type.indexOf('Url') != -1 || type.indexOf('text/uri-list') != -1 || type.indexOf('text/x-moz-url');
- });
- };
-
- /**
- * Get a link url.
- *
- * @return {?string}
- */
-
-
- DataTransfer.prototype.getLink = function getLink() {
- if (this.data.getData) {
- if (this.types.indexOf('text/x-moz-url') != -1) {
- var url = this.data.getData('text/x-moz-url').split('\n');
- return url[0];
- }
- return this.types.indexOf('text/uri-list') != -1 ? this.data.getData('text/uri-list') : this.data.getData('url');
- }
-
- return null;
- };
-
- /**
- * Is this an image data transfer?
- *
- * @return {boolean}
- */
-
-
- DataTransfer.prototype.isImage = function isImage() {
- var isImage = this.types.some(function (type) {
- // Firefox will have a type of application/x-moz-file for images during
- // dragging
- return type.indexOf('application/x-moz-file') != -1;
- });
-
- if (isImage) {
- return true;
- }
-
- var items = this.getFiles();
- for (var i = 0; i < items.length; i++) {
- var type = items[i].type;
- if (!PhotosMimeType.isImage(type)) {
- return false;
- }
- }
-
- return true;
- };
-
- DataTransfer.prototype.getCount = function getCount() {
- if (this.data.hasOwnProperty('items')) {
- return this.data.items.length;
- } else if (this.data.hasOwnProperty('mozItemCount')) {
- return this.data.mozItemCount;
- } else if (this.data.files) {
- return this.data.files.length;
- }
- return null;
- };
-
- /**
- * Get files.
- *
- * @return {array}
- */
-
-
- DataTransfer.prototype.getFiles = function getFiles() {
- if (this.data.items) {
- // createArrayFromMixed doesn't properly handle DataTransferItemLists.
- return Array.prototype.slice.call(this.data.items).map(getFileFromDataTransfer).filter(emptyFunction.thatReturnsArgument);
- } else if (this.data.files) {
- return Array.prototype.slice.call(this.data.files);
- } else {
- return [];
- }
- };
-
- /**
- * Are there any files to fetch?
- *
- * @return {boolean}
- */
-
-
- DataTransfer.prototype.hasFiles = function hasFiles() {
- return this.getFiles().length > 0;
- };
-
- return DataTransfer;
-}();
-
-module.exports = DataTransfer;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/DataTransfer.js.flow b/node_modules/fbjs/lib/DataTransfer.js.flow
deleted file mode 100644
index 3d185fe..0000000
--- a/node_modules/fbjs/lib/DataTransfer.js.flow
+++ /dev/null
@@ -1,196 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule DataTransfer
- * @typechecks
- */
-
-var PhotosMimeType = require('./PhotosMimeType');
-
-var createArrayFromMixed = require('./createArrayFromMixed');
-var emptyFunction = require('./emptyFunction');
-
-var CR_LF_REGEX = new RegExp('\u000D\u000A', 'g');
-var LF_ONLY = '\u000A';
-
-var RICH_TEXT_TYPES = {
- 'text/rtf': 1,
- 'text/html': 1
-};
-
-/**
- * If DataTransferItem is a file then return the Blob of data.
- *
- * @param {object} item
- * @return {?blob}
- */
-function getFileFromDataTransfer(item) {
- if (item.kind == 'file') {
- return item.getAsFile();
- }
-}
-
-class DataTransfer {
- /**
- * @param {object} data
- */
- constructor(data) {
- this.data = data;
-
- // Types could be DOMStringList or array
- this.types = data.types ? createArrayFromMixed(data.types) : [];
- }
-
- /**
- * Is this likely to be a rich text data transfer?
- *
- * @return {boolean}
- */
- isRichText() {
- // If HTML is available, treat this data as rich text. This way, we avoid
- // using a pasted image if it is packaged with HTML -- this may occur with
- // pastes from MS Word, for example. However this is only rich text if
- // there's accompanying text.
- if (this.getHTML() && this.getText()) {
- return true;
- }
-
- // When an image is copied from a preview window, you end up with two
- // DataTransferItems one of which is a file's metadata as text. Skip those.
- if (this.isImage()) {
- return false;
- }
-
- return this.types.some(type => RICH_TEXT_TYPES[type]);
- }
-
- /**
- * Get raw text.
- *
- * @return {?string}
- */
- getText() {
- var text;
- if (this.data.getData) {
- if (!this.types.length) {
- text = this.data.getData('Text');
- } else if (this.types.indexOf('text/plain') != -1) {
- text = this.data.getData('text/plain');
- }
- }
- return text ? text.replace(CR_LF_REGEX, LF_ONLY) : null;
- }
-
- /**
- * Get HTML paste data
- *
- * @return {?string}
- */
- getHTML() {
- if (this.data.getData) {
- if (!this.types.length) {
- return this.data.getData('Text');
- } else if (this.types.indexOf('text/html') != -1) {
- return this.data.getData('text/html');
- }
- }
- }
-
- /**
- * Is this a link data transfer?
- *
- * @return {boolean}
- */
- isLink() {
- return this.types.some(type => {
- return type.indexOf('Url') != -1 || type.indexOf('text/uri-list') != -1 || type.indexOf('text/x-moz-url');
- });
- }
-
- /**
- * Get a link url.
- *
- * @return {?string}
- */
- getLink() {
- if (this.data.getData) {
- if (this.types.indexOf('text/x-moz-url') != -1) {
- let url = this.data.getData('text/x-moz-url').split('\n');
- return url[0];
- }
- return this.types.indexOf('text/uri-list') != -1 ? this.data.getData('text/uri-list') : this.data.getData('url');
- }
-
- return null;
- }
-
- /**
- * Is this an image data transfer?
- *
- * @return {boolean}
- */
- isImage() {
- var isImage = this.types.some(type => {
- // Firefox will have a type of application/x-moz-file for images during
- // dragging
- return type.indexOf('application/x-moz-file') != -1;
- });
-
- if (isImage) {
- return true;
- }
-
- var items = this.getFiles();
- for (var i = 0; i < items.length; i++) {
- var type = items[i].type;
- if (!PhotosMimeType.isImage(type)) {
- return false;
- }
- }
-
- return true;
- }
-
- getCount() {
- if (this.data.hasOwnProperty('items')) {
- return this.data.items.length;
- } else if (this.data.hasOwnProperty('mozItemCount')) {
- return this.data.mozItemCount;
- } else if (this.data.files) {
- return this.data.files.length;
- }
- return null;
- }
-
- /**
- * Get files.
- *
- * @return {array}
- */
- getFiles() {
- if (this.data.items) {
- // createArrayFromMixed doesn't properly handle DataTransferItemLists.
- return Array.prototype.slice.call(this.data.items).map(getFileFromDataTransfer).filter(emptyFunction.thatReturnsArgument);
- } else if (this.data.files) {
- return Array.prototype.slice.call(this.data.files);
- } else {
- return [];
- }
- }
-
- /**
- * Are there any files to fetch?
- *
- * @return {boolean}
- */
- hasFiles() {
- return this.getFiles().length > 0;
- }
-}
-
-module.exports = DataTransfer;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/Deferred.js b/node_modules/fbjs/lib/Deferred.js
deleted file mode 100644
index dc8b2bc..0000000
--- a/node_modules/fbjs/lib/Deferred.js
+++ /dev/null
@@ -1,75 +0,0 @@
-"use strict";
-
-var Promise = require("./Promise");
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @typechecks
- *
- */
-
-/**
- * Deferred provides a Promise-like API that exposes methods to resolve and
- * reject the Promise. It is most useful when converting non-Promise code to use
- * Promises.
- *
- * If you want to export the Promise without exposing access to the resolve and
- * reject methods, you should export `getPromise` which returns a Promise with
- * the same semantics excluding those methods.
- */
-
-var Deferred = function () {
- function Deferred() {
- var _this = this;
-
- _classCallCheck(this, Deferred);
-
- this._settled = false;
- this._promise = new Promise(function (resolve, reject) {
- _this._resolve = resolve;
- _this._reject = reject;
- });
- }
-
- Deferred.prototype.getPromise = function getPromise() {
- return this._promise;
- };
-
- Deferred.prototype.resolve = function resolve(value) {
- this._settled = true;
- this._resolve(value);
- };
-
- Deferred.prototype.reject = function reject(reason) {
- this._settled = true;
- this._reject(reason);
- };
-
- Deferred.prototype["catch"] = function _catch() {
- return Promise.prototype["catch"].apply(this._promise, arguments);
- };
-
- Deferred.prototype.then = function then() {
- return Promise.prototype.then.apply(this._promise, arguments);
- };
-
- Deferred.prototype.done = function done() {
- Promise.prototype.done.apply(this._promise, arguments);
- };
-
- Deferred.prototype.isSettled = function isSettled() {
- return this._settled;
- };
-
- return Deferred;
-}();
-
-module.exports = Deferred;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/Deferred.js.flow b/node_modules/fbjs/lib/Deferred.js.flow
deleted file mode 100644
index 3a883dc..0000000
--- a/node_modules/fbjs/lib/Deferred.js.flow
+++ /dev/null
@@ -1,68 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule Deferred
- * @typechecks
- * @flow
- */
-
-/**
- * Deferred provides a Promise-like API that exposes methods to resolve and
- * reject the Promise. It is most useful when converting non-Promise code to use
- * Promises.
- *
- * If you want to export the Promise without exposing access to the resolve and
- * reject methods, you should export `getPromise` which returns a Promise with
- * the same semantics excluding those methods.
- */
-class Deferred {
- _settled: bool;
- _promise: Promise;
- _resolve: (value: Tvalue) => void;
- _reject: (reason: Treason) => void;
-
- constructor() {
- this._settled = false;
- this._promise = new Promise((resolve, reject) => {
- this._resolve = (resolve: any);
- this._reject = (reject: any);
- });
- }
-
- getPromise(): Promise {
- return this._promise;
- }
-
- resolve(value: Tvalue): void {
- this._settled = true;
- this._resolve(value);
- }
-
- reject(reason: Treason): void {
- this._settled = true;
- this._reject(reason);
- }
-
- catch(): Promise {
- return Promise.prototype.catch.apply(this._promise, arguments);
- }
-
- then(): Promise {
- return Promise.prototype.then.apply(this._promise, arguments);
- }
-
- done(): void {
- Promise.prototype.done.apply(this._promise, arguments);
- }
-
- isSettled(): bool {
- return this._settled;
- }
-}
-
-module.exports = Deferred;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/ErrorUtils.js b/node_modules/fbjs/lib/ErrorUtils.js
deleted file mode 100644
index c03245b..0000000
--- a/node_modules/fbjs/lib/ErrorUtils.js
+++ /dev/null
@@ -1,28 +0,0 @@
-"use strict";
-
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-/* jslint unused:false */
-
-if (global.ErrorUtils) {
- module.exports = global.ErrorUtils;
-} else {
- var ErrorUtils = {
- applyWithGuard: function applyWithGuard(callback, context, args, onError, name) {
- return callback.apply(context, args);
- },
- guard: function guard(callback, name) {
- return callback;
- }
- };
-
- module.exports = ErrorUtils;
-}
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/ErrorUtils.js.flow b/node_modules/fbjs/lib/ErrorUtils.js.flow
deleted file mode 100644
index 447bd87..0000000
--- a/node_modules/fbjs/lib/ErrorUtils.js.flow
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule ErrorUtils
- */
-
-/* jslint unused:false */
-
-if (global.ErrorUtils) {
- module.exports = global.ErrorUtils;
-} else {
- var ErrorUtils = {
- applyWithGuard(callback, context, args, onError, name) {
- return callback.apply(context, args);
- },
- guard(callback, name) {
- return callback;
- }
- };
-
- module.exports = ErrorUtils;
-}
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/EventListener.js b/node_modules/fbjs/lib/EventListener.js
deleted file mode 100644
index c20a23a..0000000
--- a/node_modules/fbjs/lib/EventListener.js
+++ /dev/null
@@ -1,83 +0,0 @@
-'use strict';
-
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * @typechecks
- */
-
-var emptyFunction = require('./emptyFunction');
-
-/**
- * Upstream version of event listener. Does not take into account specific
- * nature of platform.
- */
-var EventListener = {
- /**
- * Listen to DOM events during the bubble phase.
- *
- * @param {DOMEventTarget} target DOM element to register listener on.
- * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.
- * @param {function} callback Callback function.
- * @return {object} Object with a `remove` method.
- */
- listen: function listen(target, eventType, callback) {
- if (target.addEventListener) {
- target.addEventListener(eventType, callback, false);
- return {
- remove: function remove() {
- target.removeEventListener(eventType, callback, false);
- }
- };
- } else if (target.attachEvent) {
- target.attachEvent('on' + eventType, callback);
- return {
- remove: function remove() {
- target.detachEvent('on' + eventType, callback);
- }
- };
- }
- },
-
- /**
- * Listen to DOM events during the capture phase.
- *
- * @param {DOMEventTarget} target DOM element to register listener on.
- * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.
- * @param {function} callback Callback function.
- * @return {object} Object with a `remove` method.
- */
- capture: function capture(target, eventType, callback) {
- if (target.addEventListener) {
- target.addEventListener(eventType, callback, true);
- return {
- remove: function remove() {
- target.removeEventListener(eventType, callback, true);
- }
- };
- } else {
- if (process.env.NODE_ENV !== 'production') {
- console.error('Attempted to listen to events during the capture phase on a ' + 'browser that does not support the capture phase. Your application ' + 'will not receive some events.');
- }
- return {
- remove: emptyFunction
- };
- }
- },
-
- registerDefault: function registerDefault() {}
-};
-
-module.exports = EventListener;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/EventListener.js.flow b/node_modules/fbjs/lib/EventListener.js.flow
deleted file mode 100644
index 1f56666..0000000
--- a/node_modules/fbjs/lib/EventListener.js.flow
+++ /dev/null
@@ -1,82 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * @providesModule EventListener
- * @typechecks
- */
-
-var emptyFunction = require('./emptyFunction');
-
-/**
- * Upstream version of event listener. Does not take into account specific
- * nature of platform.
- */
-var EventListener = {
- /**
- * Listen to DOM events during the bubble phase.
- *
- * @param {DOMEventTarget} target DOM element to register listener on.
- * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.
- * @param {function} callback Callback function.
- * @return {object} Object with a `remove` method.
- */
- listen: function (target, eventType, callback) {
- if (target.addEventListener) {
- target.addEventListener(eventType, callback, false);
- return {
- remove: function () {
- target.removeEventListener(eventType, callback, false);
- }
- };
- } else if (target.attachEvent) {
- target.attachEvent('on' + eventType, callback);
- return {
- remove: function () {
- target.detachEvent('on' + eventType, callback);
- }
- };
- }
- },
-
- /**
- * Listen to DOM events during the capture phase.
- *
- * @param {DOMEventTarget} target DOM element to register listener on.
- * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.
- * @param {function} callback Callback function.
- * @return {object} Object with a `remove` method.
- */
- capture: function (target, eventType, callback) {
- if (target.addEventListener) {
- target.addEventListener(eventType, callback, true);
- return {
- remove: function () {
- target.removeEventListener(eventType, callback, true);
- }
- };
- } else {
- if (__DEV__) {
- console.error('Attempted to listen to events during the capture phase on a ' + 'browser that does not support the capture phase. Your application ' + 'will not receive some events.');
- }
- return {
- remove: emptyFunction
- };
- }
- },
-
- registerDefault: function () {}
-};
-
-module.exports = EventListener;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/ExecutionEnvironment.js b/node_modules/fbjs/lib/ExecutionEnvironment.js
deleted file mode 100644
index ffd88af..0000000
--- a/node_modules/fbjs/lib/ExecutionEnvironment.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-'use strict';
-
-var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
-
-/**
- * Simple, lightweight module assisting with the detection and context of
- * Worker. Helps avoid circular dependencies and allows code to reason about
- * whether or not they are in a Worker, even if they never include the main
- * `ReactWorker` dependency.
- */
-var ExecutionEnvironment = {
-
- canUseDOM: canUseDOM,
-
- canUseWorkers: typeof Worker !== 'undefined',
-
- canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),
-
- canUseViewport: canUseDOM && !!window.screen,
-
- isInWorker: !canUseDOM // For now, this is true - might change in the future.
-
-};
-
-module.exports = ExecutionEnvironment;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/ExecutionEnvironment.js.flow b/node_modules/fbjs/lib/ExecutionEnvironment.js.flow
deleted file mode 100644
index 25e7519..0000000
--- a/node_modules/fbjs/lib/ExecutionEnvironment.js.flow
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule ExecutionEnvironment
- */
-
-'use strict';
-
-const canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
-
-/**
- * Simple, lightweight module assisting with the detection and context of
- * Worker. Helps avoid circular dependencies and allows code to reason about
- * whether or not they are in a Worker, even if they never include the main
- * `ReactWorker` dependency.
- */
-const ExecutionEnvironment = {
-
- canUseDOM: canUseDOM,
-
- canUseWorkers: typeof Worker !== 'undefined',
-
- canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),
-
- canUseViewport: canUseDOM && !!window.screen,
-
- isInWorker: !canUseDOM // For now, this is true - might change in the future.
-
-};
-
-module.exports = ExecutionEnvironment;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/Keys.js b/node_modules/fbjs/lib/Keys.js
deleted file mode 100644
index 4c344bd..0000000
--- a/node_modules/fbjs/lib/Keys.js
+++ /dev/null
@@ -1,36 +0,0 @@
-"use strict";
-
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-module.exports = {
- BACKSPACE: 8,
- TAB: 9,
- RETURN: 13,
- ALT: 18,
- ESC: 27,
- SPACE: 32,
- PAGE_UP: 33,
- PAGE_DOWN: 34,
- END: 35,
- HOME: 36,
- LEFT: 37,
- UP: 38,
- RIGHT: 39,
- DOWN: 40,
- DELETE: 46,
- COMMA: 188,
- PERIOD: 190,
- A: 65,
- Z: 90,
- ZERO: 48,
- NUMPAD_0: 96,
- NUMPAD_9: 105
-};
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/Keys.js.flow b/node_modules/fbjs/lib/Keys.js.flow
deleted file mode 100644
index 8a35ea6..0000000
--- a/node_modules/fbjs/lib/Keys.js.flow
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule Keys
- */
-
-module.exports = {
- BACKSPACE: 8,
- TAB: 9,
- RETURN: 13,
- ALT: 18,
- ESC: 27,
- SPACE: 32,
- PAGE_UP: 33,
- PAGE_DOWN: 34,
- END: 35,
- HOME: 36,
- LEFT: 37,
- UP: 38,
- RIGHT: 39,
- DOWN: 40,
- DELETE: 46,
- COMMA: 188,
- PERIOD: 190,
- A: 65,
- Z: 90,
- ZERO: 48,
- NUMPAD_0: 96,
- NUMPAD_9: 105
-};
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/Map.js b/node_modules/fbjs/lib/Map.js
deleted file mode 100644
index d242802..0000000
--- a/node_modules/fbjs/lib/Map.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-module.exports = require('core-js/library/es6/map');
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/Map.js.flow b/node_modules/fbjs/lib/Map.js.flow
deleted file mode 100644
index 3879fbf..0000000
--- a/node_modules/fbjs/lib/Map.js.flow
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule Map
- */
-
-module.exports = require('core-js/library/es6/map');
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/PhotosMimeType.js b/node_modules/fbjs/lib/PhotosMimeType.js
deleted file mode 100644
index 48fc3b5..0000000
--- a/node_modules/fbjs/lib/PhotosMimeType.js
+++ /dev/null
@@ -1,28 +0,0 @@
-'use strict';
-
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-var PhotosMimeType = {
- isImage: function isImage(mimeString) {
- return getParts(mimeString)[0] === 'image';
- },
- isJpeg: function isJpeg(mimeString) {
- var parts = getParts(mimeString);
- return PhotosMimeType.isImage(mimeString) && (
- // see http://fburl.com/10972194
- parts[1] === 'jpeg' || parts[1] === 'pjpeg');
- }
-};
-
-function getParts(mimeString) {
- return mimeString.split('/');
-}
-
-module.exports = PhotosMimeType;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/PhotosMimeType.js.flow b/node_modules/fbjs/lib/PhotosMimeType.js.flow
deleted file mode 100644
index ebd10a6..0000000
--- a/node_modules/fbjs/lib/PhotosMimeType.js.flow
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule PhotosMimeType
- */
-const PhotosMimeType = {
- isImage(mimeString) {
- return getParts(mimeString)[0] === 'image';
- },
-
- isJpeg(mimeString) {
- const parts = getParts(mimeString);
- return PhotosMimeType.isImage(mimeString) && (
- // see http://fburl.com/10972194
- parts[1] === 'jpeg' || parts[1] === 'pjpeg');
- }
-};
-
-function getParts(mimeString) {
- return mimeString.split('/');
-}
-
-module.exports = PhotosMimeType;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/Promise.js b/node_modules/fbjs/lib/Promise.js
deleted file mode 100644
index e92481a..0000000
--- a/node_modules/fbjs/lib/Promise.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-module.exports = require('promise');
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/Promise.js.flow b/node_modules/fbjs/lib/Promise.js.flow
deleted file mode 100644
index d5932aa..0000000
--- a/node_modules/fbjs/lib/Promise.js.flow
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule Promise
- */
-
-module.exports = require('promise');
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/Promise.native.js b/node_modules/fbjs/lib/Promise.native.js
deleted file mode 100644
index 2a6a3b8..0000000
--- a/node_modules/fbjs/lib/Promise.native.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- *
- * Copyright 2013-2016 Facebook, Inc.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * This module wraps and augments the minimally ES6-compliant Promise
- * implementation provided by the promise npm package.
- *
- */
-
-'use strict';
-
-var Promise = require('promise/setimmediate/es6-extensions');
-require('promise/setimmediate/done');
-
-/**
- * Handle either fulfillment or rejection with the same callback.
- */
-Promise.prototype['finally'] = function (onSettled) {
- return this.then(onSettled, onSettled);
-};
-
-module.exports = Promise;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/Promise.native.js.flow b/node_modules/fbjs/lib/Promise.native.js.flow
deleted file mode 100644
index ff8a91f..0000000
--- a/node_modules/fbjs/lib/Promise.native.js.flow
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- *
- * Copyright 2013-2016 Facebook, Inc.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * This module wraps and augments the minimally ES6-compliant Promise
- * implementation provided by the promise npm package.
- *
- */
-
-'use strict';
-
-var Promise = require('promise/setimmediate/es6-extensions');
-require('promise/setimmediate/done');
-
-/**
- * Handle either fulfillment or rejection with the same callback.
- */
-Promise.prototype.finally = function (onSettled) {
- return this.then(onSettled, onSettled);
-};
-
-module.exports = Promise;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/PromiseMap.js b/node_modules/fbjs/lib/PromiseMap.js
deleted file mode 100644
index 63973c5..0000000
--- a/node_modules/fbjs/lib/PromiseMap.js
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- *
- */
-
-'use strict';
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-var Deferred = require('./Deferred');
-
-var invariant = require('./invariant');
-
-/**
- * A map of asynchronous values that can be get or set in any order. Unlike a
- * normal map, setting the value for a particular key more than once throws.
- * Also unlike a normal map, a key can either be resolved or rejected.
- */
-
-var PromiseMap = function () {
- function PromiseMap() {
- _classCallCheck(this, PromiseMap);
-
- this._deferred = {};
- }
-
- PromiseMap.prototype.get = function get(key) {
- return getDeferred(this._deferred, key).getPromise();
- };
-
- PromiseMap.prototype.resolveKey = function resolveKey(key, value) {
- var entry = getDeferred(this._deferred, key);
- !!entry.isSettled() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'PromiseMap: Already settled `%s`.', key) : invariant(false) : void 0;
- entry.resolve(value);
- };
-
- PromiseMap.prototype.rejectKey = function rejectKey(key, reason) {
- var entry = getDeferred(this._deferred, key);
- !!entry.isSettled() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'PromiseMap: Already settled `%s`.', key) : invariant(false) : void 0;
- entry.reject(reason);
- };
-
- return PromiseMap;
-}();
-
-function getDeferred(entries, key) {
- if (!entries.hasOwnProperty(key)) {
- entries[key] = new Deferred();
- }
- return entries[key];
-}
-
-module.exports = PromiseMap;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/PromiseMap.js.flow b/node_modules/fbjs/lib/PromiseMap.js.flow
deleted file mode 100644
index d87f1ce..0000000
--- a/node_modules/fbjs/lib/PromiseMap.js.flow
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule PromiseMap
- * @flow
- */
-
-'use strict';
-
-const Deferred = require('./Deferred');
-
-const invariant = require('./invariant');
-
-/**
- * A map of asynchronous values that can be get or set in any order. Unlike a
- * normal map, setting the value for a particular key more than once throws.
- * Also unlike a normal map, a key can either be resolved or rejected.
- */
-class PromiseMap {
- _deferred: { [key: string]: Deferred };
-
- constructor() {
- this._deferred = {};
- }
-
- get(key: string): Promise {
- return getDeferred(this._deferred, key).getPromise();
- }
-
- resolveKey(key: string, value: Tvalue): void {
- const entry = getDeferred(this._deferred, key);
- invariant(!entry.isSettled(), 'PromiseMap: Already settled `%s`.', key);
- entry.resolve(value);
- }
-
- rejectKey(key: string, reason: Treason): void {
- const entry = getDeferred(this._deferred, key);
- invariant(!entry.isSettled(), 'PromiseMap: Already settled `%s`.', key);
- entry.reject(reason);
- }
-}
-
-function getDeferred(entries: { [key: string]: Deferred }, key: string): Deferred {
- if (!entries.hasOwnProperty(key)) {
- entries[key] = new Deferred();
- }
- return entries[key];
-}
-
-module.exports = PromiseMap;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/Scroll.js b/node_modules/fbjs/lib/Scroll.js
deleted file mode 100644
index 6159e29..0000000
--- a/node_modules/fbjs/lib/Scroll.js
+++ /dev/null
@@ -1,85 +0,0 @@
-"use strict";
-
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-/**
- * @param {DOMElement} element
- * @param {DOMDocument} doc
- * @return {boolean}
- */
-function _isViewportScrollElement(element, doc) {
- return !!doc && (element === doc.documentElement || element === doc.body);
-}
-
-/**
- * Scroll Module. This class contains 4 simple static functions
- * to be used to access Element.scrollTop/scrollLeft properties.
- * To solve the inconsistencies between browsers when either
- * document.body or document.documentElement is supplied,
- * below logic will be used to alleviate the issue:
- *
- * 1. If 'element' is either 'document.body' or 'document.documentElement,
- * get whichever element's 'scroll{Top,Left}' is larger.
- * 2. If 'element' is either 'document.body' or 'document.documentElement',
- * set the 'scroll{Top,Left}' on both elements.
- */
-
-var Scroll = {
- /**
- * @param {DOMElement} element
- * @return {number}
- */
- getTop: function getTop(element) {
- var doc = element.ownerDocument;
- return _isViewportScrollElement(element, doc) ?
- // In practice, they will either both have the same value,
- // or one will be zero and the other will be the scroll position
- // of the viewport. So we can use `X || Y` instead of `Math.max(X, Y)`
- doc.body.scrollTop || doc.documentElement.scrollTop : element.scrollTop;
- },
-
- /**
- * @param {DOMElement} element
- * @param {number} newTop
- */
- setTop: function setTop(element, newTop) {
- var doc = element.ownerDocument;
- if (_isViewportScrollElement(element, doc)) {
- doc.body.scrollTop = doc.documentElement.scrollTop = newTop;
- } else {
- element.scrollTop = newTop;
- }
- },
-
- /**
- * @param {DOMElement} element
- * @return {number}
- */
- getLeft: function getLeft(element) {
- var doc = element.ownerDocument;
- return _isViewportScrollElement(element, doc) ? doc.body.scrollLeft || doc.documentElement.scrollLeft : element.scrollLeft;
- },
-
- /**
- * @param {DOMElement} element
- * @param {number} newLeft
- */
- setLeft: function setLeft(element, newLeft) {
- var doc = element.ownerDocument;
- if (_isViewportScrollElement(element, doc)) {
- doc.body.scrollLeft = doc.documentElement.scrollLeft = newLeft;
- } else {
- element.scrollLeft = newLeft;
- }
- }
-};
-
-module.exports = Scroll;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/Scroll.js.flow b/node_modules/fbjs/lib/Scroll.js.flow
deleted file mode 100644
index e3588c3..0000000
--- a/node_modules/fbjs/lib/Scroll.js.flow
+++ /dev/null
@@ -1,84 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule Scroll
- */
-
-/**
- * @param {DOMElement} element
- * @param {DOMDocument} doc
- * @return {boolean}
- */
-function _isViewportScrollElement(element, doc) {
- return !!doc && (element === doc.documentElement || element === doc.body);
-}
-
-/**
- * Scroll Module. This class contains 4 simple static functions
- * to be used to access Element.scrollTop/scrollLeft properties.
- * To solve the inconsistencies between browsers when either
- * document.body or document.documentElement is supplied,
- * below logic will be used to alleviate the issue:
- *
- * 1. If 'element' is either 'document.body' or 'document.documentElement,
- * get whichever element's 'scroll{Top,Left}' is larger.
- * 2. If 'element' is either 'document.body' or 'document.documentElement',
- * set the 'scroll{Top,Left}' on both elements.
- */
-
-const Scroll = {
- /**
- * @param {DOMElement} element
- * @return {number}
- */
- getTop: function (element) {
- const doc = element.ownerDocument;
- return _isViewportScrollElement(element, doc) ?
- // In practice, they will either both have the same value,
- // or one will be zero and the other will be the scroll position
- // of the viewport. So we can use `X || Y` instead of `Math.max(X, Y)`
- doc.body.scrollTop || doc.documentElement.scrollTop : element.scrollTop;
- },
-
- /**
- * @param {DOMElement} element
- * @param {number} newTop
- */
- setTop: function (element, newTop) {
- const doc = element.ownerDocument;
- if (_isViewportScrollElement(element, doc)) {
- doc.body.scrollTop = doc.documentElement.scrollTop = newTop;
- } else {
- element.scrollTop = newTop;
- }
- },
-
- /**
- * @param {DOMElement} element
- * @return {number}
- */
- getLeft: function (element) {
- const doc = element.ownerDocument;
- return _isViewportScrollElement(element, doc) ? doc.body.scrollLeft || doc.documentElement.scrollLeft : element.scrollLeft;
- },
-
- /**
- * @param {DOMElement} element
- * @param {number} newLeft
- */
- setLeft: function (element, newLeft) {
- const doc = element.ownerDocument;
- if (_isViewportScrollElement(element, doc)) {
- doc.body.scrollLeft = doc.documentElement.scrollLeft = newLeft;
- } else {
- element.scrollLeft = newLeft;
- }
- }
-};
-
-module.exports = Scroll;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/Set.js b/node_modules/fbjs/lib/Set.js
deleted file mode 100644
index c0ff64a..0000000
--- a/node_modules/fbjs/lib/Set.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-module.exports = require('core-js/library/es6/set');
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/Set.js.flow b/node_modules/fbjs/lib/Set.js.flow
deleted file mode 100644
index f566f70..0000000
--- a/node_modules/fbjs/lib/Set.js.flow
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule Set
- */
-
-module.exports = require('core-js/library/es6/set');
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/Style.js b/node_modules/fbjs/lib/Style.js
deleted file mode 100644
index 59bb86a..0000000
--- a/node_modules/fbjs/lib/Style.js
+++ /dev/null
@@ -1,63 +0,0 @@
-'use strict';
-
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @typechecks
- */
-
-var getStyleProperty = require('./getStyleProperty');
-
-/**
- * @param {DOMNode} element [description]
- * @param {string} name Overflow style property name.
- * @return {boolean} True if the supplied ndoe is scrollable.
- */
-function _isNodeScrollable(element, name) {
- var overflow = Style.get(element, name);
- return overflow === 'auto' || overflow === 'scroll';
-}
-
-/**
- * Utilities for querying and mutating style properties.
- */
-var Style = {
- /**
- * Gets the style property for the supplied node. This will return either the
- * computed style, if available, or the declared style.
- *
- * @param {DOMNode} node
- * @param {string} name Style property name.
- * @return {?string} Style property value.
- */
- get: getStyleProperty,
-
- /**
- * Determines the nearest ancestor of a node that is scrollable.
- *
- * NOTE: This can be expensive if used repeatedly or on a node nested deeply.
- *
- * @param {?DOMNode} node Node from which to start searching.
- * @return {?DOMWindow|DOMElement} Scroll parent of the supplied node.
- */
- getScrollParent: function getScrollParent(node) {
- if (!node) {
- return null;
- }
- while (node && node !== document.body) {
- if (_isNodeScrollable(node, 'overflow') || _isNodeScrollable(node, 'overflowY') || _isNodeScrollable(node, 'overflowX')) {
- return node;
- }
- node = node.parentNode;
- }
- return window;
- }
-
-};
-
-module.exports = Style;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/Style.js.flow b/node_modules/fbjs/lib/Style.js.flow
deleted file mode 100644
index 34f1d92..0000000
--- a/node_modules/fbjs/lib/Style.js.flow
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule Style
- * @typechecks
- */
-
-var getStyleProperty = require('./getStyleProperty');
-
-/**
- * @param {DOMNode} element [description]
- * @param {string} name Overflow style property name.
- * @return {boolean} True if the supplied ndoe is scrollable.
- */
-function _isNodeScrollable(element, name) {
- var overflow = Style.get(element, name);
- return overflow === 'auto' || overflow === 'scroll';
-}
-
-/**
- * Utilities for querying and mutating style properties.
- */
-var Style = {
- /**
- * Gets the style property for the supplied node. This will return either the
- * computed style, if available, or the declared style.
- *
- * @param {DOMNode} node
- * @param {string} name Style property name.
- * @return {?string} Style property value.
- */
- get: getStyleProperty,
-
- /**
- * Determines the nearest ancestor of a node that is scrollable.
- *
- * NOTE: This can be expensive if used repeatedly or on a node nested deeply.
- *
- * @param {?DOMNode} node Node from which to start searching.
- * @return {?DOMWindow|DOMElement} Scroll parent of the supplied node.
- */
- getScrollParent: function (node) {
- if (!node) {
- return null;
- }
- while (node && node !== document.body) {
- if (_isNodeScrollable(node, 'overflow') || _isNodeScrollable(node, 'overflowY') || _isNodeScrollable(node, 'overflowX')) {
- return node;
- }
- node = node.parentNode;
- }
- return window;
- }
-
-};
-
-module.exports = Style;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/TokenizeUtil.js b/node_modules/fbjs/lib/TokenizeUtil.js
deleted file mode 100644
index 48f4d0f..0000000
--- a/node_modules/fbjs/lib/TokenizeUtil.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @typechecks
- * @stub
- *
- */
-
-'use strict';
-
-// \u00a1-\u00b1\u00b4-\u00b8\u00ba\u00bb\u00bf
-// is latin supplement punctuation except fractions and superscript
-// numbers
-// \u2010-\u2027\u2030-\u205e
-// is punctuation from the general punctuation block:
-// weird quotes, commas, bullets, dashes, etc.
-// \u30fb\u3001\u3002\u3008-\u3011\u3014-\u301f
-// is CJK punctuation
-// \uff1a-\uff1f\uff01-\uff0f\uff3b-\uff40\uff5b-\uff65
-// is some full-width/half-width punctuation
-// \u2E2E\u061f\u066a-\u066c\u061b\u060c\u060d\uFD3e\uFD3F
-// is some Arabic punctuation marks
-// \u1801\u0964\u104a\u104b
-// is misc. other language punctuation marks
-
-var PUNCTUATION = '[.,+*?$|#{}()\'\\^\\-\\[\\]\\\\\\/!@%"~=<>_:;' + '・、。〈-】〔-〟:-?!-/' + '[-`{-・⸮؟٪-٬؛،؍' + '﴾﴿᠁।၊။‐-‧‰-⁞' + '¡-±´-¸º»¿]';
-
-module.exports = {
- getPunctuation: function getPunctuation() {
- return PUNCTUATION;
- }
-};
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/TokenizeUtil.js.flow b/node_modules/fbjs/lib/TokenizeUtil.js.flow
deleted file mode 100644
index 90a055c..0000000
--- a/node_modules/fbjs/lib/TokenizeUtil.js.flow
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule TokenizeUtil
- * @typechecks
- * @stub
- * @flow
- */
-
-'use strict';
-
-// \u00a1-\u00b1\u00b4-\u00b8\u00ba\u00bb\u00bf
-// is latin supplement punctuation except fractions and superscript
-// numbers
-// \u2010-\u2027\u2030-\u205e
-// is punctuation from the general punctuation block:
-// weird quotes, commas, bullets, dashes, etc.
-// \u30fb\u3001\u3002\u3008-\u3011\u3014-\u301f
-// is CJK punctuation
-// \uff1a-\uff1f\uff01-\uff0f\uff3b-\uff40\uff5b-\uff65
-// is some full-width/half-width punctuation
-// \u2E2E\u061f\u066a-\u066c\u061b\u060c\u060d\uFD3e\uFD3F
-// is some Arabic punctuation marks
-// \u1801\u0964\u104a\u104b
-// is misc. other language punctuation marks
-
-var PUNCTUATION = '[.,+*?$|#{}()\'\\^\\-\\[\\]\\\\\\/!@%"~=<>_:;' + '\u30fb\u3001\u3002\u3008-\u3011\u3014-\u301f\uff1a-\uff1f\uff01-\uff0f' + '\uff3b-\uff40\uff5b-\uff65\u2E2E\u061f\u066a-\u066c\u061b\u060c\u060d' + '\uFD3e\uFD3F\u1801\u0964\u104a\u104b\u2010-\u2027\u2030-\u205e' + '\u00a1-\u00b1\u00b4-\u00b8\u00ba\u00bb\u00bf]';
-
-module.exports = {
- getPunctuation: (): string => PUNCTUATION
-};
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/TouchEventUtils.js b/node_modules/fbjs/lib/TouchEventUtils.js
deleted file mode 100644
index 77b28ea..0000000
--- a/node_modules/fbjs/lib/TouchEventUtils.js
+++ /dev/null
@@ -1,34 +0,0 @@
-"use strict";
-
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-var TouchEventUtils = {
- /**
- * Utility function for common case of extracting out the primary touch from a
- * touch event.
- * - `touchEnd` events usually do not have the `touches` property.
- * http://stackoverflow.com/questions/3666929/
- * mobile-sarai-touchend-event-not-firing-when-last-touch-is-removed
- *
- * @param {Event} nativeEvent Native event that may or may not be a touch.
- * @return {TouchesObject?} an object with pageX and pageY or null.
- */
- extractSingleTouch: function extractSingleTouch(nativeEvent) {
- var touches = nativeEvent.touches;
- var changedTouches = nativeEvent.changedTouches;
- var hasTouches = touches && touches.length > 0;
- var hasChangedTouches = changedTouches && changedTouches.length > 0;
-
- return !hasTouches && hasChangedTouches ? changedTouches[0] : hasTouches ? touches[0] : nativeEvent;
- }
-};
-
-module.exports = TouchEventUtils;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/TouchEventUtils.js.flow b/node_modules/fbjs/lib/TouchEventUtils.js.flow
deleted file mode 100644
index b5a73ba..0000000
--- a/node_modules/fbjs/lib/TouchEventUtils.js.flow
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule TouchEventUtils
- */
-
-const TouchEventUtils = {
- /**
- * Utility function for common case of extracting out the primary touch from a
- * touch event.
- * - `touchEnd` events usually do not have the `touches` property.
- * http://stackoverflow.com/questions/3666929/
- * mobile-sarai-touchend-event-not-firing-when-last-touch-is-removed
- *
- * @param {Event} nativeEvent Native event that may or may not be a touch.
- * @return {TouchesObject?} an object with pageX and pageY or null.
- */
- extractSingleTouch: function (nativeEvent) {
- const touches = nativeEvent.touches;
- const changedTouches = nativeEvent.changedTouches;
- const hasTouches = touches && touches.length > 0;
- const hasChangedTouches = changedTouches && changedTouches.length > 0;
-
- return !hasTouches && hasChangedTouches ? changedTouches[0] : hasTouches ? touches[0] : nativeEvent;
- }
-};
-
-module.exports = TouchEventUtils;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/URI.js b/node_modules/fbjs/lib/URI.js
deleted file mode 100644
index bf1bd20..0000000
--- a/node_modules/fbjs/lib/URI.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- *
- */
-
-'use strict';
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-var URI = function () {
- function URI(uri) {
- _classCallCheck(this, URI);
-
- this._uri = uri;
- }
-
- URI.prototype.toString = function toString() {
- return this._uri;
- };
-
- return URI;
-}();
-
-module.exports = URI;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/URI.js.flow b/node_modules/fbjs/lib/URI.js.flow
deleted file mode 100644
index 5a901f1..0000000
--- a/node_modules/fbjs/lib/URI.js.flow
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule URI
- * @flow
- */
-
-'use strict';
-
-class URI {
- _uri: string;
-
- constructor(uri: string) {
- this._uri = uri;
- }
-
- toString(): string {
- return this._uri;
- }
-}
-
-module.exports = URI;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/UnicodeBidi.js b/node_modules/fbjs/lib/UnicodeBidi.js
deleted file mode 100644
index 67cb844..0000000
--- a/node_modules/fbjs/lib/UnicodeBidi.js
+++ /dev/null
@@ -1,156 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @typechecks
- *
- */
-
-/**
- * Basic (stateless) API for text direction detection
- *
- * Part of our implementation of Unicode Bidirectional Algorithm (UBA)
- * Unicode Standard Annex #9 (UAX9)
- * http://www.unicode.org/reports/tr9/
- */
-
-'use strict';
-
-var UnicodeBidiDirection = require('./UnicodeBidiDirection');
-
-var invariant = require('./invariant');
-
-/**
- * RegExp ranges of characters with a *Strong* Bidi_Class value.
- *
- * Data is based on DerivedBidiClass.txt in UCD version 7.0.0.
- *
- * NOTE: For performance reasons, we only support Unicode's
- * Basic Multilingual Plane (BMP) for now.
- */
-var RANGE_BY_BIDI_TYPE = {
-
- L: 'A-Za-zªµºÀ-ÖØ-öø-ƺƻ' + 'Ƽ-ƿǀ-ǃDŽ-ʓʔʕ-ʯʰ-ʸ' + 'ʻ-ˁː-ˑˠ-ˤˮͰ-ͳͶ-ͷ' + 'ͺͻ-ͽͿΆΈ-ΊΌΎ-Ρ' + 'Σ-ϵϷ-ҁ҂Ҋ-ԯԱ-Ֆՙ' + '՚-՟ա-և։ःऄ-हऻऽ' + 'ा-ीॉ-ौॎ-ॏॐक़-ॡ।-॥' + '०-९॰ॱॲ-ঀং-ঃঅ-ঌ' + 'এ-ঐও-নপ-রলশ-হঽ' + 'া-ীে-ৈো-ৌৎৗড়-ঢ়' + 'য়-ৡ০-৯ৰ-ৱ৴-৹৺ਃ' + 'ਅ-ਊਏ-ਐਓ-ਨਪ-ਰਲ-ਲ਼' + 'ਵ-ਸ਼ਸ-ਹਾ-ੀਖ਼-ੜਫ਼੦-੯' + 'ੲ-ੴઃઅ-ઍએ-ઑઓ-નપ-ર' + 'લ-ળવ-હઽા-ીૉો-ૌૐ' + 'ૠ-ૡ૦-૯૰ଂ-ଃଅ-ଌଏ-ଐ' + 'ଓ-ନପ-ରଲ-ଳଵ-ହଽାୀ' + 'େ-ୈୋ-ୌୗଡ଼-ଢ଼ୟ-ୡ୦-୯' + '୰ୱ୲-୷ஃஅ-ஊஎ-ஐஒ-க' + 'ங-சஜஞ-டண-தந-பம-ஹ' + 'ா-ிு-ூெ-ைொ-ௌௐௗ' + '௦-௯௰-௲ఁ-ఃఅ-ఌఎ-ఐ' + 'ఒ-నప-హఽు-ౄౘ-ౙౠ-ౡ' + '౦-౯౿ಂ-ಃಅ-ಌಎ-ಐಒ-ನ' + 'ಪ-ಳವ-ಹಽಾಿೀ-ೄೆ' + 'ೇ-ೈೊ-ೋೕ-ೖೞೠ-ೡ೦-೯' + 'ೱ-ೲം-ഃഅ-ഌഎ-ഐഒ-ഺഽ' + 'ാ-ീെ-ൈൊ-ൌൎൗൠ-ൡ' + '൦-൯൰-൵൹ൺ-ൿං-ඃඅ-ඖ' + 'ක-නඳ-රලව-ෆා-ෑෘ-ෟ' + '෦-෯ෲ-ෳ෴ก-ะา-ำเ-ๅ' + 'ๆ๏๐-๙๚-๛ກ-ຂຄງ-ຈ' + 'ຊຍດ-ທນ-ຟມ-ຣລວ' + 'ສ-ຫອ-ະາ-ຳຽເ-ໄໆ' + '໐-໙ໜ-ໟༀ༁-༃༄-༒༓༔' + '༕-༗༚-༟༠-༩༪-༳༴༶༸' + '༾-༿ཀ-ཇཉ-ཬཿ྅ྈ-ྌ' + '྾-࿅࿇-࿌࿎-࿏࿐-࿔࿕-࿘' + '࿙-࿚က-ဪါ-ာေးျ-ြဿ' + '၀-၉၊-၏ၐ-ၕၖ-ၗၚ-ၝၡ' + 'ၢ-ၤၥ-ၦၧ-ၭၮ-ၰၵ-ႁ' + 'ႃ-ႄႇ-ႌႎႏ႐-႙ႚ-ႜ' + '႞-႟Ⴀ-ჅჇჍა-ჺ჻ჼ' + 'ჽ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈ' + 'ኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅ' + 'ወ-ዖዘ-ጐጒ-ጕጘ-ፚ፠-፨' + '፩-፼ᎀ-ᎏᎠ-Ᏼᐁ-ᙬ᙭-᙮' + 'ᙯ-ᙿᚁ-ᚚᚠ-ᛪ᛫-᛭ᛮ-ᛰ' + 'ᛱ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱ᜵-᜶' + 'ᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳាើ-ៅ' + 'ះ-ៈ។-៖ៗ៘-៚ៜ០-៩' + '᠐-᠙ᠠ-ᡂᡃᡄ-ᡷᢀ-ᢨᢪ' + 'ᢰ-ᣵᤀ-ᤞᤣ-ᤦᤩ-ᤫᤰ-ᤱ' + 'ᤳ-ᤸ᥆-᥏ᥐ-ᥭᥰ-ᥴᦀ-ᦫ' + 'ᦰ-ᧀᧁ-ᧇᧈ-ᧉ᧐-᧙᧚ᨀ-ᨖ' + 'ᨙ-ᨚ᨞-᨟ᨠ-ᩔᩕᩗᩡᩣ-ᩤ' + 'ᩭ-ᩲ᪀-᪉᪐-᪙᪠-᪦ᪧ᪨-᪭' + 'ᬄᬅ-ᬳᬵᬻᬽ-ᭁᭃ-᭄ᭅ-ᭋ' + '᭐-᭙᭚-᭠᭡-᭪᭴-᭼ᮂᮃ-ᮠ' + 'ᮡᮦ-ᮧ᮪ᮮ-ᮯ᮰-᮹ᮺ-ᯥᯧ' + 'ᯪ-ᯬᯮ᯲-᯳᯼-᯿ᰀ-ᰣᰤ-ᰫ' + 'ᰴ-ᰵ᰻-᰿᱀-᱉ᱍ-ᱏ᱐-᱙' + 'ᱚ-ᱷᱸ-ᱽ᱾-᱿᳀-᳇᳓᳡' + 'ᳩ-ᳬᳮ-ᳱᳲ-ᳳᳵ-ᳶᴀ-ᴫ' + 'ᴬ-ᵪᵫ-ᵷᵸᵹ-ᶚᶛ-ᶿḀ-ἕ' + 'Ἐ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝ' + 'Ὗ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌ' + 'ῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼ' + 'ⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝ' + 'ℤΩℨK-ℭℯ-ℴℵ-ℸℹ' + 'ℼ-ℿⅅ-ⅉⅎ⅏Ⅰ-ↂↃ-ↄ' + 'ↅ-ↈ⌶-⍺⎕⒜-ⓩ⚬⠀-⣿' + 'Ⰰ-Ⱞⰰ-ⱞⱠ-ⱻⱼ-ⱽⱾ-ⳤ' + 'Ⳬ-ⳮⳲ-ⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯ' + '⵰ⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾ' + 'ⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々〆〇' + '〡-〩〮-〯〱-〵〸-〺〻〼' + 'ぁ-ゖゝ-ゞゟァ-ヺー-ヾヿ' + 'ㄅ-ㄭㄱ-ㆎ㆐-㆑㆒-㆕㆖-㆟' + 'ㆠ-ㆺㇰ-ㇿ㈀-㈜㈠-㈩㈪-㉇' + '㉈-㉏㉠-㉻㉿㊀-㊉㊊-㊰㋀-㋋' + '㋐-㋾㌀-㍶㍻-㏝㏠-㏾㐀-䶵' + '一-鿌ꀀ-ꀔꀕꀖ-ꒌꓐ-ꓷꓸ-ꓽ' + '꓾-꓿ꔀ-ꘋꘌꘐ-ꘟ꘠-꘩ꘪ-ꘫ' + 'Ꙁ-ꙭꙮꚀ-ꚛꚜ-ꚝꚠ-ꛥꛦ-ꛯ' + '꛲-꛷Ꜣ-ꝯꝰꝱ-ꞇ꞉-꞊Ꞌ-ꞎ' + 'Ꞑ-ꞭꞰ-Ʇꟷꟸ-ꟹꟺꟻ-ꠁ' + 'ꠃ-ꠅꠇ-ꠊꠌ-ꠢꠣ-ꠤꠧ꠰-꠵' + '꠶-꠷ꡀ-ꡳꢀ-ꢁꢂ-ꢳꢴ-ꣃ' + '꣎-꣏꣐-꣙ꣲ-ꣷ꣸-꣺ꣻ꤀-꤉' + 'ꤊ-ꤥ꤮-꤯ꤰ-ꥆꥒ-꥓꥟ꥠ-ꥼ' + 'ꦃꦄ-ꦲꦴ-ꦵꦺ-ꦻꦽ-꧀꧁-꧍' + 'ꧏ꧐-꧙꧞-꧟ꧠ-ꧤꧦꧧ-ꧯ' + '꧰-꧹ꧺ-ꧾꨀ-ꨨꨯ-ꨰꨳ-ꨴ' + 'ꩀ-ꩂꩄ-ꩋꩍ꩐-꩙꩜-꩟ꩠ-ꩯ' + 'ꩰꩱ-ꩶ꩷-꩹ꩺꩻꩽꩾ-ꪯꪱ' + 'ꪵ-ꪶꪹ-ꪽꫀꫂꫛ-ꫜꫝ꫞-꫟' + 'ꫠ-ꫪꫫꫮ-ꫯ꫰-꫱ꫲꫳ-ꫴꫵ' + 'ꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮ' + 'ꬰ-ꭚ꭛ꭜ-ꭟꭤ-ꭥꯀ-ꯢꯣ-ꯤ' + 'ꯦ-ꯧꯩ-ꯪ꯫꯬꯰-꯹가-힣' + 'ힰ-ퟆퟋ-ퟻ-豈-舘並-龎' + 'ff-stﬓ-ﬗA-Za-zヲ-ッー' + 'ア-ン゙-゚ᅠ-하-ᅦᅧ-ᅬ' + 'ᅭ-ᅲᅳ-ᅵ',
-
- R: '־׀׃׆-א-ת-ׯ' + 'װ-ײ׳-״-߀-߉ߊ-ߪ' + 'ߴ-ߵߺ-߿ࠀ-ࠕࠚࠤࠨ' + '-࠰-࠾ࡀ-ࡘ-࡞' + '-࢟יִײַ-ﬨשׁ-זּטּ-לּ' + 'מּנּ-סּףּ-פּצּ-ﭏ',
-
- AL: '؈؋؍؛؝؞-؟ؠ-ؿـ' + 'ف-ي٭ٮ-ٯٱ-ۓ۔ەۥ-ۦ' + 'ۮ-ۯۺ-ۼ۽-۾ۿ܀-܍' + 'ܐܒ-ܯ-ݍ-ޥޱ-' + 'ࢠ-ࢲࢳ-ࣣﭐ-ﮱ﮲-﯁﯂-' + 'ﯓ-ﴽ﵀-﵏ﵐ-ﶏ-ﶒ-ﷇ' + '-﷏ﷰ-ﷻ﷼﷾-﷿ﹰ-ﹴ' + 'ﹶ-ﻼ-'
-
-};
-
-var REGEX_STRONG = new RegExp('[' + RANGE_BY_BIDI_TYPE.L + RANGE_BY_BIDI_TYPE.R + RANGE_BY_BIDI_TYPE.AL + ']');
-
-var REGEX_RTL = new RegExp('[' + RANGE_BY_BIDI_TYPE.R + RANGE_BY_BIDI_TYPE.AL + ']');
-
-/**
- * Returns the first strong character (has Bidi_Class value of L, R, or AL).
- *
- * @param str A text block; e.g. paragraph, table cell, tag
- * @return A character with strong bidi direction, or null if not found
- */
-function firstStrongChar(str) {
- var match = REGEX_STRONG.exec(str);
- return match == null ? null : match[0];
-}
-
-/**
- * Returns the direction of a block of text, based on the direction of its
- * first strong character (has Bidi_Class value of L, R, or AL).
- *
- * @param str A text block; e.g. paragraph, table cell, tag
- * @return The resolved direction
- */
-function firstStrongCharDir(str) {
- var strongChar = firstStrongChar(str);
- if (strongChar == null) {
- return UnicodeBidiDirection.NEUTRAL;
- }
- return REGEX_RTL.exec(strongChar) ? UnicodeBidiDirection.RTL : UnicodeBidiDirection.LTR;
-}
-
-/**
- * Returns the direction of a block of text, based on the direction of its
- * first strong character (has Bidi_Class value of L, R, or AL), or a fallback
- * direction, if no strong character is found.
- *
- * This function is supposed to be used in respect to Higher-Level Protocol
- * rule HL1. (http://www.unicode.org/reports/tr9/#HL1)
- *
- * @param str A text block; e.g. paragraph, table cell, tag
- * @param fallback Fallback direction, used if no strong direction detected
- * for the block (default = NEUTRAL)
- * @return The resolved direction
- */
-function resolveBlockDir(str, fallback) {
- fallback = fallback || UnicodeBidiDirection.NEUTRAL;
- if (!str.length) {
- return fallback;
- }
- var blockDir = firstStrongCharDir(str);
- return blockDir === UnicodeBidiDirection.NEUTRAL ? fallback : blockDir;
-}
-
-/**
- * Returns the direction of a block of text, based on the direction of its
- * first strong character (has Bidi_Class value of L, R, or AL), or a fallback
- * direction, if no strong character is found.
- *
- * NOTE: This function is similar to resolveBlockDir(), but uses the global
- * direction as the fallback, so it *always* returns a Strong direction,
- * making it useful for integration in places that you need to make the final
- * decision, like setting some CSS class.
- *
- * This function is supposed to be used in respect to Higher-Level Protocol
- * rule HL1. (http://www.unicode.org/reports/tr9/#HL1)
- *
- * @param str A text block; e.g. paragraph, table cell
- * @param strongFallback Fallback direction, used if no strong direction
- * detected for the block (default = global direction)
- * @return The resolved Strong direction
- */
-function getDirection(str, strongFallback) {
- if (!strongFallback) {
- strongFallback = UnicodeBidiDirection.getGlobalDir();
- }
- !UnicodeBidiDirection.isStrong(strongFallback) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Fallback direction must be a strong direction') : invariant(false) : void 0;
- return resolveBlockDir(str, strongFallback);
-}
-
-/**
- * Returns true if getDirection(arguments...) returns LTR.
- *
- * @param str A text block; e.g. paragraph, table cell
- * @param strongFallback Fallback direction, used if no strong direction
- * detected for the block (default = global direction)
- * @return True if the resolved direction is LTR
- */
-function isDirectionLTR(str, strongFallback) {
- return getDirection(str, strongFallback) === UnicodeBidiDirection.LTR;
-}
-
-/**
- * Returns true if getDirection(arguments...) returns RTL.
- *
- * @param str A text block; e.g. paragraph, table cell
- * @param strongFallback Fallback direction, used if no strong direction
- * detected for the block (default = global direction)
- * @return True if the resolved direction is RTL
- */
-function isDirectionRTL(str, strongFallback) {
- return getDirection(str, strongFallback) === UnicodeBidiDirection.RTL;
-}
-
-var UnicodeBidi = {
- firstStrongChar: firstStrongChar,
- firstStrongCharDir: firstStrongCharDir,
- resolveBlockDir: resolveBlockDir,
- getDirection: getDirection,
- isDirectionLTR: isDirectionLTR,
- isDirectionRTL: isDirectionRTL
-};
-
-module.exports = UnicodeBidi;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/UnicodeBidi.js.flow b/node_modules/fbjs/lib/UnicodeBidi.js.flow
deleted file mode 100644
index 419ba32..0000000
--- a/node_modules/fbjs/lib/UnicodeBidi.js.flow
+++ /dev/null
@@ -1,159 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule UnicodeBidi
- * @typechecks
- * @flow
- */
-
-/**
- * Basic (stateless) API for text direction detection
- *
- * Part of our implementation of Unicode Bidirectional Algorithm (UBA)
- * Unicode Standard Annex #9 (UAX9)
- * http://www.unicode.org/reports/tr9/
- */
-
-'use strict';
-
-const UnicodeBidiDirection = require('./UnicodeBidiDirection');
-
-const invariant = require('./invariant');
-
-import type { BidiDirection } from './UnicodeBidiDirection';
-
-/**
- * RegExp ranges of characters with a *Strong* Bidi_Class value.
- *
- * Data is based on DerivedBidiClass.txt in UCD version 7.0.0.
- *
- * NOTE: For performance reasons, we only support Unicode's
- * Basic Multilingual Plane (BMP) for now.
- */
-const RANGE_BY_BIDI_TYPE = {
-
- L: 'A-Za-z\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u01BA\u01BB' + '\u01BC-\u01BF\u01C0-\u01C3\u01C4-\u0293\u0294\u0295-\u02AF\u02B0-\u02B8' + '\u02BB-\u02C1\u02D0-\u02D1\u02E0-\u02E4\u02EE\u0370-\u0373\u0376-\u0377' + '\u037A\u037B-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1' + '\u03A3-\u03F5\u03F7-\u0481\u0482\u048A-\u052F\u0531-\u0556\u0559' + '\u055A-\u055F\u0561-\u0587\u0589\u0903\u0904-\u0939\u093B\u093D' + '\u093E-\u0940\u0949-\u094C\u094E-\u094F\u0950\u0958-\u0961\u0964-\u0965' + '\u0966-\u096F\u0970\u0971\u0972-\u0980\u0982-\u0983\u0985-\u098C' + '\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD' + '\u09BE-\u09C0\u09C7-\u09C8\u09CB-\u09CC\u09CE\u09D7\u09DC-\u09DD' + '\u09DF-\u09E1\u09E6-\u09EF\u09F0-\u09F1\u09F4-\u09F9\u09FA\u0A03' + '\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33' + '\u0A35-\u0A36\u0A38-\u0A39\u0A3E-\u0A40\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F' + '\u0A72-\u0A74\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0' + '\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0ABE-\u0AC0\u0AC9\u0ACB-\u0ACC\u0AD0' + '\u0AE0-\u0AE1\u0AE6-\u0AEF\u0AF0\u0B02-\u0B03\u0B05-\u0B0C\u0B0F-\u0B10' + '\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B3E\u0B40' + '\u0B47-\u0B48\u0B4B-\u0B4C\u0B57\u0B5C-\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F' + '\u0B70\u0B71\u0B72-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95' + '\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9' + '\u0BBE-\u0BBF\u0BC1-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD0\u0BD7' + '\u0BE6-\u0BEF\u0BF0-\u0BF2\u0C01-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10' + '\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C41-\u0C44\u0C58-\u0C59\u0C60-\u0C61' + '\u0C66-\u0C6F\u0C7F\u0C82-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8' + '\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CBE\u0CBF\u0CC0-\u0CC4\u0CC6' + '\u0CC7-\u0CC8\u0CCA-\u0CCB\u0CD5-\u0CD6\u0CDE\u0CE0-\u0CE1\u0CE6-\u0CEF' + '\u0CF1-\u0CF2\u0D02-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D' + '\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D4E\u0D57\u0D60-\u0D61' + '\u0D66-\u0D6F\u0D70-\u0D75\u0D79\u0D7A-\u0D7F\u0D82-\u0D83\u0D85-\u0D96' + '\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCF-\u0DD1\u0DD8-\u0DDF' + '\u0DE6-\u0DEF\u0DF2-\u0DF3\u0DF4\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E45' + '\u0E46\u0E4F\u0E50-\u0E59\u0E5A-\u0E5B\u0E81-\u0E82\u0E84\u0E87-\u0E88' + '\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7' + '\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6' + '\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F01-\u0F03\u0F04-\u0F12\u0F13\u0F14' + '\u0F15-\u0F17\u0F1A-\u0F1F\u0F20-\u0F29\u0F2A-\u0F33\u0F34\u0F36\u0F38' + '\u0F3E-\u0F3F\u0F40-\u0F47\u0F49-\u0F6C\u0F7F\u0F85\u0F88-\u0F8C' + '\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE-\u0FCF\u0FD0-\u0FD4\u0FD5-\u0FD8' + '\u0FD9-\u0FDA\u1000-\u102A\u102B-\u102C\u1031\u1038\u103B-\u103C\u103F' + '\u1040-\u1049\u104A-\u104F\u1050-\u1055\u1056-\u1057\u105A-\u105D\u1061' + '\u1062-\u1064\u1065-\u1066\u1067-\u106D\u106E-\u1070\u1075-\u1081' + '\u1083-\u1084\u1087-\u108C\u108E\u108F\u1090-\u1099\u109A-\u109C' + '\u109E-\u109F\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FB\u10FC' + '\u10FD-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288' + '\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5' + '\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1360-\u1368' + '\u1369-\u137C\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166D-\u166E' + '\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EB-\u16ED\u16EE-\u16F0' + '\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1735-\u1736' + '\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17B6\u17BE-\u17C5' + '\u17C7-\u17C8\u17D4-\u17D6\u17D7\u17D8-\u17DA\u17DC\u17E0-\u17E9' + '\u1810-\u1819\u1820-\u1842\u1843\u1844-\u1877\u1880-\u18A8\u18AA' + '\u18B0-\u18F5\u1900-\u191E\u1923-\u1926\u1929-\u192B\u1930-\u1931' + '\u1933-\u1938\u1946-\u194F\u1950-\u196D\u1970-\u1974\u1980-\u19AB' + '\u19B0-\u19C0\u19C1-\u19C7\u19C8-\u19C9\u19D0-\u19D9\u19DA\u1A00-\u1A16' + '\u1A19-\u1A1A\u1A1E-\u1A1F\u1A20-\u1A54\u1A55\u1A57\u1A61\u1A63-\u1A64' + '\u1A6D-\u1A72\u1A80-\u1A89\u1A90-\u1A99\u1AA0-\u1AA6\u1AA7\u1AA8-\u1AAD' + '\u1B04\u1B05-\u1B33\u1B35\u1B3B\u1B3D-\u1B41\u1B43-\u1B44\u1B45-\u1B4B' + '\u1B50-\u1B59\u1B5A-\u1B60\u1B61-\u1B6A\u1B74-\u1B7C\u1B82\u1B83-\u1BA0' + '\u1BA1\u1BA6-\u1BA7\u1BAA\u1BAE-\u1BAF\u1BB0-\u1BB9\u1BBA-\u1BE5\u1BE7' + '\u1BEA-\u1BEC\u1BEE\u1BF2-\u1BF3\u1BFC-\u1BFF\u1C00-\u1C23\u1C24-\u1C2B' + '\u1C34-\u1C35\u1C3B-\u1C3F\u1C40-\u1C49\u1C4D-\u1C4F\u1C50-\u1C59' + '\u1C5A-\u1C77\u1C78-\u1C7D\u1C7E-\u1C7F\u1CC0-\u1CC7\u1CD3\u1CE1' + '\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF2-\u1CF3\u1CF5-\u1CF6\u1D00-\u1D2B' + '\u1D2C-\u1D6A\u1D6B-\u1D77\u1D78\u1D79-\u1D9A\u1D9B-\u1DBF\u1E00-\u1F15' + '\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D' + '\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC' + '\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200E' + '\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D' + '\u2124\u2126\u2128\u212A-\u212D\u212F-\u2134\u2135-\u2138\u2139' + '\u213C-\u213F\u2145-\u2149\u214E\u214F\u2160-\u2182\u2183-\u2184' + '\u2185-\u2188\u2336-\u237A\u2395\u249C-\u24E9\u26AC\u2800-\u28FF' + '\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2C7B\u2C7C-\u2C7D\u2C7E-\u2CE4' + '\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F' + '\u2D70\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE' + '\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005\u3006\u3007' + '\u3021-\u3029\u302E-\u302F\u3031-\u3035\u3038-\u303A\u303B\u303C' + '\u3041-\u3096\u309D-\u309E\u309F\u30A1-\u30FA\u30FC-\u30FE\u30FF' + '\u3105-\u312D\u3131-\u318E\u3190-\u3191\u3192-\u3195\u3196-\u319F' + '\u31A0-\u31BA\u31F0-\u31FF\u3200-\u321C\u3220-\u3229\u322A-\u3247' + '\u3248-\u324F\u3260-\u327B\u327F\u3280-\u3289\u328A-\u32B0\u32C0-\u32CB' + '\u32D0-\u32FE\u3300-\u3376\u337B-\u33DD\u33E0-\u33FE\u3400-\u4DB5' + '\u4E00-\u9FCC\uA000-\uA014\uA015\uA016-\uA48C\uA4D0-\uA4F7\uA4F8-\uA4FD' + '\uA4FE-\uA4FF\uA500-\uA60B\uA60C\uA610-\uA61F\uA620-\uA629\uA62A-\uA62B' + '\uA640-\uA66D\uA66E\uA680-\uA69B\uA69C-\uA69D\uA6A0-\uA6E5\uA6E6-\uA6EF' + '\uA6F2-\uA6F7\uA722-\uA76F\uA770\uA771-\uA787\uA789-\uA78A\uA78B-\uA78E' + '\uA790-\uA7AD\uA7B0-\uA7B1\uA7F7\uA7F8-\uA7F9\uA7FA\uA7FB-\uA801' + '\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA823-\uA824\uA827\uA830-\uA835' + '\uA836-\uA837\uA840-\uA873\uA880-\uA881\uA882-\uA8B3\uA8B4-\uA8C3' + '\uA8CE-\uA8CF\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8F8-\uA8FA\uA8FB\uA900-\uA909' + '\uA90A-\uA925\uA92E-\uA92F\uA930-\uA946\uA952-\uA953\uA95F\uA960-\uA97C' + '\uA983\uA984-\uA9B2\uA9B4-\uA9B5\uA9BA-\uA9BB\uA9BD-\uA9C0\uA9C1-\uA9CD' + '\uA9CF\uA9D0-\uA9D9\uA9DE-\uA9DF\uA9E0-\uA9E4\uA9E6\uA9E7-\uA9EF' + '\uA9F0-\uA9F9\uA9FA-\uA9FE\uAA00-\uAA28\uAA2F-\uAA30\uAA33-\uAA34' + '\uAA40-\uAA42\uAA44-\uAA4B\uAA4D\uAA50-\uAA59\uAA5C-\uAA5F\uAA60-\uAA6F' + '\uAA70\uAA71-\uAA76\uAA77-\uAA79\uAA7A\uAA7B\uAA7D\uAA7E-\uAAAF\uAAB1' + '\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADC\uAADD\uAADE-\uAADF' + '\uAAE0-\uAAEA\uAAEB\uAAEE-\uAAEF\uAAF0-\uAAF1\uAAF2\uAAF3-\uAAF4\uAAF5' + '\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E' + '\uAB30-\uAB5A\uAB5B\uAB5C-\uAB5F\uAB64-\uAB65\uABC0-\uABE2\uABE3-\uABE4' + '\uABE6-\uABE7\uABE9-\uABEA\uABEB\uABEC\uABF0-\uABF9\uAC00-\uD7A3' + '\uD7B0-\uD7C6\uD7CB-\uD7FB\uE000-\uF8FF\uF900-\uFA6D\uFA70-\uFAD9' + '\uFB00-\uFB06\uFB13-\uFB17\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFF6F\uFF70' + '\uFF71-\uFF9D\uFF9E-\uFF9F\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF' + '\uFFD2-\uFFD7\uFFDA-\uFFDC',
-
- R: '\u0590\u05BE\u05C0\u05C3\u05C6\u05C8-\u05CF\u05D0-\u05EA\u05EB-\u05EF' + '\u05F0-\u05F2\u05F3-\u05F4\u05F5-\u05FF\u07C0-\u07C9\u07CA-\u07EA' + '\u07F4-\u07F5\u07FA\u07FB-\u07FF\u0800-\u0815\u081A\u0824\u0828' + '\u082E-\u082F\u0830-\u083E\u083F\u0840-\u0858\u085C-\u085D\u085E' + '\u085F-\u089F\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB37\uFB38-\uFB3C' + '\uFB3D\uFB3E\uFB3F\uFB40-\uFB41\uFB42\uFB43-\uFB44\uFB45\uFB46-\uFB4F',
-
- AL: '\u0608\u060B\u060D\u061B\u061C\u061D\u061E-\u061F\u0620-\u063F\u0640' + '\u0641-\u064A\u066D\u066E-\u066F\u0671-\u06D3\u06D4\u06D5\u06E5-\u06E6' + '\u06EE-\u06EF\u06FA-\u06FC\u06FD-\u06FE\u06FF\u0700-\u070D\u070E\u070F' + '\u0710\u0712-\u072F\u074B-\u074C\u074D-\u07A5\u07B1\u07B2-\u07BF' + '\u08A0-\u08B2\u08B3-\u08E3\uFB50-\uFBB1\uFBB2-\uFBC1\uFBC2-\uFBD2' + '\uFBD3-\uFD3D\uFD40-\uFD4F\uFD50-\uFD8F\uFD90-\uFD91\uFD92-\uFDC7' + '\uFDC8-\uFDCF\uFDF0-\uFDFB\uFDFC\uFDFE-\uFDFF\uFE70-\uFE74\uFE75' + '\uFE76-\uFEFC\uFEFD-\uFEFE'
-
-};
-
-const REGEX_STRONG = new RegExp('[' + RANGE_BY_BIDI_TYPE.L + RANGE_BY_BIDI_TYPE.R + RANGE_BY_BIDI_TYPE.AL + ']');
-
-const REGEX_RTL = new RegExp('[' + RANGE_BY_BIDI_TYPE.R + RANGE_BY_BIDI_TYPE.AL + ']');
-
-/**
- * Returns the first strong character (has Bidi_Class value of L, R, or AL).
- *
- * @param str A text block; e.g. paragraph, table cell, tag
- * @return A character with strong bidi direction, or null if not found
- */
-function firstStrongChar(str: string): ?string {
- const match = REGEX_STRONG.exec(str);
- return match == null ? null : match[0];
-}
-
-/**
- * Returns the direction of a block of text, based on the direction of its
- * first strong character (has Bidi_Class value of L, R, or AL).
- *
- * @param str A text block; e.g. paragraph, table cell, tag
- * @return The resolved direction
- */
-function firstStrongCharDir(str: string): BidiDirection {
- const strongChar = firstStrongChar(str);
- if (strongChar == null) {
- return UnicodeBidiDirection.NEUTRAL;
- }
- return REGEX_RTL.exec(strongChar) ? UnicodeBidiDirection.RTL : UnicodeBidiDirection.LTR;
-}
-
-/**
- * Returns the direction of a block of text, based on the direction of its
- * first strong character (has Bidi_Class value of L, R, or AL), or a fallback
- * direction, if no strong character is found.
- *
- * This function is supposed to be used in respect to Higher-Level Protocol
- * rule HL1. (http://www.unicode.org/reports/tr9/#HL1)
- *
- * @param str A text block; e.g. paragraph, table cell, tag
- * @param fallback Fallback direction, used if no strong direction detected
- * for the block (default = NEUTRAL)
- * @return The resolved direction
- */
-function resolveBlockDir(str: string, fallback: ?BidiDirection): BidiDirection {
- fallback = fallback || UnicodeBidiDirection.NEUTRAL;
- if (!str.length) {
- return fallback;
- }
- const blockDir = firstStrongCharDir(str);
- return blockDir === UnicodeBidiDirection.NEUTRAL ? fallback : blockDir;
-}
-
-/**
- * Returns the direction of a block of text, based on the direction of its
- * first strong character (has Bidi_Class value of L, R, or AL), or a fallback
- * direction, if no strong character is found.
- *
- * NOTE: This function is similar to resolveBlockDir(), but uses the global
- * direction as the fallback, so it *always* returns a Strong direction,
- * making it useful for integration in places that you need to make the final
- * decision, like setting some CSS class.
- *
- * This function is supposed to be used in respect to Higher-Level Protocol
- * rule HL1. (http://www.unicode.org/reports/tr9/#HL1)
- *
- * @param str A text block; e.g. paragraph, table cell
- * @param strongFallback Fallback direction, used if no strong direction
- * detected for the block (default = global direction)
- * @return The resolved Strong direction
- */
-function getDirection(str: string, strongFallback: ?BidiDirection): BidiDirection {
- if (!strongFallback) {
- strongFallback = UnicodeBidiDirection.getGlobalDir();
- }
- invariant(UnicodeBidiDirection.isStrong(strongFallback), 'Fallback direction must be a strong direction');
- return resolveBlockDir(str, strongFallback);
-}
-
-/**
- * Returns true if getDirection(arguments...) returns LTR.
- *
- * @param str A text block; e.g. paragraph, table cell
- * @param strongFallback Fallback direction, used if no strong direction
- * detected for the block (default = global direction)
- * @return True if the resolved direction is LTR
- */
-function isDirectionLTR(str: string, strongFallback: ?BidiDirection): bool {
- return getDirection(str, strongFallback) === UnicodeBidiDirection.LTR;
-}
-
-/**
- * Returns true if getDirection(arguments...) returns RTL.
- *
- * @param str A text block; e.g. paragraph, table cell
- * @param strongFallback Fallback direction, used if no strong direction
- * detected for the block (default = global direction)
- * @return True if the resolved direction is RTL
- */
-function isDirectionRTL(str: string, strongFallback: ?BidiDirection): bool {
- return getDirection(str, strongFallback) === UnicodeBidiDirection.RTL;
-}
-
-const UnicodeBidi = {
- firstStrongChar: firstStrongChar,
- firstStrongCharDir: firstStrongCharDir,
- resolveBlockDir: resolveBlockDir,
- getDirection: getDirection,
- isDirectionLTR: isDirectionLTR,
- isDirectionRTL: isDirectionRTL
-};
-
-module.exports = UnicodeBidi;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/UnicodeBidiDirection.js b/node_modules/fbjs/lib/UnicodeBidiDirection.js
deleted file mode 100644
index c52c807..0000000
--- a/node_modules/fbjs/lib/UnicodeBidiDirection.js
+++ /dev/null
@@ -1,108 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @typechecks
- *
- */
-
-/**
- * Constants to represent text directionality
- *
- * Also defines a *global* direciton, to be used in bidi algorithms as a
- * default fallback direciton, when no better direction is found or provided.
- *
- * NOTE: Use `setGlobalDir()`, or update `initGlobalDir()`, to set the initial
- * global direction value based on the application.
- *
- * Part of the implementation of Unicode Bidirectional Algorithm (UBA)
- * Unicode Standard Annex #9 (UAX9)
- * http://www.unicode.org/reports/tr9/
- */
-
-'use strict';
-
-var invariant = require('./invariant');
-
-var NEUTRAL = 'NEUTRAL'; // No strong direction
-var LTR = 'LTR'; // Left-to-Right direction
-var RTL = 'RTL'; // Right-to-Left direction
-
-var globalDir = null;
-
-// == Helpers ==
-
-/**
- * Check if a directionality value is a Strong one
- */
-function isStrong(dir) {
- return dir === LTR || dir === RTL;
-}
-
-/**
- * Get string value to be used for `dir` HTML attribute or `direction` CSS
- * property.
- */
-function getHTMLDir(dir) {
- !isStrong(dir) ? process.env.NODE_ENV !== 'production' ? invariant(false, '`dir` must be a strong direction to be converted to HTML Direction') : invariant(false) : void 0;
- return dir === LTR ? 'ltr' : 'rtl';
-}
-
-/**
- * Get string value to be used for `dir` HTML attribute or `direction` CSS
- * property, but returns null if `dir` has same value as `otherDir`.
- * `null`.
- */
-function getHTMLDirIfDifferent(dir, otherDir) {
- !isStrong(dir) ? process.env.NODE_ENV !== 'production' ? invariant(false, '`dir` must be a strong direction to be converted to HTML Direction') : invariant(false) : void 0;
- !isStrong(otherDir) ? process.env.NODE_ENV !== 'production' ? invariant(false, '`otherDir` must be a strong direction to be converted to HTML Direction') : invariant(false) : void 0;
- return dir === otherDir ? null : getHTMLDir(dir);
-}
-
-// == Global Direction ==
-
-/**
- * Set the global direction.
- */
-function setGlobalDir(dir) {
- globalDir = dir;
-}
-
-/**
- * Initialize the global direction
- */
-function initGlobalDir() {
- setGlobalDir(LTR);
-}
-
-/**
- * Get the global direction
- */
-function getGlobalDir() {
- if (!globalDir) {
- this.initGlobalDir();
- }
- !globalDir ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Global direction not set.') : invariant(false) : void 0;
- return globalDir;
-}
-
-var UnicodeBidiDirection = {
- // Values
- NEUTRAL: NEUTRAL,
- LTR: LTR,
- RTL: RTL,
- // Helpers
- isStrong: isStrong,
- getHTMLDir: getHTMLDir,
- getHTMLDirIfDifferent: getHTMLDirIfDifferent,
- // Global Direction
- setGlobalDir: setGlobalDir,
- initGlobalDir: initGlobalDir,
- getGlobalDir: getGlobalDir
-};
-
-module.exports = UnicodeBidiDirection;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/UnicodeBidiDirection.js.flow b/node_modules/fbjs/lib/UnicodeBidiDirection.js.flow
deleted file mode 100644
index 79f10bc..0000000
--- a/node_modules/fbjs/lib/UnicodeBidiDirection.js.flow
+++ /dev/null
@@ -1,112 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule UnicodeBidiDirection
- * @typechecks
- * @flow
- */
-
-/**
- * Constants to represent text directionality
- *
- * Also defines a *global* direciton, to be used in bidi algorithms as a
- * default fallback direciton, when no better direction is found or provided.
- *
- * NOTE: Use `setGlobalDir()`, or update `initGlobalDir()`, to set the initial
- * global direction value based on the application.
- *
- * Part of the implementation of Unicode Bidirectional Algorithm (UBA)
- * Unicode Standard Annex #9 (UAX9)
- * http://www.unicode.org/reports/tr9/
- */
-
-'use strict';
-
-const invariant = require('./invariant');
-
-export type BidiDirection = 'LTR' | 'RTL' | 'NEUTRAL';
-export type HTMLDir = 'ltr' | 'rtl';
-
-const NEUTRAL = 'NEUTRAL'; // No strong direction
-const LTR = 'LTR'; // Left-to-Right direction
-const RTL = 'RTL'; // Right-to-Left direction
-
-let globalDir: ?BidiDirection = null;
-
-// == Helpers ==
-
-/**
- * Check if a directionality value is a Strong one
- */
-function isStrong(dir: BidiDirection): bool {
- return dir === LTR || dir === RTL;
-}
-
-/**
- * Get string value to be used for `dir` HTML attribute or `direction` CSS
- * property.
- */
-function getHTMLDir(dir: BidiDirection): HTMLDir {
- invariant(isStrong(dir), '`dir` must be a strong direction to be converted to HTML Direction');
- return dir === LTR ? 'ltr' : 'rtl';
-}
-
-/**
- * Get string value to be used for `dir` HTML attribute or `direction` CSS
- * property, but returns null if `dir` has same value as `otherDir`.
- * `null`.
- */
-function getHTMLDirIfDifferent(dir: BidiDirection, otherDir: BidiDirection): ?HTMLDir {
- invariant(isStrong(dir), '`dir` must be a strong direction to be converted to HTML Direction');
- invariant(isStrong(otherDir), '`otherDir` must be a strong direction to be converted to HTML Direction');
- return dir === otherDir ? null : getHTMLDir(dir);
-}
-
-// == Global Direction ==
-
-/**
- * Set the global direction.
- */
-function setGlobalDir(dir: BidiDirection): void {
- globalDir = dir;
-}
-
-/**
- * Initialize the global direction
- */
-function initGlobalDir(): void {
- setGlobalDir(LTR);
-}
-
-/**
- * Get the global direction
- */
-function getGlobalDir(): BidiDirection {
- if (!globalDir) {
- this.initGlobalDir();
- }
- invariant(globalDir, 'Global direction not set.');
- return globalDir;
-}
-
-const UnicodeBidiDirection = {
- // Values
- NEUTRAL,
- LTR,
- RTL,
- // Helpers
- isStrong,
- getHTMLDir,
- getHTMLDirIfDifferent,
- // Global Direction
- setGlobalDir,
- initGlobalDir,
- getGlobalDir
-};
-
-module.exports = UnicodeBidiDirection;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/UnicodeBidiService.js b/node_modules/fbjs/lib/UnicodeBidiService.js
deleted file mode 100644
index 6c659ab..0000000
--- a/node_modules/fbjs/lib/UnicodeBidiService.js
+++ /dev/null
@@ -1,101 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @typechecks
- *
- */
-
-/**
- * Stateful API for text direction detection
- *
- * This class can be used in applications where you need to detect the
- * direction of a sequence of text blocks, where each direction shall be used
- * as the fallback direction for the next one.
- *
- * NOTE: A default direction, if not provided, is set based on the global
- * direction, as defined by `UnicodeBidiDirection`.
- *
- * == Example ==
- * ```
- * var UnicodeBidiService = require('UnicodeBidiService');
- *
- * var bidiService = new UnicodeBidiService();
- *
- * ...
- *
- * bidiService.reset();
- * for (var para in paragraphs) {
- * var dir = bidiService.getDirection(para);
- * ...
- * }
- * ```
- *
- * Part of our implementation of Unicode Bidirectional Algorithm (UBA)
- * Unicode Standard Annex #9 (UAX9)
- * http://www.unicode.org/reports/tr9/
- */
-
-'use strict';
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-var UnicodeBidi = require('./UnicodeBidi');
-var UnicodeBidiDirection = require('./UnicodeBidiDirection');
-
-var invariant = require('./invariant');
-
-var UnicodeBidiService = function () {
-
- /**
- * Stateful class for paragraph direction detection
- *
- * @param defaultDir Default direction of the service
- */
-
- function UnicodeBidiService(defaultDir) {
- _classCallCheck(this, UnicodeBidiService);
-
- if (!defaultDir) {
- defaultDir = UnicodeBidiDirection.getGlobalDir();
- } else {
- !UnicodeBidiDirection.isStrong(defaultDir) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Default direction must be a strong direction (LTR or RTL)') : invariant(false) : void 0;
- }
- this._defaultDir = defaultDir;
- this.reset();
- }
-
- /**
- * Reset the internal state
- *
- * Instead of creating a new instance, you can just reset() your instance
- * everytime you start a new loop.
- */
-
-
- UnicodeBidiService.prototype.reset = function reset() {
- this._lastDir = this._defaultDir;
- };
-
- /**
- * Returns the direction of a block of text, and remembers it as the
- * fall-back direction for the next paragraph.
- *
- * @param str A text block, e.g. paragraph, table cell, tag
- * @return The resolved direction
- */
-
-
- UnicodeBidiService.prototype.getDirection = function getDirection(str) {
- this._lastDir = UnicodeBidi.getDirection(str, this._lastDir);
- return this._lastDir;
- };
-
- return UnicodeBidiService;
-}();
-
-module.exports = UnicodeBidiService;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/UnicodeBidiService.js.flow b/node_modules/fbjs/lib/UnicodeBidiService.js.flow
deleted file mode 100644
index 236a2f3..0000000
--- a/node_modules/fbjs/lib/UnicodeBidiService.js.flow
+++ /dev/null
@@ -1,97 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule UnicodeBidiService
- * @typechecks
- * @flow
- */
-
-/**
- * Stateful API for text direction detection
- *
- * This class can be used in applications where you need to detect the
- * direction of a sequence of text blocks, where each direction shall be used
- * as the fallback direction for the next one.
- *
- * NOTE: A default direction, if not provided, is set based on the global
- * direction, as defined by `UnicodeBidiDirection`.
- *
- * == Example ==
- * ```
- * var UnicodeBidiService = require('UnicodeBidiService');
- *
- * var bidiService = new UnicodeBidiService();
- *
- * ...
- *
- * bidiService.reset();
- * for (var para in paragraphs) {
- * var dir = bidiService.getDirection(para);
- * ...
- * }
- * ```
- *
- * Part of our implementation of Unicode Bidirectional Algorithm (UBA)
- * Unicode Standard Annex #9 (UAX9)
- * http://www.unicode.org/reports/tr9/
- */
-
-'use strict';
-
-const UnicodeBidi = require('./UnicodeBidi');
-const UnicodeBidiDirection = require('./UnicodeBidiDirection');
-
-const invariant = require('./invariant');
-
-import type { BidiDirection } from './UnicodeBidiDirection';
-
-class UnicodeBidiService {
-
- _defaultDir: BidiDirection;
- _lastDir: BidiDirection;
-
- /**
- * Stateful class for paragraph direction detection
- *
- * @param defaultDir Default direction of the service
- */
- constructor(defaultDir: ?BidiDirection) {
- if (!defaultDir) {
- defaultDir = UnicodeBidiDirection.getGlobalDir();
- } else {
- invariant(UnicodeBidiDirection.isStrong(defaultDir), 'Default direction must be a strong direction (LTR or RTL)');
- }
- this._defaultDir = defaultDir;
- this.reset();
- }
-
- /**
- * Reset the internal state
- *
- * Instead of creating a new instance, you can just reset() your instance
- * everytime you start a new loop.
- */
- reset(): void {
- this._lastDir = this._defaultDir;
- }
-
- /**
- * Returns the direction of a block of text, and remembers it as the
- * fall-back direction for the next paragraph.
- *
- * @param str A text block, e.g. paragraph, table cell, tag
- * @return The resolved direction
- */
- getDirection(str: string): BidiDirection {
- this._lastDir = UnicodeBidi.getDirection(str, this._lastDir);
- return this._lastDir;
- }
-
-}
-
-module.exports = UnicodeBidiService;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/UnicodeCJK.js b/node_modules/fbjs/lib/UnicodeCJK.js
deleted file mode 100644
index dcbf925..0000000
--- a/node_modules/fbjs/lib/UnicodeCJK.js
+++ /dev/null
@@ -1,174 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @typechecks
- */
-
-/**
- * Unicode algorithms for CJK (Chinese, Japanese, Korean) writing systems.
- *
- * Utilities for Hanzi/Kanji/Hanja logographs and Kanas (Katakana and Hiragana)
- * syllables.
- *
- * For Korean Hangul see module `UnicodeHangulKorean`.
- */
-
-'use strict';
-
-/**
- * Latin
- *
- * NOTE: The code assumes these sets include only BMP characters.
- */
-
-var R_LATIN_ASCII = 'a-zA-Z';
-var R_LATIN_FULLWIDTH = 'A-Za-z';
-var R_LATIN = R_LATIN_ASCII + R_LATIN_FULLWIDTH;
-
-/**
- * Hiragana & Katakana
- *
- * NOTE: Some ranges include non-BMP characters. We do not support those ranges
- * for now.
- */
-var R_HIRAGANA = '-ゟ';
-var R_KATAKANA = '゠-ヿ';
-var R_KATAKANA_PHONETIC = 'ㇰ-ㇿ';
-var R_KATAKANA_HALFWIDTH = '・-゚';
-// var R_KANA_SUPPLEMENT = '\U0001B000-\U0001B0FF';
-var R_KATAKANA_ALL = R_KATAKANA + R_KATAKANA_PHONETIC + R_KATAKANA_HALFWIDTH;
-var R_KANA = R_HIRAGANA + R_KATAKANA_ALL;
-
-var I_HIRAGANA = [0x3040, 0x309F];
-var I_KATAKANA = [0x30A0, 0x30FF];
-var I_HIRAGANA_TO_KATAKANA = I_KATAKANA[0] - I_HIRAGANA[0];
-
-/**
- * Hanzi/Kanji/Hanja
- *
- * NOTE: Some ranges include non-BMP characters. We do not support those ranges
- * for now.
- */
-var R_IDEO_MAIN = '一-鿏';
-var R_IDEO_EXT_A = '㐀-䶿';
-// var R_IDEO_EXT_B = '\U00020000-\U0002A6DF';
-// var R_IDEO_EXT_C = '\U0002A700-\U0002B73F';
-// var R_IDEO_EXT_D = '\U0002B740-\U0002B81F';
-var R_IDEO = R_IDEO_MAIN + R_IDEO_EXT_A;
-
-/**
- * Hangul
- */
-// var R_HANGUL_JAMO = '\u1100-\u11FF';
-// var R_HANGUL_JAMO_EXT_A = '\uA960-\uA97F';
-// var R_HANGUL_JAMO_EXT_B = '\uD7B0-\uD7FF';
-// var R_HANGUL_COMPATIBILITY = '\u3130-\u318F';
-// var R_HANGUL_COMP_HALFWIDTH = '\uFFA0-\uFFDF';
-var R_HANGUL_SYLLABLES = '가-';
-
-/**
- * Globals
- */
-var R_IDEO_OR_SYLL = R_IDEO + R_KANA + R_HANGUL_SYLLABLES;
-
-var REGEX_IDEO = null;
-var REGEX_KANA = null;
-var REGEX_IDEO_OR_SYLL = null;
-var REGEX_IS_KANA_WITH_TRAILING_LATIN = null;
-
-/**
- * Whether the string includes any Katakana or Hiragana characters.
- *
- * @param {string} str
- * @return {boolean}
- */
-function hasKana(str) {
- REGEX_KANA = REGEX_KANA || new RegExp('[' + R_KANA + ']');
- return REGEX_KANA.test(str);
-}
-
-/**
- * Whether the string includes any CJK Ideograph characters.
- *
- * @param {string} str
- * @return {boolean}
- */
-function hasIdeograph(str) {
- REGEX_IDEO = REGEX_IDEO || new RegExp('[' + R_IDEO + ']');
- return REGEX_IDEO.test(str);
-}
-
-/**
- * Whether the string includes any CJK Ideograph or Syllable characters.
- *
- * @param {string} str
- * @return {boolean}
- */
-function hasIdeoOrSyll(str) {
- REGEX_IDEO_OR_SYLL = REGEX_IDEO_OR_SYLL || new RegExp('[' + R_IDEO_OR_SYLL + ']');
- return REGEX_IDEO_OR_SYLL.test(str);
-}
-
-/**
- * @param {string} chr
- * @output {string}
- */
-function charCodeToKatakana(chr) {
- var charCode = chr.charCodeAt(0);
- return String.fromCharCode(charCode < I_HIRAGANA[0] || charCode > I_HIRAGANA[1] ? charCode : charCode + I_HIRAGANA_TO_KATAKANA);
-}
-
-/**
- * Replace any Hiragana character with the matching Katakana
- *
- * @param {string} str
- * @output {string}
- */
-function hiraganaToKatakana(str) {
- if (!hasKana(str)) {
- return str;
- }
- return str.split('').map(charCodeToKatakana).join('');
-}
-
-/**
- * Whether the string is exactly a sequence of Kana characters followed by one
- * Latin character.
- *
- * @param {string} str
- * @output {string}
- */
-function isKanaWithTrailingLatin(str) {
- REGEX_IS_KANA_WITH_TRAILING_LATIN = REGEX_IS_KANA_WITH_TRAILING_LATIN || new RegExp('^' + '[' + R_KANA + ']+' + '[' + R_LATIN + ']' + '$');
- return REGEX_IS_KANA_WITH_TRAILING_LATIN.test(str);
-}
-
-/**
- * Drops the trailing Latin character from a string that is exactly a sequence
- * of Kana characters followed by one Latin character.
- *
- * @param {string} str
- * @output {string}
- */
-function kanaRemoveTrailingLatin(str) {
- if (isKanaWithTrailingLatin(str)) {
- return str.substr(0, str.length - 1);
- }
- return str;
-}
-
-var UnicodeCJK = {
- hasKana: hasKana,
- hasIdeograph: hasIdeograph,
- hasIdeoOrSyll: hasIdeoOrSyll,
- hiraganaToKatakana: hiraganaToKatakana,
- isKanaWithTrailingLatin: isKanaWithTrailingLatin,
- kanaRemoveTrailingLatin: kanaRemoveTrailingLatin
-};
-
-module.exports = UnicodeCJK;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/UnicodeCJK.js.flow b/node_modules/fbjs/lib/UnicodeCJK.js.flow
deleted file mode 100644
index 549e57e..0000000
--- a/node_modules/fbjs/lib/UnicodeCJK.js.flow
+++ /dev/null
@@ -1,175 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule UnicodeCJK
- * @typechecks
- */
-
-/**
- * Unicode algorithms for CJK (Chinese, Japanese, Korean) writing systems.
- *
- * Utilities for Hanzi/Kanji/Hanja logographs and Kanas (Katakana and Hiragana)
- * syllables.
- *
- * For Korean Hangul see module `UnicodeHangulKorean`.
- */
-
-'use strict';
-
-/**
- * Latin
- *
- * NOTE: The code assumes these sets include only BMP characters.
- */
-
-const R_LATIN_ASCII = 'a-zA-Z';
-const R_LATIN_FULLWIDTH = '\uFF21-\uFF3A\uFF41-\uFF5A';
-const R_LATIN = R_LATIN_ASCII + R_LATIN_FULLWIDTH;
-
-/**
- * Hiragana & Katakana
- *
- * NOTE: Some ranges include non-BMP characters. We do not support those ranges
- * for now.
- */
-const R_HIRAGANA = '\u3040-\u309F';
-const R_KATAKANA = '\u30A0-\u30FF';
-const R_KATAKANA_PHONETIC = '\u31F0-\u31FF';
-const R_KATAKANA_HALFWIDTH = '\uFF65-\uFF9F';
-// var R_KANA_SUPPLEMENT = '\U0001B000-\U0001B0FF';
-const R_KATAKANA_ALL = R_KATAKANA + R_KATAKANA_PHONETIC + R_KATAKANA_HALFWIDTH;
-const R_KANA = R_HIRAGANA + R_KATAKANA_ALL;
-
-const I_HIRAGANA = [0x3040, 0x309F];
-const I_KATAKANA = [0x30A0, 0x30FF];
-const I_HIRAGANA_TO_KATAKANA = I_KATAKANA[0] - I_HIRAGANA[0];
-
-/**
- * Hanzi/Kanji/Hanja
- *
- * NOTE: Some ranges include non-BMP characters. We do not support those ranges
- * for now.
- */
-const R_IDEO_MAIN = '\u4E00-\u9FCF';
-const R_IDEO_EXT_A = '\u3400-\u4DBF';
-// var R_IDEO_EXT_B = '\U00020000-\U0002A6DF';
-// var R_IDEO_EXT_C = '\U0002A700-\U0002B73F';
-// var R_IDEO_EXT_D = '\U0002B740-\U0002B81F';
-const R_IDEO = R_IDEO_MAIN + R_IDEO_EXT_A;
-
-/**
- * Hangul
- */
-// var R_HANGUL_JAMO = '\u1100-\u11FF';
-// var R_HANGUL_JAMO_EXT_A = '\uA960-\uA97F';
-// var R_HANGUL_JAMO_EXT_B = '\uD7B0-\uD7FF';
-// var R_HANGUL_COMPATIBILITY = '\u3130-\u318F';
-// var R_HANGUL_COMP_HALFWIDTH = '\uFFA0-\uFFDF';
-const R_HANGUL_SYLLABLES = '\uAC00-\uD7AF';
-
-/**
- * Globals
- */
-const R_IDEO_OR_SYLL = R_IDEO + R_KANA + R_HANGUL_SYLLABLES;
-
-let REGEX_IDEO = null;
-let REGEX_KANA = null;
-let REGEX_IDEO_OR_SYLL = null;
-let REGEX_IS_KANA_WITH_TRAILING_LATIN = null;
-
-/**
- * Whether the string includes any Katakana or Hiragana characters.
- *
- * @param {string} str
- * @return {boolean}
- */
-function hasKana(str) {
- REGEX_KANA = REGEX_KANA || new RegExp('[' + R_KANA + ']');
- return REGEX_KANA.test(str);
-}
-
-/**
- * Whether the string includes any CJK Ideograph characters.
- *
- * @param {string} str
- * @return {boolean}
- */
-function hasIdeograph(str) {
- REGEX_IDEO = REGEX_IDEO || new RegExp('[' + R_IDEO + ']');
- return REGEX_IDEO.test(str);
-}
-
-/**
- * Whether the string includes any CJK Ideograph or Syllable characters.
- *
- * @param {string} str
- * @return {boolean}
- */
-function hasIdeoOrSyll(str) {
- REGEX_IDEO_OR_SYLL = REGEX_IDEO_OR_SYLL || new RegExp('[' + R_IDEO_OR_SYLL + ']');
- return REGEX_IDEO_OR_SYLL.test(str);
-}
-
-/**
- * @param {string} chr
- * @output {string}
- */
-function charCodeToKatakana(chr) {
- const charCode = chr.charCodeAt(0);
- return String.fromCharCode(charCode < I_HIRAGANA[0] || charCode > I_HIRAGANA[1] ? charCode : charCode + I_HIRAGANA_TO_KATAKANA);
-}
-
-/**
- * Replace any Hiragana character with the matching Katakana
- *
- * @param {string} str
- * @output {string}
- */
-function hiraganaToKatakana(str) {
- if (!hasKana(str)) {
- return str;
- }
- return str.split('').map(charCodeToKatakana).join('');
-}
-
-/**
- * Whether the string is exactly a sequence of Kana characters followed by one
- * Latin character.
- *
- * @param {string} str
- * @output {string}
- */
-function isKanaWithTrailingLatin(str) {
- REGEX_IS_KANA_WITH_TRAILING_LATIN = REGEX_IS_KANA_WITH_TRAILING_LATIN || new RegExp('^' + '[' + R_KANA + ']+' + '[' + R_LATIN + ']' + '$');
- return REGEX_IS_KANA_WITH_TRAILING_LATIN.test(str);
-}
-
-/**
- * Drops the trailing Latin character from a string that is exactly a sequence
- * of Kana characters followed by one Latin character.
- *
- * @param {string} str
- * @output {string}
- */
-function kanaRemoveTrailingLatin(str) {
- if (isKanaWithTrailingLatin(str)) {
- return str.substr(0, str.length - 1);
- }
- return str;
-}
-
-const UnicodeCJK = {
- hasKana: hasKana,
- hasIdeograph: hasIdeograph,
- hasIdeoOrSyll: hasIdeoOrSyll,
- hiraganaToKatakana: hiraganaToKatakana,
- isKanaWithTrailingLatin: isKanaWithTrailingLatin,
- kanaRemoveTrailingLatin: kanaRemoveTrailingLatin
-};
-
-module.exports = UnicodeCJK;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/UnicodeHangulKorean.js b/node_modules/fbjs/lib/UnicodeHangulKorean.js
deleted file mode 100644
index 6725269..0000000
--- a/node_modules/fbjs/lib/UnicodeHangulKorean.js
+++ /dev/null
@@ -1,137 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @typechecks
- */
-
-/**
- * Unicode algorithms for Hangul script, the Korean writing system
- *
- * Hangul script has three encoded models in Unicode:
- *
- * A) Conjoining Jamo (covers modern and historic elements)
- * * U+1100..U+11FF ; Hangul Jamo
- * * U+A960..U+A97F ; Hangul Jamo Extended-A
- * * U+D7B0..U+D7FF ; Hangul Jamo Extended-B
- *
- * B) Conjoined Syllables (only covers modern Korean language)
- * * U+AC00..U+D7AF ; Hangul Syllables
- *
- * C) Compatibility Jamo (one code-point for each "shape")
- * * U+3130..U+318F ; Hangul Compatibility Jamo
- *
- * This modules helps you convert characters from one model to another.
- * Primary functionalities are:
- *
- * 1) Convert from any encodings to Conjoining Jamo characters (A),
- * e.g. for prefix matching
- *
- * 2) Convert from any encodings to Syllable characters, when possible (B),
- * e.g. to reach the normal Unicode form (NFC)
- */
-
-'use strict';
-
-var HANGUL_COMPATIBILITY_OR_SYLLABLE_REGEX = /[\u3130-\u318F\uAC00-\uD7AF]/;
-
-/**
- * Returns true if the input includes any Hangul Compatibility Jamo or
- * Hangul Conjoined Syllable.
- *
- * @param {string} str
- */
-function hasCompatibilityOrSyllable(str) {
- return HANGUL_COMPATIBILITY_OR_SYLLABLE_REGEX.test(str);
-}
-
-/* Compatibility Jamo -> Conjoining Jamo
- *
- * Maps a compatibility character to the Conjoining Jamo character,
- * positioned at (compatibilityCodePoint - 0x3131).
- *
- * Generated by:
- * $ grep '^31[3-8].;' UnicodeData.txt |\
- * awk -F';' '{print $6}' | awk '{print " 0x"$2","}'
- */
-var CMAP = [0x1100, 0x1101, 0x11AA, 0x1102, 0x11AC, 0x11AD, 0x1103, 0x1104, 0x1105, 0x11B0, 0x11B1, 0x11B2, 0x11B3, 0x11B4, 0x11B5, 0x111A, 0x1106, 0x1107, 0x1108, 0x1121, 0x1109, 0x110A, 0x110B, 0x110C, 0x110D, 0x110E, 0x110F, 0x1110, 0x1111, 0x1112, 0x1161, 0x1162, 0x1163, 0x1164, 0x1165, 0x1166, 0x1167, 0x1168, 0x1169, 0x116A, 0x116B, 0x116C, 0x116D, 0x116E, 0x116F, 0x1170, 0x1171, 0x1172, 0x1173, 0x1174, 0x1175, 0x1160, 0x1114, 0x1115, 0x11C7, 0x11C8, 0x11CC, 0x11CE, 0x11D3, 0x11D7, 0x11D9, 0x111C, 0x11DD, 0x11DF, 0x111D, 0x111E, 0x1120, 0x1122, 0x1123, 0x1127, 0x1129, 0x112B, 0x112C, 0x112D, 0x112E, 0x112F, 0x1132, 0x1136, 0x1140, 0x1147, 0x114C, 0x11F1, 0x11F2, 0x1157, 0x1158, 0x1159, 0x1184, 0x1185, 0x1188, 0x1191, 0x1192, 0x1194, 0x119E, 0x11A1];
-
-var CBASE = 0x3131;
-var CCOUNT = CMAP.length;
-var CTOP = CBASE + CCOUNT;
-
-/**
- * Maps one Hangul Compatibility Jamo code-point to the equivalent Hangul
- * Conjoining Jamo characters, as defined in UnicodeData.txt.
- *
- * @param {number} codePoint One Unicode code-point
- * @output {string}
- */
-function fromCompatibility(codePoint) {
- return String.fromCharCode(CMAP[codePoint - CBASE]);
-}
-
-/**
- * Conjoined Syllable -> Conjoining Jamo
- *
- * Based on the "Hangul Syllable Decomposition" algorithm provided in
- * 3.12 Conjoining Jamo Behavior, The Unicode Standard, Version 6.3.0.
- *
- */
-
-var LBASE = 0x1100;
-var VBASE = 0x1161;
-var TBASE = 0x11A7;
-var SBASE = 0xAC00;
-var LCOUNT = 19;
-var VCOUNT = 21;
-var TCOUNT = 28;
-var NCOUNT = VCOUNT * TCOUNT;
-var SCOUNT = LCOUNT * NCOUNT;
-var STOP = SBASE + SCOUNT;
-
-/**
- * Maps one Hangul Syllable code-point to the equivalent Hangul
- * Conjoining Jamo characters, as defined in UnicodeData.txt.
- *
- * @param {number} codePoint One Unicode character
- * @output {string}
- */
-function decomposeSyllable(codePoint) {
- var sylSIndex = codePoint - SBASE;
- var sylTIndex = sylSIndex % TCOUNT;
- return String.fromCharCode(LBASE + sylSIndex / NCOUNT) + String.fromCharCode(VBASE + sylSIndex % NCOUNT / TCOUNT) + (sylTIndex > 0 ? String.fromCharCode(TBASE + sylTIndex) : '');
-}
-
-/* To Conjoining Jamo */
-
-/**
- * Return Unicode characters as they are, except for Hangul characters, which
- * will be converted to the Conjoining Jamo form.
- *
- * @param {string} string
- * @output {string}
- */
-function toConjoiningJamo(string) {
- if (!hasCompatibilityOrSyllable(string)) {
- return string;
- }
-
- var result = [];
- for (var i = 0; i < string.length; i++) {
- var charStr = string.charAt(i);
- var codeUnit = charStr.charCodeAt(0);
- result.push(CBASE <= codeUnit && codeUnit < CTOP ? fromCompatibility(codeUnit) : SBASE <= codeUnit && codeUnit < STOP ? decomposeSyllable(codeUnit) : charStr);
- }
- return result.join('');
-}
-
-var UnicodeHangulKorean = {
- toConjoiningJamo: toConjoiningJamo
-};
-
-module.exports = UnicodeHangulKorean;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/UnicodeHangulKorean.js.flow b/node_modules/fbjs/lib/UnicodeHangulKorean.js.flow
deleted file mode 100644
index b278eb9..0000000
--- a/node_modules/fbjs/lib/UnicodeHangulKorean.js.flow
+++ /dev/null
@@ -1,138 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule UnicodeHangulKorean
- * @typechecks
- */
-
-/**
- * Unicode algorithms for Hangul script, the Korean writing system
- *
- * Hangul script has three encoded models in Unicode:
- *
- * A) Conjoining Jamo (covers modern and historic elements)
- * * U+1100..U+11FF ; Hangul Jamo
- * * U+A960..U+A97F ; Hangul Jamo Extended-A
- * * U+D7B0..U+D7FF ; Hangul Jamo Extended-B
- *
- * B) Conjoined Syllables (only covers modern Korean language)
- * * U+AC00..U+D7AF ; Hangul Syllables
- *
- * C) Compatibility Jamo (one code-point for each "shape")
- * * U+3130..U+318F ; Hangul Compatibility Jamo
- *
- * This modules helps you convert characters from one model to another.
- * Primary functionalities are:
- *
- * 1) Convert from any encodings to Conjoining Jamo characters (A),
- * e.g. for prefix matching
- *
- * 2) Convert from any encodings to Syllable characters, when possible (B),
- * e.g. to reach the normal Unicode form (NFC)
- */
-
-'use strict';
-
-const HANGUL_COMPATIBILITY_OR_SYLLABLE_REGEX = /[\u3130-\u318F\uAC00-\uD7AF]/;
-
-/**
- * Returns true if the input includes any Hangul Compatibility Jamo or
- * Hangul Conjoined Syllable.
- *
- * @param {string} str
- */
-function hasCompatibilityOrSyllable(str) {
- return HANGUL_COMPATIBILITY_OR_SYLLABLE_REGEX.test(str);
-}
-
-/* Compatibility Jamo -> Conjoining Jamo
- *
- * Maps a compatibility character to the Conjoining Jamo character,
- * positioned at (compatibilityCodePoint - 0x3131).
- *
- * Generated by:
- * $ grep '^31[3-8].;' UnicodeData.txt |\
- * awk -F';' '{print $6}' | awk '{print " 0x"$2","}'
- */
-const CMAP = [0x1100, 0x1101, 0x11AA, 0x1102, 0x11AC, 0x11AD, 0x1103, 0x1104, 0x1105, 0x11B0, 0x11B1, 0x11B2, 0x11B3, 0x11B4, 0x11B5, 0x111A, 0x1106, 0x1107, 0x1108, 0x1121, 0x1109, 0x110A, 0x110B, 0x110C, 0x110D, 0x110E, 0x110F, 0x1110, 0x1111, 0x1112, 0x1161, 0x1162, 0x1163, 0x1164, 0x1165, 0x1166, 0x1167, 0x1168, 0x1169, 0x116A, 0x116B, 0x116C, 0x116D, 0x116E, 0x116F, 0x1170, 0x1171, 0x1172, 0x1173, 0x1174, 0x1175, 0x1160, 0x1114, 0x1115, 0x11C7, 0x11C8, 0x11CC, 0x11CE, 0x11D3, 0x11D7, 0x11D9, 0x111C, 0x11DD, 0x11DF, 0x111D, 0x111E, 0x1120, 0x1122, 0x1123, 0x1127, 0x1129, 0x112B, 0x112C, 0x112D, 0x112E, 0x112F, 0x1132, 0x1136, 0x1140, 0x1147, 0x114C, 0x11F1, 0x11F2, 0x1157, 0x1158, 0x1159, 0x1184, 0x1185, 0x1188, 0x1191, 0x1192, 0x1194, 0x119E, 0x11A1];
-
-const CBASE = 0x3131;
-const CCOUNT = CMAP.length;
-const CTOP = CBASE + CCOUNT;
-
-/**
- * Maps one Hangul Compatibility Jamo code-point to the equivalent Hangul
- * Conjoining Jamo characters, as defined in UnicodeData.txt.
- *
- * @param {number} codePoint One Unicode code-point
- * @output {string}
- */
-function fromCompatibility(codePoint) {
- return String.fromCharCode(CMAP[codePoint - CBASE]);
-}
-
-/**
- * Conjoined Syllable -> Conjoining Jamo
- *
- * Based on the "Hangul Syllable Decomposition" algorithm provided in
- * 3.12 Conjoining Jamo Behavior, The Unicode Standard, Version 6.3.0.
- *
- */
-
-const LBASE = 0x1100;
-const VBASE = 0x1161;
-const TBASE = 0x11A7;
-const SBASE = 0xAC00;
-const LCOUNT = 19;
-const VCOUNT = 21;
-const TCOUNT = 28;
-const NCOUNT = VCOUNT * TCOUNT;
-const SCOUNT = LCOUNT * NCOUNT;
-const STOP = SBASE + SCOUNT;
-
-/**
- * Maps one Hangul Syllable code-point to the equivalent Hangul
- * Conjoining Jamo characters, as defined in UnicodeData.txt.
- *
- * @param {number} codePoint One Unicode character
- * @output {string}
- */
-function decomposeSyllable(codePoint) {
- const sylSIndex = codePoint - SBASE;
- const sylTIndex = sylSIndex % TCOUNT;
- return String.fromCharCode(LBASE + sylSIndex / NCOUNT) + String.fromCharCode(VBASE + sylSIndex % NCOUNT / TCOUNT) + (sylTIndex > 0 ? String.fromCharCode(TBASE + sylTIndex) : '');
-}
-
-/* To Conjoining Jamo */
-
-/**
- * Return Unicode characters as they are, except for Hangul characters, which
- * will be converted to the Conjoining Jamo form.
- *
- * @param {string} string
- * @output {string}
- */
-function toConjoiningJamo(string) {
- if (!hasCompatibilityOrSyllable(string)) {
- return string;
- }
-
- const result = [];
- for (let i = 0; i < string.length; i++) {
- const charStr = string.charAt(i);
- const codeUnit = charStr.charCodeAt(0);
- result.push(CBASE <= codeUnit && codeUnit < CTOP ? fromCompatibility(codeUnit) : SBASE <= codeUnit && codeUnit < STOP ? decomposeSyllable(codeUnit) : charStr);
- }
- return result.join('');
-}
-
-const UnicodeHangulKorean = {
- toConjoiningJamo: toConjoiningJamo
-};
-
-module.exports = UnicodeHangulKorean;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/UnicodeUtils.js b/node_modules/fbjs/lib/UnicodeUtils.js
deleted file mode 100644
index f192b52..0000000
--- a/node_modules/fbjs/lib/UnicodeUtils.js
+++ /dev/null
@@ -1,214 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @typechecks
- */
-
-/**
- * Unicode-enabled replacesments for basic String functions.
- *
- * All the functions in this module assume that the input string is a valid
- * UTF-16 encoding of a Unicode sequence. If it's not the case, the behavior
- * will be undefined.
- *
- * WARNING: Since this module is typechecks-enforced, you may find new bugs
- * when replacing normal String functions with ones provided here.
- */
-
-'use strict';
-
-var invariant = require('./invariant');
-
-// These two ranges are consecutive so anything in [HIGH_START, LOW_END] is a
-// surrogate code unit.
-var SURROGATE_HIGH_START = 0xD800;
-var SURROGATE_HIGH_END = 0xDBFF;
-var SURROGATE_LOW_START = 0xDC00;
-var SURROGATE_LOW_END = 0xDFFF;
-var SURROGATE_UNITS_REGEX = /[\uD800-\uDFFF]/;
-
-/**
- * @param {number} codeUnit A Unicode code-unit, in range [0, 0x10FFFF]
- * @return {boolean} Whether code-unit is in a surrogate (hi/low) range
- */
-function isCodeUnitInSurrogateRange(codeUnit) {
- return SURROGATE_HIGH_START <= codeUnit && codeUnit <= SURROGATE_LOW_END;
-}
-
-/**
- * Returns whether the two characters starting at `index` form a surrogate pair.
- * For example, given the string s = "\uD83D\uDE0A", (s, 0) returns true and
- * (s, 1) returns false.
- *
- * @param {string} str
- * @param {number} index
- * @return {boolean}
- */
-function isSurrogatePair(str, index) {
- !(0 <= index && index < str.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'isSurrogatePair: Invalid index %s for string length %s.', index, str.length) : invariant(false) : void 0;
- if (index + 1 === str.length) {
- return false;
- }
- var first = str.charCodeAt(index);
- var second = str.charCodeAt(index + 1);
- return SURROGATE_HIGH_START <= first && first <= SURROGATE_HIGH_END && SURROGATE_LOW_START <= second && second <= SURROGATE_LOW_END;
-}
-
-/**
- * @param {string} str Non-empty string
- * @return {boolean} True if the input includes any surrogate code units
- */
-function hasSurrogateUnit(str) {
- return SURROGATE_UNITS_REGEX.test(str);
-}
-
-/**
- * Return the length of the original Unicode character at given position in the
- * String by looking into the UTF-16 code unit; that is equal to 1 for any
- * non-surrogate characters in BMP ([U+0000..U+D7FF] and [U+E000, U+FFFF]); and
- * returns 2 for the hi/low surrogates ([U+D800..U+DFFF]), which are in fact
- * representing non-BMP characters ([U+10000..U+10FFFF]).
- *
- * Examples:
- * - '\u0020' => 1
- * - '\u3020' => 1
- * - '\uD835' => 2
- * - '\uD835\uDDEF' => 2
- * - '\uDDEF' => 2
- *
- * @param {string} str Non-empty string
- * @param {number} pos Position in the string to look for one code unit
- * @return {number} Number 1 or 2
- */
-function getUTF16Length(str, pos) {
- return 1 + isCodeUnitInSurrogateRange(str.charCodeAt(pos));
-}
-
-/**
- * Fully Unicode-enabled replacement for String#length
- *
- * @param {string} str Valid Unicode string
- * @return {number} The number of Unicode characters in the string
- */
-function strlen(str) {
- // Call the native functions if there's no surrogate char
- if (!hasSurrogateUnit(str)) {
- return str.length;
- }
-
- var len = 0;
- for (var pos = 0; pos < str.length; pos += getUTF16Length(str, pos)) {
- len++;
- }
- return len;
-}
-
-/**
- * Fully Unicode-enabled replacement for String#substr()
- *
- * @param {string} str Valid Unicode string
- * @param {number} start Location in Unicode sequence to begin extracting
- * @param {?number} length The number of Unicode characters to extract
- * (default: to the end of the string)
- * @return {string} Extracted sub-string
- */
-function substr(str, start, length) {
- start = start || 0;
- length = length === undefined ? Infinity : length || 0;
-
- // Call the native functions if there's no surrogate char
- if (!hasSurrogateUnit(str)) {
- return str.substr(start, length);
- }
-
- // Obvious cases
- var size = str.length;
- if (size <= 0 || start > size || length <= 0) {
- return '';
- }
-
- // Find the actual starting position
- var posA = 0;
- if (start > 0) {
- for (; start > 0 && posA < size; start--) {
- posA += getUTF16Length(str, posA);
- }
- if (posA >= size) {
- return '';
- }
- } else if (start < 0) {
- for (posA = size; start < 0 && 0 < posA; start++) {
- posA -= getUTF16Length(str, posA - 1);
- }
- if (posA < 0) {
- posA = 0;
- }
- }
-
- // Find the actual ending position
- var posB = size;
- if (length < size) {
- for (posB = posA; length > 0 && posB < size; length--) {
- posB += getUTF16Length(str, posB);
- }
- }
-
- return str.substring(posA, posB);
-}
-
-/**
- * Fully Unicode-enabled replacement for String#substring()
- *
- * @param {string} str Valid Unicode string
- * @param {number} start Location in Unicode sequence to begin extracting
- * @param {?number} end Location in Unicode sequence to end extracting
- * (default: end of the string)
- * @return {string} Extracted sub-string
- */
-function substring(str, start, end) {
- start = start || 0;
- end = end === undefined ? Infinity : end || 0;
-
- if (start < 0) {
- start = 0;
- }
- if (end < 0) {
- end = 0;
- }
-
- var length = Math.abs(end - start);
- start = start < end ? start : end;
- return substr(str, start, length);
-}
-
-/**
- * Get a list of Unicode code-points from a String
- *
- * @param {string} str Valid Unicode string
- * @return {array} A list of code-points in [0..0x10FFFF]
- */
-function getCodePoints(str) {
- var codePoints = [];
- for (var pos = 0; pos < str.length; pos += getUTF16Length(str, pos)) {
- codePoints.push(str.codePointAt(pos));
- }
- return codePoints;
-}
-
-var UnicodeUtils = {
- getCodePoints: getCodePoints,
- getUTF16Length: getUTF16Length,
- hasSurrogateUnit: hasSurrogateUnit,
- isCodeUnitInSurrogateRange: isCodeUnitInSurrogateRange,
- isSurrogatePair: isSurrogatePair,
- strlen: strlen,
- substring: substring,
- substr: substr
-};
-
-module.exports = UnicodeUtils;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/UnicodeUtils.js.flow b/node_modules/fbjs/lib/UnicodeUtils.js.flow
deleted file mode 100644
index 2b34a0c..0000000
--- a/node_modules/fbjs/lib/UnicodeUtils.js.flow
+++ /dev/null
@@ -1,215 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule UnicodeUtils
- * @typechecks
- */
-
-/**
- * Unicode-enabled replacesments for basic String functions.
- *
- * All the functions in this module assume that the input string is a valid
- * UTF-16 encoding of a Unicode sequence. If it's not the case, the behavior
- * will be undefined.
- *
- * WARNING: Since this module is typechecks-enforced, you may find new bugs
- * when replacing normal String functions with ones provided here.
- */
-
-'use strict';
-
-const invariant = require('./invariant');
-
-// These two ranges are consecutive so anything in [HIGH_START, LOW_END] is a
-// surrogate code unit.
-const SURROGATE_HIGH_START = 0xD800;
-const SURROGATE_HIGH_END = 0xDBFF;
-const SURROGATE_LOW_START = 0xDC00;
-const SURROGATE_LOW_END = 0xDFFF;
-const SURROGATE_UNITS_REGEX = /[\uD800-\uDFFF]/;
-
-/**
- * @param {number} codeUnit A Unicode code-unit, in range [0, 0x10FFFF]
- * @return {boolean} Whether code-unit is in a surrogate (hi/low) range
- */
-function isCodeUnitInSurrogateRange(codeUnit) {
- return SURROGATE_HIGH_START <= codeUnit && codeUnit <= SURROGATE_LOW_END;
-}
-
-/**
- * Returns whether the two characters starting at `index` form a surrogate pair.
- * For example, given the string s = "\uD83D\uDE0A", (s, 0) returns true and
- * (s, 1) returns false.
- *
- * @param {string} str
- * @param {number} index
- * @return {boolean}
- */
-function isSurrogatePair(str, index) {
- invariant(0 <= index && index < str.length, 'isSurrogatePair: Invalid index %s for string length %s.', index, str.length);
- if (index + 1 === str.length) {
- return false;
- }
- const first = str.charCodeAt(index);
- const second = str.charCodeAt(index + 1);
- return SURROGATE_HIGH_START <= first && first <= SURROGATE_HIGH_END && SURROGATE_LOW_START <= second && second <= SURROGATE_LOW_END;
-}
-
-/**
- * @param {string} str Non-empty string
- * @return {boolean} True if the input includes any surrogate code units
- */
-function hasSurrogateUnit(str) {
- return SURROGATE_UNITS_REGEX.test(str);
-}
-
-/**
- * Return the length of the original Unicode character at given position in the
- * String by looking into the UTF-16 code unit; that is equal to 1 for any
- * non-surrogate characters in BMP ([U+0000..U+D7FF] and [U+E000, U+FFFF]); and
- * returns 2 for the hi/low surrogates ([U+D800..U+DFFF]), which are in fact
- * representing non-BMP characters ([U+10000..U+10FFFF]).
- *
- * Examples:
- * - '\u0020' => 1
- * - '\u3020' => 1
- * - '\uD835' => 2
- * - '\uD835\uDDEF' => 2
- * - '\uDDEF' => 2
- *
- * @param {string} str Non-empty string
- * @param {number} pos Position in the string to look for one code unit
- * @return {number} Number 1 or 2
- */
-function getUTF16Length(str, pos) {
- return 1 + isCodeUnitInSurrogateRange(str.charCodeAt(pos));
-}
-
-/**
- * Fully Unicode-enabled replacement for String#length
- *
- * @param {string} str Valid Unicode string
- * @return {number} The number of Unicode characters in the string
- */
-function strlen(str) {
- // Call the native functions if there's no surrogate char
- if (!hasSurrogateUnit(str)) {
- return str.length;
- }
-
- let len = 0;
- for (let pos = 0; pos < str.length; pos += getUTF16Length(str, pos)) {
- len++;
- }
- return len;
-}
-
-/**
- * Fully Unicode-enabled replacement for String#substr()
- *
- * @param {string} str Valid Unicode string
- * @param {number} start Location in Unicode sequence to begin extracting
- * @param {?number} length The number of Unicode characters to extract
- * (default: to the end of the string)
- * @return {string} Extracted sub-string
- */
-function substr(str, start, length) {
- start = start || 0;
- length = length === undefined ? Infinity : length || 0;
-
- // Call the native functions if there's no surrogate char
- if (!hasSurrogateUnit(str)) {
- return str.substr(start, length);
- }
-
- // Obvious cases
- const size = str.length;
- if (size <= 0 || start > size || length <= 0) {
- return '';
- }
-
- // Find the actual starting position
- let posA = 0;
- if (start > 0) {
- for (; start > 0 && posA < size; start--) {
- posA += getUTF16Length(str, posA);
- }
- if (posA >= size) {
- return '';
- }
- } else if (start < 0) {
- for (posA = size; start < 0 && 0 < posA; start++) {
- posA -= getUTF16Length(str, posA - 1);
- }
- if (posA < 0) {
- posA = 0;
- }
- }
-
- // Find the actual ending position
- let posB = size;
- if (length < size) {
- for (posB = posA; length > 0 && posB < size; length--) {
- posB += getUTF16Length(str, posB);
- }
- }
-
- return str.substring(posA, posB);
-}
-
-/**
- * Fully Unicode-enabled replacement for String#substring()
- *
- * @param {string} str Valid Unicode string
- * @param {number} start Location in Unicode sequence to begin extracting
- * @param {?number} end Location in Unicode sequence to end extracting
- * (default: end of the string)
- * @return {string} Extracted sub-string
- */
-function substring(str, start, end) {
- start = start || 0;
- end = end === undefined ? Infinity : end || 0;
-
- if (start < 0) {
- start = 0;
- }
- if (end < 0) {
- end = 0;
- }
-
- const length = Math.abs(end - start);
- start = start < end ? start : end;
- return substr(str, start, length);
-}
-
-/**
- * Get a list of Unicode code-points from a String
- *
- * @param {string} str Valid Unicode string
- * @return {array} A list of code-points in [0..0x10FFFF]
- */
-function getCodePoints(str) {
- const codePoints = [];
- for (let pos = 0; pos < str.length; pos += getUTF16Length(str, pos)) {
- codePoints.push(str.codePointAt(pos));
- }
- return codePoints;
-}
-
-const UnicodeUtils = {
- getCodePoints: getCodePoints,
- getUTF16Length: getUTF16Length,
- hasSurrogateUnit: hasSurrogateUnit,
- isCodeUnitInSurrogateRange: isCodeUnitInSurrogateRange,
- isSurrogatePair: isSurrogatePair,
- strlen: strlen,
- substring: substring,
- substr: substr
-};
-
-module.exports = UnicodeUtils;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/UnicodeUtilsExtra.js b/node_modules/fbjs/lib/UnicodeUtilsExtra.js
deleted file mode 100644
index 1dda030..0000000
--- a/node_modules/fbjs/lib/UnicodeUtilsExtra.js
+++ /dev/null
@@ -1,223 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @typechecks
- */
-
-/**
- * Unicode-enabled extra utility functions not always needed.
- */
-
-'use strict';
-
-var Immutable = require('immutable');
-var UnicodeUtils = require('./UnicodeUtils');
-
-/**
- * @param {number} codePoint Valid Unicode code-point
- * @param {number} len Zero-padded minimum width of result
- * @return {string} A zero-padded hexadecimal string (00XXXX)
- */
-function zeroPaddedHex(codePoint, len) {
- var codePointHex = codePoint.toString(16).toUpperCase();
- var numZeros = Math.max(0, len - codePointHex.length);
- var result = '';
- for (var i = 0; i < numZeros; i++) {
- result += '0';
- }
- result += codePointHex;
- return result;
-}
-
-/**
- * @param {number} codePoint Valid Unicode code-point
- * @return {string} A formatted Unicode code-point string
- * of the format U+XXXX, U+XXXXX, or U+XXXXXX
- */
-function formatCodePoint(codePoint) {
- codePoint = codePoint || 0; // NaN --> 0
- var formatted = '';
- if (codePoint <= 0xFFFF) {
- formatted = zeroPaddedHex(codePoint, 4);
- } else {
- formatted = codePoint.toString(16).toUpperCase();
- }
- return 'U+' + formatted;
-}
-
-/**
- * Get a list of formatted (string) Unicode code-points from a String
- *
- * @param {string} str Valid Unicode string
- * @return {array} A list of formatted code-point strings
- */
-function getCodePointsFormatted(str) {
- var codePoints = UnicodeUtils.getCodePoints(str);
- return codePoints.map(formatCodePoint);
-}
-
-// We use this funky constructor instead of the object
-// constructor because JS object keys are always coerced
-// to string, but we want a map of int -> string pairs.
-var SpecialEscapesMap = Immutable.Map([[0x07, '\\a'], [0x08, '\\b'], [0x0C, '\\f'], [0x0A, '\\n'], [0x0D, '\\r'], [0x09, '\\t'], [0x0B, '\\v'], [0x22, '\\"'], [0x5c, '\\\\']]);
-
-/**
- * Returns a double-quoted PHP string with all non-printable and
- * non-US-ASCII sequences escaped.
- *
- * @param {string} str Valid Unicode string
- * @return {string} Double-quoted string with Unicode sequences escaped
- */
-function phpEscape(s) {
- var result = '"';
- var _iteratorNormalCompletion = true;
- var _didIteratorError = false;
- var _iteratorError = undefined;
-
- try {
- for (var _iterator = UnicodeUtils.getCodePoints(s)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
- var cp = _step.value;
-
- var special = SpecialEscapesMap.get(cp);
- if (special !== undefined) {
- result += special;
- } else if (cp >= 0x20 && cp <= 0x7e) {
- result += String.fromCodePoint(cp);
- } else if (cp <= 0xFFFF) {
- result += '\\u{' + zeroPaddedHex(cp, 4) + '}';
- } else {
- result += '\\u{' + zeroPaddedHex(cp, 6) + '}';
- }
- }
- } catch (err) {
- _didIteratorError = true;
- _iteratorError = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion && _iterator['return']) {
- _iterator['return']();
- }
- } finally {
- if (_didIteratorError) {
- throw _iteratorError;
- }
- }
- }
-
- result += '"';
- return result;
-}
-
-/**
- * Returns a double-quoted Java or JavaScript string with all
- * non-printable and non-US-ASCII sequences escaped.
- *
- * @param {string} str Valid Unicode string
- * @return {string} Double-quoted string with Unicode sequences escaped
- */
-function jsEscape(s) {
- var result = '"';
- for (var i = 0; i < s.length; i++) {
- var cp = s.charCodeAt(i);
- var special = SpecialEscapesMap.get(cp);
- if (special !== undefined) {
- result += special;
- } else if (cp >= 0x20 && cp <= 0x7e) {
- result += String.fromCodePoint(cp);
- } else {
- result += '\\u' + zeroPaddedHex(cp, 4);
- }
- }
- result += '"';
- return result;
-}
-
-function c11Escape(s) {
- var result = '';
- var _iteratorNormalCompletion2 = true;
- var _didIteratorError2 = false;
- var _iteratorError2 = undefined;
-
- try {
- for (var _iterator2 = UnicodeUtils.getCodePoints(s)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
- var cp = _step2.value;
-
- var special = SpecialEscapesMap.get(cp);
- if (special !== undefined) {
- result += special;
- } else if (cp >= 0x20 && cp <= 0x7e) {
- result += String.fromCodePoint(cp);
- } else if (cp <= 0xFFFF) {
- result += '\\u' + zeroPaddedHex(cp, 4);
- } else {
- result += '\\U' + zeroPaddedHex(cp, 8);
- }
- }
- } catch (err) {
- _didIteratorError2 = true;
- _iteratorError2 = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion2 && _iterator2['return']) {
- _iterator2['return']();
- }
- } finally {
- if (_didIteratorError2) {
- throw _iteratorError2;
- }
- }
- }
-
- return result;
-}
-
-/**
- * Returns a double-quoted C string with all non-printable and
- * non-US-ASCII sequences escaped.
- *
- * @param {string} str Valid Unicode string
- * @return {string} Double-quoted string with Unicode sequences escaped
- */
-function cEscape(s) {
- return 'u8"' + c11Escape(s) + '"';
-}
-
-/**
- * Returns a double-quoted Objective-C string with all non-printable
- * and non-US-ASCII sequences escaped.
- *
- * @param {string} str Valid Unicode string
- * @return {string} Double-quoted string with Unicode sequences escaped
- */
-function objcEscape(s) {
- return '@"' + c11Escape(s) + '"';
-}
-
-/**
- * Returns a double-quoted Python string with all non-printable
- * and non-US-ASCII sequences escaped.
- *
- * @param {string} str Valid Unicode string
- * @return {string} Double-quoted string with Unicode sequences escaped
- */
-function pyEscape(s) {
- return 'u"' + c11Escape(s) + '"';
-}
-
-var UnicodeUtilsExtra = {
- formatCodePoint: formatCodePoint,
- getCodePointsFormatted: getCodePointsFormatted,
- zeroPaddedHex: zeroPaddedHex,
- phpEscape: phpEscape,
- jsEscape: jsEscape,
- cEscape: cEscape,
- objcEscape: objcEscape,
- pyEscape: pyEscape
-};
-
-module.exports = UnicodeUtilsExtra;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/UnicodeUtilsExtra.js.flow b/node_modules/fbjs/lib/UnicodeUtilsExtra.js.flow
deleted file mode 100644
index b6edc18..0000000
--- a/node_modules/fbjs/lib/UnicodeUtilsExtra.js.flow
+++ /dev/null
@@ -1,180 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule UnicodeUtilsExtra
- * @typechecks
- */
-
-/**
- * Unicode-enabled extra utility functions not always needed.
- */
-
-'use strict';
-
-const Immutable = require('immutable');
-const UnicodeUtils = require('./UnicodeUtils');
-
-/**
- * @param {number} codePoint Valid Unicode code-point
- * @param {number} len Zero-padded minimum width of result
- * @return {string} A zero-padded hexadecimal string (00XXXX)
- */
-function zeroPaddedHex(codePoint, len) {
- let codePointHex = codePoint.toString(16).toUpperCase();
- let numZeros = Math.max(0, len - codePointHex.length);
- var result = '';
- for (var i = 0; i < numZeros; i++) {
- result += '0';
- }
- result += codePointHex;
- return result;
-}
-
-/**
- * @param {number} codePoint Valid Unicode code-point
- * @return {string} A formatted Unicode code-point string
- * of the format U+XXXX, U+XXXXX, or U+XXXXXX
- */
-function formatCodePoint(codePoint) {
- codePoint = codePoint || 0; // NaN --> 0
- var formatted = '';
- if (codePoint <= 0xFFFF) {
- formatted = zeroPaddedHex(codePoint, 4);
- } else {
- formatted = codePoint.toString(16).toUpperCase();
- }
- return 'U+' + formatted;
-}
-
-/**
- * Get a list of formatted (string) Unicode code-points from a String
- *
- * @param {string} str Valid Unicode string
- * @return {array} A list of formatted code-point strings
- */
-function getCodePointsFormatted(str) {
- const codePoints = UnicodeUtils.getCodePoints(str);
- return codePoints.map(formatCodePoint);
-}
-
-// We use this funky constructor instead of the object
-// constructor because JS object keys are always coerced
-// to string, but we want a map of int -> string pairs.
-const SpecialEscapesMap = Immutable.Map([[0x07, '\\a'], [0x08, '\\b'], [0x0C, '\\f'], [0x0A, '\\n'], [0x0D, '\\r'], [0x09, '\\t'], [0x0B, '\\v'], [0x22, '\\"'], [0x5c, '\\\\']]);
-
-/**
- * Returns a double-quoted PHP string with all non-printable and
- * non-US-ASCII sequences escaped.
- *
- * @param {string} str Valid Unicode string
- * @return {string} Double-quoted string with Unicode sequences escaped
- */
-function phpEscape(s) {
- var result = '"';
- for (let cp of UnicodeUtils.getCodePoints(s)) {
- let special = SpecialEscapesMap.get(cp);
- if (special !== undefined) {
- result += special;
- } else if (cp >= 0x20 && cp <= 0x7e) {
- result += String.fromCodePoint(cp);
- } else if (cp <= 0xFFFF) {
- result += '\\u{' + zeroPaddedHex(cp, 4) + '}';
- } else {
- result += '\\u{' + zeroPaddedHex(cp, 6) + '}';
- }
- }
- result += '"';
- return result;
-}
-
-/**
- * Returns a double-quoted Java or JavaScript string with all
- * non-printable and non-US-ASCII sequences escaped.
- *
- * @param {string} str Valid Unicode string
- * @return {string} Double-quoted string with Unicode sequences escaped
- */
-function jsEscape(s) {
- var result = '"';
- for (var i = 0; i < s.length; i++) {
- let cp = s.charCodeAt(i);
- let special = SpecialEscapesMap.get(cp);
- if (special !== undefined) {
- result += special;
- } else if (cp >= 0x20 && cp <= 0x7e) {
- result += String.fromCodePoint(cp);
- } else {
- result += '\\u' + zeroPaddedHex(cp, 4);
- }
- }
- result += '"';
- return result;
-}
-
-function c11Escape(s) {
- var result = '';
- for (let cp of UnicodeUtils.getCodePoints(s)) {
- let special = SpecialEscapesMap.get(cp);
- if (special !== undefined) {
- result += special;
- } else if (cp >= 0x20 && cp <= 0x7e) {
- result += String.fromCodePoint(cp);
- } else if (cp <= 0xFFFF) {
- result += '\\u' + zeroPaddedHex(cp, 4);
- } else {
- result += '\\U' + zeroPaddedHex(cp, 8);
- }
- }
- return result;
-}
-
-/**
- * Returns a double-quoted C string with all non-printable and
- * non-US-ASCII sequences escaped.
- *
- * @param {string} str Valid Unicode string
- * @return {string} Double-quoted string with Unicode sequences escaped
- */
-function cEscape(s) {
- return 'u8"' + c11Escape(s) + '"';
-}
-
-/**
- * Returns a double-quoted Objective-C string with all non-printable
- * and non-US-ASCII sequences escaped.
- *
- * @param {string} str Valid Unicode string
- * @return {string} Double-quoted string with Unicode sequences escaped
- */
-function objcEscape(s) {
- return '@"' + c11Escape(s) + '"';
-}
-
-/**
- * Returns a double-quoted Python string with all non-printable
- * and non-US-ASCII sequences escaped.
- *
- * @param {string} str Valid Unicode string
- * @return {string} Double-quoted string with Unicode sequences escaped
- */
-function pyEscape(s) {
- return 'u"' + c11Escape(s) + '"';
-}
-
-const UnicodeUtilsExtra = {
- formatCodePoint: formatCodePoint,
- getCodePointsFormatted: getCodePointsFormatted,
- zeroPaddedHex: zeroPaddedHex,
- phpEscape: phpEscape,
- jsEscape: jsEscape,
- cEscape: cEscape,
- objcEscape: objcEscape,
- pyEscape: pyEscape
-};
-
-module.exports = UnicodeUtilsExtra;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/UserAgent.js b/node_modules/fbjs/lib/UserAgent.js
deleted file mode 100644
index e6eb85b..0000000
--- a/node_modules/fbjs/lib/UserAgent.js
+++ /dev/null
@@ -1,242 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-'use strict';
-
-var UserAgentData = require('./UserAgentData');
-var VersionRange = require('./VersionRange');
-
-var mapObject = require('./mapObject');
-var memoizeStringOnly = require('./memoizeStringOnly');
-
-/**
- * Checks to see whether `name` and `version` satisfy `query`.
- *
- * @param {string} name Name of the browser, device, engine or platform
- * @param {?string} version Version of the browser, engine or platform
- * @param {string} query Query of form "Name [range expression]"
- * @param {?function} normalizer Optional pre-processor for range expression
- * @return {boolean}
- */
-function compare(name, version, query, normalizer) {
- // check for exact match with no version
- if (name === query) {
- return true;
- }
-
- // check for non-matching names
- if (!query.startsWith(name)) {
- return false;
- }
-
- // full comparison with version
- var range = query.slice(name.length);
- if (version) {
- range = normalizer ? normalizer(range) : range;
- return VersionRange.contains(range, version);
- }
-
- return false;
-}
-
-/**
- * Normalizes `version` by stripping any "NT" prefix, but only on the Windows
- * platform.
- *
- * Mimics the stripping performed by the `UserAgentWindowsPlatform` PHP class.
- *
- * @param {string} version
- * @return {string}
- */
-function normalizePlatformVersion(version) {
- if (UserAgentData.platformName === 'Windows') {
- return version.replace(/^\s*NT/, '');
- }
-
- return version;
-}
-
-/**
- * Provides client-side access to the authoritative PHP-generated User Agent
- * information supplied by the server.
- */
-var UserAgent = {
- /**
- * Check if the User Agent browser matches `query`.
- *
- * `query` should be a string like "Chrome" or "Chrome > 33".
- *
- * Valid browser names include:
- *
- * - ACCESS NetFront
- * - AOL
- * - Amazon Silk
- * - Android
- * - BlackBerry
- * - BlackBerry PlayBook
- * - Chrome
- * - Chrome for iOS
- * - Chrome frame
- * - Facebook PHP SDK
- * - Facebook for iOS
- * - Firefox
- * - IE
- * - IE Mobile
- * - Mobile Safari
- * - Motorola Internet Browser
- * - Nokia
- * - Openwave Mobile Browser
- * - Opera
- * - Opera Mini
- * - Opera Mobile
- * - Safari
- * - UIWebView
- * - Unknown
- * - webOS
- * - etc...
- *
- * An authoritative list can be found in the PHP `BrowserDetector` class and
- * related classes in the same file (see calls to `new UserAgentBrowser` here:
- * https://fburl.com/50728104).
- *
- * @note Function results are memoized
- *
- * @param {string} query Query of the form "Name [range expression]"
- * @return {boolean}
- */
-
- isBrowser: function isBrowser(query) {
- return compare(UserAgentData.browserName, UserAgentData.browserFullVersion, query);
- },
-
-
- /**
- * Check if the User Agent browser uses a 32 or 64 bit architecture.
- *
- * @note Function results are memoized
- *
- * @param {string} query Query of the form "32" or "64".
- * @return {boolean}
- */
- isBrowserArchitecture: function isBrowserArchitecture(query) {
- return compare(UserAgentData.browserArchitecture, null, query);
- },
-
-
- /**
- * Check if the User Agent device matches `query`.
- *
- * `query` should be a string like "iPhone" or "iPad".
- *
- * Valid device names include:
- *
- * - Kindle
- * - Kindle Fire
- * - Unknown
- * - iPad
- * - iPhone
- * - iPod
- * - etc...
- *
- * An authoritative list can be found in the PHP `DeviceDetector` class and
- * related classes in the same file (see calls to `new UserAgentDevice` here:
- * https://fburl.com/50728332).
- *
- * @note Function results are memoized
- *
- * @param {string} query Query of the form "Name"
- * @return {boolean}
- */
- isDevice: function isDevice(query) {
- return compare(UserAgentData.deviceName, null, query);
- },
-
-
- /**
- * Check if the User Agent rendering engine matches `query`.
- *
- * `query` should be a string like "WebKit" or "WebKit >= 537".
- *
- * Valid engine names include:
- *
- * - Gecko
- * - Presto
- * - Trident
- * - WebKit
- * - etc...
- *
- * An authoritative list can be found in the PHP `RenderingEngineDetector`
- * class related classes in the same file (see calls to `new
- * UserAgentRenderingEngine` here: https://fburl.com/50728617).
- *
- * @note Function results are memoized
- *
- * @param {string} query Query of the form "Name [range expression]"
- * @return {boolean}
- */
- isEngine: function isEngine(query) {
- return compare(UserAgentData.engineName, UserAgentData.engineVersion, query);
- },
-
-
- /**
- * Check if the User Agent platform matches `query`.
- *
- * `query` should be a string like "Windows" or "iOS 5 - 6".
- *
- * Valid platform names include:
- *
- * - Android
- * - BlackBerry OS
- * - Java ME
- * - Linux
- * - Mac OS X
- * - Mac OS X Calendar
- * - Mac OS X Internet Account
- * - Symbian
- * - SymbianOS
- * - Windows
- * - Windows Mobile
- * - Windows Phone
- * - iOS
- * - iOS Facebook Integration Account
- * - iOS Facebook Social Sharing UI
- * - webOS
- * - Chrome OS
- * - etc...
- *
- * An authoritative list can be found in the PHP `PlatformDetector` class and
- * related classes in the same file (see calls to `new UserAgentPlatform`
- * here: https://fburl.com/50729226).
- *
- * @note Function results are memoized
- *
- * @param {string} query Query of the form "Name [range expression]"
- * @return {boolean}
- */
- isPlatform: function isPlatform(query) {
- return compare(UserAgentData.platformName, UserAgentData.platformFullVersion, query, normalizePlatformVersion);
- },
-
-
- /**
- * Check if the User Agent platform is a 32 or 64 bit architecture.
- *
- * @note Function results are memoized
- *
- * @param {string} query Query of the form "32" or "64".
- * @return {boolean}
- */
- isPlatformArchitecture: function isPlatformArchitecture(query) {
- return compare(UserAgentData.platformArchitecture, null, query);
- }
-};
-
-module.exports = mapObject(UserAgent, memoizeStringOnly);
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/UserAgent.js.flow b/node_modules/fbjs/lib/UserAgent.js.flow
deleted file mode 100644
index 63d8b96..0000000
--- a/node_modules/fbjs/lib/UserAgent.js.flow
+++ /dev/null
@@ -1,238 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule UserAgent
- */
-
-'use strict';
-
-const UserAgentData = require('./UserAgentData');
-const VersionRange = require('./VersionRange');
-
-const mapObject = require('./mapObject');
-const memoizeStringOnly = require('./memoizeStringOnly');
-
-/**
- * Checks to see whether `name` and `version` satisfy `query`.
- *
- * @param {string} name Name of the browser, device, engine or platform
- * @param {?string} version Version of the browser, engine or platform
- * @param {string} query Query of form "Name [range expression]"
- * @param {?function} normalizer Optional pre-processor for range expression
- * @return {boolean}
- */
-function compare(name, version, query, normalizer) {
- // check for exact match with no version
- if (name === query) {
- return true;
- }
-
- // check for non-matching names
- if (!query.startsWith(name)) {
- return false;
- }
-
- // full comparison with version
- let range = query.slice(name.length);
- if (version) {
- range = normalizer ? normalizer(range) : range;
- return VersionRange.contains(range, version);
- }
-
- return false;
-}
-
-/**
- * Normalizes `version` by stripping any "NT" prefix, but only on the Windows
- * platform.
- *
- * Mimics the stripping performed by the `UserAgentWindowsPlatform` PHP class.
- *
- * @param {string} version
- * @return {string}
- */
-function normalizePlatformVersion(version) {
- if (UserAgentData.platformName === 'Windows') {
- return version.replace(/^\s*NT/, '');
- }
-
- return version;
-}
-
-/**
- * Provides client-side access to the authoritative PHP-generated User Agent
- * information supplied by the server.
- */
-const UserAgent = {
- /**
- * Check if the User Agent browser matches `query`.
- *
- * `query` should be a string like "Chrome" or "Chrome > 33".
- *
- * Valid browser names include:
- *
- * - ACCESS NetFront
- * - AOL
- * - Amazon Silk
- * - Android
- * - BlackBerry
- * - BlackBerry PlayBook
- * - Chrome
- * - Chrome for iOS
- * - Chrome frame
- * - Facebook PHP SDK
- * - Facebook for iOS
- * - Firefox
- * - IE
- * - IE Mobile
- * - Mobile Safari
- * - Motorola Internet Browser
- * - Nokia
- * - Openwave Mobile Browser
- * - Opera
- * - Opera Mini
- * - Opera Mobile
- * - Safari
- * - UIWebView
- * - Unknown
- * - webOS
- * - etc...
- *
- * An authoritative list can be found in the PHP `BrowserDetector` class and
- * related classes in the same file (see calls to `new UserAgentBrowser` here:
- * https://fburl.com/50728104).
- *
- * @note Function results are memoized
- *
- * @param {string} query Query of the form "Name [range expression]"
- * @return {boolean}
- */
- isBrowser(query) {
- return compare(UserAgentData.browserName, UserAgentData.browserFullVersion, query);
- },
-
- /**
- * Check if the User Agent browser uses a 32 or 64 bit architecture.
- *
- * @note Function results are memoized
- *
- * @param {string} query Query of the form "32" or "64".
- * @return {boolean}
- */
- isBrowserArchitecture(query) {
- return compare(UserAgentData.browserArchitecture, null, query);
- },
-
- /**
- * Check if the User Agent device matches `query`.
- *
- * `query` should be a string like "iPhone" or "iPad".
- *
- * Valid device names include:
- *
- * - Kindle
- * - Kindle Fire
- * - Unknown
- * - iPad
- * - iPhone
- * - iPod
- * - etc...
- *
- * An authoritative list can be found in the PHP `DeviceDetector` class and
- * related classes in the same file (see calls to `new UserAgentDevice` here:
- * https://fburl.com/50728332).
- *
- * @note Function results are memoized
- *
- * @param {string} query Query of the form "Name"
- * @return {boolean}
- */
- isDevice(query) {
- return compare(UserAgentData.deviceName, null, query);
- },
-
- /**
- * Check if the User Agent rendering engine matches `query`.
- *
- * `query` should be a string like "WebKit" or "WebKit >= 537".
- *
- * Valid engine names include:
- *
- * - Gecko
- * - Presto
- * - Trident
- * - WebKit
- * - etc...
- *
- * An authoritative list can be found in the PHP `RenderingEngineDetector`
- * class related classes in the same file (see calls to `new
- * UserAgentRenderingEngine` here: https://fburl.com/50728617).
- *
- * @note Function results are memoized
- *
- * @param {string} query Query of the form "Name [range expression]"
- * @return {boolean}
- */
- isEngine(query) {
- return compare(UserAgentData.engineName, UserAgentData.engineVersion, query);
- },
-
- /**
- * Check if the User Agent platform matches `query`.
- *
- * `query` should be a string like "Windows" or "iOS 5 - 6".
- *
- * Valid platform names include:
- *
- * - Android
- * - BlackBerry OS
- * - Java ME
- * - Linux
- * - Mac OS X
- * - Mac OS X Calendar
- * - Mac OS X Internet Account
- * - Symbian
- * - SymbianOS
- * - Windows
- * - Windows Mobile
- * - Windows Phone
- * - iOS
- * - iOS Facebook Integration Account
- * - iOS Facebook Social Sharing UI
- * - webOS
- * - Chrome OS
- * - etc...
- *
- * An authoritative list can be found in the PHP `PlatformDetector` class and
- * related classes in the same file (see calls to `new UserAgentPlatform`
- * here: https://fburl.com/50729226).
- *
- * @note Function results are memoized
- *
- * @param {string} query Query of the form "Name [range expression]"
- * @return {boolean}
- */
- isPlatform(query) {
- return compare(UserAgentData.platformName, UserAgentData.platformFullVersion, query, normalizePlatformVersion);
- },
-
- /**
- * Check if the User Agent platform is a 32 or 64 bit architecture.
- *
- * @note Function results are memoized
- *
- * @param {string} query Query of the form "32" or "64".
- * @return {boolean}
- */
- isPlatformArchitecture(query) {
- return compare(UserAgentData.platformArchitecture, null, query);
- }
-
-};
-
-module.exports = mapObject(UserAgent, memoizeStringOnly);
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/UserAgentData.js b/node_modules/fbjs/lib/UserAgentData.js
deleted file mode 100644
index 64dca7f..0000000
--- a/node_modules/fbjs/lib/UserAgentData.js
+++ /dev/null
@@ -1,82 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-/**
- * Usage note:
- * This module makes a best effort to export the same data we would internally.
- * At Facebook we use a server-generated module that does the parsing and
- * exports the data for the client to use. We can't rely on a server-side
- * implementation in open source so instead we make use of an open source
- * library to do the heavy lifting and then make some adjustments as necessary.
- * It's likely there will be some differences. Some we can smooth over.
- * Others are going to be harder.
- */
-
-'use strict';
-
-var UAParser = require('ua-parser-js');
-
-var UNKNOWN = 'Unknown';
-
-var PLATFORM_MAP = {
- 'Mac OS': 'Mac OS X'
-};
-
-/**
- * Convert from UAParser platform name to what we expect.
- */
-function convertPlatformName(name) {
- return PLATFORM_MAP[name] || name;
-}
-
-/**
- * Get the version number in parts. This is very naive. We actually get major
- * version as a part of UAParser already, which is generally good enough, but
- * let's get the minor just in case.
- */
-function getBrowserVersion(version) {
- if (!version) {
- return {
- major: '',
- minor: ''
- };
- }
- var parts = version.split('.');
- return {
- major: parts[0],
- minor: parts[1]
- };
-}
-
-/**
- * Get the UA data fom UAParser and then convert it to the format we're
- * expecting for our APIS.
- */
-var parser = new UAParser();
-var results = parser.getResult();
-
-// Do some conversion first.
-var browserVersionData = getBrowserVersion(results.browser.version);
-var uaData = {
- browserArchitecture: results.cpu.architecture || UNKNOWN,
- browserFullVersion: results.browser.version || UNKNOWN,
- browserMinorVersion: browserVersionData.minor || UNKNOWN,
- browserName: results.browser.name || UNKNOWN,
- browserVersion: results.browser.major || UNKNOWN,
- deviceName: results.device.model || UNKNOWN,
- engineName: results.engine.name || UNKNOWN,
- engineVersion: results.engine.version || UNKNOWN,
- platformArchitecture: results.cpu.architecture || UNKNOWN,
- platformName: convertPlatformName(results.os.name) || UNKNOWN,
- platformVersion: results.os.version || UNKNOWN,
- platformFullVersion: results.os.version || UNKNOWN
-};
-
-module.exports = uaData;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/UserAgentData.js.flow b/node_modules/fbjs/lib/UserAgentData.js.flow
deleted file mode 100644
index e7f2ae0..0000000
--- a/node_modules/fbjs/lib/UserAgentData.js.flow
+++ /dev/null
@@ -1,83 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule UserAgentData
- */
-
-/**
- * Usage note:
- * This module makes a best effort to export the same data we would internally.
- * At Facebook we use a server-generated module that does the parsing and
- * exports the data for the client to use. We can't rely on a server-side
- * implementation in open source so instead we make use of an open source
- * library to do the heavy lifting and then make some adjustments as necessary.
- * It's likely there will be some differences. Some we can smooth over.
- * Others are going to be harder.
- */
-
-'use strict';
-
-var UAParser = require('ua-parser-js');
-
-var UNKNOWN = 'Unknown';
-
-var PLATFORM_MAP = {
- 'Mac OS': 'Mac OS X'
-};
-
-/**
- * Convert from UAParser platform name to what we expect.
- */
-function convertPlatformName(name) {
- return PLATFORM_MAP[name] || name;
-}
-
-/**
- * Get the version number in parts. This is very naive. We actually get major
- * version as a part of UAParser already, which is generally good enough, but
- * let's get the minor just in case.
- */
-function getBrowserVersion(version) {
- if (!version) {
- return {
- major: '',
- minor: ''
- };
- }
- var parts = version.split('.');
- return {
- major: parts[0],
- minor: parts[1]
- };
-}
-
-/**
- * Get the UA data fom UAParser and then convert it to the format we're
- * expecting for our APIS.
- */
-var parser = new UAParser();
-var results = parser.getResult();
-
-// Do some conversion first.
-var browserVersionData = getBrowserVersion(results.browser.version);
-var uaData = {
- browserArchitecture: results.cpu.architecture || UNKNOWN,
- browserFullVersion: results.browser.version || UNKNOWN,
- browserMinorVersion: browserVersionData.minor || UNKNOWN,
- browserName: results.browser.name || UNKNOWN,
- browserVersion: results.browser.major || UNKNOWN,
- deviceName: results.device.model || UNKNOWN,
- engineName: results.engine.name || UNKNOWN,
- engineVersion: results.engine.version || UNKNOWN,
- platformArchitecture: results.cpu.architecture || UNKNOWN,
- platformName: convertPlatformName(results.os.name) || UNKNOWN,
- platformVersion: results.os.version || UNKNOWN,
- platformFullVersion: results.os.version || UNKNOWN
-};
-
-module.exports = uaData;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/VersionRange.js b/node_modules/fbjs/lib/VersionRange.js
deleted file mode 100644
index 2fb452f..0000000
--- a/node_modules/fbjs/lib/VersionRange.js
+++ /dev/null
@@ -1,386 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-'use strict';
-
-var invariant = require('./invariant');
-
-var componentRegex = /\./;
-var orRegex = /\|\|/;
-var rangeRegex = /\s+\-\s+/;
-var modifierRegex = /^(<=|<|=|>=|~>|~|>|)?\s*(.+)/;
-var numericRegex = /^(\d*)(.*)/;
-
-/**
- * Splits input `range` on "||" and returns true if any subrange matches
- * `version`.
- *
- * @param {string} range
- * @param {string} version
- * @returns {boolean}
- */
-function checkOrExpression(range, version) {
- var expressions = range.split(orRegex);
-
- if (expressions.length > 1) {
- return expressions.some(function (range) {
- return VersionRange.contains(range, version);
- });
- } else {
- range = expressions[0].trim();
- return checkRangeExpression(range, version);
- }
-}
-
-/**
- * Splits input `range` on " - " (the surrounding whitespace is required) and
- * returns true if version falls between the two operands.
- *
- * @param {string} range
- * @param {string} version
- * @returns {boolean}
- */
-function checkRangeExpression(range, version) {
- var expressions = range.split(rangeRegex);
-
- !(expressions.length > 0 && expressions.length <= 2) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'the "-" operator expects exactly 2 operands') : invariant(false) : void 0;
-
- if (expressions.length === 1) {
- return checkSimpleExpression(expressions[0], version);
- } else {
- var startVersion = expressions[0];
- var endVersion = expressions[1];
-
- !(isSimpleVersion(startVersion) && isSimpleVersion(endVersion)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'operands to the "-" operator must be simple (no modifiers)') : invariant(false) : void 0;
-
- return checkSimpleExpression('>=' + startVersion, version) && checkSimpleExpression('<=' + endVersion, version);
- }
-}
-
-/**
- * Checks if `range` matches `version`. `range` should be a "simple" range (ie.
- * not a compound range using the " - " or "||" operators).
- *
- * @param {string} range
- * @param {string} version
- * @returns {boolean}
- */
-function checkSimpleExpression(range, version) {
- range = range.trim();
- if (range === '') {
- return true;
- }
-
- var versionComponents = version.split(componentRegex);
-
- var _getModifierAndCompon = getModifierAndComponents(range);
-
- var modifier = _getModifierAndCompon.modifier;
- var rangeComponents = _getModifierAndCompon.rangeComponents;
-
- switch (modifier) {
- case '<':
- return checkLessThan(versionComponents, rangeComponents);
- case '<=':
- return checkLessThanOrEqual(versionComponents, rangeComponents);
- case '>=':
- return checkGreaterThanOrEqual(versionComponents, rangeComponents);
- case '>':
- return checkGreaterThan(versionComponents, rangeComponents);
- case '~':
- case '~>':
- return checkApproximateVersion(versionComponents, rangeComponents);
- default:
- return checkEqual(versionComponents, rangeComponents);
- }
-}
-
-/**
- * Checks whether `a` is less than `b`.
- *
- * @param {array} a
- * @param {array} b
- * @returns {boolean}
- */
-function checkLessThan(a, b) {
- return compareComponents(a, b) === -1;
-}
-
-/**
- * Checks whether `a` is less than or equal to `b`.
- *
- * @param {array} a
- * @param {array} b
- * @returns {boolean}
- */
-function checkLessThanOrEqual(a, b) {
- var result = compareComponents(a, b);
- return result === -1 || result === 0;
-}
-
-/**
- * Checks whether `a` is equal to `b`.
- *
- * @param {array} a
- * @param {array} b
- * @returns {boolean}
- */
-function checkEqual(a, b) {
- return compareComponents(a, b) === 0;
-}
-
-/**
- * Checks whether `a` is greater than or equal to `b`.
- *
- * @param {array} a
- * @param {array} b
- * @returns {boolean}
- */
-function checkGreaterThanOrEqual(a, b) {
- var result = compareComponents(a, b);
- return result === 1 || result === 0;
-}
-
-/**
- * Checks whether `a` is greater than `b`.
- *
- * @param {array} a
- * @param {array} b
- * @returns {boolean}
- */
-function checkGreaterThan(a, b) {
- return compareComponents(a, b) === 1;
-}
-
-/**
- * Checks whether `a` is "reasonably close" to `b` (as described in
- * https://www.npmjs.org/doc/misc/semver.html). For example, if `b` is "1.3.1"
- * then "reasonably close" is defined as ">= 1.3.1 and < 1.4".
- *
- * @param {array} a
- * @param {array} b
- * @returns {boolean}
- */
-function checkApproximateVersion(a, b) {
- var lowerBound = b.slice();
- var upperBound = b.slice();
-
- if (upperBound.length > 1) {
- upperBound.pop();
- }
- var lastIndex = upperBound.length - 1;
- var numeric = parseInt(upperBound[lastIndex], 10);
- if (isNumber(numeric)) {
- upperBound[lastIndex] = numeric + 1 + '';
- }
-
- return checkGreaterThanOrEqual(a, lowerBound) && checkLessThan(a, upperBound);
-}
-
-/**
- * Extracts the optional modifier (<, <=, =, >=, >, ~, ~>) and version
- * components from `range`.
- *
- * For example, given `range` ">= 1.2.3" returns an object with a `modifier` of
- * `">="` and `components` of `[1, 2, 3]`.
- *
- * @param {string} range
- * @returns {object}
- */
-function getModifierAndComponents(range) {
- var rangeComponents = range.split(componentRegex);
- var matches = rangeComponents[0].match(modifierRegex);
- !matches ? process.env.NODE_ENV !== 'production' ? invariant(false, 'expected regex to match but it did not') : invariant(false) : void 0;
-
- return {
- modifier: matches[1],
- rangeComponents: [matches[2]].concat(rangeComponents.slice(1))
- };
-}
-
-/**
- * Determines if `number` is a number.
- *
- * @param {mixed} number
- * @returns {boolean}
- */
-function isNumber(number) {
- return !isNaN(number) && isFinite(number);
-}
-
-/**
- * Tests whether `range` is a "simple" version number without any modifiers
- * (">", "~" etc).
- *
- * @param {string} range
- * @returns {boolean}
- */
-function isSimpleVersion(range) {
- return !getModifierAndComponents(range).modifier;
-}
-
-/**
- * Zero-pads array `array` until it is at least `length` long.
- *
- * @param {array} array
- * @param {number} length
- */
-function zeroPad(array, length) {
- for (var i = array.length; i < length; i++) {
- array[i] = '0';
- }
-}
-
-/**
- * Normalizes `a` and `b` in preparation for comparison by doing the following:
- *
- * - zero-pads `a` and `b`
- * - marks any "x", "X" or "*" component in `b` as equivalent by zero-ing it out
- * in both `a` and `b`
- * - marks any final "*" component in `b` as a greedy wildcard by zero-ing it
- * and all of its successors in `a`
- *
- * @param {array} a
- * @param {array} b
- * @returns {array>}
- */
-function normalizeVersions(a, b) {
- a = a.slice();
- b = b.slice();
-
- zeroPad(a, b.length);
-
- // mark "x" and "*" components as equal
- for (var i = 0; i < b.length; i++) {
- var matches = b[i].match(/^[x*]$/i);
- if (matches) {
- b[i] = a[i] = '0';
-
- // final "*" greedily zeros all remaining components
- if (matches[0] === '*' && i === b.length - 1) {
- for (var j = i; j < a.length; j++) {
- a[j] = '0';
- }
- }
- }
- }
-
- zeroPad(b, a.length);
-
- return [a, b];
-}
-
-/**
- * Returns the numerical -- not the lexicographical -- ordering of `a` and `b`.
- *
- * For example, `10-alpha` is greater than `2-beta`.
- *
- * @param {string} a
- * @param {string} b
- * @returns {number} -1, 0 or 1 to indicate whether `a` is less than, equal to,
- * or greater than `b`, respectively
- */
-function compareNumeric(a, b) {
- var aPrefix = a.match(numericRegex)[1];
- var bPrefix = b.match(numericRegex)[1];
- var aNumeric = parseInt(aPrefix, 10);
- var bNumeric = parseInt(bPrefix, 10);
-
- if (isNumber(aNumeric) && isNumber(bNumeric) && aNumeric !== bNumeric) {
- return compare(aNumeric, bNumeric);
- } else {
- return compare(a, b);
- }
-}
-
-/**
- * Returns the ordering of `a` and `b`.
- *
- * @param {string|number} a
- * @param {string|number} b
- * @returns {number} -1, 0 or 1 to indicate whether `a` is less than, equal to,
- * or greater than `b`, respectively
- */
-function compare(a, b) {
- !(typeof a === typeof b) ? process.env.NODE_ENV !== 'production' ? invariant(false, '"a" and "b" must be of the same type') : invariant(false) : void 0;
-
- if (a > b) {
- return 1;
- } else if (a < b) {
- return -1;
- } else {
- return 0;
- }
-}
-
-/**
- * Compares arrays of version components.
- *
- * @param {array} a
- * @param {array} b
- * @returns {number} -1, 0 or 1 to indicate whether `a` is less than, equal to,
- * or greater than `b`, respectively
- */
-function compareComponents(a, b) {
- var _normalizeVersions = normalizeVersions(a, b);
-
- var aNormalized = _normalizeVersions[0];
- var bNormalized = _normalizeVersions[1];
-
-
- for (var i = 0; i < bNormalized.length; i++) {
- var result = compareNumeric(aNormalized[i], bNormalized[i]);
- if (result) {
- return result;
- }
- }
-
- return 0;
-}
-
-var VersionRange = {
- /**
- * Checks whether `version` satisfies the `range` specification.
- *
- * We support a subset of the expressions defined in
- * https://www.npmjs.org/doc/misc/semver.html:
- *
- * version Must match version exactly
- * =version Same as just version
- * >version Must be greater than version
- * >=version Must be greater than or equal to version
- * = 1.2.3 and < 1.3"
- * ~>version Equivalent to ~version
- * 1.2.x Must match "1.2.x", where "x" is a wildcard that matches
- * anything
- * 1.2.* Similar to "1.2.x", but "*" in the trailing position is a
- * "greedy" wildcard, so will match any number of additional
- * components:
- * "1.2.*" will match "1.2.1", "1.2.1.1", "1.2.1.1.1" etc
- * * Any version
- * "" (Empty string) Same as *
- * v1 - v2 Equivalent to ">= v1 and <= v2"
- * r1 || r2 Passes if either r1 or r2 are satisfied
- *
- * @param {string} range
- * @param {string} version
- * @returns {boolean}
- */
-
- contains: function contains(range, version) {
- return checkOrExpression(range.trim(), version.trim());
- }
-};
-
-module.exports = VersionRange;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/VersionRange.js.flow b/node_modules/fbjs/lib/VersionRange.js.flow
deleted file mode 100644
index 6aa27ed..0000000
--- a/node_modules/fbjs/lib/VersionRange.js.flow
+++ /dev/null
@@ -1,373 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule VersionRange
- */
-
-'use strict';
-
-const invariant = require('./invariant');
-
-const componentRegex = /\./;
-const orRegex = /\|\|/;
-const rangeRegex = /\s+\-\s+/;
-const modifierRegex = /^(<=|<|=|>=|~>|~|>|)?\s*(.+)/;
-const numericRegex = /^(\d*)(.*)/;
-
-/**
- * Splits input `range` on "||" and returns true if any subrange matches
- * `version`.
- *
- * @param {string} range
- * @param {string} version
- * @returns {boolean}
- */
-function checkOrExpression(range, version) {
- const expressions = range.split(orRegex);
-
- if (expressions.length > 1) {
- return expressions.some(range => VersionRange.contains(range, version));
- } else {
- range = expressions[0].trim();
- return checkRangeExpression(range, version);
- }
-}
-
-/**
- * Splits input `range` on " - " (the surrounding whitespace is required) and
- * returns true if version falls between the two operands.
- *
- * @param {string} range
- * @param {string} version
- * @returns {boolean}
- */
-function checkRangeExpression(range, version) {
- const expressions = range.split(rangeRegex);
-
- invariant(expressions.length > 0 && expressions.length <= 2, 'the "-" operator expects exactly 2 operands');
-
- if (expressions.length === 1) {
- return checkSimpleExpression(expressions[0], version);
- } else {
- const [startVersion, endVersion] = expressions;
- invariant(isSimpleVersion(startVersion) && isSimpleVersion(endVersion), 'operands to the "-" operator must be simple (no modifiers)');
-
- return checkSimpleExpression('>=' + startVersion, version) && checkSimpleExpression('<=' + endVersion, version);
- }
-}
-
-/**
- * Checks if `range` matches `version`. `range` should be a "simple" range (ie.
- * not a compound range using the " - " or "||" operators).
- *
- * @param {string} range
- * @param {string} version
- * @returns {boolean}
- */
-function checkSimpleExpression(range, version) {
- range = range.trim();
- if (range === '') {
- return true;
- }
-
- const versionComponents = version.split(componentRegex);
- const { modifier, rangeComponents } = getModifierAndComponents(range);
- switch (modifier) {
- case '<':
- return checkLessThan(versionComponents, rangeComponents);
- case '<=':
- return checkLessThanOrEqual(versionComponents, rangeComponents);
- case '>=':
- return checkGreaterThanOrEqual(versionComponents, rangeComponents);
- case '>':
- return checkGreaterThan(versionComponents, rangeComponents);
- case '~':
- case '~>':
- return checkApproximateVersion(versionComponents, rangeComponents);
- default:
- return checkEqual(versionComponents, rangeComponents);
- }
-}
-
-/**
- * Checks whether `a` is less than `b`.
- *
- * @param {array} a
- * @param {array} b
- * @returns {boolean}
- */
-function checkLessThan(a, b) {
- return compareComponents(a, b) === -1;
-}
-
-/**
- * Checks whether `a` is less than or equal to `b`.
- *
- * @param {array} a
- * @param {array} b
- * @returns {boolean}
- */
-function checkLessThanOrEqual(a, b) {
- const result = compareComponents(a, b);
- return result === -1 || result === 0;
-}
-
-/**
- * Checks whether `a` is equal to `b`.
- *
- * @param {array} a
- * @param {array} b
- * @returns {boolean}
- */
-function checkEqual(a, b) {
- return compareComponents(a, b) === 0;
-}
-
-/**
- * Checks whether `a` is greater than or equal to `b`.
- *
- * @param {array} a
- * @param {array} b
- * @returns {boolean}
- */
-function checkGreaterThanOrEqual(a, b) {
- const result = compareComponents(a, b);
- return result === 1 || result === 0;
-}
-
-/**
- * Checks whether `a` is greater than `b`.
- *
- * @param {array} a
- * @param {array} b
- * @returns {boolean}
- */
-function checkGreaterThan(a, b) {
- return compareComponents(a, b) === 1;
-}
-
-/**
- * Checks whether `a` is "reasonably close" to `b` (as described in
- * https://www.npmjs.org/doc/misc/semver.html). For example, if `b` is "1.3.1"
- * then "reasonably close" is defined as ">= 1.3.1 and < 1.4".
- *
- * @param {array} a
- * @param {array} b
- * @returns {boolean}
- */
-function checkApproximateVersion(a, b) {
- const lowerBound = b.slice();
- const upperBound = b.slice();
-
- if (upperBound.length > 1) {
- upperBound.pop();
- }
- const lastIndex = upperBound.length - 1;
- const numeric = parseInt(upperBound[lastIndex], 10);
- if (isNumber(numeric)) {
- upperBound[lastIndex] = numeric + 1 + '';
- }
-
- return checkGreaterThanOrEqual(a, lowerBound) && checkLessThan(a, upperBound);
-}
-
-/**
- * Extracts the optional modifier (<, <=, =, >=, >, ~, ~>) and version
- * components from `range`.
- *
- * For example, given `range` ">= 1.2.3" returns an object with a `modifier` of
- * `">="` and `components` of `[1, 2, 3]`.
- *
- * @param {string} range
- * @returns {object}
- */
-function getModifierAndComponents(range) {
- const rangeComponents = range.split(componentRegex);
- const matches = rangeComponents[0].match(modifierRegex);
- invariant(matches, 'expected regex to match but it did not');
-
- return {
- modifier: matches[1],
- rangeComponents: [matches[2]].concat(rangeComponents.slice(1))
- };
-}
-
-/**
- * Determines if `number` is a number.
- *
- * @param {mixed} number
- * @returns {boolean}
- */
-function isNumber(number) {
- return !isNaN(number) && isFinite(number);
-}
-
-/**
- * Tests whether `range` is a "simple" version number without any modifiers
- * (">", "~" etc).
- *
- * @param {string} range
- * @returns {boolean}
- */
-function isSimpleVersion(range) {
- return !getModifierAndComponents(range).modifier;
-}
-
-/**
- * Zero-pads array `array` until it is at least `length` long.
- *
- * @param {array} array
- * @param {number} length
- */
-function zeroPad(array, length) {
- for (let i = array.length; i < length; i++) {
- array[i] = '0';
- }
-}
-
-/**
- * Normalizes `a` and `b` in preparation for comparison by doing the following:
- *
- * - zero-pads `a` and `b`
- * - marks any "x", "X" or "*" component in `b` as equivalent by zero-ing it out
- * in both `a` and `b`
- * - marks any final "*" component in `b` as a greedy wildcard by zero-ing it
- * and all of its successors in `a`
- *
- * @param {array} a
- * @param {array} b
- * @returns {array>}
- */
-function normalizeVersions(a, b) {
- a = a.slice();
- b = b.slice();
-
- zeroPad(a, b.length);
-
- // mark "x" and "*" components as equal
- for (let i = 0; i < b.length; i++) {
- const matches = b[i].match(/^[x*]$/i);
- if (matches) {
- b[i] = a[i] = '0';
-
- // final "*" greedily zeros all remaining components
- if (matches[0] === '*' && i === b.length - 1) {
- for (let j = i; j < a.length; j++) {
- a[j] = '0';
- }
- }
- }
- }
-
- zeroPad(b, a.length);
-
- return [a, b];
-}
-
-/**
- * Returns the numerical -- not the lexicographical -- ordering of `a` and `b`.
- *
- * For example, `10-alpha` is greater than `2-beta`.
- *
- * @param {string} a
- * @param {string} b
- * @returns {number} -1, 0 or 1 to indicate whether `a` is less than, equal to,
- * or greater than `b`, respectively
- */
-function compareNumeric(a, b) {
- const aPrefix = a.match(numericRegex)[1];
- const bPrefix = b.match(numericRegex)[1];
- const aNumeric = parseInt(aPrefix, 10);
- const bNumeric = parseInt(bPrefix, 10);
-
- if (isNumber(aNumeric) && isNumber(bNumeric) && aNumeric !== bNumeric) {
- return compare(aNumeric, bNumeric);
- } else {
- return compare(a, b);
- }
-}
-
-/**
- * Returns the ordering of `a` and `b`.
- *
- * @param {string|number} a
- * @param {string|number} b
- * @returns {number} -1, 0 or 1 to indicate whether `a` is less than, equal to,
- * or greater than `b`, respectively
- */
-function compare(a, b) {
- invariant(typeof a === typeof b, '"a" and "b" must be of the same type');
-
- if (a > b) {
- return 1;
- } else if (a < b) {
- return -1;
- } else {
- return 0;
- }
-}
-
-/**
- * Compares arrays of version components.
- *
- * @param {array} a
- * @param {array} b
- * @returns {number} -1, 0 or 1 to indicate whether `a` is less than, equal to,
- * or greater than `b`, respectively
- */
-function compareComponents(a, b) {
- const [aNormalized, bNormalized] = normalizeVersions(a, b);
-
- for (let i = 0; i < bNormalized.length; i++) {
- const result = compareNumeric(aNormalized[i], bNormalized[i]);
- if (result) {
- return result;
- }
- }
-
- return 0;
-}
-
-var VersionRange = {
- /**
- * Checks whether `version` satisfies the `range` specification.
- *
- * We support a subset of the expressions defined in
- * https://www.npmjs.org/doc/misc/semver.html:
- *
- * version Must match version exactly
- * =version Same as just version
- * >version Must be greater than version
- * >=version Must be greater than or equal to version
- * = 1.2.3 and < 1.3"
- * ~>version Equivalent to ~version
- * 1.2.x Must match "1.2.x", where "x" is a wildcard that matches
- * anything
- * 1.2.* Similar to "1.2.x", but "*" in the trailing position is a
- * "greedy" wildcard, so will match any number of additional
- * components:
- * "1.2.*" will match "1.2.1", "1.2.1.1", "1.2.1.1.1" etc
- * * Any version
- * "" (Empty string) Same as *
- * v1 - v2 Equivalent to ">= v1 and <= v2"
- * r1 || r2 Passes if either r1 or r2 are satisfied
- *
- * @param {string} range
- * @param {string} version
- * @returns {boolean}
- */
- contains(range, version) {
- return checkOrExpression(range.trim(), version.trim());
- }
-};
-
-module.exports = VersionRange;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/__mocks__/ErrorUtils.js b/node_modules/fbjs/lib/__mocks__/ErrorUtils.js
deleted file mode 100644
index f6a9944..0000000
--- a/node_modules/fbjs/lib/__mocks__/ErrorUtils.js
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- */
-
-'use strict';
-
-var ErrorUtils = jest.genMockFromModule('../ErrorUtils');
-
-ErrorUtils.applyWithGuard.mockImplementation(function (callback, context, args) {
- return callback.apply(context, args);
-});
-
-ErrorUtils.guard.mockImplementation(function (callback) {
- return callback;
-});
-
-module.exports = ErrorUtils;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/__mocks__/base62.js b/node_modules/fbjs/lib/__mocks__/base62.js
deleted file mode 100644
index 560c0fd..0000000
--- a/node_modules/fbjs/lib/__mocks__/base62.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- */
-
-'use strict';
-
-module.exports = require.requireActual('../base62');
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/__mocks__/crc32.js b/node_modules/fbjs/lib/__mocks__/crc32.js
deleted file mode 100644
index 9c4dfb3..0000000
--- a/node_modules/fbjs/lib/__mocks__/crc32.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- */
-
-'use strict';
-
-module.exports = require.requireActual('../crc32');
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/__mocks__/fetch.js b/node_modules/fbjs/lib/__mocks__/fetch.js
deleted file mode 100644
index f912737..0000000
--- a/node_modules/fbjs/lib/__mocks__/fetch.js
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @noflow
- */
-
-'use strict';
-
-var Deferred = require.requireActual('../Deferred');
-
-function fetch(uri, options) {
- var deferred = new Deferred();
- fetch.mock.calls.push([uri, options]);
- fetch.mock.deferreds.push(deferred);
- return deferred.getPromise();
-}
-
-fetch.mock = {
- calls: [],
- deferreds: []
-};
-
-module.exports = fetch;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/__mocks__/fetchWithRetries.js b/node_modules/fbjs/lib/__mocks__/fetchWithRetries.js
deleted file mode 100644
index a3309d2..0000000
--- a/node_modules/fbjs/lib/__mocks__/fetchWithRetries.js
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @noflow
- */
-
-'use strict';
-
-var Deferred = require.requireActual('../Deferred');
-
-function fetchWithRetries() {
- var deferred = new Deferred();
-
- for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
- args[_key] = arguments[_key];
- }
-
- fetchWithRetries.mock.calls.push(args);
- fetchWithRetries.mock.deferreds.push(deferred);
- return deferred.getPromise();
-}
-
-fetchWithRetries.mock = {
- calls: [],
- deferreds: []
-};
-
-module.exports = fetchWithRetries;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/__mocks__/nullthrows.js b/node_modules/fbjs/lib/__mocks__/nullthrows.js
deleted file mode 100644
index fc07fa5..0000000
--- a/node_modules/fbjs/lib/__mocks__/nullthrows.js
+++ /dev/null
@@ -1,14 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- */
-
-'use strict';
-
-jest.dontMock('../nullthrows');
-
-module.exports = require('../nullthrows');
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/_shouldPolyfillES6Collection.js b/node_modules/fbjs/lib/_shouldPolyfillES6Collection.js
deleted file mode 100644
index f0d2d51..0000000
--- a/node_modules/fbjs/lib/_shouldPolyfillES6Collection.js
+++ /dev/null
@@ -1,41 +0,0 @@
-'use strict';
-
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @preventMunge
- *
- */
-
-/**
- * Checks whether a collection name (e.g. "Map" or "Set") has a native polyfill
- * that is safe to be used.
- */
-function shouldPolyfillES6Collection(collectionName) {
- var Collection = global[collectionName];
- if (Collection == null) {
- return true;
- }
-
- // The iterator protocol depends on `Symbol.iterator`. If a collection is
- // implemented, but `Symbol` is not, it's going to break iteration because
- // we'll be using custom "@@iterator" instead, which is not implemented on
- // native collections.
- if (typeof global.Symbol !== 'function') {
- return true;
- }
-
- var proto = Collection.prototype;
-
- // These checks are adapted from es6-shim: https://fburl.com/34437854
- // NOTE: `isCallableWithoutNew` and `!supportsSubclassing` are not checked
- // because they make debugging with "break on exceptions" difficult.
- return Collection == null || typeof Collection !== 'function' || typeof proto.clear !== 'function' || new Collection().size !== 0 || typeof proto.keys !== 'function' || typeof proto.forEach !== 'function';
-}
-
-module.exports = shouldPolyfillES6Collection;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/_shouldPolyfillES6Collection.js.flow b/node_modules/fbjs/lib/_shouldPolyfillES6Collection.js.flow
deleted file mode 100644
index a8a0b4a..0000000
--- a/node_modules/fbjs/lib/_shouldPolyfillES6Collection.js.flow
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule _shouldPolyfillES6Collection
- * @preventMunge
- * @flow
- */
-
-/**
- * Checks whether a collection name (e.g. "Map" or "Set") has a native polyfill
- * that is safe to be used.
- */
-function shouldPolyfillES6Collection(collectionName: string): bool {
- const Collection = global[collectionName];
- if (Collection == null) {
- return true;
- }
-
- // The iterator protocol depends on `Symbol.iterator`. If a collection is
- // implemented, but `Symbol` is not, it's going to break iteration because
- // we'll be using custom "@@iterator" instead, which is not implemented on
- // native collections.
- if (typeof global.Symbol !== 'function') {
- return true;
- }
-
- const proto = Collection.prototype;
-
- // These checks are adapted from es6-shim: https://fburl.com/34437854
- // NOTE: `isCallableWithoutNew` and `!supportsSubclassing` are not checked
- // because they make debugging with "break on exceptions" difficult.
- return Collection == null || typeof Collection !== 'function' || typeof proto.clear !== 'function' || new Collection().size !== 0 || typeof proto.keys !== 'function' || typeof proto.forEach !== 'function';
-}
-
-module.exports = shouldPolyfillES6Collection;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/areEqual.js b/node_modules/fbjs/lib/areEqual.js
deleted file mode 100644
index ea8437a..0000000
--- a/node_modules/fbjs/lib/areEqual.js
+++ /dev/null
@@ -1,108 +0,0 @@
-'use strict';
-
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- *
- */
-
-var aStackPool = [];
-var bStackPool = [];
-
-/**
- * Checks if two values are equal. Values may be primitives, arrays, or objects.
- * Returns true if both arguments have the same keys and values.
- *
- * @see http://underscorejs.org
- * @copyright 2009-2013 Jeremy Ashkenas, DocumentCloud Inc.
- * @license MIT
- */
-function areEqual(a, b) {
- var aStack = aStackPool.length ? aStackPool.pop() : [];
- var bStack = bStackPool.length ? bStackPool.pop() : [];
- var result = eq(a, b, aStack, bStack);
- aStack.length = 0;
- bStack.length = 0;
- aStackPool.push(aStack);
- bStackPool.push(bStack);
- return result;
-}
-
-function eq(a, b, aStack, bStack) {
- if (a === b) {
- // Identical objects are equal. `0 === -0`, but they aren't identical.
- return a !== 0 || 1 / a == 1 / b;
- }
- if (a == null || b == null) {
- // a or b can be `null` or `undefined`
- return false;
- }
- if (typeof a != 'object' || typeof b != 'object') {
- return false;
- }
- var objToStr = Object.prototype.toString;
- var className = objToStr.call(a);
- if (className != objToStr.call(b)) {
- return false;
- }
- switch (className) {
- case '[object String]':
- return a == String(b);
- case '[object Number]':
- return isNaN(a) || isNaN(b) ? false : a == Number(b);
- case '[object Date]':
- case '[object Boolean]':
- return +a == +b;
- case '[object RegExp]':
- return a.source == b.source && a.global == b.global && a.multiline == b.multiline && a.ignoreCase == b.ignoreCase;
- }
- // Assume equality for cyclic structures.
- var length = aStack.length;
- while (length--) {
- if (aStack[length] == a) {
- return bStack[length] == b;
- }
- }
- aStack.push(a);
- bStack.push(b);
- var size = 0;
- // Recursively compare objects and arrays.
- if (className === '[object Array]') {
- size = a.length;
- if (size !== b.length) {
- return false;
- }
- // Deep compare the contents, ignoring non-numeric properties.
- while (size--) {
- if (!eq(a[size], b[size], aStack, bStack)) {
- return false;
- }
- }
- } else {
- if (a.constructor !== b.constructor) {
- return false;
- }
- if (a.hasOwnProperty('valueOf') && b.hasOwnProperty('valueOf')) {
- return a.valueOf() == b.valueOf();
- }
- var keys = Object.keys(a);
- if (keys.length != Object.keys(b).length) {
- return false;
- }
- for (var i = 0; i < keys.length; i++) {
- if (!eq(a[keys[i]], b[keys[i]], aStack, bStack)) {
- return false;
- }
- }
- }
- aStack.pop();
- bStack.pop();
- return true;
-}
-
-module.exports = areEqual;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/areEqual.js.flow b/node_modules/fbjs/lib/areEqual.js.flow
deleted file mode 100644
index 662f34e..0000000
--- a/node_modules/fbjs/lib/areEqual.js.flow
+++ /dev/null
@@ -1,107 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule areEqual
- * @flow
- */
-
-const aStackPool = [];
-const bStackPool = [];
-
-/**
- * Checks if two values are equal. Values may be primitives, arrays, or objects.
- * Returns true if both arguments have the same keys and values.
- *
- * @see http://underscorejs.org
- * @copyright 2009-2013 Jeremy Ashkenas, DocumentCloud Inc.
- * @license MIT
- */
-function areEqual(a: any, b: any): bool {
- const aStack = aStackPool.length ? aStackPool.pop() : [];
- const bStack = bStackPool.length ? bStackPool.pop() : [];
- const result = eq(a, b, aStack, bStack);
- aStack.length = 0;
- bStack.length = 0;
- aStackPool.push(aStack);
- bStackPool.push(bStack);
- return result;
-}
-
-function eq(a: any, b: any, aStack: Array, bStack: Array): bool {
- if (a === b) {
- // Identical objects are equal. `0 === -0`, but they aren't identical.
- return a !== 0 || 1 / a == 1 / b;
- }
- if (a == null || b == null) {
- // a or b can be `null` or `undefined`
- return false;
- }
- if (typeof a != 'object' || typeof b != 'object') {
- return false;
- }
- const objToStr = Object.prototype.toString;
- const className = objToStr.call(a);
- if (className != objToStr.call(b)) {
- return false;
- }
- switch (className) {
- case '[object String]':
- return a == String(b);
- case '[object Number]':
- return isNaN(a) || isNaN(b) ? false : a == Number(b);
- case '[object Date]':
- case '[object Boolean]':
- return +a == +b;
- case '[object RegExp]':
- return a.source == b.source && a.global == b.global && a.multiline == b.multiline && a.ignoreCase == b.ignoreCase;
- }
- // Assume equality for cyclic structures.
- let length = aStack.length;
- while (length--) {
- if (aStack[length] == a) {
- return bStack[length] == b;
- }
- }
- aStack.push(a);
- bStack.push(b);
- let size = 0;
- // Recursively compare objects and arrays.
- if (className === '[object Array]') {
- size = a.length;
- if (size !== b.length) {
- return false;
- }
- // Deep compare the contents, ignoring non-numeric properties.
- while (size--) {
- if (!eq(a[size], b[size], aStack, bStack)) {
- return false;
- }
- }
- } else {
- if (a.constructor !== b.constructor) {
- return false;
- }
- if (a.hasOwnProperty('valueOf') && b.hasOwnProperty('valueOf')) {
- return a.valueOf() == b.valueOf();
- }
- const keys = Object.keys(a);
- if (keys.length != Object.keys(b).length) {
- return false;
- }
- for (let i = 0; i < keys.length; i++) {
- if (!eq(a[keys[i]], b[keys[i]], aStack, bStack)) {
- return false;
- }
- }
- }
- aStack.pop();
- bStack.pop();
- return true;
-}
-
-module.exports = areEqual;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/base62.js b/node_modules/fbjs/lib/base62.js
deleted file mode 100644
index ec18ef9..0000000
--- a/node_modules/fbjs/lib/base62.js
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- *
- */
-
-'use strict';
-
-var BASE62 = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
-
-function base62(number) {
- if (!number) {
- return '0';
- }
- var string = '';
- while (number > 0) {
- string = BASE62[number % 62] + string;
- number = Math.floor(number / 62);
- }
- return string;
-}
-
-module.exports = base62;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/base62.js.flow b/node_modules/fbjs/lib/base62.js.flow
deleted file mode 100644
index a49d73b..0000000
--- a/node_modules/fbjs/lib/base62.js.flow
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule base62
- * @flow
- */
-
-'use strict';
-
-const BASE62 = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
-
-function base62(number: number): string {
- if (!number) {
- return '0';
- }
- let string = '';
- while (number > 0) {
- string = BASE62[number % 62] + string;
- number = Math.floor(number / 62);
- }
- return string;
-}
-
-module.exports = base62;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/camelize.js b/node_modules/fbjs/lib/camelize.js
deleted file mode 100644
index cf57a8d..0000000
--- a/node_modules/fbjs/lib/camelize.js
+++ /dev/null
@@ -1,31 +0,0 @@
-"use strict";
-
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @typechecks
- */
-
-var _hyphenPattern = /-(.)/g;
-
-/**
- * Camelcases a hyphenated string, for example:
- *
- * > camelize('background-color')
- * < "backgroundColor"
- *
- * @param {string} string
- * @return {string}
- */
-function camelize(string) {
- return string.replace(_hyphenPattern, function (_, character) {
- return character.toUpperCase();
- });
-}
-
-module.exports = camelize;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/camelize.js.flow b/node_modules/fbjs/lib/camelize.js.flow
deleted file mode 100644
index 65972d7..0000000
--- a/node_modules/fbjs/lib/camelize.js.flow
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule camelize
- * @typechecks
- */
-
-const _hyphenPattern = /-(.)/g;
-
-/**
- * Camelcases a hyphenated string, for example:
- *
- * > camelize('background-color')
- * < "backgroundColor"
- *
- * @param {string} string
- * @return {string}
- */
-function camelize(string) {
- return string.replace(_hyphenPattern, function (_, character) {
- return character.toUpperCase();
- });
-}
-
-module.exports = camelize;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/camelizeStyleName.js b/node_modules/fbjs/lib/camelizeStyleName.js
deleted file mode 100644
index 30a2d21..0000000
--- a/node_modules/fbjs/lib/camelizeStyleName.js
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @typechecks
- */
-
-'use strict';
-
-var camelize = require('./camelize');
-
-var msPattern = /^-ms-/;
-
-/**
- * Camelcases a hyphenated CSS property name, for example:
- *
- * > camelizeStyleName('background-color')
- * < "backgroundColor"
- * > camelizeStyleName('-moz-transition')
- * < "MozTransition"
- * > camelizeStyleName('-ms-transition')
- * < "msTransition"
- *
- * As Andi Smith suggests
- * (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix
- * is converted to lowercase `ms`.
- *
- * @param {string} string
- * @return {string}
- */
-function camelizeStyleName(string) {
- return camelize(string.replace(msPattern, 'ms-'));
-}
-
-module.exports = camelizeStyleName;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/camelizeStyleName.js.flow b/node_modules/fbjs/lib/camelizeStyleName.js.flow
deleted file mode 100644
index c3a85d0..0000000
--- a/node_modules/fbjs/lib/camelizeStyleName.js.flow
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule camelizeStyleName
- * @typechecks
- */
-
-'use strict';
-
-const camelize = require('./camelize');
-
-const msPattern = /^-ms-/;
-
-/**
- * Camelcases a hyphenated CSS property name, for example:
- *
- * > camelizeStyleName('background-color')
- * < "backgroundColor"
- * > camelizeStyleName('-moz-transition')
- * < "MozTransition"
- * > camelizeStyleName('-ms-transition')
- * < "msTransition"
- *
- * As Andi Smith suggests
- * (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix
- * is converted to lowercase `ms`.
- *
- * @param {string} string
- * @return {string}
- */
-function camelizeStyleName(string) {
- return camelize(string.replace(msPattern, 'ms-'));
-}
-
-module.exports = camelizeStyleName;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/compactArray.js b/node_modules/fbjs/lib/compactArray.js
deleted file mode 100644
index 5db7754..0000000
--- a/node_modules/fbjs/lib/compactArray.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright 2015-present Facebook. All Rights Reserved.
- *
- * @typechecks
- *
- */
-
-'use strict';
-
-/**
- * Returns a new Array containing all the element of the source array except
- * `null` and `undefined` ones. This brings the benefit of strong typing over
- * `Array.prototype.filter`.
- */
-
-function compactArray(array) {
- var result = [];
- for (var i = 0; i < array.length; ++i) {
- var elem = array[i];
- if (elem != null) {
- result.push(elem);
- }
- }
- return result;
-}
-
-module.exports = compactArray;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/compactArray.js.flow b/node_modules/fbjs/lib/compactArray.js.flow
deleted file mode 100644
index 5b8ccbe..0000000
--- a/node_modules/fbjs/lib/compactArray.js.flow
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright 2015-present Facebook. All Rights Reserved.
- *
- * @providesModule compactArray
- * @typechecks
- * @flow
- */
-
-'use strict';
-
-/**
- * Returns a new Array containing all the element of the source array except
- * `null` and `undefined` ones. This brings the benefit of strong typing over
- * `Array.prototype.filter`.
- */
-
-function compactArray(array: Array): Array {
- var result = [];
- for (var i = 0; i < array.length; ++i) {
- var elem = array[i];
- if (elem != null) {
- result.push(elem);
- }
- }
- return result;
-}
-
-module.exports = compactArray;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/concatAllArray.js b/node_modules/fbjs/lib/concatAllArray.js
deleted file mode 100644
index 00cbfb9..0000000
--- a/node_modules/fbjs/lib/concatAllArray.js
+++ /dev/null
@@ -1,35 +0,0 @@
-'use strict';
-
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @typechecks
- */
-
-var push = Array.prototype.push;
-
-/**
- * Concats an array of arrays into a single flat array.
- *
- * @param {array} array
- * @return {array}
- */
-function concatAllArray(array) {
- var ret = [];
- for (var ii = 0; ii < array.length; ii++) {
- var value = array[ii];
- if (Array.isArray(value)) {
- push.apply(ret, value);
- } else if (value != null) {
- throw new TypeError('concatAllArray: All items in the array must be an array or null, ' + 'got "' + value + '" at index "' + ii + '" instead');
- }
- }
- return ret;
-}
-
-module.exports = concatAllArray;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/concatAllArray.js.flow b/node_modules/fbjs/lib/concatAllArray.js.flow
deleted file mode 100644
index c332756..0000000
--- a/node_modules/fbjs/lib/concatAllArray.js.flow
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule concatAllArray
- * @typechecks
- */
-
-var push = Array.prototype.push;
-
-/**
- * Concats an array of arrays into a single flat array.
- *
- * @param {array} array
- * @return {array}
- */
-function concatAllArray(array) {
- var ret = [];
- for (var ii = 0; ii < array.length; ii++) {
- var value = array[ii];
- if (Array.isArray(value)) {
- push.apply(ret, value);
- } else if (value != null) {
- throw new TypeError('concatAllArray: All items in the array must be an array or null, ' + 'got "' + value + '" at index "' + ii + '" instead');
- }
- }
- return ret;
-}
-
-module.exports = concatAllArray;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/containsNode.js b/node_modules/fbjs/lib/containsNode.js
deleted file mode 100644
index ba30d1a..0000000
--- a/node_modules/fbjs/lib/containsNode.js
+++ /dev/null
@@ -1,39 +0,0 @@
-'use strict';
-
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- *
- */
-
-var isTextNode = require('./isTextNode');
-
-/*eslint-disable no-bitwise */
-
-/**
- * Checks if a given DOM node contains or is another DOM node.
- */
-function containsNode(outerNode, innerNode) {
- if (!outerNode || !innerNode) {
- return false;
- } else if (outerNode === innerNode) {
- return true;
- } else if (isTextNode(outerNode)) {
- return false;
- } else if (isTextNode(innerNode)) {
- return containsNode(outerNode, innerNode.parentNode);
- } else if ('contains' in outerNode) {
- return outerNode.contains(innerNode);
- } else if (outerNode.compareDocumentPosition) {
- return !!(outerNode.compareDocumentPosition(innerNode) & 16);
- } else {
- return false;
- }
-}
-
-module.exports = containsNode;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/containsNode.js.flow b/node_modules/fbjs/lib/containsNode.js.flow
deleted file mode 100644
index 24c3639..0000000
--- a/node_modules/fbjs/lib/containsNode.js.flow
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule containsNode
- * @flow
- */
-
-const isTextNode = require('./isTextNode');
-
-/*eslint-disable no-bitwise */
-
-/**
- * Checks if a given DOM node contains or is another DOM node.
- */
-function containsNode(outerNode: ?Node, innerNode: ?Node): bool {
- if (!outerNode || !innerNode) {
- return false;
- } else if (outerNode === innerNode) {
- return true;
- } else if (isTextNode(outerNode)) {
- return false;
- } else if (isTextNode(innerNode)) {
- return containsNode(outerNode, innerNode.parentNode);
- } else if ('contains' in outerNode) {
- return outerNode.contains(innerNode);
- } else if (outerNode.compareDocumentPosition) {
- return !!(outerNode.compareDocumentPosition(innerNode) & 16);
- } else {
- return false;
- }
-}
-
-module.exports = containsNode;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/countDistinct.js b/node_modules/fbjs/lib/countDistinct.js
deleted file mode 100644
index 1089d13..0000000
--- a/node_modules/fbjs/lib/countDistinct.js
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- *
- */
-
-'use strict';
-
-var Set = require('./Set');
-
-var emptyFunction = require('./emptyFunction');
-
-/**
- * Returns the count of distinct elements selected from an array.
- */
-function countDistinct(iter, selector) {
- selector = selector || emptyFunction.thatReturnsArgument;
-
- var set = new Set();
- var _iteratorNormalCompletion = true;
- var _didIteratorError = false;
- var _iteratorError = undefined;
-
- try {
- for (var _iterator = iter[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
- var val = _step.value;
-
- set.add(selector(val));
- }
- } catch (err) {
- _didIteratorError = true;
- _iteratorError = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion && _iterator['return']) {
- _iterator['return']();
- }
- } finally {
- if (_didIteratorError) {
- throw _iteratorError;
- }
- }
- }
-
- return set.size;
-}
-
-module.exports = countDistinct;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/countDistinct.js.flow b/node_modules/fbjs/lib/countDistinct.js.flow
deleted file mode 100644
index 9fd9ca4..0000000
--- a/node_modules/fbjs/lib/countDistinct.js.flow
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule countDistinct
- * @flow
- */
-
-'use strict';
-
-var Set = require('./Set');
-
-var emptyFunction = require('./emptyFunction');
-
-/**
- * Returns the count of distinct elements selected from an array.
- */
-function countDistinct(iter: Iterable, selector: (item: T1) => T2): number {
- selector = selector || emptyFunction.thatReturnsArgument;
-
- var set = new Set();
- for (var val of iter) {
- set.add(selector(val));
- }
-
- return set.size;
-}
-
-module.exports = countDistinct;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/crc32.js b/node_modules/fbjs/lib/crc32.js
deleted file mode 100644
index 657f4cc..0000000
--- a/node_modules/fbjs/lib/crc32.js
+++ /dev/null
@@ -1,29 +0,0 @@
-"use strict";
-
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- *
- */
-
-function crc32(str) {
- /* jslint bitwise: true */
- var crc = -1;
- for (var i = 0, len = str.length; i < len; i++) {
- crc = crc >>> 8 ^ table[(crc ^ str.charCodeAt(i)) & 0xFF];
- }
- return ~crc;
-}
-
-var table = [0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3, 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91, 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5, 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172, 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116, 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F, 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A, 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433, 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818, 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01, 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457, 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C, 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65, 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2, 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0, 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9, 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086, 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F, 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A, 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683, 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8, 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE, 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7, 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC, 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5, 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B, 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60, 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79, 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D, 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A, 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713, 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E, 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777, 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C, 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2, 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB, 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0, 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9, 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF, 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D];
-
-if (global.Int32Array !== undefined) {
- table = new Int32Array(table);
-}
-
-module.exports = crc32;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/crc32.js.flow b/node_modules/fbjs/lib/crc32.js.flow
deleted file mode 100644
index 2ab8c2e..0000000
--- a/node_modules/fbjs/lib/crc32.js.flow
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule crc32
- * @flow
- */
-
-function crc32(str: string): number {
- /* jslint bitwise: true */
- var crc = -1;
- for (var i = 0, len = str.length; i < len; i++) {
- crc = crc >>> 8 ^ table[(crc ^ str.charCodeAt(i)) & 0xFF];
- }
- return ~crc;
-}
-
-var table = [0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3, 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91, 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5, 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172, 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116, 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F, 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A, 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433, 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818, 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01, 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457, 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C, 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65, 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2, 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0, 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9, 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086, 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F, 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A, 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683, 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8, 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE, 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7, 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC, 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5, 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B, 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60, 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79, 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D, 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A, 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713, 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E, 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777, 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C, 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2, 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB, 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0, 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9, 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF, 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D];
-
-if (global.Int32Array !== undefined) {
- table = new Int32Array(table);
-}
-
-module.exports = crc32;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/createArrayFromMixed.js b/node_modules/fbjs/lib/createArrayFromMixed.js
deleted file mode 100644
index dce12dc..0000000
--- a/node_modules/fbjs/lib/createArrayFromMixed.js
+++ /dev/null
@@ -1,126 +0,0 @@
-'use strict';
-
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @typechecks
- */
-
-var invariant = require('./invariant');
-
-/**
- * Convert array-like objects to arrays.
- *
- * This API assumes the caller knows the contents of the data type. For less
- * well defined inputs use createArrayFromMixed.
- *
- * @param {object|function|filelist} obj
- * @return {array}
- */
-function toArray(obj) {
- var length = obj.length;
-
- // Some browsers builtin objects can report typeof 'function' (e.g. NodeList
- // in old versions of Safari).
- !(!Array.isArray(obj) && (typeof obj === 'object' || typeof obj === 'function')) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Array-like object expected') : invariant(false) : void 0;
-
- !(typeof length === 'number') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object needs a length property') : invariant(false) : void 0;
-
- !(length === 0 || length - 1 in obj) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object should have keys for indices') : invariant(false) : void 0;
-
- !(typeof obj.callee !== 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object can\'t be `arguments`. Use rest params ' + '(function(...args) {}) or Array.from() instead.') : invariant(false) : void 0;
-
- // Old IE doesn't give collections access to hasOwnProperty. Assume inputs
- // without method will throw during the slice call and skip straight to the
- // fallback.
- if (obj.hasOwnProperty) {
- try {
- return Array.prototype.slice.call(obj);
- } catch (e) {
- // IE < 9 does not support Array#slice on collections objects
- }
- }
-
- // Fall back to copying key by key. This assumes all keys have a value,
- // so will not preserve sparsely populated inputs.
- var ret = Array(length);
- for (var ii = 0; ii < length; ii++) {
- ret[ii] = obj[ii];
- }
- return ret;
-}
-
-/**
- * Perform a heuristic test to determine if an object is "array-like".
- *
- * A monk asked Joshu, a Zen master, "Has a dog Buddha nature?"
- * Joshu replied: "Mu."
- *
- * This function determines if its argument has "array nature": it returns
- * true if the argument is an actual array, an `arguments' object, or an
- * HTMLCollection (e.g. node.childNodes or node.getElementsByTagName()).
- *
- * It will return false for other array-like objects like Filelist.
- *
- * @param {*} obj
- * @return {boolean}
- */
-function hasArrayNature(obj) {
- return(
- // not null/false
- !!obj && (
- // arrays are objects, NodeLists are functions in Safari
- typeof obj == 'object' || typeof obj == 'function') &&
- // quacks like an array
- 'length' in obj &&
- // not window
- !('setInterval' in obj) &&
- // no DOM node should be considered an array-like
- // a 'select' element has 'length' and 'item' properties on IE8
- typeof obj.nodeType != 'number' && (
- // a real array
- Array.isArray(obj) ||
- // arguments
- 'callee' in obj ||
- // HTMLCollection/NodeList
- 'item' in obj)
- );
-}
-
-/**
- * Ensure that the argument is an array by wrapping it in an array if it is not.
- * Creates a copy of the argument if it is already an array.
- *
- * This is mostly useful idiomatically:
- *
- * var createArrayFromMixed = require('createArrayFromMixed');
- *
- * function takesOneOrMoreThings(things) {
- * things = createArrayFromMixed(things);
- * ...
- * }
- *
- * This allows you to treat `things' as an array, but accept scalars in the API.
- *
- * If you need to convert an array-like object, like `arguments`, into an array
- * use toArray instead.
- *
- * @param {*} obj
- * @return {array}
- */
-function createArrayFromMixed(obj) {
- if (!hasArrayNature(obj)) {
- return [obj];
- } else if (Array.isArray(obj)) {
- return obj.slice();
- } else {
- return toArray(obj);
- }
-}
-
-module.exports = createArrayFromMixed;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/createArrayFromMixed.js.flow b/node_modules/fbjs/lib/createArrayFromMixed.js.flow
deleted file mode 100644
index 68b64a9..0000000
--- a/node_modules/fbjs/lib/createArrayFromMixed.js.flow
+++ /dev/null
@@ -1,125 +0,0 @@
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule createArrayFromMixed
- * @typechecks
- */
-
-const invariant = require('./invariant');
-
-/**
- * Convert array-like objects to arrays.
- *
- * This API assumes the caller knows the contents of the data type. For less
- * well defined inputs use createArrayFromMixed.
- *
- * @param {object|function|filelist} obj
- * @return {array}
- */
-function toArray(obj) {
- const length = obj.length;
-
- // Some browsers builtin objects can report typeof 'function' (e.g. NodeList
- // in old versions of Safari).
- invariant(!Array.isArray(obj) && (typeof obj === 'object' || typeof obj === 'function'), 'toArray: Array-like object expected');
-
- invariant(typeof length === 'number', 'toArray: Object needs a length property');
-
- invariant(length === 0 || length - 1 in obj, 'toArray: Object should have keys for indices');
-
- invariant(typeof obj.callee !== 'function', 'toArray: Object can\'t be `arguments`. Use rest params ' + '(function(...args) {}) or Array.from() instead.');
-
- // Old IE doesn't give collections access to hasOwnProperty. Assume inputs
- // without method will throw during the slice call and skip straight to the
- // fallback.
- if (obj.hasOwnProperty) {
- try {
- return Array.prototype.slice.call(obj);
- } catch (e) {
- // IE < 9 does not support Array#slice on collections objects
- }
- }
-
- // Fall back to copying key by key. This assumes all keys have a value,
- // so will not preserve sparsely populated inputs.
- const ret = Array(length);
- for (let ii = 0; ii < length; ii++) {
- ret[ii] = obj[ii];
- }
- return ret;
-}
-
-/**
- * Perform a heuristic test to determine if an object is "array-like".
- *
- * A monk asked Joshu, a Zen master, "Has a dog Buddha nature?"
- * Joshu replied: "Mu."
- *
- * This function determines if its argument has "array nature": it returns
- * true if the argument is an actual array, an `arguments' object, or an
- * HTMLCollection (e.g. node.childNodes or node.getElementsByTagName()).
- *
- * It will return false for other array-like objects like Filelist.
- *
- * @param {*} obj
- * @return {boolean}
- */
-function hasArrayNature(obj) {
- return(
- // not null/false
- !!obj && (
- // arrays are objects, NodeLists are functions in Safari
- typeof obj == 'object' || typeof obj == 'function') &&
- // quacks like an array
- 'length' in obj &&
- // not window
- !('setInterval' in obj) &&
- // no DOM node should be considered an array-like
- // a 'select' element has 'length' and 'item' properties on IE8
- typeof obj.nodeType != 'number' && (
- // a real array
- Array.isArray(obj) ||
- // arguments
- 'callee' in obj ||
- // HTMLCollection/NodeList
- 'item' in obj)
- );
-}
-
-/**
- * Ensure that the argument is an array by wrapping it in an array if it is not.
- * Creates a copy of the argument if it is already an array.
- *
- * This is mostly useful idiomatically:
- *
- * var createArrayFromMixed = require('createArrayFromMixed');
- *
- * function takesOneOrMoreThings(things) {
- * things = createArrayFromMixed(things);
- * ...
- * }
- *
- * This allows you to treat `things' as an array, but accept scalars in the API.
- *
- * If you need to convert an array-like object, like `arguments`, into an array
- * use toArray instead.
- *
- * @param {*} obj
- * @return {array}
- */
-function createArrayFromMixed(obj) {
- if (!hasArrayNature(obj)) {
- return [obj];
- } else if (Array.isArray(obj)) {
- return obj.slice();
- } else {
- return toArray(obj);
- }
-}
-
-module.exports = createArrayFromMixed;
\ No newline at end of file
diff --git a/node_modules/fbjs/lib/createNodesFromMarkup.js b/node_modules/fbjs/lib/createNodesFromMarkup.js
deleted file mode 100644
index 6d226d9..0000000
--- a/node_modules/fbjs/lib/createNodesFromMarkup.js
+++ /dev/null
@@ -1,83 +0,0 @@
-'use strict';
-
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @typechecks
- */
-
-/*eslint-disable fb-www/unsafe-html*/
-
-var ExecutionEnvironment = require('./ExecutionEnvironment');
-
-var createArrayFromMixed = require('./createArrayFromMixed');
-var getMarkupWrap = require('./getMarkupWrap');
-var invariant = require('./invariant');
-
-/**
- * Dummy container used to render all markup.
- */
-var dummyNode = ExecutionEnvironment.canUseDOM ? document.createElement('div') : null;
-
-/**
- * Pattern used by `getNodeName`.
- */
-var nodeNamePattern = /^\s*<(\w+)/;
-
-/**
- * Extracts the `nodeName` of the first element in a string of markup.
- *
- * @param {string} markup String of markup.
- * @return {?string} Node name of the supplied markup.
- */
-function getNodeName(markup) {
- var nodeNameMatch = markup.match(nodeNamePattern);
- return nodeNameMatch && nodeNameMatch[1].toLowerCase();
-}
-
-/**
- * Creates an array containing the nodes rendered from the supplied markup. The
- * optionally supplied `handleScript` function will be invoked once for each
- *
-
-```
-
-Or use an AMD loader (such as [RequireJS](http://requirejs.org/)):
-
-```javascript
-require(['./immutable.min.js'], function (Immutable) {
- var map1 = Immutable.Map({a:1, b:2, c:3});
- var map2 = map1.set('b', 50);
- map1.get('b'); // 2
- map2.get('b'); // 50
-});
-```
-
-If you're using [browserify](http://browserify.org/), the `immutable` npm module
-also works from the browser.
-
-### TypeScript
-
-Use these Immutable collections and sequences as you would use native
-collections in your [TypeScript](http://typescriptlang.org) programs while still taking
-advantage of type generics, error detection, and auto-complete in your IDE.
-
-Just add a reference with a relative path to the type declarations at the top
-of your file.
-
-```javascript
-///
-import Immutable = require('immutable');
-var map1: Immutable.Map;
-map1 = Immutable.Map({a:1, b:2, c:3});
-var map2 = map1.set('b', 50);
-map1.get('b'); // 2
-map2.get('b'); // 50
-```
-
-
-The case for Immutability
--------------------------
-
-Much of what makes application development difficult is tracking mutation and
-maintaining state. Developing with immutable data encourages you to think
-differently about how data flows through your application.
-
-Subscribing to data events throughout your application creates a huge overhead of
-book-keeping which can hurt performance, sometimes dramatically, and creates
-opportunities for areas of your application to get out of sync with each other
-due to easy to make programmer error. Since immutable data never changes,
-subscribing to changes throughout the model is a dead-end and new data can only
-ever be passed from above.
-
-This model of data flow aligns well with the architecture of [React][]
-and especially well with an application designed using the ideas of [Flux][].
-
-When data is passed from above rather than being subscribed to, and you're only
-interested in doing work when something has changed, you can use equality.
-
-Immutable collections should be treated as *values* rather than *objects*. While
-objects represents some thing which could change over time, a value represents
-the state of that thing at a particular instance of time. This principle is most
-important to understanding the appropriate use of immutable data. In order to
-treat Immutable.js collections as values, it's important to use the
-`Immutable.is()` function or `.equals()` method to determine value equality
-instead of the `===` operator which determines object reference identity.
-
-```javascript
-var map1 = Immutable.Map({a:1, b:2, c:3});
-var map2 = map1.set('b', 2);
-assert(map1.equals(map2) === true);
-var map3 = map1.set('b', 50);
-assert(map1.equals(map3) === false);
-```
-
-Note: As a performance optimization `Immutable` attempts to return the existing
-collection when an operation would result in an identical collection, allowing
-for using `===` reference equality to determine if something definitely has not
-changed. This can be extremely useful when used within memoization function
-which would prefer to re-run the function if a deeper equality check could
-potentially be more costly. The `===` equality check is also used internally by
-`Immutable.is` and `.equals()` as a performance optimization.
-
-If an object is immutable, it can be "copied" simply by making another reference
-to it instead of copying the entire object. Because a reference is much smaller
-than the object itself, this results in memory savings and a potential boost in
-execution speed for programs which rely on copies (such as an undo-stack).
-
-```javascript
-var map1 = Immutable.Map({a:1, b:2, c:3});
-var clone = map1;
-```
-
-[React]: http://facebook.github.io/react/
-[Flux]: http://facebook.github.io/flux/docs/overview.html
-
-
-JavaScript-first API
---------------------
-
-While `immutable` is inspired by Clojure, Scala, Haskell and other functional
-programming environments, it's designed to bring these powerful concepts to
-JavaScript, and therefore has an Object-Oriented API that closely mirrors that
-of [ES6][] [Array][], [Map][], and [Set][].
-
-[ES6]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla
-[Array]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array
-[Map]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map
-[Set]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set
-
-The difference for the immutable collections is that methods which would mutate
-the collection, like `push`, `set`, `unshift` or `splice` instead return a new
-immutable collection. Methods which return new arrays like `slice` or `concat`
-instead return new immutable collections.
-
-```javascript
-var list1 = Immutable.List.of(1, 2);
-var list2 = list1.push(3, 4, 5);
-var list3 = list2.unshift(0);
-var list4 = list1.concat(list2, list3);
-assert(list1.size === 2);
-assert(list2.size === 5);
-assert(list3.size === 6);
-assert(list4.size === 13);
-assert(list4.get(0) === 1);
-```
-
-Almost all of the methods on [Array][] will be found in similar form on
-`Immutable.List`, those of [Map][] found on `Immutable.Map`, and those of [Set][]
-found on `Immutable.Set`, including collection operations like `forEach()`
-and `map()`.
-
-```javascript
-var alpha = Immutable.Map({a:1, b:2, c:3, d:4});
-alpha.map((v, k) => k.toUpperCase()).join();
-// 'A,B,C,D'
-```
-
-### Accepts raw JavaScript objects.
-
-Designed to inter-operate with your existing JavaScript, `immutable`
-accepts plain JavaScript Arrays and Objects anywhere a method expects an
-`Iterable` with no performance penalty.
-
-```javascript
-var map1 = Immutable.Map({a:1, b:2, c:3, d:4});
-var map2 = Immutable.Map({c:10, a:20, t:30});
-var obj = {d:100, o:200, g:300};
-var map3 = map1.merge(map2, obj);
-// Map { a: 20, b: 2, c: 10, d: 100, t: 30, o: 200, g: 300 }
-```
-
-This is possible because `immutable` can treat any JavaScript Array or Object
-as an Iterable. You can take advantage of this in order to get sophisticated
-collection methods on JavaScript Objects, which otherwise have a very sparse
-native API. Because Seq evaluates lazily and does not cache intermediate
-results, these operations can be extremely efficient.
-
-```javascript
-var myObject = {a:1,b:2,c:3};
-Immutable.Seq(myObject).map(x => x * x).toObject();
-// { a: 1, b: 4, c: 9 }
-```
-
-Keep in mind, when using JS objects to construct Immutable Maps, that
-JavaScript Object properties are always strings, even if written in a quote-less
-shorthand, while Immutable Maps accept keys of any type.
-
-```js
-var obj = { 1: "one" };
-Object.keys(obj); // [ "1" ]
-obj["1"]; // "one"
-obj[1]; // "one"
-
-var map = Immutable.fromJS(obj);
-map.get("1"); // "one"
-map.get(1); // undefined
-```
-
-Property access for JavaScript Objects first converts the key to a string, but
-since Immutable Map keys can be of any type the argument to `get()` is
-not altered.
-
-
-### Converts back to raw JavaScript objects.
-
-All `immutable` Iterables can be converted to plain JavaScript Arrays and
-Objects shallowly with `toArray()` and `toObject()` or deeply with `toJS()`.
-All Immutable Iterables also implement `toJSON()` allowing them to be passed to
-`JSON.stringify` directly.
-
-```javascript
-var deep = Immutable.Map({ a: 1, b: 2, c: Immutable.List.of(3, 4, 5) });
-deep.toObject() // { a: 1, b: 2, c: List [ 3, 4, 5 ] }
-deep.toArray() // [ 1, 2, List [ 3, 4, 5 ] ]
-deep.toJS() // { a: 1, b: 2, c: [ 3, 4, 5 ] }
-JSON.stringify(deep) // '{"a":1,"b":2,"c":[3,4,5]}'
-```
-
-### Embraces ES6
-
-`Immutable` takes advantage of features added to JavaScript in [ES6][],
-the latest standard version of ECMAScript (JavaScript), including [Iterators][],
-[Arrow Functions][], [Classes][], and [Modules][]. It's also inspired by the
-[Map][] and [Set][] collections added to ES6. The library is "transpiled" to ES3
-in order to support all modern browsers.
-
-All examples are presented in ES6. To run in all browsers, they need to be
-translated to ES3.
-
-```js
-// ES6
-foo.map(x => x * x);
-// ES3
-foo.map(function (x) { return x * x; });
-```
-
-[Iterators]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/The_Iterator_protocol
-[Arrow Functions]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions
-[Classes]: http://wiki.ecmascript.org/doku.php?id=strawman:maximally_minimal_classes
-[Modules]: http://www.2ality.com/2014/09/es6-modules-final.html
-
-
-Nested Structures
------------------
-
-The collections in `immutable` are intended to be nested, allowing for deep
-trees of data, similar to JSON.
-
-```javascript
-var nested = Immutable.fromJS({a:{b:{c:[3,4,5]}}});
-// Map { a: Map { b: Map { c: List [ 3, 4, 5 ] } } }
-```
-
-A few power-tools allow for reading and operating on nested data. The
-most useful are `mergeDeep`, `getIn`, `setIn`, and `updateIn`, found on `List`,
-`Map` and `OrderedMap`.
-
-```javascript
-var nested2 = nested.mergeDeep({a:{b:{d:6}}});
-// Map { a: Map { b: Map { c: List [ 3, 4, 5 ], d: 6 } } }
-```
-
-```javascript
-nested2.getIn(['a', 'b', 'd']); // 6
-
-var nested3 = nested2.updateIn(['a', 'b', 'd'], value => value + 1);
-// Map { a: Map { b: Map { c: List [ 3, 4, 5 ], d: 7 } } }
-
-var nested4 = nested3.updateIn(['a', 'b', 'c'], list => list.push(6));
-// Map { a: Map { b: Map { c: List [ 3, 4, 5, 6 ], d: 7 } } }
-```
-
-
-Lazy Seq
---------
-
-`Seq` describes a lazy operation, allowing them to efficiently chain
-use of all the Iterable methods (such as `map` and `filter`).
-
-**Seq is immutable** — Once a Seq is created, it cannot be
-changed, appended to, rearranged or otherwise modified. Instead, any mutative
-method called on a Seq will return a new Seq.
-
-**Seq is lazy** — Seq does as little work as necessary to respond to any
-method call.
-
-For example, the following does not perform any work, because the resulting
-Seq is never used:
-
- var oddSquares = Immutable.Seq.of(1,2,3,4,5,6,7,8)
- .filter(x => x % 2).map(x => x * x);
-
-Once the Seq is used, it performs only the work necessary. In this
-example, no intermediate arrays are ever created, filter is called three times,
-and map is only called twice:
-
- console.log(oddSquares.get(1)); // 9
-
-Any collection can be converted to a lazy Seq with `.toSeq()`.
-
- var seq = Immutable.Map({a:1, b:1, c:1}).toSeq();
-
-Seq allow for the efficient chaining of sequence operations, especially when
-converting to a different concrete type (such as to a JS object):
-
- seq.flip().map(key => key.toUpperCase()).flip().toObject();
- // Map { A: 1, B: 1, C: 1 }
-
-As well as expressing logic that would otherwise seem memory-limited:
-
- Immutable.Range(1, Infinity)
- .skip(1000)
- .map(n => -n)
- .filter(n => n % 2 === 0)
- .take(2)
- .reduce((r, n) => r * n, 1);
- // 1006008
-
-Note: An iterable is always iterated in the same order, however that order may
-not always be well defined, as is the case for the `Map`.
-
-
-Equality treats Collections as Data
------------------------------------
-
-`Immutable` provides equality which treats immutable data structures as pure
-data, performing a deep equality check if necessary.
-
-```javascript
-var map1 = Immutable.Map({a:1, b:1, c:1});
-var map2 = Immutable.Map({a:1, b:1, c:1});
-assert(map1 !== map2); // two different instances
-assert(Immutable.is(map1, map2)); // have equivalent values
-assert(map1.equals(map2)); // alternatively use the equals method
-```
-
-`Immutable.is()` uses the same measure of equality as [Object.is][]
-including if both are immutable and all keys and values are equal
-using the same measure of equality.
-
-[Object.is]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
-
-
-Batching Mutations
-------------------
-
-> If a tree falls in the woods, does it make a sound?
->
-> If a pure function mutates some local data in order to produce an immutable
-> return value, is that ok?
->
-> — Rich Hickey, Clojure
-
-Applying a mutation to create a new immutable object results in some overhead,
-which can add up to a minor performance penalty. If you need to apply a series
-of mutations locally before returning, `Immutable` gives you the ability to
-create a temporary mutable (transient) copy of a collection and apply a batch of
-mutations in a performant manner by using `withMutations`. In fact, this is
-exactly how `Immutable` applies complex mutations itself.
-
-As an example, building `list2` results in the creation of 1, not 3, new
-immutable Lists.
-
-```javascript
-var list1 = Immutable.List.of(1,2,3);
-var list2 = list1.withMutations(function (list) {
- list.push(4).push(5).push(6);
-});
-assert(list1.size === 3);
-assert(list2.size === 6);
-```
-
-Note: `immutable` also provides `asMutable` and `asImmutable`, but only
-encourages their use when `withMutations` will not suffice. Use caution to not
-return a mutable copy, which could result in undesired behavior.
-
-*Important!*: Only a select few methods can be used in `withMutations` including
-`set`, `push` and `pop`. These methods can be applied directly against a
-persistent data-structure where other methods like `map`, `filter`, `sort`,
-and `splice` will always return new immutable data-structures and never mutate
-a mutable collection.
-
-
-Documentation
--------------
-
-[Read the docs](http://facebook.github.io/immutable-js/docs/) and eat your vegetables.
-
-Docs are automatically generated from [Immutable.d.ts](https://github.com/facebook/immutable-js/blob/master/type-definitions/Immutable.d.ts).
-Please contribute!
-
-Also, don't miss the [Wiki](https://github.com/facebook/immutable-js/wiki) which
-contains articles on specific topics. Can't find something? Open an [issue](https://github.com/facebook/immutable-js/issues).
-
-
-Testing
--------
-
-If you are using the [Chai Assertion Library](http://chaijs.com/), [Chai Immutable](https://github.com/astorije/chai-immutable) provides a set of assertions to use against `Immutable` collections.
-
-
-Contribution
-------------
-
-Use [Github issues](https://github.com/facebook/immutable-js/issues) for requests.
-
-We actively welcome pull requests, learn how to [contribute](./CONTRIBUTING.md).
-
-
-Changelog
----------
-
-Changes are tracked as [Github releases](https://github.com/facebook/immutable-js/releases).
-
-
-Thanks
-------
-
-[Phil Bagwell](https://www.youtube.com/watch?v=K2NYwP90bNs), for his inspiration
-and research in persistent data structures.
-
-[Hugh Jackson](https://github.com/hughfdjackson/), for providing the npm package
-name. If you're looking for his unsupported package, see [this repository](https://github.com/hughfdjackson/immutable).
-
-
-License
--------
-
-`Immutable` is [BSD-licensed](./LICENSE). We also provide an additional [patent grant](./PATENTS).
diff --git a/node_modules/immutable/contrib/cursor/README.md b/node_modules/immutable/contrib/cursor/README.md
deleted file mode 100644
index 3021432..0000000
--- a/node_modules/immutable/contrib/cursor/README.md
+++ /dev/null
@@ -1,33 +0,0 @@
-Cursors
--------
-
-Cursors allow you to hold a reference to a path in a nested immutable data
-structure, allowing you to pass smaller sections of a larger nested
-collection to portions of your application while maintaining a central point
-aware of changes to the entire data structure: an `onChange` function which is
-called whenever a cursor or sub-cursor calls `update`.
-
-This is particularly useful when used in conjuction with component-based UI
-libraries like [React](http://facebook.github.io/react/) or to simulate
-"state" throughout an application while maintaining a single flow of logic.
-
-
-```javascript
-var Immutable = require('immutable');
-var Cursor = require('immutable/contrib/cursor');
-
-var data = Immutable.fromJS({ a: { b: { c: 1 } } });
-var cursor = Cursor.from(data, ['a', 'b'], newData => {
- data = newData;
-});
-
-// ... elsewhere ...
-
-cursor.get('c'); // 1
-cursor = cursor.update('c', x => x + 1);
-cursor.get('c'); // 2
-
-// ... back to data ...
-
-data.getIn(['a', 'b', 'c']); // 2
-```
diff --git a/node_modules/immutable/contrib/cursor/__tests__/Cursor.ts.skip b/node_modules/immutable/contrib/cursor/__tests__/Cursor.ts.skip
deleted file mode 100644
index dc03acf..0000000
--- a/node_modules/immutable/contrib/cursor/__tests__/Cursor.ts.skip
+++ /dev/null
@@ -1,393 +0,0 @@
-///
-///
-///
-
-jest.autoMockOff();
-
-import Immutable = require('immutable');
-import Cursor = require('immutable/contrib/cursor');
-
-describe('Cursor', () => {
-
- beforeEach(function () {
- this.addMatchers({
- toValueEqual: function (expected) {
- var actual = this.actual;
- if (!Immutable.is(expected, this.actual)) {
- this.message = 'Expected\n' + this.actual + '\nto equal\n' + expected;
- return false;
- }
- return true;
- }
- });
- });
-
- var json = { a: { b: { c: 1 } } };
-
- it('gets from its path', () => {
- var data = Immutable.fromJS(json);
- var cursor = Cursor.from(data);
-
- expect(cursor.deref()).toBe(data);
-
- var deepCursor = cursor.cursor(['a', 'b']);
- expect(deepCursor.deref().toJS()).toEqual(json.a.b);
- expect(deepCursor.deref()).toBe(data.getIn(['a', 'b']));
- expect(deepCursor.get('c')).toBe(1);
-
- var leafCursor = deepCursor.cursor('c');
- expect(leafCursor.deref()).toBe(1);
-
- var missCursor = leafCursor.cursor('d');
- expect(missCursor.deref()).toBe(undefined);
- });
-
- it('gets return new cursors', () => {
- var data = Immutable.fromJS(json);
- var cursor = Cursor.from(data);
- var deepCursor = cursor.getIn(['a', 'b']);
- expect(deepCursor.deref()).toBe(data.getIn(['a', 'b']));
- });
-
- it('gets return new cursors using List', () => {
- var data = Immutable.fromJS(json);
- var cursor = Cursor.from(data);
- var deepCursor = cursor.getIn(Immutable.fromJS(['a', 'b']));
- expect(deepCursor.deref()).toBe(data.getIn(Immutable.fromJS(['a', 'b'])));
- });
-
- it('cursor return new cursors of correct type', () => {
- var data = Immutable.fromJS({ a: [1, 2, 3] });
- var cursor = Cursor.from(data);
- var deepCursor = cursor.cursor('a');
- expect(deepCursor.findIndex).toBeDefined();
- });
-
- it('can be treated as a value', () => {
- var data = Immutable.fromJS(json);
- var cursor = Cursor.from(data, ['a', 'b']);
- expect(cursor.toJS()).toEqual(json.a.b);
- expect(cursor).toValueEqual(data.getIn(['a', 'b']));
- expect(cursor.size).toBe(1);
- expect(cursor.get('c')).toBe(1);
- });
-
- it('can be value compared to a primitive', () => {
- var data = Immutable.Map({ a: 'A' });
- var aCursor = Cursor.from(data, 'a');
- expect(aCursor.size).toBe(undefined);
- expect(aCursor.deref()).toBe('A');
- expect(Immutable.is(aCursor, 'A')).toBe(true);
- });
-
- it('updates at its path', () => {
- var onChange = jest.genMockFunction();
-
- var data = Immutable.fromJS(json);
- var aCursor = Cursor.from(data, 'a', onChange);
-
- var deepCursor = aCursor.cursor(['b', 'c']);
- expect(deepCursor.deref()).toBe(1);
-
- // cursor edits return new cursors:
- var newDeepCursor = deepCursor.update(x => x + 1);
- expect(newDeepCursor.deref()).toBe(2);
- var call1 = onChange.mock.calls[0];
- expect(call1[0]).toValueEqual(Immutable.fromJS({a:{b:{c:2}}}));
- expect(call1[1]).toBe(data);
- expect(call1[2]).toEqual(['a', 'b', 'c']);
-
- var newestDeepCursor = newDeepCursor.update(x => x + 1);
- expect(newestDeepCursor.deref()).toBe(3);
- var call2 = onChange.mock.calls[1];
- expect(call2[0]).toValueEqual(Immutable.fromJS({a:{b:{c:3}}}));
- expect(call2[1]).toValueEqual(Immutable.fromJS({a:{b:{c:2}}}));
- expect(call2[2]).toEqual(['a', 'b', 'c']);
-
- // meanwhile, data is still immutable:
- expect(data.toJS()).toEqual(json);
-
- // as is the original cursor.
- expect(deepCursor.deref()).toBe(1);
- var otherNewDeepCursor = deepCursor.update(x => x + 10);
- expect(otherNewDeepCursor.deref()).toBe(11);
- var call3 = onChange.mock.calls[2];
- expect(call3[0]).toValueEqual(Immutable.fromJS({a:{b:{c:11}}}));
- expect(call3[1]).toBe(data);
- expect(call3[2]).toEqual(['a', 'b', 'c']);
-
- // and update has been called exactly thrice.
- expect(onChange.mock.calls.length).toBe(3);
- });
-
- it('updates with the return value of onChange', () => {
- var onChange = jest.genMockFunction();
-
- var data = Immutable.fromJS(json);
- var deepCursor = Cursor.from(data, ['a', 'b', 'c'], onChange);
-
- onChange.mockReturnValueOnce(undefined);
- // onChange returning undefined has no effect
- var newCursor = deepCursor.update(x => x + 1);
- expect(newCursor.deref()).toBe(2);
- var call1 = onChange.mock.calls[0];
- expect(call1[0]).toValueEqual(Immutable.fromJS({a:{b:{c:2}}}));
- expect(call1[1]).toBe(data);
- expect(call1[2]).toEqual(['a', 'b', 'c']);
-
- onChange.mockReturnValueOnce(Immutable.fromJS({a:{b:{c:11}}}));
- // onChange returning something else has an effect
- newCursor = newCursor.update(x => 999);
- expect(newCursor.deref()).toBe(11);
- var call2 = onChange.mock.calls[1];
- expect(call2[0]).toValueEqual(Immutable.fromJS({a:{b:{c:999}}}));
- expect(call2[1]).toValueEqual(Immutable.fromJS({a:{b:{c:2}}}));
- expect(call2[2]).toEqual(['a', 'b', 'c']);
-
- // and update has been called exactly twice
- expect(onChange.mock.calls.length).toBe(2);
- });
-
- it('has map API for update shorthand', () => {
- var onChange = jest.genMockFunction();
-
- var data = Immutable.fromJS(json);
- var aCursor = Cursor.from(data, 'a', onChange);
- var bCursor = aCursor.cursor('b');
- var cCursor = bCursor.cursor('c');
-
- expect(bCursor.set('c', 10).deref()).toValueEqual(
- Immutable.fromJS({ c: 10 })
- );
-
- var call1 = onChange.mock.calls[0];
- expect(call1[0]).toValueEqual(Immutable.fromJS({a:{b:{c:10}}}));
- expect(call1[1]).toBe(data);
- expect(call1[2]).toEqual(['a', 'b', 'c']);
- });
-
- it('creates maps as necessary', () => {
- var data = Immutable.Map();
- var cursor = Cursor.from(data, ['a', 'b', 'c']);
- expect(cursor.deref()).toBe(undefined);
- cursor = cursor.set('d', 3);
- expect(cursor.deref()).toValueEqual(Immutable.Map({d: 3}));
- });
-
- it('can set undefined', () => {
- var data = Immutable.Map();
- var cursor = Cursor.from(data, ['a', 'b', 'c']);
- expect(cursor.deref()).toBe(undefined);
- cursor = cursor.set('d', undefined);
- expect(cursor.toJS()).toEqual({d: undefined});
- });
-
- it('has the sequence API', () => {
- var data = Immutable.Map({a: 1, b: 2, c: 3});
- var cursor = Cursor.from(data);
- expect(cursor.map((x: number) => x * x)).toValueEqual(Immutable.Map({a: 1, b: 4, c: 9}));
- });
-
- it('can push values on a List', () => {
- var onChange = jest.genMockFunction();
- var data = Immutable.fromJS({a: {b: [0, 1, 2]}});
- var cursor = Cursor.from(data, ['a', 'b'], onChange);
-
- expect(cursor.push(3,4)).toValueEqual(Immutable.List([0, 1, 2, 3, 4]));
-
- var call = onChange.mock.calls[0];
- expect(call[0]).toValueEqual(Immutable.fromJS({a: {b: [0, 1, 2, 3, 4]}}));
- expect(call[1]).toBe(data);
- expect(call[2]).toEqual(['a', 'b']);
- });
-
- it('can pop values of a List', () => {
- var onChange = jest.genMockFunction();
- var data = Immutable.fromJS({a: {b: [0, 1, 2]}});
- var cursor = Cursor.from(data, ['a', 'b'], onChange);
-
- expect(cursor.pop()).toValueEqual(Immutable.List([0, 1]));
-
- var call = onChange.mock.calls[0];
- expect(call[0]).toValueEqual(Immutable.fromJS({a: {b: [0, 1]}}));
- expect(call[1]).toBe(data);
- expect(call[2]).toEqual(['a', 'b']);
- });
-
- it('can unshift values on a List', () => {
- var onChange = jest.genMockFunction();
- var data = Immutable.fromJS({a: {b: [0, 1, 2]}});
- var cursor = Cursor.from(data, ['a', 'b'], onChange);
-
- expect(cursor.unshift(-2, -1)).toValueEqual(Immutable.List([-2, -1, 0, 1, 2]));
-
- var call = onChange.mock.calls[0];
- expect(call[0]).toValueEqual(Immutable.fromJS({a: {b: [-2, -1, 0, 1, 2]}}));
- expect(call[1]).toBe(data);
- expect(call[2]).toEqual(['a', 'b']);
- });
-
- it('can shift values of a List', () => {
- var onChange = jest.genMockFunction();
- var data = Immutable.fromJS({a: {b: [0, 1, 2]}});
- var cursor = Cursor.from(data, ['a', 'b'], onChange);
-
- expect(cursor.shift()).toValueEqual(Immutable.List([1, 2]));
-
- var call = onChange.mock.calls[0];
- expect(call[0]).toValueEqual(Immutable.fromJS({a: {b: [1, 2]}}));
- expect(call[1]).toBe(data);
- expect(call[2]).toEqual(['a', 'b']);
- });
-
-
- it('returns wrapped values for sequence API', () => {
- var data = Immutable.fromJS({a: {v: 1}, b: {v: 2}, c: {v: 3}});
- var onChange = jest.genMockFunction();
- var cursor = Cursor.from(data, onChange);
-
- var found = cursor.find(map => map.get('v') === 2);
- expect(typeof found.deref).toBe('function'); // is a cursor!
- found = found.set('v', 20);
-
- var call = onChange.mock.calls[0];
- expect(call[0]).toValueEqual(Immutable.fromJS({a: {v: 1}, b: {v: 20}, c: {v: 3}}));
- expect(call[1]).toBe(data);
- expect(call[2]).toEqual(['b', 'v']);
- });
-
- it('returns wrapped values for iteration API', () => {
- var jsData = [{val: 0}, {val: 1}, {val: 2}];
- var data = Immutable.fromJS(jsData);
- var cursor = Cursor.from(data);
- cursor.forEach(function (c, i) {
- expect(typeof c.deref).toBe('function'); // is a cursor!
- expect(c.get('val')).toBe(i);
- });
- });
-
- it('can map over values to get subcursors', () => {
- var data = Immutable.fromJS({a: {v: 1}, b: {v: 2}, c: {v: 3}});
- var cursor = Cursor.from(data);
-
- var mapped = cursor.map(val => {
- expect(typeof val.deref).toBe('function'); // mapped values are cursors.
- return val;
- }).toMap();
- // Mapped is not a cursor, but it is a sequence of cursors.
- expect(typeof (mapped).deref).not.toBe('function');
- expect(typeof (mapped.get('a')).deref).toBe('function');
-
- // Same for indexed cursors
- var data2 = Immutable.fromJS({x: [{v: 1}, {v: 2}, {v: 3}]});
- var cursor2 = Cursor.from(data2);
-
- var mapped2 = cursor2.get('x').map(val => {
- expect(typeof val.deref).toBe('function'); // mapped values are cursors.
- return val;
- }).toList();
- // Mapped is not a cursor, but it is a sequence of cursors.
- expect(typeof mapped2.deref).not.toBe('function');
- expect(typeof mapped2.get(0).deref).toBe('function');
- });
-
- it('can have mutations apply with a single callback', () => {
- var onChange = jest.genMockFunction();
- var data = Immutable.fromJS({'a': 1});
-
- var c1 = Cursor.from(data, onChange);
- var c2 = c1.withMutations(m => m.set('b', 2).set('c', 3).set('d', 4));
-
- expect(c1.deref().toObject()).toEqual({'a': 1});
- expect(c2.deref().toObject()).toEqual({'a': 1, 'b': 2, 'c': 3, 'd': 4});
- expect(onChange.mock.calls.length).toBe(1);
- });
-
- it('can use withMutations on an unfulfilled cursor', () => {
- var onChange = jest.genMockFunction();
- var data = Immutable.fromJS({});
-
- var c1 = Cursor.from(data, ['a', 'b', 'c'], onChange);
- var c2 = c1.withMutations(m => m.set('x', 1).set('y', 2).set('z', 3));
-
- expect(c1.deref()).toEqual(undefined);
- expect(c2.deref()).toValueEqual(Immutable.fromJS(
- { x: 1, y: 2, z: 3 }
- ));
- expect(onChange.mock.calls.length).toBe(1);
- });
-
- it('maintains indexed sequences', () => {
- var data = Immutable.fromJS([]);
- var c = Cursor.from(data);
- expect(c.toJS()).toEqual([]);
- });
-
- it('properly acts as an iterable', () => {
- var data = Immutable.fromJS({key: {val: 1}});
- var c = Cursor.from(data).values();
- var c1 = c.next().value.get('val');
- expect(c1).toBe(1);
- });
-
- it('can update deeply', () => {
- var onChange = jest.genMockFunction();
- var data = Immutable.fromJS({a:{b:{c:1}}});
- var c = Cursor.from(data, ['a'], onChange);
- var c1 = c.updateIn(['b', 'c'], x => x * 10);
- expect(c1.getIn(['b', 'c'])).toBe(10);
-
- var call = onChange.mock.calls[0];
- expect(call[0]).toValueEqual(Immutable.fromJS({a:{b:{c:10}}}));
- expect(call[1]).toBe(data);
- expect(call[2]).toEqual(['a', 'b', 'c']);
- });
-
- it('can set deeply', () => {
- var onChange = jest.genMockFunction();
- var data = Immutable.fromJS({a:{b:{c:1}}});
- var c = Cursor.from(data, ['a'], onChange);
- var c1 = c.setIn(['b', 'c'], 10);
- expect(c1.getIn(['b', 'c'])).toBe(10);
-
- var call = onChange.mock.calls[0];
- expect(call[0]).toValueEqual(Immutable.fromJS({a:{b:{c:10}}}));
- expect(call[1]).toBe(data);
- expect(call[2]).toEqual(['a', 'b', 'c']);
- });
-
- it('can get Record value as a property', () => {
- var User = Immutable.Record({ name: 'John' });
- var users = Immutable.List.of(new User());
- var data = Immutable.Map({'users': users});
- var cursor = Cursor.from(data, ['users']);
- expect(cursor.first().name).toBe('John');
- });
-
- it('can set value of a cursor directly', () => {
- var onChange = jest.genMockFunction();
- var data = Immutable.fromJS({a:1});
- var c = Cursor.from(data, ['a'], onChange);
- var c1 = c.set(2);
- expect(c1.deref()).toBe(2);
-
- var call = onChange.mock.calls[0];
- expect(call[0]).toValueEqual(Immutable.fromJS({a:2}));
- expect(call[1]).toBe(data);
- expect(call[2]).toEqual(['a']);
- });
-
- it('can set value of a cursor to undefined directly', () => {
- var onChange = jest.genMockFunction();
- var data = Immutable.fromJS({a:1});
- var c = Cursor.from(data, ['a'], onChange);
- var c1 = c.set(undefined);
- expect(c1.deref()).toBe(undefined);
-
- var call = onChange.mock.calls[0];
- expect(call[0]).toValueEqual(Immutable.fromJS({a:undefined}));
- expect(call[1]).toBe(data);
- expect(call[2]).toEqual(['a']);
- });
-
-});
diff --git a/node_modules/immutable/contrib/cursor/index.d.ts b/node_modules/immutable/contrib/cursor/index.d.ts
deleted file mode 100644
index 0b45ab9..0000000
--- a/node_modules/immutable/contrib/cursor/index.d.ts
+++ /dev/null
@@ -1,293 +0,0 @@
-/**
- * Copyright (c) 2014-2015, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- */
-
-
-/**
- * Cursors
- * -------
- *
- * Cursors allow you to hold a reference to a path in a nested immutable data
- * structure, allowing you to pass smaller sections of a larger nested
- * collection to portions of your application while maintaining a central point
- * aware of changes to the entire data structure.
- *
- * This is particularly useful when used in conjuction with component-based UI
- * libraries like [React](http://facebook.github.io/react/) or to simulate
- * "state" throughout an application while maintaining a single flow of logic.
- *
- * Cursors provide a simple API for getting the value at that path
- * (the equivalent of `this.getIn(keyPath)`), updating the value at that path
- * (the equivalent of `this.updateIn(keyPath)`), and getting a sub-cursor
- * starting from that path.
- *
- * When updated, a new root collection is created and provided to the `onChange`
- * function provided to the first call to `Cursor(map, onChange)`.
- *
- * When this cursor's (or any of its sub-cursors') `update` method is called,
- * the resulting new data structure will be provided to the `onChange`
- * function. Use this callback to keep track of the most current value or
- * update the rest of your application.
- */
-
-///
-
-declare module __Cursor {
-
- export function from(
- collection: Immutable.Collection,
- onChange?: (newValue: any, oldValue?: any, keyPath?: Array) => any
- ): Cursor;
- export function from(
- collection: Immutable.Collection,
- keyPath: Array,
- onChange?: (newValue: any, oldValue?: any, keyPath?: Array) => any
- ): Cursor;
- export function from(
- collection: Immutable.Collection,
- key: any,
- onChange?: (newValue: any, oldValue?: any, keyPath?: Array) => any
- ): Cursor;
-
-
- export interface Cursor extends Immutable.Seq {
-
- /**
- * Returns a sub-cursor following the key-path starting from this cursor.
- */
- cursor(subKeyPath: Array): Cursor;
- cursor(subKey: any): Cursor;
-
- /**
- * Returns the value at the cursor, if the cursor path does not yet exist,
- * returns `notSetValue`.
- */
- deref(notSetValue?: any): any;
-
- /**
- * Returns the value at the `key` in the cursor, or `notSetValue` if it
- * does not exist.
- *
- * If the key would return a collection, a new Cursor is returned.
- */
- get(key: any, notSetValue?: any): any;
-
- /**
- * Returns the value at the `keyPath` in the cursor, or `notSetValue` if it
- * does not exist.
- *
- * If the keyPath would return a collection, a new Cursor is returned.
- */
- getIn(keyPath: Array, notSetValue?: any): any;
- getIn(keyPath: Immutable.Iterable, notSetValue?: any): any;
-
- /**
- * Sets `value` at `key` in the cursor, returning a new cursor to the same
- * point in the new data.
- *
- * If only one parameter is provided, it is set directly as the cursor's value.
- */
- set(key: any, value: any): Cursor;
- set(value: any): Cursor;
-
- /**
- * Deletes `key` from the cursor, returning a new cursor to the same
- * point in the new data.
- *
- * Note: `delete` cannot be safely used in IE8
- * @alias remove
- */
- delete(key: any): Cursor;
- remove(key: any): Cursor;
-
- /**
- * Clears the value at this cursor, returning a new cursor to the same
- * point in the new data.
- */
- clear(): Cursor;
-
- /**
- * Updates the value in the data this cursor points to, triggering the
- * callback for the root cursor and returning a new cursor pointing to the
- * new data.
- */
- update(updater: (value: any) => any): Cursor;
- update(key: any, updater: (value: any) => any): Cursor;
- update(key: any, notSetValue: any, updater: (value: any) => any): Cursor;
-
- /**
- * @see `Map#merge`
- */
- merge(...iterables: Immutable.Iterable[]): Cursor;
- merge(...iterables: {[key: string]: any}[]): Cursor;
-
- /**
- * @see `Map#mergeWith`
- */
- mergeWith(
- merger: (previous?: any, next?: any) => any,
- ...iterables: Immutable.Iterable[]
- ): Cursor;
- mergeWith(
- merger: (previous?: any, next?: any) => any,
- ...iterables: {[key: string]: any}[]
- ): Cursor;
-
- /**
- * @see `Map#mergeDeep`
- */
- mergeDeep(...iterables: Immutable.Iterable[]): Cursor;
- mergeDeep(...iterables: {[key: string]: any}[]): Cursor;
-
- /**
- * @see `Map#mergeDeepWith`
- */
- mergeDeepWith(
- merger: (previous?: any, next?: any) => any,
- ...iterables: Immutable.Iterable[]
- ): Cursor;
- mergeDeepWith(
- merger: (previous?: any, next?: any) => any,
- ...iterables: {[key: string]: any}[]
- ): Cursor;
-
- // Deep persistent changes
-
- /**
- * Returns a new Cursor having set `value` at this `keyPath`. If any keys in
- * `keyPath` do not exist, a new immutable Map will be created at that key.
- */
- setIn(keyPath: Array, value: any): Cursor;
- setIn(keyPath: Immutable.Iterable, value: any): Cursor;
-
- /**
- * Returns a new Cursor with provided `values` appended
- */
- push(...values: Array): Cursor;
-
- /**
- * Returns a new Cursor with a size ones less than this Cursor,
- * excluding the last index in this Cursor.
- */
- pop(): Cursor;
-
- /**
- * Returns a new Cursor with the provided `values` prepended,
- * shifting other values ahead to higher indices.
- */
- unshift(...values: Array): Cursor;
-
- /**
- * Returns a new Cursor with a size ones less than this Cursor, excluding
- * the first index in this Cursor, shifting all other values to a lower index.
- */
- shift(): Cursor;
-
- /**
- * Returns a new Cursor having removed the value at this `keyPath`.
- *
- * @alias removeIn
- */
- deleteIn(keyPath: Array): Cursor;
- deleteIn(keyPath: Immutable.Iterable): Cursor;
- removeIn(keyPath: Array): Cursor;
- removeIn(keyPath: Immutable.Iterable): Cursor;
-
- /**
- * Returns a new Cursor having applied the `updater` to the value found at
- * the keyPath.
- *
- * If any keys in `keyPath` do not exist, new Immutable `Map`s will
- * be created at those keys. If the `keyPath` does not already contain a
- * value, the `updater` function will be called with `notSetValue`, if
- * provided, otherwise `undefined`.
- *
- * If the `updater` function returns the same value it was called with, then
- * no change will occur. This is still true if `notSetValue` is provided.
- */
- updateIn(
- keyPath: Array,
- updater: (value: any) => any
- ): Cursor;
- updateIn(
- keyPath: Array,
- notSetValue: any,
- updater: (value: any) => any
- ): Cursor;
- updateIn(
- keyPath: Immutable.Iterable,
- updater: (value: any) => any
- ): Cursor;
- updateIn(
- keyPath: Immutable.Iterable,
- notSetValue: any,
- updater: (value: any) => any
- ): Cursor;
-
- /**
- * A combination of `updateIn` and `merge`, returning a new Cursor, but
- * performing the merge at a point arrived at by following the keyPath.
- * In other words, these two lines are equivalent:
- *
- * x.updateIn(['a', 'b', 'c'], abc => abc.merge(y));
- * x.mergeIn(['a', 'b', 'c'], y);
- *
- */
- mergeIn(
- keyPath: Immutable.Iterable,
- ...iterables: Immutable.Iterable[]
- ): Cursor;
- mergeIn(
- keyPath: Array,
- ...iterables: Immutable.Iterable[]
- ): Cursor;
- mergeIn(
- keyPath: Array,
- ...iterables: {[key: string]: any}[]
- ): Cursor;
-
- /**
- * A combination of `updateIn` and `mergeDeep`, returning a new Cursor, but
- * performing the deep merge at a point arrived at by following the keyPath.
- * In other words, these two lines are equivalent:
- *
- * x.updateIn(['a', 'b', 'c'], abc => abc.mergeDeep(y));
- * x.mergeDeepIn(['a', 'b', 'c'], y);
- *
- */
- mergeDeepIn(
- keyPath: Immutable.Iterable,
- ...iterables: Immutable.Iterable[]
- ): Cursor;
- mergeDeepIn(
- keyPath: Array,
- ...iterables: Immutable.Iterable[]
- ): Cursor;
- mergeDeepIn(
- keyPath: Array,
- ...iterables: {[key: string]: any}[]
- ): Cursor;
-
- // Transient changes
-
- /**
- * Every time you call one of the above functions, a new immutable value is
- * created and the callback is triggered. If you need to apply a series of
- * mutations to a Cursor without triggering the callback repeatedly,
- * `withMutations()` creates a temporary mutable copy of the value which
- * can apply mutations in a highly performant manner. Afterwards the
- * callback is triggered with the final value.
- */
- withMutations(mutator: (mutable: any) => any): Cursor;
- }
-
-}
-
-declare module 'immutable/contrib/cursor' {
- export = __Cursor
-}
\ No newline at end of file
diff --git a/node_modules/immutable/contrib/cursor/index.js b/node_modules/immutable/contrib/cursor/index.js
deleted file mode 100644
index 7275367..0000000
--- a/node_modules/immutable/contrib/cursor/index.js
+++ /dev/null
@@ -1,343 +0,0 @@
-/**
- * Copyright (c) 2014-2015, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- */
-
-/**
- * Cursor is expected to be required in a node or other CommonJS context:
- *
- * var Cursor = require('immutable/contrib/cursor');
- *
- * If you wish to use it in the browser, please check out Browserify or WebPack!
- */
-
-var Immutable = require('../../');
-var Iterable = Immutable.Iterable;
-var Iterator = Iterable.Iterator;
-var Seq = Immutable.Seq;
-var Map = Immutable.Map;
-var Record = Immutable.Record;
-
-
-function cursorFrom(rootData, keyPath, onChange) {
- if (arguments.length === 1) {
- keyPath = [];
- } else if (typeof keyPath === 'function') {
- onChange = keyPath;
- keyPath = [];
- } else {
- keyPath = valToKeyPath(keyPath);
- }
- return makeCursor(rootData, keyPath, onChange);
-}
-
-
-var KeyedCursorPrototype = Object.create(Seq.Keyed.prototype);
-var IndexedCursorPrototype = Object.create(Seq.Indexed.prototype);
-
-function KeyedCursor(rootData, keyPath, onChange, size) {
- this.size = size;
- this._rootData = rootData;
- this._keyPath = keyPath;
- this._onChange = onChange;
-}
-KeyedCursorPrototype.constructor = KeyedCursor;
-
-function IndexedCursor(rootData, keyPath, onChange, size) {
- this.size = size;
- this._rootData = rootData;
- this._keyPath = keyPath;
- this._onChange = onChange;
-}
-IndexedCursorPrototype.constructor = IndexedCursor;
-
-KeyedCursorPrototype.toString = function() {
- return this.__toString('Cursor {', '}');
-}
-IndexedCursorPrototype.toString = function() {
- return this.__toString('Cursor [', ']');
-}
-
-KeyedCursorPrototype.deref =
-KeyedCursorPrototype.valueOf =
-IndexedCursorPrototype.deref =
-IndexedCursorPrototype.valueOf = function(notSetValue) {
- return this._rootData.getIn(this._keyPath, notSetValue);
-}
-
-KeyedCursorPrototype.get =
-IndexedCursorPrototype.get = function(key, notSetValue) {
- return this.getIn([key], notSetValue);
-}
-
-KeyedCursorPrototype.getIn =
-IndexedCursorPrototype.getIn = function(keyPath, notSetValue) {
- keyPath = listToKeyPath(keyPath);
- if (keyPath.length === 0) {
- return this;
- }
- var value = this._rootData.getIn(newKeyPath(this._keyPath, keyPath), NOT_SET);
- return value === NOT_SET ? notSetValue : wrappedValue(this, keyPath, value);
-}
-
-IndexedCursorPrototype.set =
-KeyedCursorPrototype.set = function(key, value) {
- if(arguments.length === 1) {
- return updateCursor(this, function() { return key; }, []);
- } else {
- return updateCursor(this, function (m) { return m.set(key, value); }, [key]);
- }
-}
-
-IndexedCursorPrototype.push = function(/* values */) {
- var args = arguments;
- return updateCursor(this, function (m) {
- return m.push.apply(m, args);
- });
-}
-
-IndexedCursorPrototype.pop = function() {
- return updateCursor(this, function (m) {
- return m.pop();
- });
-}
-
-IndexedCursorPrototype.unshift = function(/* values */) {
- var args = arguments;
- return updateCursor(this, function (m) {
- return m.unshift.apply(m, args);
- });
-}
-
-IndexedCursorPrototype.shift = function() {
- return updateCursor(this, function (m) {
- return m.shift();
- });
-}
-
-IndexedCursorPrototype.setIn =
-KeyedCursorPrototype.setIn = Map.prototype.setIn;
-
-KeyedCursorPrototype.remove =
-KeyedCursorPrototype['delete'] =
-IndexedCursorPrototype.remove =
-IndexedCursorPrototype['delete'] = function(key) {
- return updateCursor(this, function (m) { return m.remove(key); }, [key]);
-}
-
-IndexedCursorPrototype.removeIn =
-IndexedCursorPrototype.deleteIn =
-KeyedCursorPrototype.removeIn =
-KeyedCursorPrototype.deleteIn = Map.prototype.deleteIn;
-
-KeyedCursorPrototype.clear =
-IndexedCursorPrototype.clear = function() {
- return updateCursor(this, function (m) { return m.clear(); });
-}
-
-IndexedCursorPrototype.update =
-KeyedCursorPrototype.update = function(keyOrFn, notSetValue, updater) {
- return arguments.length === 1 ?
- updateCursor(this, keyOrFn) :
- this.updateIn([keyOrFn], notSetValue, updater);
-}
-
-IndexedCursorPrototype.updateIn =
-KeyedCursorPrototype.updateIn = function(keyPath, notSetValue, updater) {
- return updateCursor(this, function (m) {
- return m.updateIn(keyPath, notSetValue, updater);
- }, keyPath);
-}
-
-IndexedCursorPrototype.merge =
-KeyedCursorPrototype.merge = function(/*...iters*/) {
- var args = arguments;
- return updateCursor(this, function (m) {
- return m.merge.apply(m, args);
- });
-}
-
-IndexedCursorPrototype.mergeWith =
-KeyedCursorPrototype.mergeWith = function(merger/*, ...iters*/) {
- var args = arguments;
- return updateCursor(this, function (m) {
- return m.mergeWith.apply(m, args);
- });
-}
-
-IndexedCursorPrototype.mergeIn =
-KeyedCursorPrototype.mergeIn = Map.prototype.mergeIn;
-
-IndexedCursorPrototype.mergeDeep =
-KeyedCursorPrototype.mergeDeep = function(/*...iters*/) {
- var args = arguments;
- return updateCursor(this, function (m) {
- return m.mergeDeep.apply(m, args);
- });
-}
-
-IndexedCursorPrototype.mergeDeepWith =
-KeyedCursorPrototype.mergeDeepWith = function(merger/*, ...iters*/) {
- var args = arguments;
- return updateCursor(this, function (m) {
- return m.mergeDeepWith.apply(m, args);
- });
-}
-
-IndexedCursorPrototype.mergeDeepIn =
-KeyedCursorPrototype.mergeDeepIn = Map.prototype.mergeDeepIn;
-
-KeyedCursorPrototype.withMutations =
-IndexedCursorPrototype.withMutations = function(fn) {
- return updateCursor(this, function (m) {
- return (m || Map()).withMutations(fn);
- });
-}
-
-KeyedCursorPrototype.cursor =
-IndexedCursorPrototype.cursor = function(subKeyPath) {
- subKeyPath = valToKeyPath(subKeyPath);
- return subKeyPath.length === 0 ? this : subCursor(this, subKeyPath);
-}
-
-/**
- * All iterables need to implement __iterate
- */
-KeyedCursorPrototype.__iterate =
-IndexedCursorPrototype.__iterate = function(fn, reverse) {
- var cursor = this;
- var deref = cursor.deref();
- return deref && deref.__iterate ? deref.__iterate(
- function (v, k) { return fn(wrappedValue(cursor, [k], v), k, cursor); },
- reverse
- ) : 0;
-}
-
-/**
- * All iterables need to implement __iterator
- */
-KeyedCursorPrototype.__iterator =
-IndexedCursorPrototype.__iterator = function(type, reverse) {
- var deref = this.deref();
- var cursor = this;
- var iterator = deref && deref.__iterator &&
- deref.__iterator(Iterator.ENTRIES, reverse);
- return new Iterator(function () {
- if (!iterator) {
- return { value: undefined, done: true };
- }
- var step = iterator.next();
- if (step.done) {
- return step;
- }
- var entry = step.value;
- var k = entry[0];
- var v = wrappedValue(cursor, [k], entry[1]);
- return {
- value: type === Iterator.KEYS ? k : type === Iterator.VALUES ? v : [k, v],
- done: false
- };
- });
-}
-
-KeyedCursor.prototype = KeyedCursorPrototype;
-IndexedCursor.prototype = IndexedCursorPrototype;
-
-
-var NOT_SET = {}; // Sentinel value
-
-function makeCursor(rootData, keyPath, onChange, value) {
- if (arguments.length < 4) {
- value = rootData.getIn(keyPath);
- }
- var size = value && value.size;
- var CursorClass = Iterable.isIndexed(value) ? IndexedCursor : KeyedCursor;
- var cursor = new CursorClass(rootData, keyPath, onChange, size);
-
- if (value instanceof Record) {
- defineRecordProperties(cursor, value);
- }
-
- return cursor;
-}
-
-function defineRecordProperties(cursor, value) {
- try {
- value._keys.forEach(setProp.bind(undefined, cursor));
- } catch (error) {
- // Object.defineProperty failed. Probably IE8.
- }
-}
-
-function setProp(prototype, name) {
- Object.defineProperty(prototype, name, {
- get: function() {
- return this.get(name);
- },
- set: function(value) {
- if (!this.__ownerID) {
- throw new Error('Cannot set on an immutable record.');
- }
- }
- });
-}
-
-function wrappedValue(cursor, keyPath, value) {
- return Iterable.isIterable(value) ? subCursor(cursor, keyPath, value) : value;
-}
-
-function subCursor(cursor, keyPath, value) {
- if (arguments.length < 3) {
- return makeCursor( // call without value
- cursor._rootData,
- newKeyPath(cursor._keyPath, keyPath),
- cursor._onChange
- );
- }
- return makeCursor(
- cursor._rootData,
- newKeyPath(cursor._keyPath, keyPath),
- cursor._onChange,
- value
- );
-}
-
-function updateCursor(cursor, changeFn, changeKeyPath) {
- var deepChange = arguments.length > 2;
- var newRootData = cursor._rootData.updateIn(
- cursor._keyPath,
- deepChange ? Map() : undefined,
- changeFn
- );
- var keyPath = cursor._keyPath || [];
- var result = cursor._onChange && cursor._onChange.call(
- undefined,
- newRootData,
- cursor._rootData,
- deepChange ? newKeyPath(keyPath, changeKeyPath) : keyPath
- );
- if (result !== undefined) {
- newRootData = result;
- }
- return makeCursor(newRootData, cursor._keyPath, cursor._onChange);
-}
-
-function newKeyPath(head, tail) {
- return head.concat(listToKeyPath(tail));
-}
-
-function listToKeyPath(list) {
- return Array.isArray(list) ? list : Immutable.Iterable(list).toArray();
-}
-
-function valToKeyPath(val) {
- return Array.isArray(val) ? val :
- Iterable.isIterable(val) ? val.toArray() :
- [val];
-}
-
-exports.from = cursorFrom;
diff --git a/node_modules/immutable/dist/immutable-nonambient.d.ts b/node_modules/immutable/dist/immutable-nonambient.d.ts
deleted file mode 100644
index 92ec354..0000000
--- a/node_modules/immutable/dist/immutable-nonambient.d.ts
+++ /dev/null
@@ -1,2535 +0,0 @@
-/**
- * Copyright (c) 2014-2015, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- */
-
-/**
- * Immutable data encourages pure functions (data-in, data-out) and lends itself
- * to much simpler application development and enabling techniques from
- * functional programming such as lazy evaluation.
- *
- * While designed to bring these powerful functional concepts to JavaScript, it
- * presents an Object-Oriented API familiar to Javascript engineers and closely
- * mirroring that of Array, Map, and Set. It is easy and efficient to convert to
- * and from plain Javascript types.
-
- * Note: all examples are presented in [ES6][]. To run in all browsers, they
- * need to be translated to ES3. For example:
- *
- * // ES6
- * foo.map(x => x * x);
- * // ES3
- * foo.map(function (x) { return x * x; });
- *
- * [ES6]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla
- */
-
-
-
- /**
- * Deeply converts plain JS objects and arrays to Immutable Maps and Lists.
- *
- * If a `reviver` is optionally provided, it will be called with every
- * collection as a Seq (beginning with the most nested collections
- * and proceeding to the top-level collection itself), along with the key
- * refering to each collection and the parent JS object provided as `this`.
- * For the top level, object, the key will be `""`. This `reviver` is expected
- * to return a new Immutable Iterable, allowing for custom conversions from
- * deep JS objects.
- *
- * This example converts JSON to List and OrderedMap:
- *
- * Immutable.fromJS({a: {b: [10, 20, 30]}, c: 40}, function (key, value) {
- * var isIndexed = Immutable.Iterable.isIndexed(value);
- * return isIndexed ? value.toList() : value.toOrderedMap();
- * });
- *
- * // true, "b", {b: [10, 20, 30]}
- * // false, "a", {a: {b: [10, 20, 30]}, c: 40}
- * // false, "", {"": {a: {b: [10, 20, 30]}, c: 40}}
- *
- * If `reviver` is not provided, the default behavior will convert Arrays into
- * Lists and Objects into Maps.
- *
- * `reviver` acts similarly to the [same parameter in `JSON.parse`][1].
- *
- * `Immutable.fromJS` is conservative in its conversion. It will only convert
- * arrays which pass `Array.isArray` to Lists, and only raw objects (no custom
- * prototype) to Map.
- *
- * Keep in mind, when using JS objects to construct Immutable Maps, that
- * JavaScript Object properties are always strings, even if written in a
- * quote-less shorthand, while Immutable Maps accept keys of any type.
- *
- * ```js
- * var obj = { 1: "one" };
- * Object.keys(obj); // [ "1" ]
- * obj["1"]; // "one"
- * obj[1]; // "one"
- *
- * var map = Map(obj);
- * map.get("1"); // "one"
- * map.get(1); // undefined
- * ```
- *
- * Property access for JavaScript Objects first converts the key to a string,
- * but since Immutable Map keys can be of any type the argument to `get()` is
- * not altered.
- *
- * [1]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Example.3A_Using_the_reviver_parameter
- * "Using the reviver parameter"
- */
- export function fromJS(
- json: any,
- reviver?: (k: any, v: Iterable) => any
- ): any;
-
-
- /**
- * Value equality check with semantics similar to `Object.is`, but treats
- * Immutable `Iterable`s as values, equal if the second `Iterable` includes
- * equivalent values.
- *
- * It's used throughout Immutable when checking for equality, including `Map`
- * key equality and `Set` membership.
- *
- * var map1 = Immutable.Map({a:1, b:1, c:1});
- * var map2 = Immutable.Map({a:1, b:1, c:1});
- * assert(map1 !== map2);
- * assert(Object.is(map1, map2) === false);
- * assert(Immutable.is(map1, map2) === true);
- *
- * Note: Unlike `Object.is`, `Immutable.is` assumes `0` and `-0` are the same
- * value, matching the behavior of ES6 Map key equality.
- */
- export function is(first: any, second: any): boolean;
-
-
- /**
- * Lists are ordered indexed dense collections, much like a JavaScript
- * Array.
- *
- * Lists are immutable and fully persistent with O(log32 N) gets and sets,
- * and O(1) push and pop.
- *
- * Lists implement Deque, with efficient addition and removal from both the
- * end (`push`, `pop`) and beginning (`unshift`, `shift`).
- *
- * Unlike a JavaScript Array, there is no distinction between an
- * "unset" index and an index set to `undefined`. `List#forEach` visits all
- * indices from 0 to size, regardless of whether they were explicitly defined.
- */
- export module List {
-
- /**
- * True if the provided value is a List
- */
- function isList(maybeList: any): boolean;
-
- /**
- * Creates a new List containing `values`.
- */
- function of(...values: T[]): List;
- }
-
- /**
- * Create a new immutable List containing the values of the provided
- * iterable-like.
- */
- export function List(): List;
- export function List(iter: Iterable.Indexed): List;
- export function List(iter: Iterable.Set): List;
- export function List(iter: Iterable.Keyed): List*[K,V]*/any>;
- export function List(array: Array): List;
- export function List(iterator: Iterator): List;
- export function List(iterable: /*Iterable*/Object): List;
-
-
- export interface List extends Collection.Indexed {
-
- // Persistent changes
-
- /**
- * Returns a new List which includes `value` at `index`. If `index` already
- * exists in this List, it will be replaced.
- *
- * `index` may be a negative number, which indexes back from the end of the
- * List. `v.set(-1, "value")` sets the last item in the List.
- *
- * If `index` larger than `size`, the returned List's `size` will be large
- * enough to include the `index`.
- */
- set(index: number, value: T): List;
-
- /**
- * Returns a new List which excludes this `index` and with a size 1 less
- * than this List. Values at indices above `index` are shifted down by 1 to
- * fill the position.
- *
- * This is synonymous with `list.splice(index, 1)`.
- *
- * `index` may be a negative number, which indexes back from the end of the
- * List. `v.delete(-1)` deletes the last item in the List.
- *
- * Note: `delete` cannot be safely used in IE8
- * @alias remove
- */
- delete(index: number): List;
- remove(index: number): List;
-
- /**
- * Returns a new List with `value` at `index` with a size 1 more than this
- * List. Values at indices above `index` are shifted over by 1.
- *
- * This is synonymous with `list.splice(index, 0, value)
- */
- insert(index: number, value: T): List;
-
- /**
- * Returns a new List with 0 size and no values.
- */
- clear(): List;
-
- /**
- * Returns a new List with the provided `values` appended, starting at this
- * List's `size`.
- */
- push(...values: T[]): List;
-
- /**
- * Returns a new List with a size ones less than this List, excluding
- * the last index in this List.
- *
- * Note: this differs from `Array#pop` because it returns a new
- * List rather than the removed value. Use `last()` to get the last value
- * in this List.
- */
- pop(): List;
-
- /**
- * Returns a new List with the provided `values` prepended, shifting other
- * values ahead to higher indices.
- */
- unshift(...values: T[]): List;
-
- /**
- * Returns a new List with a size ones less than this List, excluding
- * the first index in this List, shifting all other values to a lower index.
- *
- * Note: this differs from `Array#shift` because it returns a new
- * List rather than the removed value. Use `first()` to get the first
- * value in this List.
- */
- shift(): List;
-
- /**
- * Returns a new List with an updated value at `index` with the return
- * value of calling `updater` with the existing value, or `notSetValue` if
- * `index` was not set. If called with a single argument, `updater` is
- * called with the List itself.
- *
- * `index` may be a negative number, which indexes back from the end of the
- * List. `v.update(-1)` updates the last item in the List.
- *
- * @see `Map#update`
- */
- update(updater: (value: List) => List): List;
- update(index: number, updater: (value: T) => T): List;
- update(index: number, notSetValue: T, updater: (value: T) => T): List;
-
- /**
- * @see `Map#merge`
- */
- merge(...iterables: Iterable.Indexed[]): List;
- merge(...iterables: Array