summaryrefslogtreecommitdiff
path: root/tools/eslint/node_modules
diff options
context:
space:
mode:
authorRich Trott <rtrott@gmail.com>2016-04-30 22:24:35 -0700
committerEvan Lucas <evanlucas@me.com>2016-05-17 08:10:07 -0500
commitd629f265fe47bf410467fef4a6bf7515a1fd92e5 (patch)
tree93eb075c8bf4a69f5176ebbdfaae1c986d69e1ac /tools/eslint/node_modules
parent559c2583e0589a322087b85e51cc140c5f7fb5fa (diff)
downloadnode-new-d629f265fe47bf410467fef4a6bf7515a1fd92e5.tar.gz
tools: update ESLint to 2.9.0
ESLint 2.9.0 fixes some minor bugs that we have been experiencing and introduces some new rules that we may wish to consider. PR-URL: https://github.com/nodejs/node/pull/6498 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Roman Reiss <me@silverwind.io>
Diffstat (limited to 'tools/eslint/node_modules')
l---------tools/eslint/node_modules/.bin/eslint1
-rw-r--r--tools/eslint/node_modules/acorn-jsx/README.md22
-rw-r--r--tools/eslint/node_modules/acorn-jsx/inject.js20
l---------tools/eslint/node_modules/acorn-jsx/node_modules/.bin/acorn1
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/.tern-project6
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/AUTHORS43
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/LICENSE19
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/README.md396
-rwxr-xr-xtools/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/acorn71
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/build-acorn.js82
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/generate-identifier-regex.js47
-rwxr-xr-xtools/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/update_authors.sh6
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/.keep0
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn.js3340
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn_loose.js1300
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/walk.js377
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/package.json213
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/bin/acorn.js59
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/expression.js707
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/identifier.js90
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/index.js67
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/location.js24
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/locutil.js42
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/acorn_loose.js0
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/expression.js501
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/index.js50
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/parseutil.js1
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/state.js160
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/statement.js420
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/tokenize.js108
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/lval.js215
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/node.js50
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/options.js120
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/parseutil.js102
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/state.js104
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/statement.js626
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/tokencontext.js109
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/tokenize.js682
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/tokentype.js147
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/util.js9
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/walk/index.js340
-rw-r--r--tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/whitespace.js11
-rw-r--r--tools/eslint/node_modules/acorn-jsx/package.json51
-rw-r--r--tools/eslint/node_modules/acorn/AUTHORS11
-rw-r--r--tools/eslint/node_modules/acorn/README.md9
-rw-r--r--tools/eslint/node_modules/acorn/dist/acorn.js19
-rw-r--r--tools/eslint/node_modules/acorn/dist/acorn_loose.js1
-rw-r--r--tools/eslint/node_modules/acorn/dist/walk.js9
-rw-r--r--tools/eslint/node_modules/acorn/package.json86
-rw-r--r--tools/eslint/node_modules/acorn/src/expression.js10
-rw-r--r--tools/eslint/node_modules/acorn/src/index.js2
-rw-r--r--tools/eslint/node_modules/acorn/src/loose/expression.js1
-rw-r--r--tools/eslint/node_modules/acorn/src/lval.js1
-rw-r--r--tools/eslint/node_modules/acorn/src/options.js1
-rw-r--r--tools/eslint/node_modules/acorn/src/parseutil.js2
-rw-r--r--tools/eslint/node_modules/acorn/src/tokencontext.js5
-rw-r--r--tools/eslint/node_modules/acorn/src/walk/index.js9
-rw-r--r--tools/eslint/node_modules/ansi-escapes/index.js6
-rw-r--r--tools/eslint/node_modules/ansi-escapes/package.json58
-rw-r--r--tools/eslint/node_modules/ansi-escapes/readme.md9
-rw-r--r--tools/eslint/node_modules/ansi-regex/package.json46
-rw-r--r--tools/eslint/node_modules/ansi-styles/package.json32
-rw-r--r--tools/eslint/node_modules/argparse/README.md2
-rw-r--r--tools/eslint/node_modules/argparse/lib/argument/exclusive.js1
-rw-r--r--tools/eslint/node_modules/argparse/lib/argument/group.js1
-rw-r--r--tools/eslint/node_modules/argparse/package.json26
-rw-r--r--tools/eslint/node_modules/array-union/package.json20
-rw-r--r--tools/eslint/node_modules/array-uniq/package.json18
-rw-r--r--tools/eslint/node_modules/arrify/package.json12
-rw-r--r--tools/eslint/node_modules/balanced-match/Makefile1
-rw-r--r--tools/eslint/node_modules/balanced-match/example.js1
-rw-r--r--tools/eslint/node_modules/balanced-match/package.json28
-rw-r--r--tools/eslint/node_modules/bluebird/README.md3
-rw-r--r--tools/eslint/node_modules/bluebird/js/browser/bluebird.core.js118
-rw-r--r--tools/eslint/node_modules/bluebird/js/browser/bluebird.core.min.js16
-rw-r--r--tools/eslint/node_modules/bluebird/js/browser/bluebird.js172
-rw-r--r--tools/eslint/node_modules/bluebird/js/browser/bluebird.min.js18
-rw-r--r--tools/eslint/node_modules/bluebird/package.json46
-rw-r--r--tools/eslint/node_modules/brace-expansion/README.md2
-rw-r--r--tools/eslint/node_modules/brace-expansion/example.js1
-rw-r--r--tools/eslint/node_modules/brace-expansion/index.js1
-rw-r--r--tools/eslint/node_modules/brace-expansion/package.json26
-rw-r--r--tools/eslint/node_modules/caller-path/package.json24
-rw-r--r--tools/eslint/node_modules/callsites/package.json22
-rw-r--r--tools/eslint/node_modules/chalk/package.json50
-rw-r--r--tools/eslint/node_modules/cli-cursor/package.json22
-rw-r--r--tools/eslint/node_modules/cli-width/package.json8
-rw-r--r--tools/eslint/node_modules/code-point-at/package.json20
-rw-r--r--tools/eslint/node_modules/concat-map/package.json16
-rw-r--r--tools/eslint/node_modules/concat-stream/package.json26
-rw-r--r--tools/eslint/node_modules/core-util-is/package.json18
-rw-r--r--tools/eslint/node_modules/d/package.json18
-rw-r--r--tools/eslint/node_modules/debug/package.json20
-rw-r--r--tools/eslint/node_modules/deep-is/package.json16
-rw-r--r--tools/eslint/node_modules/del/package.json42
-rw-r--r--tools/eslint/node_modules/del/readme.md4
-rw-r--r--tools/eslint/node_modules/doctrine/node_modules/esutils/package.json8
-rw-r--r--tools/eslint/node_modules/doctrine/package.json20
-rw-r--r--tools/eslint/node_modules/es5-ext/README.md130
-rw-r--r--tools/eslint/node_modules/es5-ext/package.json16
-rw-r--r--tools/eslint/node_modules/es6-iterator/README.md4
-rw-r--r--tools/eslint/node_modules/es6-iterator/package.json14
-rw-r--r--tools/eslint/node_modules/es6-map/README.md2
-rw-r--r--tools/eslint/node_modules/es6-map/package.json18
-rw-r--r--tools/eslint/node_modules/es6-set/package.json14
-rw-r--r--tools/eslint/node_modules/es6-symbol/package.json18
-rw-r--r--tools/eslint/node_modules/es6-weak-map/package.json18
-rw-r--r--tools/eslint/node_modules/escape-string-regexp/package.json24
-rw-r--r--tools/eslint/node_modules/escope/README.md4
-rw-r--r--tools/eslint/node_modules/escope/lib/definition.js6
-rw-r--r--tools/eslint/node_modules/escope/lib/index.js6
-rw-r--r--tools/eslint/node_modules/escope/lib/pattern-visitor.js6
-rw-r--r--tools/eslint/node_modules/escope/lib/referencer.js6
-rw-r--r--tools/eslint/node_modules/escope/lib/scope-manager.js6
-rw-r--r--tools/eslint/node_modules/escope/lib/scope.js6
-rw-r--r--tools/eslint/node_modules/escope/package.json18
-rw-r--r--tools/eslint/node_modules/espree/LICENSE22
-rw-r--r--tools/eslint/node_modules/espree/espree.js1
-rw-r--r--tools/eslint/node_modules/espree/lib/ast-node-types.js22
-rw-r--r--tools/eslint/node_modules/espree/lib/comment-attachment.js82
-rw-r--r--tools/eslint/node_modules/espree/lib/features.js22
-rw-r--r--tools/eslint/node_modules/espree/lib/token-translator.js21
-rw-r--r--tools/eslint/node_modules/espree/lib/visitor-keys.js24
-rw-r--r--tools/eslint/node_modules/espree/package.json55
-rw-r--r--tools/eslint/node_modules/esprima/package.json12
-rw-r--r--tools/eslint/node_modules/esrecurse/node_modules/estraverse/package.json16
-rw-r--r--tools/eslint/node_modules/esrecurse/package.json16
-rw-r--r--tools/eslint/node_modules/estraverse/package.json20
-rw-r--r--tools/eslint/node_modules/esutils/package.json14
-rw-r--r--tools/eslint/node_modules/event-emitter/README.md8
-rw-r--r--tools/eslint/node_modules/event-emitter/package.json16
-rw-r--r--tools/eslint/node_modules/exit-hook/package.json22
-rw-r--r--tools/eslint/node_modules/fast-levenshtein/LICENSE.md1
-rw-r--r--tools/eslint/node_modules/fast-levenshtein/levenshtein.js1
-rw-r--r--tools/eslint/node_modules/fast-levenshtein/package.json10
-rw-r--r--tools/eslint/node_modules/figures/package.json20
-rw-r--r--tools/eslint/node_modules/file-entry-cache/LICENSE1
-rw-r--r--tools/eslint/node_modules/file-entry-cache/README.md26
-rw-r--r--tools/eslint/node_modules/file-entry-cache/changelog.md26
-rw-r--r--tools/eslint/node_modules/file-entry-cache/package.json14
-rw-r--r--tools/eslint/node_modules/flat-cache/LICENSE1
-rw-r--r--tools/eslint/node_modules/flat-cache/README.md1
-rw-r--r--tools/eslint/node_modules/flat-cache/changelog.md32
-rw-r--r--tools/eslint/node_modules/flat-cache/package.json14
-rw-r--r--tools/eslint/node_modules/generate-function/package.json12
-rw-r--r--tools/eslint/node_modules/generate-object-property/package.json8
-rw-r--r--tools/eslint/node_modules/glob/package.json14
-rw-r--r--tools/eslint/node_modules/globals/globals.json12
-rw-r--r--tools/eslint/node_modules/globals/package.json60
-rw-r--r--tools/eslint/node_modules/globby/node_modules/glob/package.json12
-rw-r--r--tools/eslint/node_modules/globby/package.json16
-rw-r--r--tools/eslint/node_modules/graceful-fs/package.json30
-rw-r--r--tools/eslint/node_modules/has-ansi/package.json42
-rw-r--r--tools/eslint/node_modules/ignore/ignore.js14
-rw-r--r--tools/eslint/node_modules/ignore/package.json62
-rw-r--r--tools/eslint/node_modules/imurmurhash/imurmurhash.js2
-rw-r--r--tools/eslint/node_modules/imurmurhash/package.json20
-rw-r--r--tools/eslint/node_modules/inflight/package.json16
-rw-r--r--tools/eslint/node_modules/inherits/LICENSE1
-rw-r--r--tools/eslint/node_modules/inherits/package.json18
-rw-r--r--tools/eslint/node_modules/inquirer/package.json16
-rw-r--r--tools/eslint/node_modules/is-fullwidth-code-point/package.json32
-rw-r--r--tools/eslint/node_modules/is-my-json-valid/package.json28
-rw-r--r--tools/eslint/node_modules/is-path-cwd/package.json18
-rw-r--r--tools/eslint/node_modules/is-path-in-cwd/package.json18
-rw-r--r--tools/eslint/node_modules/is-path-inside/package.json18
-rw-r--r--tools/eslint/node_modules/is-property/README.md2
-rw-r--r--tools/eslint/node_modules/is-property/package.json18
-rwxr-xr-xtools/eslint/node_modules/is-resolvable/README.md2
-rw-r--r--tools/eslint/node_modules/is-resolvable/package.json22
-rw-r--r--tools/eslint/node_modules/isarray/Makefile1
-rw-r--r--tools/eslint/node_modules/isarray/package.json26
-rw-r--r--tools/eslint/node_modules/js-yaml/dist/js-yaml.js621
-rw-r--r--tools/eslint/node_modules/js-yaml/dist/js-yaml.min.js6
-rw-r--r--tools/eslint/node_modules/js-yaml/lib/js-yaml/dumper.js546
-rw-r--r--tools/eslint/node_modules/js-yaml/lib/js-yaml/loader.js18
-rw-r--r--tools/eslint/node_modules/js-yaml/lib/js-yaml/type/binary.js11
-rw-r--r--tools/eslint/node_modules/js-yaml/package.json57
-rw-r--r--tools/eslint/node_modules/json-stable-stringify/package.json26
-rw-r--r--tools/eslint/node_modules/jsonify/lib/parse.js16
-rw-r--r--tools/eslint/node_modules/jsonify/lib/stringify.js26
-rw-r--r--tools/eslint/node_modules/jsonify/package.json12
-rw-r--r--tools/eslint/node_modules/jsonpointer/package.json20
-rw-r--r--tools/eslint/node_modules/levn/package.json24
-rw-r--r--tools/eslint/node_modules/lodash/README.md4
-rw-r--r--tools/eslint/node_modules/lodash/_baseFor.js2
-rw-r--r--tools/eslint/node_modules/lodash/_baseGet.js4
-rw-r--r--tools/eslint/node_modules/lodash/_baseInvoke.js4
-rw-r--r--tools/eslint/node_modules/lodash/_baseNth.js20
-rw-r--r--tools/eslint/node_modules/lodash/_baseOrderBy.js3
-rw-r--r--tools/eslint/node_modules/lodash/_basePullAt.js4
-rw-r--r--tools/eslint/node_modules/lodash/_baseSet.js4
-rw-r--r--tools/eslint/node_modules/lodash/_baseUnset.js4
-rw-r--r--tools/eslint/node_modules/lodash/_castArrayLikeObject.js (renamed from tools/eslint/node_modules/lodash/_baseCastArrayLikeObject.js)4
-rw-r--r--tools/eslint/node_modules/lodash/_castFunction.js (renamed from tools/eslint/node_modules/lodash/_baseCastFunction.js)4
-rw-r--r--tools/eslint/node_modules/lodash/_castPath.js (renamed from tools/eslint/node_modules/lodash/_baseCastPath.js)4
-rw-r--r--tools/eslint/node_modules/lodash/_castSlice.js18
-rw-r--r--tools/eslint/node_modules/lodash/_copyObject.js21
-rw-r--r--tools/eslint/node_modules/lodash/_copyObjectWith.js32
-rw-r--r--tools/eslint/node_modules/lodash/_createCaseFirst.js25
-rw-r--r--tools/eslint/node_modules/lodash/_createCompounder.js8
-rw-r--r--tools/eslint/node_modules/lodash/_createOver.js7
-rw-r--r--tools/eslint/node_modules/lodash/_createPadding.js16
-rw-r--r--tools/eslint/node_modules/lodash/_createRecurryWrapper.js6
-rw-r--r--tools/eslint/node_modules/lodash/_hasPath.js4
-rw-r--r--tools/eslint/node_modules/lodash/_mergeData.js11
-rw-r--r--tools/eslint/node_modules/lodash/_reHasComplexSymbol.js13
-rw-r--r--tools/eslint/node_modules/lodash/_stringSize.js5
-rw-r--r--tools/eslint/node_modules/lodash/_toKey.js (renamed from tools/eslint/node_modules/lodash/_baseCastKey.js)8
-rw-r--r--tools/eslint/node_modules/lodash/array.js1
-rw-r--r--tools/eslint/node_modules/lodash/assignInWith.js4
-rw-r--r--tools/eslint/node_modules/lodash/assignWith.js4
-rw-r--r--tools/eslint/node_modules/lodash/at.js3
-rw-r--r--tools/eslint/node_modules/lodash/bindAll.js3
-rw-r--r--tools/eslint/node_modules/lodash/cond.js2
-rw-r--r--tools/eslint/node_modules/lodash/core.js44
-rw-r--r--tools/eslint/node_modules/lodash/core.min.js8
-rw-r--r--tools/eslint/node_modules/lodash/debounce.js21
-rw-r--r--tools/eslint/node_modules/lodash/forEach.js2
-rw-r--r--tools/eslint/node_modules/lodash/forIn.js6
-rw-r--r--tools/eslint/node_modules/lodash/forOwn.js8
-rw-r--r--tools/eslint/node_modules/lodash/fp/_mapping.js27
-rw-r--r--tools/eslint/node_modules/lodash/fp/mapObj.js1
-rw-r--r--tools/eslint/node_modules/lodash/fp/nth.js5
-rw-r--r--tools/eslint/node_modules/lodash/fp/paths.js1
-rw-r--r--tools/eslint/node_modules/lodash/fp/pluck.js1
-rw-r--r--tools/eslint/node_modules/lodash/fp/propEq.js1
-rw-r--r--tools/eslint/node_modules/lodash/fp/propOf.js1
-rw-r--r--tools/eslint/node_modules/lodash/fp/props.js1
-rw-r--r--tools/eslint/node_modules/lodash/head.js2
-rw-r--r--tools/eslint/node_modules/lodash/intersection.js4
-rw-r--r--tools/eslint/node_modules/lodash/intersectionBy.js4
-rw-r--r--tools/eslint/node_modules/lodash/intersectionWith.js4
-rw-r--r--tools/eslint/node_modules/lodash/lodash.js438
-rw-r--r--tools/eslint/node_modules/lodash/lodash.min.js238
-rw-r--r--tools/eslint/node_modules/lodash/map.js4
-rw-r--r--tools/eslint/node_modules/lodash/mixin.js2
-rw-r--r--tools/eslint/node_modules/lodash/nth.js29
-rw-r--r--tools/eslint/node_modules/lodash/nthArg.js20
-rw-r--r--tools/eslint/node_modules/lodash/omit.js9
-rw-r--r--tools/eslint/node_modules/lodash/over.js3
-rw-r--r--tools/eslint/node_modules/lodash/overArgs.js11
-rw-r--r--tools/eslint/node_modules/lodash/overEvery.js3
-rw-r--r--tools/eslint/node_modules/lodash/overSome.js3
-rw-r--r--tools/eslint/node_modules/lodash/package.json44
-rw-r--r--tools/eslint/node_modules/lodash/pick.js3
-rw-r--r--tools/eslint/node_modules/lodash/pullAt.js3
-rw-r--r--tools/eslint/node_modules/lodash/rearg.js3
-rw-r--r--tools/eslint/node_modules/lodash/replace.js8
-rw-r--r--tools/eslint/node_modules/lodash/result.js4
-rw-r--r--tools/eslint/node_modules/lodash/sortBy.js13
-rw-r--r--tools/eslint/node_modules/lodash/split.js32
-rw-r--r--tools/eslint/node_modules/lodash/spread.js3
-rw-r--r--tools/eslint/node_modules/lodash/toPath.js6
-rw-r--r--tools/eslint/node_modules/lodash/toString.js4
-rw-r--r--tools/eslint/node_modules/lodash/trim.js14
-rw-r--r--tools/eslint/node_modules/lodash/trimEnd.js14
-rw-r--r--tools/eslint/node_modules/lodash/trimStart.js14
-rw-r--r--tools/eslint/node_modules/lodash/truncate.js18
-rw-r--r--tools/eslint/node_modules/lodash/update.js6
-rw-r--r--tools/eslint/node_modules/lodash/updateWith.js6
-rw-r--r--tools/eslint/node_modules/lodash/words.js19
-rw-r--r--tools/eslint/node_modules/lodash/wrapperAt.js3
-rw-r--r--tools/eslint/node_modules/lodash/wrapperLodash.js2
-rw-r--r--tools/eslint/node_modules/minimatch/package.json8
-rw-r--r--tools/eslint/node_modules/minimist/index.js38
-rw-r--r--tools/eslint/node_modules/minimist/package.json22
-rw-r--r--tools/eslint/node_modules/mkdirp/package.json14
-rw-r--r--tools/eslint/node_modules/ms/package.json8
-rw-r--r--tools/eslint/node_modules/mute-stream/package.json12
-rw-r--r--tools/eslint/node_modules/number-is-nan/package.json22
-rw-r--r--tools/eslint/node_modules/object-assign/package.json26
-rw-r--r--tools/eslint/node_modules/once/package.json10
-rw-r--r--tools/eslint/node_modules/onetime/package.json16
-rw-r--r--tools/eslint/node_modules/onetime/readme.md2
-rw-r--r--tools/eslint/node_modules/optionator/package.json18
-rw-r--r--tools/eslint/node_modules/os-homedir/package.json26
-rw-r--r--tools/eslint/node_modules/path-is-absolute/package.json34
-rw-r--r--tools/eslint/node_modules/path-is-inside/package.json12
-rw-r--r--tools/eslint/node_modules/pify/package.json30
-rw-r--r--tools/eslint/node_modules/pify/readme.md6
-rw-r--r--tools/eslint/node_modules/pinkie-promise/index.js2
-rw-r--r--tools/eslint/node_modules/pinkie-promise/package.json36
-rw-r--r--tools/eslint/node_modules/pinkie/package.json16
-rw-r--r--tools/eslint/node_modules/pinkie/readme.md2
-rw-r--r--tools/eslint/node_modules/pluralize/package.json18
-rw-r--r--tools/eslint/node_modules/prelude-ls/package.json26
-rw-r--r--tools/eslint/node_modules/process-nextick-args/package.json8
-rw-r--r--tools/eslint/node_modules/progress/package.json26
-rwxr-xr-xtools/eslint/node_modules/read-json-sync/README.md4
-rw-r--r--tools/eslint/node_modules/read-json-sync/package.json16
-rw-r--r--tools/eslint/node_modules/readable-stream/README.md2
-rw-r--r--tools/eslint/node_modules/readable-stream/package.json26
-rw-r--r--tools/eslint/node_modules/readline2/package.json14
-rw-r--r--tools/eslint/node_modules/require-uncached/package.json22
-rw-r--r--tools/eslint/node_modules/resolve-from/package.json18
-rw-r--r--tools/eslint/node_modules/restore-cursor/package.json34
-rw-r--r--tools/eslint/node_modules/rimraf/package.json8
-rw-r--r--tools/eslint/node_modules/run-async/README.md2
-rw-r--r--tools/eslint/node_modules/run-async/package.json12
-rw-r--r--tools/eslint/node_modules/rx-lite/package.json10
-rw-r--r--tools/eslint/node_modules/rx-lite/readme.md4
-rw-r--r--tools/eslint/node_modules/rx-lite/rx.lite.js60
-rw-r--r--tools/eslint/node_modules/shelljs/LICENSE8
-rw-r--r--tools/eslint/node_modules/shelljs/package.json34
-rwxr-xr-xtools/eslint/node_modules/slice-ansi/index.js1
-rw-r--r--tools/eslint/node_modules/slice-ansi/package.json34
-rwxr-xr-xtools/eslint/node_modules/slice-ansi/readme.md2
-rw-r--r--tools/eslint/node_modules/sprintf-js/package.json8
-rw-r--r--tools/eslint/node_modules/string-width/package.json42
-rw-r--r--tools/eslint/node_modules/string_decoder/package.json18
-rw-r--r--tools/eslint/node_modules/strip-ansi/package.json42
-rw-r--r--tools/eslint/node_modules/strip-json-comments/package.json34
-rw-r--r--tools/eslint/node_modules/supports-color/package.json36
-rw-r--r--tools/eslint/node_modules/table/README.md3
-rw-r--r--tools/eslint/node_modules/table/package.json18
-rw-r--r--tools/eslint/node_modules/text-table/package.json26
-rw-r--r--tools/eslint/node_modules/through/LICENSE.MIT30
-rw-r--r--tools/eslint/node_modules/through/index.js1
-rw-r--r--tools/eslint/node_modules/through/package.json16
-rw-r--r--tools/eslint/node_modules/through/readme.markdown6
-rw-r--r--tools/eslint/node_modules/tryit/README.md10
-rw-r--r--tools/eslint/node_modules/tryit/package.json12
-rw-r--r--tools/eslint/node_modules/tv4/lang/nb.js3
-rwxr-xr-xtools/eslint/node_modules/tv4/lang/pl-PL.js2
-rw-r--r--tools/eslint/node_modules/tv4/lang/pt-PT.js2
-rw-r--r--tools/eslint/node_modules/tv4/lang/sv-SE.js72
-rw-r--r--tools/eslint/node_modules/tv4/package.json18
-rw-r--r--tools/eslint/node_modules/type-check/package.json16
-rw-r--r--tools/eslint/node_modules/typedarray/package.json32
-rw-r--r--tools/eslint/node_modules/user-home/package.json26
-rw-r--r--tools/eslint/node_modules/util-deprecate/package.json16
-rw-r--r--tools/eslint/node_modules/wordwrap/index.js18
-rw-r--r--tools/eslint/node_modules/wordwrap/package.json16
-rw-r--r--tools/eslint/node_modules/wrappy/package.json8
-rw-r--r--tools/eslint/node_modules/write/package.json8
-rw-r--r--tools/eslint/node_modules/xregexp/package.json8
-rw-r--r--tools/eslint/node_modules/xtend/package.json28
338 files changed, 3487 insertions, 13871 deletions
diff --git a/tools/eslint/node_modules/.bin/eslint b/tools/eslint/node_modules/.bin/eslint
new file mode 120000
index 0000000000..810e4bcb32
--- /dev/null
+++ b/tools/eslint/node_modules/.bin/eslint
@@ -0,0 +1 @@
+../eslint/bin/eslint.js \ No newline at end of file
diff --git a/tools/eslint/node_modules/acorn-jsx/README.md b/tools/eslint/node_modules/acorn-jsx/README.md
index 6b3826d3fc..cd9674c0b3 100644
--- a/tools/eslint/node_modules/acorn-jsx/README.md
+++ b/tools/eslint/node_modules/acorn-jsx/README.md
@@ -37,6 +37,28 @@ var ast = acorn.parse(code, {
});
```
+Note that official spec doesn't support mix of XML namespaces and object-style access in tag names (#27) like in `<namespace:Object.Property />`, so it was deprecated in `acorn-jsx@3.0`. If you still want to opt-in to support of such constructions, you can pass the following option:
+
+```javascript
+var ast = acorn.parse(code, {
+ plugins: {
+ jsx: { allowNamespacedObjects: true }
+ }
+});
+```
+
+Also, since most apps use pure React transformer, a new option was introduced that allows to prohibit namespaces completely:
+
+```javascript
+var ast = acorn.parse(code, {
+ plugins: {
+ jsx: { allowNamespaces: false }
+ }
+});
+```
+
+Note that by default `allowNamespaces` is enabled for spec compliancy.
+
## License
This plugin is issued under the [MIT license](./LICENSE).
diff --git a/tools/eslint/node_modules/acorn-jsx/inject.js b/tools/eslint/node_modules/acorn-jsx/inject.js
index bfe0358097..2bc4e9fd39 100644
--- a/tools/eslint/node_modules/acorn-jsx/inject.js
+++ b/tools/eslint/node_modules/acorn-jsx/inject.js
@@ -198,7 +198,7 @@ module.exports = function(acorn) {
pp.jsx_parseNamespacedName = function() {
var startPos = this.start, startLoc = this.startLoc;
var name = this.jsx_parseIdentifier();
- if (!this.eat(tt.colon)) return name;
+ if (!this.options.plugins.jsx.allowNamespaces || !this.eat(tt.colon)) return name;
var node = this.startNodeAt(startPos, startLoc);
node.namespace = name;
node.name = this.jsx_parseIdentifier();
@@ -211,6 +211,9 @@ module.exports = function(acorn) {
pp.jsx_parseElementName = function() {
var startPos = this.start, startLoc = this.startLoc;
var node = this.jsx_parseNamespacedName();
+ if (this.type === tt.dot && node.type === 'JSXNamespacedName' && !this.options.plugins.jsx.allowNamespacedObjects) {
+ this.unexpected();
+ }
while (this.eat(tt.dot)) {
var newNode = this.startNodeAt(startPos, startLoc);
newNode.object = node;
@@ -356,7 +359,20 @@ module.exports = function(acorn) {
return this.jsx_parseElementAt(startPos, startLoc);
};
- acorn.plugins.jsx = function(instance) {
+ acorn.plugins.jsx = function(instance, opts) {
+ if (!opts) {
+ return;
+ }
+
+ if (typeof opts !== 'object') {
+ opts = {};
+ }
+
+ instance.options.plugins.jsx = {
+ allowNamespaces: opts.allowNamespaces !== false,
+ allowNamespacedObjects: !!opts.allowNamespacedObjects
+ };
+
instance.extend('parseExprAtom', function(inner) {
return function(refShortHandDefaultPos) {
if (this.type === tt.jsxText)
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/.bin/acorn b/tools/eslint/node_modules/acorn-jsx/node_modules/.bin/acorn
deleted file mode 120000
index cf76760386..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/.bin/acorn
+++ /dev/null
@@ -1 +0,0 @@
-../acorn/bin/acorn \ No newline at end of file
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/.tern-project b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/.tern-project
deleted file mode 100644
index 6718ce07e1..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/.tern-project
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "plugins": {
- "node": true,
- "es_modules": true
- }
-} \ No newline at end of file
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/AUTHORS b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/AUTHORS
deleted file mode 100644
index 0e8f48b695..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/AUTHORS
+++ /dev/null
@@ -1,43 +0,0 @@
-List of Acorn contributors. Updated before every release.
-
-Adrian Rakovsky
-Alistair Braidwood
-Andres Suarez
-Aparajita Fishman
-Arian Stolwijk
-Artem Govorov
-Brandon Mills
-Charles Hughes
-Conrad Irwin
-David Bonnet
-ForbesLindesay
-Forbes Lindesay
-Gilad Peleg
-impinball
-Ingvar Stepanyan
-Jesse McCarthy
-Jiaxing Wang
-Joel Kemp
-Johannes Herr
-Jürg Lehni
-keeyipchan
-Kevin Kwok
-krator
-Marijn Haverbeke
-Martin Carlberg
-Mathias Bynens
-Mathieu 'p01' Henri
-Max Schaefer
-Max Zerzouri
-Mihai Bazon
-Mike Rennie
-Nick Fitzgerald
-Oskar Schöldström
-Paul Harper
-Peter Rust
-PlNG
-r-e-d
-Rich Harris
-Sebastian McKenzie
-Timothy Gu
-zsjforcn
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/LICENSE b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/LICENSE
deleted file mode 100644
index d4c7fc5838..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (C) 2012-2014 by various contributors (see AUTHORS)
-
-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/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/README.md b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/README.md
deleted file mode 100644
index 12680abf6b..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/README.md
+++ /dev/null
@@ -1,396 +0,0 @@
-# Acorn
-
-[![Build Status](https://travis-ci.org/ternjs/acorn.svg?branch=master)](https://travis-ci.org/ternjs/acorn)
-[![NPM version](https://img.shields.io/npm/v/acorn.svg)](https://www.npmjs.com/package/acorn)
-[Author funding status: ![maintainer happiness](https://marijnhaverbeke.nl/fund/status_s.png?force)](https://marijnhaverbeke.nl/fund/)
-
-A tiny, fast JavaScript parser, written completely in JavaScript.
-
-## Community
-
-Acorn is open source software released under an
-[MIT license](https://github.com/ternjs/acorn/blob/master/LICENSE).
-
-You are welcome to
-[report bugs](https://github.com/ternjs/acorn/issues) or create pull
-requests on [github](https://github.com/ternjs/acorn). For questions
-and discussion, please use the
-[Tern discussion forum](https://discuss.ternjs.net).
-
-## Installation
-
-The easiest way to install acorn is with [`npm`][npm].
-
-[npm]: https://www.npmjs.com/
-
-```sh
-npm install acorn
-```
-
-Alternately, download the source.
-
-```sh
-git clone https://github.com/ternjs/acorn.git
-```
-
-## Components
-
-When run in a CommonJS (node.js) or AMD environment, exported values
-appear in the interfaces exposed by the individual files, as usual.
-When loaded in the browser (Acorn works in any JS-enabled browser more
-recent than IE5) without any kind of module management, a single
-global object `acorn` will be defined, and all the exported properties
-will be added to that.
-
-### Main parser
-
-This is implemented in `dist/acorn.js`, and is what you get when you
-`require("acorn")` in node.js.
-
-**parse**`(input, options)` is used to parse a JavaScript program.
-The `input` parameter is a string, `options` can be undefined or an
-object setting some of the options listed below. The return value will
-be an abstract syntax tree object as specified by the
-[ESTree spec][estree].
-
-When encountering a syntax error, the parser will raise a
-`SyntaxError` object with a meaningful message. The error object will
-have a `pos` property that indicates the character offset at which the
-error occurred, and a `loc` object that contains a `{line, column}`
-object referring to that same position.
-
-[estree]: https://github.com/estree/estree
-
-- **ecmaVersion**: Indicates the ECMAScript version to parse. Must be
- either 3, 5, or 6. This influences support for strict mode, the set
- of reserved words, and support for new syntax features. Default is 5.
-
-- **sourceType**: Indicate the mode the code should be parsed in. Can be
- either `"script"` or `"module"`.
-
-- **onInsertedSemicolon**: If given a callback, that callback will be
- called whenever a missing semicolon is inserted by the parser. The
- callback will be given the character offset of the point where the
- semicolon is inserted as argument, and if `locations` is on, also a
- `{line, column}` object representing this position.
-
-- **onTrailingComma**: Like `onInsertedSemicolon`, but for trailing
- commas.
-
-- **allowReserved**: If `false`, using a reserved word will generate
- an error. Defaults to `true` for `ecmaVersion` 3, `false` for higher
- versions. When given the value `"never"`, reserved words and
- keywords can also not be used as property names (as in Internet
- Explorer's old parser).
-
-- **allowReturnOutsideFunction**: By default, a return statement at
- the top level raises an error. Set this to `true` to accept such
- code.
-
-- **allowImportExportEverywhere**: By default, `import` and `export`
- declarations can only appear at a program's top level. Setting this
- option to `true` allows them anywhere where a statement is allowed.
-
-- **allowHashBang**: When this is enabled (off by default), if the
- code starts with the characters `#!` (as in a shellscript), the
- first line will be treated as a comment.
-
-- **locations**: When `true`, each node has a `loc` object attached
- with `start` and `end` subobjects, each of which contains the
- one-based line and zero-based column numbers in `{line, column}`
- form. Default is `false`.
-
-- **onToken**: If a function is passed for this option, each found
- token will be passed in same format as tokens returned from
- `tokenizer().getToken()`.
-
- If array is passed, each found token is pushed to it.
-
- Note that you are not allowed to call the parser from the
- callback—that will corrupt its internal state.
-
-- **onComment**: If a function is passed for this option, whenever a
- comment is encountered the function will be called with the
- following parameters:
-
- - `block`: `true` if the comment is a block comment, false if it
- is a line comment.
- - `text`: The content of the comment.
- - `start`: Character offset of the start of the comment.
- - `end`: Character offset of the end of the comment.
-
- When the `locations` options is on, the `{line, column}` locations
- of the comment’s start and end are passed as two additional
- parameters.
-
- If array is passed for this option, each found comment is pushed
- to it as object in Esprima format:
-
- ```javascript
- {
- "type": "Line" | "Block",
- "value": "comment text",
- "start": Number,
- "end": Number,
- // If `locations` option is on:
- "loc": {
- "start": {line: Number, column: Number}
- "end": {line: Number, column: Number}
- },
- // If `ranges` option is on:
- "range": [Number, Number]
- }
- ```
-
- Note that you are not allowed to call the parser from the
- callback—that will corrupt its internal state.
-
-- **ranges**: Nodes have their start and end characters offsets
- recorded in `start` and `end` properties (directly on the node,
- rather than the `loc` object, which holds line/column data. To also
- add a [semi-standardized][range] `range` property holding a
- `[start, end]` array with the same numbers, set the `ranges` option
- to `true`.
-
-- **program**: It is possible to parse multiple files into a single
- AST by passing the tree produced by parsing the first file as the
- `program` option in subsequent parses. This will add the toplevel
- forms of the parsed file to the "Program" (top) node of an existing
- parse tree.
-
-- **sourceFile**: When the `locations` option is `true`, you can pass
- this option to add a `source` attribute in every node’s `loc`
- object. Note that the contents of this option are not examined or
- processed in any way; you are free to use whatever format you
- choose.
-
-- **directSourceFile**: Like `sourceFile`, but a `sourceFile` property
- will be added directly to the nodes, rather than the `loc` object.
-
-- **preserveParens**: If this option is `true`, parenthesized expressions
- are represented by (non-standard) `ParenthesizedExpression` nodes
- that have a single `expression` property containing the expression
- inside parentheses.
-
-[range]: https://bugzilla.mozilla.org/show_bug.cgi?id=745678
-
-**parseExpressionAt**`(input, offset, options)` will parse a single
-expression in a string, and return its AST. It will not complain if
-there is more of the string left after the expression.
-
-**getLineInfo**`(input, offset)` can be used to get a `{line,
-column}` object for a given program string and character offset.
-
-**tokenizer**`(input, options)` returns an object with a `getToken`
-method that can be called repeatedly to get the next token, a `{start,
-end, type, value}` object (with added `loc` property when the
-`locations` option is enabled and `range` property when the `ranges`
-option is enabled). When the token's type is `tokTypes.eof`, you
-should stop calling the method, since it will keep returning that same
-token forever.
-
-In ES6 environment, returned result can be used as any other
-protocol-compliant iterable:
-
-```javascript
-for (let token of acorn.tokenizer(str)) {
- // iterate over the tokens
-}
-
-// transform code to array of tokens:
-var tokens = [...acorn.tokenizer(str)];
-```
-
-**tokTypes** holds an object mapping names to the token type objects
-that end up in the `type` properties of tokens.
-
-#### Note on using with [Escodegen][escodegen]
-
-Escodegen supports generating comments from AST, attached in
-Esprima-specific format. In order to simulate same format in
-Acorn, consider following example:
-
-```javascript
-var comments = [], tokens = [];
-
-var ast = acorn.parse('var x = 42; // answer', {
- // collect ranges for each node
- ranges: true,
- // collect comments in Esprima's format
- onComment: comments,
- // collect token ranges
- onToken: tokens
-});
-
-// attach comments using collected information
-escodegen.attachComments(ast, comments, tokens);
-
-// generate code
-console.log(escodegen.generate(ast, {comment: true}));
-// > 'var x = 42; // answer'
-```
-
-[escodegen]: https://github.com/estools/escodegen
-
-### dist/acorn_loose.js ###
-
-This file implements an error-tolerant parser. It exposes a single
-function. The loose parser is accessible in node.js via `require("acorn/dist/acorn_loose")`.
-
-**parse_dammit**`(input, options)` takes the same arguments and
-returns the same syntax tree as the `parse` function in `acorn.js`,
-but never raises an error, and will do its best to parse syntactically
-invalid code in as meaningful a way as it can. It'll insert identifier
-nodes with name `"✖"` as placeholders in places where it can't make
-sense of the input. Depends on `acorn.js`, because it uses the same
-tokenizer.
-
-### dist/walk.js ###
-
-Implements an abstract syntax tree walker. Will store its interface in
-`acorn.walk` when loaded without a module system.
-
-**simple**`(node, visitors, base, state)` does a 'simple' walk over
-a tree. `node` should be the AST node to walk, and `visitors` an
-object with properties whose names correspond to node types in the
-[ESTree spec][estree]. The properties should contain functions
-that will be called with the node object and, if applicable the state
-at that point. The last two arguments are optional. `base` is a walker
-algorithm, and `state` is a start state. The default walker will
-simply visit all statements and expressions and not produce a
-meaningful state. (An example of a use of state is to track scope at
-each point in the tree.)
-
-**ancestor**`(node, visitors, base, state)` does a 'simple' walk over
-a tree, building up an array of ancestor nodes (including the current node)
-and passing the array to callbacks in the `state` parameter.
-
-**recursive**`(node, state, functions, base)` does a 'recursive'
-walk, where the walker functions are responsible for continuing the
-walk on the child nodes of their target node. `state` is the start
-state, and `functions` should contain an object that maps node types
-to walker functions. Such functions are called with `(node, state, c)`
-arguments, and can cause the walk to continue on a sub-node by calling
-the `c` argument on it with `(node, state)` arguments. The optional
-`base` argument provides the fallback walker functions for node types
-that aren't handled in the `functions` object. If not given, the
-default walkers will be used.
-
-**make**`(functions, base)` builds a new walker object by using the
-walker functions in `functions` and filling in the missing ones by
-taking defaults from `base`.
-
-**findNodeAt**`(node, start, end, test, base, state)` tries to
-locate a node in a tree at the given start and/or end offsets, which
-satisfies the predicate `test`. `start` and `end` can be either `null`
-(as wildcard) or a number. `test` may be a string (indicating a node
-type) or a function that takes `(nodeType, node)` arguments and
-returns a boolean indicating whether this node is interesting. `base`
-and `state` are optional, and can be used to specify a custom walker.
-Nodes are tested from inner to outer, so if two nodes match the
-boundaries, the inner one will be preferred.
-
-**findNodeAround**`(node, pos, test, base, state)` is a lot like
-`findNodeAt`, but will match any node that exists 'around' (spanning)
-the given position.
-
-**findNodeAfter**`(node, pos, test, base, state)` is similar to
-`findNodeAround`, but will match all nodes *after* the given position
-(testing outer nodes before inner nodes).
-
-## Command line interface
-
-The `bin/acorn` utility can be used to parse a file from the command
-line. It accepts as arguments its input file and the following
-options:
-
-- `--ecma3|--ecma5|--ecma6`: Sets the ECMAScript version to parse. Default is
- version 5.
-
-- `--module`: Sets the parsing mode to `"module"`. Is set to `"script"` otherwise.
-
-- `--locations`: Attaches a "loc" object to each node with "start" and
- "end" subobjects, each of which contains the one-based line and
- zero-based column numbers in `{line, column}` form.
-
-- `--allow-hash-bang`: If the code starts with the characters #! (as in a shellscript), the first line will be treated as a comment.
-
-- `--compact`: No whitespace is used in the AST output.
-
-- `--silent`: Do not output the AST, just return the exit status.
-
-- `--help`: Print the usage information and quit.
-
-The utility spits out the syntax tree as JSON data.
-
-## Build system
-
-Acorn is written in ECMAScript 6, as a set of small modules, in the
-project's `src` directory, and compiled down to bigger ECMAScript 3
-files in `dist` using [Browserify](http://browserify.org) and
-[Babel](http://babeljs.io/). If you are already using Babel, you can
-consider including the modules directly.
-
-The command-line test runner (`npm test`) uses the ES6 modules. The
-browser-based test page (`test/index.html`) uses the compiled modules.
-The `bin/build-acorn.js` script builds the latter from the former.
-
-If you are working on Acorn, you'll probably want to try the code out
-directly, without an intermediate build step. In your scripts, you can
-register the Babel require shim like this:
-
- require("babel-core/register")
-
-That will allow you to directly `require` the ES6 modules.
-
-## Plugins
-
-Acorn is designed support allow plugins which, within reasonable
-bounds, redefine the way the parser works. Plugins can add new token
-types and new tokenizer contexts (if necessary), and extend methods in
-the parser object. This is not a clean, elegant API—using it requires
-an understanding of Acorn's internals, and plugins are likely to break
-whenever those internals are significantly changed. But still, it is
-_possible_, in this way, to create parsers for JavaScript dialects
-without forking all of Acorn. And in principle it is even possible to
-combine such plugins, so that if you have, for example, a plugin for
-parsing types and a plugin for parsing JSX-style XML literals, you
-could load them both and parse code with both JSX tags and types.
-
-A plugin should register itself by adding a property to
-`acorn.plugins`, which holds a function. Calling `acorn.parse`, a
-`plugins` option can be passed, holding an object mapping plugin names
-to configuration values (or just `true` for plugins that don't take
-options). After the parser object has been created, the initialization
-functions for the chosen plugins are called with `(parser,
-configValue)` arguments. They are expected to use the `parser.extend`
-method to extend parser methods. For example, the `readToken` method
-could be extended like this:
-
-```javascript
-parser.extend("readToken", function(nextMethod) {
- return function(code) {
- console.log("Reading a token!")
- return nextMethod.call(this, code)
- }
-})
-```
-
-The `nextMethod` argument passed to `extend`'s second argument is the
-previous value of this method, and should usually be called through to
-whenever the extended method does not handle the call itself.
-
-Similarly, the loose parser allows plugins to register themselves via
-`acorn.pluginsLoose`. The extension mechanism is the same as for the
-normal parser:
-
-```javascript
-looseParser.extend("readToken", function(nextMethod) {
- return function() {
- console.log("Reading a token in the loose parser!")
- return nextMethod.call(this)
- }
-})
-```
-
-There is a proof-of-concept JSX plugin in the [`acorn-jsx`](https://github.com/RReverser/acorn-jsx) project.
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/acorn b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/acorn
deleted file mode 100755
index db079096d3..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/acorn
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/usr/bin/env node
-"use strict";
-
-function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj["default"] = obj; return newObj; } }
-
-var _path = require("path");
-
-var _fs = require("fs");
-
-var _distAcornJs = require("../dist/acorn.js");
-
-var acorn = _interopRequireWildcard(_distAcornJs);
-
-var infile = undefined,
- forceFile = undefined,
- silent = false,
- compact = false,
- tokenize = false;
-var options = {};
-
-function help(status) {
- var print = status == 0 ? console.log : console.error;
- print("usage: " + (0, _path.basename)(process.argv[1]) + " [--ecma3|--ecma5|--ecma6]");
- print(" [--tokenize] [--locations] [---allow-hash-bang] [--compact] [--silent] [--module] [--help] [--] [infile]");
- process.exit(status);
-}
-
-for (var i = 2; i < process.argv.length; ++i) {
- var arg = process.argv[i];
- if ((arg == "-" || arg[0] != "-") && !infile) infile = arg;else if (arg == "--" && !infile && i + 2 == process.argv.length) forceFile = infile = process.argv[++i];else if (arg == "--ecma3") options.ecmaVersion = 3;else if (arg == "--ecma5") options.ecmaVersion = 5;else if (arg == "--ecma6") options.ecmaVersion = 6;else if (arg == "--locations") options.locations = true;else if (arg == "--allow-hash-bang") options.allowHashBang = true;else if (arg == "--silent") silent = true;else if (arg == "--compact") compact = true;else if (arg == "--help") help(0);else if (arg == "--tokenize") tokenize = true;else if (arg == "--module") options.sourceType = 'module';else help(1);
-}
-
-function run(code) {
- var result = undefined;
- if (!tokenize) {
- try {
- result = acorn.parse(code, options);
- } catch (e) {
- console.error(e.message);process.exit(1);
- }
- } else {
- result = [];
- var tokenizer = acorn.tokenizer(code, options),
- token = undefined;
- while (true) {
- try {
- token = tokenizer.getToken();
- } catch (e) {
- console.error(e.message);process.exit(1);
- }
- result.push(token);
- if (token.type == acorn.tokTypes.eof) break;
- }
- }
- if (!silent) console.log(JSON.stringify(result, null, compact ? null : 2));
-}
-
-if (forceFile || infile && infile != "-") {
- run((0, _fs.readFileSync)(infile, "utf8"));
-} else {
- (function () {
- var code = "";
- process.stdin.resume();
- process.stdin.on("data", function (chunk) {
- return code += chunk;
- });
- process.stdin.on("end", function () {
- return run(code);
- });
- })();
-} \ No newline at end of file
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/build-acorn.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/build-acorn.js
deleted file mode 100644
index 71f2cf941f..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/build-acorn.js
+++ /dev/null
@@ -1,82 +0,0 @@
-var fs = require("fs"), path = require("path")
-var stream = require("stream")
-
-var browserify = require("browserify")
-var babel = require('babel-core')
-var babelify = require("babelify").configure({loose: "all"})
-
-process.chdir(path.resolve(__dirname, ".."))
-
-browserify({standalone: "acorn"})
- .plugin(require('browserify-derequire'))
- .transform(babelify)
- .require("./src/index.js", {entry: true})
- .bundle()
- .on("error", function (err) { console.log("Error: " + err.message) })
- .pipe(fs.createWriteStream("dist/acorn.js"))
-
-var ACORN_PLACEHOLDER = "this_function_call_should_be_replaced_with_a_call_to_load_acorn()";
-function acornShimPrepare(file) {
- var tr = new stream.Transform
- if (file == path.resolve(__dirname, "../src/index.js")) {
- var sent = false
- tr._transform = function(chunk, _, callback) {
- if (!sent) {
- sent = true
- callback(null, ACORN_PLACEHOLDER);
- } else {
- callback()
- }
- }
- } else {
- tr._transform = function(chunk, _, callback) { callback(null, chunk) }
- }
- return tr
-}
-function acornShimComplete() {
- var tr = new stream.Transform
- var buffer = "";
- tr._transform = function(chunk, _, callback) {
- buffer += chunk.toString("utf8");
- callback();
- };
- tr._flush = function (callback) {
- tr.push(buffer.replace(ACORN_PLACEHOLDER, "module.exports = typeof acorn != 'undefined' ? acorn : require(\"./acorn\")"));
- callback(null);
- };
- return tr;
-}
-
-browserify({standalone: "acorn.loose"})
- .plugin(require('browserify-derequire'))
- .transform(acornShimPrepare)
- .transform(babelify)
- .require("./src/loose/index.js", {entry: true})
- .bundle()
- .on("error", function (err) { console.log("Error: " + err.message) })
- .pipe(acornShimComplete())
- .pipe(fs.createWriteStream("dist/acorn_loose.js"))
-
-browserify({standalone: "acorn.walk"})
- .plugin(require('browserify-derequire'))
- .transform(acornShimPrepare)
- .transform(babelify)
- .require("./src/walk/index.js", {entry: true})
- .bundle()
- .on("error", function (err) { console.log("Error: " + err.message) })
- .pipe(acornShimComplete())
- .pipe(fs.createWriteStream("dist/walk.js"))
-
-babel.transformFile("./src/bin/acorn.js", function (err, result) {
- if (err) return console.log("Error: " + err.message)
- fs.writeFile("bin/acorn", result.code, function (err) {
- if (err) return console.log("Error: " + err.message)
-
- // Make bin/acorn executable
- if (process.platform === 'win32')
- return
- var stat = fs.statSync("bin/acorn")
- var newPerm = stat.mode | parseInt('111', 8)
- fs.chmodSync("bin/acorn", newPerm)
- })
-})
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/generate-identifier-regex.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/generate-identifier-regex.js
deleted file mode 100644
index 0d7c50fc38..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/generate-identifier-regex.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Note: run `npm install unicode-7.0.0` first.
-
-// Which Unicode version should be used?
-var version = '7.0.0';
-
-var start = require('unicode-' + version + '/properties/ID_Start/code-points')
- .filter(function(ch) { return ch > 127; });
-var cont = [0x200c, 0x200d].concat(require('unicode-' + version + '/properties/ID_Continue/code-points')
- .filter(function(ch) { return ch > 127 && start.indexOf(ch) == -1; }));
-
-function pad(str, width) {
- while (str.length < width) str = "0" + str;
- return str;
-}
-
-function esc(code) {
- var hex = code.toString(16);
- if (hex.length <= 2) return "\\x" + pad(hex, 2);
- else return "\\u" + pad(hex, 4);
-}
-
-function generate(chars) {
- var astral = [], re = "";
- for (var i = 0, at = 0x10000; i < chars.length; i++) {
- var from = chars[i], to = from;
- while (i < chars.length - 1 && chars[i + 1] == to + 1) {
- i++;
- to++;
- }
- if (to <= 0xffff) {
- if (from == to) re += esc(from);
- else if (from + 1 == to) re += esc(from) + esc(to);
- else re += esc(from) + "-" + esc(to);
- } else {
- astral.push(from - at, to - from);
- at = to;
- }
- }
- return {nonASCII: re, astral: astral};
-}
-
-var startData = generate(start), contData = generate(cont);
-
-console.log(" var nonASCIIidentifierStartChars = \"" + startData.nonASCII + "\";");
-console.log(" var nonASCIIidentifierChars = \"" + contData.nonASCII + "\";");
-console.log(" var astralIdentifierStartCodes = " + JSON.stringify(startData.astral) + ";");
-console.log(" var astralIdentifierCodes = " + JSON.stringify(contData.astral) + ";");
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/update_authors.sh b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/update_authors.sh
deleted file mode 100755
index 466c8db586..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/update_authors.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-# Combine existing list of authors with everyone known in git, sort, add header.
-tail --lines=+3 AUTHORS > AUTHORS.tmp
-git log --format='%aN' | grep -v abraidwood >> AUTHORS.tmp
-echo -e "List of Acorn contributors. Updated before every release.\n" > AUTHORS
-sort -u AUTHORS.tmp >> AUTHORS
-rm -f AUTHORS.tmp
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/.keep b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/.keep
deleted file mode 100644
index e69de29bb2..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/.keep
+++ /dev/null
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn.js
deleted file mode 100644
index 9419f862ae..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn.js
+++ /dev/null
@@ -1,3340 +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.acorn = 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<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
-// A recursive descent parser operates by defining functions for all
-// syntactic elements, and recursively calling those, each function
-// advancing the input stream and returning an AST node. Precedence
-// of constructs (for example, the fact that `!x[1]` means `!(x[1])`
-// instead of `(!x)[1]` is handled by the fact that the parser
-// function that parses unary prefix operators is called first, and
-// in turn calls the function that parses `[]` subscripts — that
-// way, it'll receive the node for `x[1]` already parsed, and wraps
-// *that* in the unary operator node.
-//
-// Acorn uses an [operator precedence parser][opp] to handle binary
-// operator precedence, because it is much more compact than using
-// the technique outlined above, which uses different, nesting
-// functions to specify precedence, for all of the ten binary
-// precedence levels that JavaScript defines.
-//
-// [opp]: http://en.wikipedia.org/wiki/Operator-precedence_parser
-
-"use strict";
-
-var _tokentype = _dereq_("./tokentype");
-
-var _state = _dereq_("./state");
-
-var pp = _state.Parser.prototype;
-
-// Check if property name clashes with already added.
-// Object/class getters and setters are not allowed to clash —
-// either with each other or with an init property — and in
-// strict mode, init properties are also not allowed to be repeated.
-
-pp.checkPropClash = function (prop, propHash) {
- if (this.options.ecmaVersion >= 6 && (prop.computed || prop.method || prop.shorthand)) return;
- var key = prop.key;var name = undefined;
- switch (key.type) {
- case "Identifier":
- name = key.name;break;
- case "Literal":
- name = String(key.value);break;
- default:
- return;
- }
- var kind = prop.kind;
-
- if (this.options.ecmaVersion >= 6) {
- if (name === "__proto__" && kind === "init") {
- if (propHash.proto) this.raise(key.start, "Redefinition of __proto__ property");
- propHash.proto = true;
- }
- return;
- }
- name = "$" + name;
- var other = propHash[name];
- if (other) {
- var isGetSet = kind !== "init";
- if ((this.strict || isGetSet) && other[kind] || !(isGetSet ^ other.init)) this.raise(key.start, "Redefinition of property");
- } else {
- other = propHash[name] = {
- init: false,
- get: false,
- set: false
- };
- }
- other[kind] = true;
-};
-
-// ### Expression parsing
-
-// These nest, from the most general expression type at the top to
-// 'atomic', nondivisible expression types at the bottom. Most of
-// the functions will simply let the function(s) below them parse,
-// and, *if* the syntactic construct they handle is present, wrap
-// the AST node that the inner parser gave them in another node.
-
-// Parse a full expression. The optional arguments are used to
-// forbid the `in` operator (in for loops initalization expressions)
-// and provide reference for storing '=' operator inside shorthand
-// property assignment in contexts where both object expression
-// and object pattern might appear (so it's possible to raise
-// delayed syntax error at correct position).
-
-pp.parseExpression = function (noIn, refDestructuringErrors) {
- var startPos = this.start,
- startLoc = this.startLoc;
- var expr = this.parseMaybeAssign(noIn, refDestructuringErrors);
- if (this.type === _tokentype.types.comma) {
- var node = this.startNodeAt(startPos, startLoc);
- node.expressions = [expr];
- while (this.eat(_tokentype.types.comma)) node.expressions.push(this.parseMaybeAssign(noIn, refDestructuringErrors));
- return this.finishNode(node, "SequenceExpression");
- }
- return expr;
-};
-
-// Parse an assignment expression. This includes applications of
-// operators like `+=`.
-
-pp.parseMaybeAssign = function (noIn, refDestructuringErrors, afterLeftParse) {
- if (this.type == _tokentype.types._yield && this.inGenerator) return this.parseYield();
-
- var validateDestructuring = false;
- if (!refDestructuringErrors) {
- refDestructuringErrors = { shorthandAssign: 0, trailingComma: 0 };
- validateDestructuring = true;
- }
- var startPos = this.start,
- startLoc = this.startLoc;
- if (this.type == _tokentype.types.parenL || this.type == _tokentype.types.name) this.potentialArrowAt = this.start;
- var left = this.parseMaybeConditional(noIn, refDestructuringErrors);
- if (afterLeftParse) left = afterLeftParse.call(this, left, startPos, startLoc);
- if (this.type.isAssign) {
- if (validateDestructuring) this.checkPatternErrors(refDestructuringErrors, true);
- var node = this.startNodeAt(startPos, startLoc);
- node.operator = this.value;
- node.left = this.type === _tokentype.types.eq ? this.toAssignable(left) : left;
- refDestructuringErrors.shorthandAssign = 0; // reset because shorthand default was used correctly
- this.checkLVal(left);
- this.next();
- node.right = this.parseMaybeAssign(noIn);
- return this.finishNode(node, "AssignmentExpression");
- } else {
- if (validateDestructuring) this.checkExpressionErrors(refDestructuringErrors, true);
- }
- return left;
-};
-
-// Parse a ternary conditional (`?:`) operator.
-
-pp.parseMaybeConditional = function (noIn, refDestructuringErrors) {
- var startPos = this.start,
- startLoc = this.startLoc;
- var expr = this.parseExprOps(noIn, refDestructuringErrors);
- if (this.checkExpressionErrors(refDestructuringErrors)) return expr;
- if (this.eat(_tokentype.types.question)) {
- var node = this.startNodeAt(startPos, startLoc);
- node.test = expr;
- node.consequent = this.parseMaybeAssign();
- this.expect(_tokentype.types.colon);
- node.alternate = this.parseMaybeAssign(noIn);
- return this.finishNode(node, "ConditionalExpression");
- }
- return expr;
-};
-
-// Start the precedence parser.
-
-pp.parseExprOps = function (noIn, refDestructuringErrors) {
- var startPos = this.start,
- startLoc = this.startLoc;
- var expr = this.parseMaybeUnary(refDestructuringErrors);
- if (this.checkExpressionErrors(refDestructuringErrors)) return expr;
- return this.parseExprOp(expr, startPos, startLoc, -1, noIn);
-};
-
-// Parse binary operators with the operator precedence parsing
-// algorithm. `left` is the left-hand side of the operator.
-// `minPrec` provides context that allows the function to stop and
-// defer further parser to one of its callers when it encounters an
-// operator that has a lower precedence than the set it is parsing.
-
-pp.parseExprOp = function (left, leftStartPos, leftStartLoc, minPrec, noIn) {
- var prec = this.type.binop;
- if (prec != null && (!noIn || this.type !== _tokentype.types._in)) {
- if (prec > minPrec) {
- var node = this.startNodeAt(leftStartPos, leftStartLoc);
- node.left = left;
- node.operator = this.value;
- var op = this.type;
- this.next();
- var startPos = this.start,
- startLoc = this.startLoc;
- node.right = this.parseExprOp(this.parseMaybeUnary(), startPos, startLoc, prec, noIn);
- this.finishNode(node, op === _tokentype.types.logicalOR || op === _tokentype.types.logicalAND ? "LogicalExpression" : "BinaryExpression");
- return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec, noIn);
- }
- }
- return left;
-};
-
-// Parse unary operators, both prefix and postfix.
-
-pp.parseMaybeUnary = function (refDestructuringErrors) {
- if (this.type.prefix) {
- var node = this.startNode(),
- update = this.type === _tokentype.types.incDec;
- node.operator = this.value;
- node.prefix = true;
- this.next();
- node.argument = this.parseMaybeUnary();
- this.checkExpressionErrors(refDestructuringErrors, true);
- if (update) this.checkLVal(node.argument);else if (this.strict && node.operator === "delete" && node.argument.type === "Identifier") this.raise(node.start, "Deleting local variable in strict mode");
- return this.finishNode(node, update ? "UpdateExpression" : "UnaryExpression");
- }
- var startPos = this.start,
- startLoc = this.startLoc;
- var expr = this.parseExprSubscripts(refDestructuringErrors);
- if (this.checkExpressionErrors(refDestructuringErrors)) return expr;
- while (this.type.postfix && !this.canInsertSemicolon()) {
- var node = this.startNodeAt(startPos, startLoc);
- node.operator = this.value;
- node.prefix = false;
- node.argument = expr;
- this.checkLVal(expr);
- this.next();
- expr = this.finishNode(node, "UpdateExpression");
- }
- return expr;
-};
-
-// Parse call, dot, and `[]`-subscript expressions.
-
-pp.parseExprSubscripts = function (refDestructuringErrors) {
- var startPos = this.start,
- startLoc = this.startLoc;
- var expr = this.parseExprAtom(refDestructuringErrors);
- var skipArrowSubscripts = expr.type === "ArrowFunctionExpression" && this.input.slice(this.lastTokStart, this.lastTokEnd) !== ")";
- if (this.checkExpressionErrors(refDestructuringErrors) || skipArrowSubscripts) return expr;
- return this.parseSubscripts(expr, startPos, startLoc);
-};
-
-pp.parseSubscripts = function (base, startPos, startLoc, noCalls) {
- for (;;) {
- if (this.eat(_tokentype.types.dot)) {
- var node = this.startNodeAt(startPos, startLoc);
- node.object = base;
- node.property = this.parseIdent(true);
- node.computed = false;
- base = this.finishNode(node, "MemberExpression");
- } else if (this.eat(_tokentype.types.bracketL)) {
- var node = this.startNodeAt(startPos, startLoc);
- node.object = base;
- node.property = this.parseExpression();
- node.computed = true;
- this.expect(_tokentype.types.bracketR);
- base = this.finishNode(node, "MemberExpression");
- } else if (!noCalls && this.eat(_tokentype.types.parenL)) {
- var node = this.startNodeAt(startPos, startLoc);
- node.callee = base;
- node.arguments = this.parseExprList(_tokentype.types.parenR, false);
- base = this.finishNode(node, "CallExpression");
- } else if (this.type === _tokentype.types.backQuote) {
- var node = this.startNodeAt(startPos, startLoc);
- node.tag = base;
- node.quasi = this.parseTemplate();
- base = this.finishNode(node, "TaggedTemplateExpression");
- } else {
- return base;
- }
- }
-};
-
-// Parse an atomic expression — either a single token that is an
-// expression, an expression started by a keyword like `function` or
-// `new`, or an expression wrapped in punctuation like `()`, `[]`,
-// or `{}`.
-
-pp.parseExprAtom = function (refDestructuringErrors) {
- var node = undefined,
- canBeArrow = this.potentialArrowAt == this.start;
- switch (this.type) {
- case _tokentype.types._super:
- if (!this.inFunction) this.raise(this.start, "'super' outside of function or class");
- case _tokentype.types._this:
- var type = this.type === _tokentype.types._this ? "ThisExpression" : "Super";
- node = this.startNode();
- this.next();
- return this.finishNode(node, type);
-
- case _tokentype.types._yield:
- if (this.inGenerator) this.unexpected();
-
- case _tokentype.types.name:
- var startPos = this.start,
- startLoc = this.startLoc;
- var id = this.parseIdent(this.type !== _tokentype.types.name);
- if (canBeArrow && !this.canInsertSemicolon() && this.eat(_tokentype.types.arrow)) return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id]);
- return id;
-
- case _tokentype.types.regexp:
- var value = this.value;
- node = this.parseLiteral(value.value);
- node.regex = { pattern: value.pattern, flags: value.flags };
- return node;
-
- case _tokentype.types.num:case _tokentype.types.string:
- return this.parseLiteral(this.value);
-
- case _tokentype.types._null:case _tokentype.types._true:case _tokentype.types._false:
- node = this.startNode();
- node.value = this.type === _tokentype.types._null ? null : this.type === _tokentype.types._true;
- node.raw = this.type.keyword;
- this.next();
- return this.finishNode(node, "Literal");
-
- case _tokentype.types.parenL:
- return this.parseParenAndDistinguishExpression(canBeArrow);
-
- case _tokentype.types.bracketL:
- node = this.startNode();
- this.next();
- // check whether this is array comprehension or regular array
- if (this.options.ecmaVersion >= 7 && this.type === _tokentype.types._for) {
- return this.parseComprehension(node, false);
- }
- node.elements = this.parseExprList(_tokentype.types.bracketR, true, true, refDestructuringErrors);
- return this.finishNode(node, "ArrayExpression");
-
- case _tokentype.types.braceL:
- return this.parseObj(false, refDestructuringErrors);
-
- case _tokentype.types._function:
- node = this.startNode();
- this.next();
- return this.parseFunction(node, false);
-
- case _tokentype.types._class:
- return this.parseClass(this.startNode(), false);
-
- case _tokentype.types._new:
- return this.parseNew();
-
- case _tokentype.types.backQuote:
- return this.parseTemplate();
-
- default:
- this.unexpected();
- }
-};
-
-pp.parseLiteral = function (value) {
- var node = this.startNode();
- node.value = value;
- node.raw = this.input.slice(this.start, this.end);
- this.next();
- return this.finishNode(node, "Literal");
-};
-
-pp.parseParenExpression = function () {
- this.expect(_tokentype.types.parenL);
- var val = this.parseExpression();
- this.expect(_tokentype.types.parenR);
- return val;
-};
-
-pp.parseParenAndDistinguishExpression = function (canBeArrow) {
- var startPos = this.start,
- startLoc = this.startLoc,
- val = undefined;
- if (this.options.ecmaVersion >= 6) {
- this.next();
-
- if (this.options.ecmaVersion >= 7 && this.type === _tokentype.types._for) {
- return this.parseComprehension(this.startNodeAt(startPos, startLoc), true);
- }
-
- var innerStartPos = this.start,
- innerStartLoc = this.startLoc;
- var exprList = [],
- first = true;
- var refDestructuringErrors = { shorthandAssign: 0, trailingComma: 0 },
- spreadStart = undefined,
- innerParenStart = undefined;
- while (this.type !== _tokentype.types.parenR) {
- first ? first = false : this.expect(_tokentype.types.comma);
- if (this.type === _tokentype.types.ellipsis) {
- spreadStart = this.start;
- exprList.push(this.parseParenItem(this.parseRest()));
- break;
- } else {
- if (this.type === _tokentype.types.parenL && !innerParenStart) {
- innerParenStart = this.start;
- }
- exprList.push(this.parseMaybeAssign(false, refDestructuringErrors, this.parseParenItem));
- }
- }
- var innerEndPos = this.start,
- innerEndLoc = this.startLoc;
- this.expect(_tokentype.types.parenR);
-
- if (canBeArrow && !this.canInsertSemicolon() && this.eat(_tokentype.types.arrow)) {
- this.checkPatternErrors(refDestructuringErrors, true);
- if (innerParenStart) this.unexpected(innerParenStart);
- return this.parseParenArrowList(startPos, startLoc, exprList);
- }
-
- if (!exprList.length) this.unexpected(this.lastTokStart);
- if (spreadStart) this.unexpected(spreadStart);
- this.checkExpressionErrors(refDestructuringErrors, true);
-
- if (exprList.length > 1) {
- val = this.startNodeAt(innerStartPos, innerStartLoc);
- val.expressions = exprList;
- this.finishNodeAt(val, "SequenceExpression", innerEndPos, innerEndLoc);
- } else {
- val = exprList[0];
- }
- } else {
- val = this.parseParenExpression();
- }
-
- if (this.options.preserveParens) {
- var par = this.startNodeAt(startPos, startLoc);
- par.expression = val;
- return this.finishNode(par, "ParenthesizedExpression");
- } else {
- return val;
- }
-};
-
-pp.parseParenItem = function (item) {
- return item;
-};
-
-pp.parseParenArrowList = function (startPos, startLoc, exprList) {
- return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList);
-};
-
-// New's precedence is slightly tricky. It must allow its argument to
-// be a `[]` or dot subscript expression, but not a call — at least,
-// not without wrapping it in parentheses. Thus, it uses the noCalls
-// argument to parseSubscripts to prevent it from consuming the
-// argument list.
-
-var empty = [];
-
-pp.parseNew = function () {
- var node = this.startNode();
- var meta = this.parseIdent(true);
- if (this.options.ecmaVersion >= 6 && this.eat(_tokentype.types.dot)) {
- node.meta = meta;
- node.property = this.parseIdent(true);
- if (node.property.name !== "target") this.raise(node.property.start, "The only valid meta property for new is new.target");
- if (!this.inFunction) this.raise(node.start, "new.target can only be used in functions");
- return this.finishNode(node, "MetaProperty");
- }
- var startPos = this.start,
- startLoc = this.startLoc;
- node.callee = this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true);
- if (this.eat(_tokentype.types.parenL)) node.arguments = this.parseExprList(_tokentype.types.parenR, false);else node.arguments = empty;
- return this.finishNode(node, "NewExpression");
-};
-
-// Parse template expression.
-
-pp.parseTemplateElement = function () {
- var elem = this.startNode();
- elem.value = {
- raw: this.input.slice(this.start, this.end).replace(/\r\n?/g, '\n'),
- cooked: this.value
- };
- this.next();
- elem.tail = this.type === _tokentype.types.backQuote;
- return this.finishNode(elem, "TemplateElement");
-};
-
-pp.parseTemplate = function () {
- var node = this.startNode();
- this.next();
- node.expressions = [];
- var curElt = this.parseTemplateElement();
- node.quasis = [curElt];
- while (!curElt.tail) {
- this.expect(_tokentype.types.dollarBraceL);
- node.expressions.push(this.parseExpression());
- this.expect(_tokentype.types.braceR);
- node.quasis.push(curElt = this.parseTemplateElement());
- }
- this.next();
- return this.finishNode(node, "TemplateLiteral");
-};
-
-// Parse an object literal or binding pattern.
-
-pp.parseObj = function (isPattern, refDestructuringErrors) {
- var node = this.startNode(),
- first = true,
- propHash = {};
- node.properties = [];
- this.next();
- while (!this.eat(_tokentype.types.braceR)) {
- if (!first) {
- this.expect(_tokentype.types.comma);
- if (this.afterTrailingComma(_tokentype.types.braceR)) break;
- } else first = false;
-
- var prop = this.startNode(),
- isGenerator = undefined,
- startPos = undefined,
- startLoc = undefined;
- if (this.options.ecmaVersion >= 6) {
- prop.method = false;
- prop.shorthand = false;
- if (isPattern || refDestructuringErrors) {
- startPos = this.start;
- startLoc = this.startLoc;
- }
- if (!isPattern) isGenerator = this.eat(_tokentype.types.star);
- }
- this.parsePropertyName(prop);
- this.parsePropertyValue(prop, isPattern, isGenerator, startPos, startLoc, refDestructuringErrors);
- this.checkPropClash(prop, propHash);
- node.properties.push(this.finishNode(prop, "Property"));
- }
- return this.finishNode(node, isPattern ? "ObjectPattern" : "ObjectExpression");
-};
-
-pp.parsePropertyValue = function (prop, isPattern, isGenerator, startPos, startLoc, refDestructuringErrors) {
- if (this.eat(_tokentype.types.colon)) {
- prop.value = isPattern ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(false, refDestructuringErrors);
- prop.kind = "init";
- } else if (this.options.ecmaVersion >= 6 && this.type === _tokentype.types.parenL) {
- if (isPattern) this.unexpected();
- prop.kind = "init";
- prop.method = true;
- prop.value = this.parseMethod(isGenerator);
- } else if (this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === "Identifier" && (prop.key.name === "get" || prop.key.name === "set") && (this.type != _tokentype.types.comma && this.type != _tokentype.types.braceR)) {
- if (isGenerator || isPattern) this.unexpected();
- prop.kind = prop.key.name;
- this.parsePropertyName(prop);
- prop.value = this.parseMethod(false);
- var paramCount = prop.kind === "get" ? 0 : 1;
- if (prop.value.params.length !== paramCount) {
- var start = prop.value.start;
- if (prop.kind === "get") this.raise(start, "getter should have no params");else this.raise(start, "setter should have exactly one param");
- }
- if (prop.kind === "set" && prop.value.params[0].type === "RestElement") this.raise(prop.value.params[0].start, "Setter cannot use rest params");
- } else if (this.options.ecmaVersion >= 6 && !prop.computed && prop.key.type === "Identifier") {
- prop.kind = "init";
- if (isPattern) {
- if (this.keywords.test(prop.key.name) || (this.strict ? this.reservedWordsStrictBind : this.reservedWords).test(prop.key.name)) this.raise(prop.key.start, "Binding " + prop.key.name);
- prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key);
- } else if (this.type === _tokentype.types.eq && refDestructuringErrors) {
- if (!refDestructuringErrors.shorthandAssign) refDestructuringErrors.shorthandAssign = this.start;
- prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key);
- } else {
- prop.value = prop.key;
- }
- prop.shorthand = true;
- } else this.unexpected();
-};
-
-pp.parsePropertyName = function (prop) {
- if (this.options.ecmaVersion >= 6) {
- if (this.eat(_tokentype.types.bracketL)) {
- prop.computed = true;
- prop.key = this.parseMaybeAssign();
- this.expect(_tokentype.types.bracketR);
- return prop.key;
- } else {
- prop.computed = false;
- }
- }
- return prop.key = this.type === _tokentype.types.num || this.type === _tokentype.types.string ? this.parseExprAtom() : this.parseIdent(true);
-};
-
-// Initialize empty function node.
-
-pp.initFunction = function (node) {
- node.id = null;
- if (this.options.ecmaVersion >= 6) {
- node.generator = false;
- node.expression = false;
- }
-};
-
-// Parse object or class method.
-
-pp.parseMethod = function (isGenerator) {
- var node = this.startNode();
- this.initFunction(node);
- this.expect(_tokentype.types.parenL);
- node.params = this.parseBindingList(_tokentype.types.parenR, false, false);
- if (this.options.ecmaVersion >= 6) node.generator = isGenerator;
- this.parseFunctionBody(node, false);
- return this.finishNode(node, "FunctionExpression");
-};
-
-// Parse arrow function expression with given parameters.
-
-pp.parseArrowExpression = function (node, params) {
- this.initFunction(node);
- node.params = this.toAssignableList(params, true);
- this.parseFunctionBody(node, true);
- return this.finishNode(node, "ArrowFunctionExpression");
-};
-
-// Parse function body and check parameters.
-
-pp.parseFunctionBody = function (node, isArrowFunction) {
- var isExpression = isArrowFunction && this.type !== _tokentype.types.braceL;
-
- if (isExpression) {
- node.body = this.parseMaybeAssign();
- node.expression = true;
- } else {
- // Start a new scope with regard to labels and the `inFunction`
- // flag (restore them to their old value afterwards).
- var oldInFunc = this.inFunction,
- oldInGen = this.inGenerator,
- oldLabels = this.labels;
- this.inFunction = true;this.inGenerator = node.generator;this.labels = [];
- node.body = this.parseBlock(true);
- node.expression = false;
- this.inFunction = oldInFunc;this.inGenerator = oldInGen;this.labels = oldLabels;
- }
-
- // If this is a strict mode function, verify that argument names
- // are not repeated, and it does not try to bind the words `eval`
- // or `arguments`.
- if (this.strict || !isExpression && node.body.body.length && this.isUseStrict(node.body.body[0])) {
- var oldStrict = this.strict;
- this.strict = true;
- if (node.id) this.checkLVal(node.id, true);
- this.checkParams(node);
- this.strict = oldStrict;
- } else if (isArrowFunction) {
- this.checkParams(node);
- }
-};
-
-// Checks function params for various disallowed patterns such as using "eval"
-// or "arguments" and duplicate parameters.
-
-pp.checkParams = function (node) {
- var nameHash = {};
- for (var i = 0; i < node.params.length; i++) {
- this.checkLVal(node.params[i], true, nameHash);
- }
-};
-
-// Parses a comma-separated list of expressions, and returns them as
-// an array. `close` is the token type that ends the list, and
-// `allowEmpty` can be turned on to allow subsequent commas with
-// nothing in between them to be parsed as `null` (which is needed
-// for array literals).
-
-pp.parseExprList = function (close, allowTrailingComma, allowEmpty, refDestructuringErrors) {
- var elts = [],
- first = true;
- while (!this.eat(close)) {
- if (!first) {
- this.expect(_tokentype.types.comma);
- if (this.type === close && refDestructuringErrors && !refDestructuringErrors.trailingComma) {
- refDestructuringErrors.trailingComma = this.lastTokStart;
- }
- if (allowTrailingComma && this.afterTrailingComma(close)) break;
- } else first = false;
-
- var elt = undefined;
- if (allowEmpty && this.type === _tokentype.types.comma) elt = null;else if (this.type === _tokentype.types.ellipsis) elt = this.parseSpread(refDestructuringErrors);else elt = this.parseMaybeAssign(false, refDestructuringErrors);
- elts.push(elt);
- }
- return elts;
-};
-
-// Parse the next token as an identifier. If `liberal` is true (used
-// when parsing properties), it will also convert keywords into
-// identifiers.
-
-pp.parseIdent = function (liberal) {
- var node = this.startNode();
- if (liberal && this.options.allowReserved == "never") liberal = false;
- if (this.type === _tokentype.types.name) {
- if (!liberal && (this.strict ? this.reservedWordsStrict : this.reservedWords).test(this.value) && (this.options.ecmaVersion >= 6 || this.input.slice(this.start, this.end).indexOf("\\") == -1)) this.raise(this.start, "The keyword '" + this.value + "' is reserved");
- node.name = this.value;
- } else if (liberal && this.type.keyword) {
- node.name = this.type.keyword;
- } else {
- this.unexpected();
- }
- this.next();
- return this.finishNode(node, "Identifier");
-};
-
-// Parses yield expression inside generator.
-
-pp.parseYield = function () {
- var node = this.startNode();
- this.next();
- if (this.type == _tokentype.types.semi || this.canInsertSemicolon() || this.type != _tokentype.types.star && !this.type.startsExpr) {
- node.delegate = false;
- node.argument = null;
- } else {
- node.delegate = this.eat(_tokentype.types.star);
- node.argument = this.parseMaybeAssign();
- }
- return this.finishNode(node, "YieldExpression");
-};
-
-// Parses array and generator comprehensions.
-
-pp.parseComprehension = function (node, isGenerator) {
- node.blocks = [];
- while (this.type === _tokentype.types._for) {
- var block = this.startNode();
- this.next();
- this.expect(_tokentype.types.parenL);
- block.left = this.parseBindingAtom();
- this.checkLVal(block.left, true);
- this.expectContextual("of");
- block.right = this.parseExpression();
- this.expect(_tokentype.types.parenR);
- node.blocks.push(this.finishNode(block, "ComprehensionBlock"));
- }
- node.filter = this.eat(_tokentype.types._if) ? this.parseParenExpression() : null;
- node.body = this.parseExpression();
- this.expect(isGenerator ? _tokentype.types.parenR : _tokentype.types.bracketR);
- node.generator = isGenerator;
- return this.finishNode(node, "ComprehensionExpression");
-};
-
-},{"./state":10,"./tokentype":14}],2:[function(_dereq_,module,exports){
-// This is a trick taken from Esprima. It turns out that, on
-// non-Chrome browsers, to check whether a string is in a set, a
-// predicate containing a big ugly `switch` statement is faster than
-// a regular expression, and on Chrome the two are about on par.
-// This function uses `eval` (non-lexical) to produce such a
-// predicate from a space-separated string of words.
-//
-// It starts by sorting the words by length.
-
-// Reserved word lists for various dialects of the language
-
-"use strict";
-
-exports.__esModule = true;
-exports.isIdentifierStart = isIdentifierStart;
-exports.isIdentifierChar = isIdentifierChar;
-var reservedWords = {
- 3: "abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",
- 5: "class enum extends super const export import",
- 6: "enum",
- strict: "implements interface let package private protected public static yield",
- strictBind: "eval arguments"
-};
-
-exports.reservedWords = reservedWords;
-// And the keywords
-
-var ecma5AndLessKeywords = "break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this";
-
-var keywords = {
- 5: ecma5AndLessKeywords,
- 6: ecma5AndLessKeywords + " let const class extends export import yield super"
-};
-
-exports.keywords = keywords;
-// ## Character categories
-
-// Big ugly regular expressions that match characters in the
-// whitespace, identifier, and identifier-start categories. These
-// are only applied when a character is found to actually have a
-// code point above 128.
-// Generated by `bin/generate-identifier-regex.js`.
-
-var nonASCIIidentifierStartChars = "ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠ-ࢲऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞭꞰꞱꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭟꭤꭥꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ";
-var nonASCIIidentifierChars = "‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࣤ-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఃా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഁ-ഃാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ංඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ູົຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏ᦰ-ᧀᧈᧉ᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭ᳲ-᳴᳸᳹᷀-᷵᷼-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧꢀꢁꢴ-꣄꣐-꣙꣠-꣱꤀-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︭︳︴﹍-﹏0-9_";
-
-var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
-var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
-
-nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
-
-// These are a run-length and offset encoded representation of the
-// >0xffff code points that are a valid part of identifiers. The
-// offset starts at 0x10000, and each pair of numbers represents an
-// offset to the next range, and then a size of the range. They were
-// generated by tools/generate-identifier-regex.js
-var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 17, 26, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 99, 39, 9, 51, 157, 310, 10, 21, 11, 7, 153, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 98, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 26, 45, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 955, 52, 76, 44, 33, 24, 27, 35, 42, 34, 4, 0, 13, 47, 15, 3, 22, 0, 38, 17, 2, 24, 133, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 32, 4, 287, 47, 21, 1, 2, 0, 185, 46, 82, 47, 21, 0, 60, 42, 502, 63, 32, 0, 449, 56, 1288, 920, 104, 110, 2962, 1070, 13266, 568, 8, 30, 114, 29, 19, 47, 17, 3, 32, 20, 6, 18, 881, 68, 12, 0, 67, 12, 16481, 1, 3071, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 4149, 196, 1340, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42710, 42, 4148, 12, 221, 16355, 541];
-var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 1306, 2, 54, 14, 32, 9, 16, 3, 46, 10, 54, 9, 7, 2, 37, 13, 2, 9, 52, 0, 13, 2, 49, 13, 16, 9, 83, 11, 168, 11, 6, 9, 8, 2, 57, 0, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 316, 19, 13, 9, 214, 6, 3, 8, 112, 16, 16, 9, 82, 12, 9, 9, 535, 9, 20855, 9, 135, 4, 60, 6, 26, 9, 1016, 45, 17, 3, 19723, 1, 5319, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 4305, 6, 792618, 239];
-
-// This has a complexity linear to the value of the code. The
-// assumption is that looking up astral identifier characters is
-// rare.
-function isInAstralSet(code, set) {
- var pos = 0x10000;
- for (var i = 0; i < set.length; i += 2) {
- pos += set[i];
- if (pos > code) return false;
- pos += set[i + 1];
- if (pos >= code) return true;
- }
-}
-
-// Test whether a given character code starts an identifier.
-
-function isIdentifierStart(code, astral) {
- if (code < 65) return code === 36;
- if (code < 91) return true;
- if (code < 97) return code === 95;
- if (code < 123) return true;
- if (code <= 0xffff) return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code));
- if (astral === false) return false;
- return isInAstralSet(code, astralIdentifierStartCodes);
-}
-
-// Test whether a given character is part of an identifier.
-
-function isIdentifierChar(code, astral) {
- if (code < 48) return code === 36;
- if (code < 58) return true;
- if (code < 65) return false;
- if (code < 91) return true;
- if (code < 97) return code === 95;
- if (code < 123) return true;
- if (code <= 0xffff) return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));
- if (astral === false) return false;
- return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes);
-}
-
-},{}],3:[function(_dereq_,module,exports){
-// Acorn is a tiny, fast JavaScript parser written in JavaScript.
-//
-// Acorn was written by Marijn Haverbeke, Ingvar Stepanyan, and
-// various contributors and released under an MIT license.
-//
-// Git repositories for Acorn are available at
-//
-// http://marijnhaverbeke.nl/git/acorn
-// https://github.com/ternjs/acorn.git
-//
-// Please use the [github bug tracker][ghbt] to report issues.
-//
-// [ghbt]: https://github.com/ternjs/acorn/issues
-//
-// This file defines the main parser interface. The library also comes
-// with a [error-tolerant parser][dammit] and an
-// [abstract syntax tree walker][walk], defined in other files.
-//
-// [dammit]: acorn_loose.js
-// [walk]: util/walk.js
-
-"use strict";
-
-exports.__esModule = true;
-exports.parse = parse;
-exports.parseExpressionAt = parseExpressionAt;
-exports.tokenizer = tokenizer;
-
-var _state = _dereq_("./state");
-
-_dereq_("./parseutil");
-
-_dereq_("./statement");
-
-_dereq_("./lval");
-
-_dereq_("./expression");
-
-_dereq_("./location");
-
-exports.Parser = _state.Parser;
-exports.plugins = _state.plugins;
-
-var _options = _dereq_("./options");
-
-exports.defaultOptions = _options.defaultOptions;
-
-var _locutil = _dereq_("./locutil");
-
-exports.Position = _locutil.Position;
-exports.SourceLocation = _locutil.SourceLocation;
-exports.getLineInfo = _locutil.getLineInfo;
-
-var _node = _dereq_("./node");
-
-exports.Node = _node.Node;
-
-var _tokentype = _dereq_("./tokentype");
-
-exports.TokenType = _tokentype.TokenType;
-exports.tokTypes = _tokentype.types;
-
-var _tokencontext = _dereq_("./tokencontext");
-
-exports.TokContext = _tokencontext.TokContext;
-exports.tokContexts = _tokencontext.types;
-
-var _identifier = _dereq_("./identifier");
-
-exports.isIdentifierChar = _identifier.isIdentifierChar;
-exports.isIdentifierStart = _identifier.isIdentifierStart;
-
-var _tokenize = _dereq_("./tokenize");
-
-exports.Token = _tokenize.Token;
-
-var _whitespace = _dereq_("./whitespace");
-
-exports.isNewLine = _whitespace.isNewLine;
-exports.lineBreak = _whitespace.lineBreak;
-exports.lineBreakG = _whitespace.lineBreakG;
-var version = "2.7.0";
-
-exports.version = version;
-// The main exported interface (under `self.acorn` when in the
-// browser) is a `parse` function that takes a code string and
-// returns an abstract syntax tree as specified by [Mozilla parser
-// API][api].
-//
-// [api]: https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API
-
-function parse(input, options) {
- return new _state.Parser(options, input).parse();
-}
-
-// This function tries to parse a single expression at a given
-// offset in a string. Useful for parsing mixed-language formats
-// that embed JavaScript expressions.
-
-function parseExpressionAt(input, pos, options) {
- var p = new _state.Parser(options, input, pos);
- p.nextToken();
- return p.parseExpression();
-}
-
-// Acorn is organized as a tokenizer and a recursive-descent parser.
-// The `tokenizer` export provides an interface to the tokenizer.
-
-function tokenizer(input, options) {
- return new _state.Parser(options, input);
-}
-
-},{"./expression":1,"./identifier":2,"./location":4,"./locutil":5,"./lval":6,"./node":7,"./options":8,"./parseutil":9,"./state":10,"./statement":11,"./tokencontext":12,"./tokenize":13,"./tokentype":14,"./whitespace":16}],4:[function(_dereq_,module,exports){
-"use strict";
-
-var _state = _dereq_("./state");
-
-var _locutil = _dereq_("./locutil");
-
-var pp = _state.Parser.prototype;
-
-// This function is used to raise exceptions on parse errors. It
-// takes an offset integer (into the current `input`) to indicate
-// the location of the error, attaches the position to the end
-// of the error message, and then raises a `SyntaxError` with that
-// message.
-
-pp.raise = function (pos, message) {
- var loc = _locutil.getLineInfo(this.input, pos);
- message += " (" + loc.line + ":" + loc.column + ")";
- var err = new SyntaxError(message);
- err.pos = pos;err.loc = loc;err.raisedAt = this.pos;
- throw err;
-};
-
-pp.curPosition = function () {
- if (this.options.locations) {
- return new _locutil.Position(this.curLine, this.pos - this.lineStart);
- }
-};
-
-},{"./locutil":5,"./state":10}],5:[function(_dereq_,module,exports){
-"use strict";
-
-exports.__esModule = true;
-exports.getLineInfo = getLineInfo;
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-var _whitespace = _dereq_("./whitespace");
-
-// These are used when `options.locations` is on, for the
-// `startLoc` and `endLoc` properties.
-
-var Position = (function () {
- function Position(line, col) {
- _classCallCheck(this, Position);
-
- this.line = line;
- this.column = col;
- }
-
- Position.prototype.offset = function offset(n) {
- return new Position(this.line, this.column + n);
- };
-
- return Position;
-})();
-
-exports.Position = Position;
-
-var SourceLocation = function SourceLocation(p, start, end) {
- _classCallCheck(this, SourceLocation);
-
- this.start = start;
- this.end = end;
- if (p.sourceFile !== null) this.source = p.sourceFile;
-}
-
-// The `getLineInfo` function is mostly useful when the
-// `locations` option is off (for performance reasons) and you
-// want to find the line/column position for a given character
-// offset. `input` should be the code string that the offset refers
-// into.
-
-;
-
-exports.SourceLocation = SourceLocation;
-
-function getLineInfo(input, offset) {
- for (var line = 1, cur = 0;;) {
- _whitespace.lineBreakG.lastIndex = cur;
- var match = _whitespace.lineBreakG.exec(input);
- if (match && match.index < offset) {
- ++line;
- cur = match.index + match[0].length;
- } else {
- return new Position(line, offset - cur);
- }
- }
-}
-
-},{"./whitespace":16}],6:[function(_dereq_,module,exports){
-"use strict";
-
-var _tokentype = _dereq_("./tokentype");
-
-var _state = _dereq_("./state");
-
-var _util = _dereq_("./util");
-
-var pp = _state.Parser.prototype;
-
-// Convert existing expression atom to assignable pattern
-// if possible.
-
-pp.toAssignable = function (node, isBinding) {
- if (this.options.ecmaVersion >= 6 && node) {
- switch (node.type) {
- case "Identifier":
- case "ObjectPattern":
- case "ArrayPattern":
- break;
-
- case "ObjectExpression":
- node.type = "ObjectPattern";
- for (var i = 0; i < node.properties.length; i++) {
- var prop = node.properties[i];
- if (prop.kind !== "init") this.raise(prop.key.start, "Object pattern can't contain getter or setter");
- this.toAssignable(prop.value, isBinding);
- }
- break;
-
- case "ArrayExpression":
- node.type = "ArrayPattern";
- this.toAssignableList(node.elements, isBinding);
- break;
-
- case "AssignmentExpression":
- if (node.operator === "=") {
- node.type = "AssignmentPattern";
- delete node.operator;
- // falls through to AssignmentPattern
- } else {
- this.raise(node.left.end, "Only '=' operator can be used for specifying default value.");
- break;
- }
-
- case "AssignmentPattern":
- if (node.right.type === "YieldExpression") this.raise(node.right.start, "Yield expression cannot be a default value");
- break;
-
- case "ParenthesizedExpression":
- node.expression = this.toAssignable(node.expression, isBinding);
- break;
-
- case "MemberExpression":
- if (!isBinding) break;
-
- default:
- this.raise(node.start, "Assigning to rvalue");
- }
- }
- return node;
-};
-
-// Convert list of expression atoms to binding list.
-
-pp.toAssignableList = function (exprList, isBinding) {
- var end = exprList.length;
- if (end) {
- var last = exprList[end - 1];
- if (last && last.type == "RestElement") {
- --end;
- } else if (last && last.type == "SpreadElement") {
- last.type = "RestElement";
- var arg = last.argument;
- this.toAssignable(arg, isBinding);
- if (arg.type !== "Identifier" && arg.type !== "MemberExpression" && arg.type !== "ArrayPattern") this.unexpected(arg.start);
- --end;
- }
-
- if (isBinding && last.type === "RestElement" && last.argument.type !== "Identifier") this.unexpected(last.argument.start);
- }
- for (var i = 0; i < end; i++) {
- var elt = exprList[i];
- if (elt) this.toAssignable(elt, isBinding);
- }
- return exprList;
-};
-
-// Parses spread element.
-
-pp.parseSpread = function (refDestructuringErrors) {
- var node = this.startNode();
- this.next();
- node.argument = this.parseMaybeAssign(refDestructuringErrors);
- return this.finishNode(node, "SpreadElement");
-};
-
-pp.parseRest = function (allowNonIdent) {
- var node = this.startNode();
- this.next();
-
- // RestElement inside of a function parameter must be an identifier
- if (allowNonIdent) node.argument = this.type === _tokentype.types.name ? this.parseIdent() : this.unexpected();else node.argument = this.type === _tokentype.types.name || this.type === _tokentype.types.bracketL ? this.parseBindingAtom() : this.unexpected();
-
- return this.finishNode(node, "RestElement");
-};
-
-// Parses lvalue (assignable) atom.
-
-pp.parseBindingAtom = function () {
- if (this.options.ecmaVersion < 6) return this.parseIdent();
- switch (this.type) {
- case _tokentype.types.name:
- return this.parseIdent();
-
- case _tokentype.types.bracketL:
- var node = this.startNode();
- this.next();
- node.elements = this.parseBindingList(_tokentype.types.bracketR, true, true);
- return this.finishNode(node, "ArrayPattern");
-
- case _tokentype.types.braceL:
- return this.parseObj(true);
-
- default:
- this.unexpected();
- }
-};
-
-pp.parseBindingList = function (close, allowEmpty, allowTrailingComma, allowNonIdent) {
- var elts = [],
- first = true;
- while (!this.eat(close)) {
- if (first) first = false;else this.expect(_tokentype.types.comma);
- if (allowEmpty && this.type === _tokentype.types.comma) {
- elts.push(null);
- } else if (allowTrailingComma && this.afterTrailingComma(close)) {
- break;
- } else if (this.type === _tokentype.types.ellipsis) {
- var rest = this.parseRest(allowNonIdent);
- this.parseBindingListItem(rest);
- elts.push(rest);
- this.expect(close);
- break;
- } else {
- var elem = this.parseMaybeDefault(this.start, this.startLoc);
- this.parseBindingListItem(elem);
- elts.push(elem);
- }
- }
- return elts;
-};
-
-pp.parseBindingListItem = function (param) {
- return param;
-};
-
-// Parses assignment pattern around given atom if possible.
-
-pp.parseMaybeDefault = function (startPos, startLoc, left) {
- left = left || this.parseBindingAtom();
- if (this.options.ecmaVersion < 6 || !this.eat(_tokentype.types.eq)) return left;
- var node = this.startNodeAt(startPos, startLoc);
- node.left = left;
- node.right = this.parseMaybeAssign();
- return this.finishNode(node, "AssignmentPattern");
-};
-
-// Verify that a node is an lval — something that can be assigned
-// to.
-
-pp.checkLVal = function (expr, isBinding, checkClashes) {
- switch (expr.type) {
- case "Identifier":
- if (this.strict && this.reservedWordsStrictBind.test(expr.name)) this.raise(expr.start, (isBinding ? "Binding " : "Assigning to ") + expr.name + " in strict mode");
- if (checkClashes) {
- if (_util.has(checkClashes, expr.name)) this.raise(expr.start, "Argument name clash");
- checkClashes[expr.name] = true;
- }
- break;
-
- case "MemberExpression":
- if (isBinding) this.raise(expr.start, (isBinding ? "Binding" : "Assigning to") + " member expression");
- break;
-
- case "ObjectPattern":
- for (var i = 0; i < expr.properties.length; i++) {
- this.checkLVal(expr.properties[i].value, isBinding, checkClashes);
- }break;
-
- case "ArrayPattern":
- for (var i = 0; i < expr.elements.length; i++) {
- var elem = expr.elements[i];
- if (elem) this.checkLVal(elem, isBinding, checkClashes);
- }
- break;
-
- case "AssignmentPattern":
- this.checkLVal(expr.left, isBinding, checkClashes);
- break;
-
- case "RestElement":
- this.checkLVal(expr.argument, isBinding, checkClashes);
- break;
-
- case "ParenthesizedExpression":
- this.checkLVal(expr.expression, isBinding, checkClashes);
- break;
-
- default:
- this.raise(expr.start, (isBinding ? "Binding" : "Assigning to") + " rvalue");
- }
-};
-
-},{"./state":10,"./tokentype":14,"./util":15}],7:[function(_dereq_,module,exports){
-"use strict";
-
-exports.__esModule = true;
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-var _state = _dereq_("./state");
-
-var _locutil = _dereq_("./locutil");
-
-var Node = function Node(parser, pos, loc) {
- _classCallCheck(this, Node);
-
- this.type = "";
- this.start = pos;
- this.end = 0;
- if (parser.options.locations) this.loc = new _locutil.SourceLocation(parser, loc);
- if (parser.options.directSourceFile) this.sourceFile = parser.options.directSourceFile;
- if (parser.options.ranges) this.range = [pos, 0];
-}
-
-// Start an AST node, attaching a start offset.
-
-;
-
-exports.Node = Node;
-var pp = _state.Parser.prototype;
-
-pp.startNode = function () {
- return new Node(this, this.start, this.startLoc);
-};
-
-pp.startNodeAt = function (pos, loc) {
- return new Node(this, pos, loc);
-};
-
-// Finish an AST node, adding `type` and `end` properties.
-
-function finishNodeAt(node, type, pos, loc) {
- node.type = type;
- node.end = pos;
- if (this.options.locations) node.loc.end = loc;
- if (this.options.ranges) node.range[1] = pos;
- return node;
-}
-
-pp.finishNode = function (node, type) {
- return finishNodeAt.call(this, node, type, this.lastTokEnd, this.lastTokEndLoc);
-};
-
-// Finish node at given position
-
-pp.finishNodeAt = function (node, type, pos, loc) {
- return finishNodeAt.call(this, node, type, pos, loc);
-};
-
-},{"./locutil":5,"./state":10}],8:[function(_dereq_,module,exports){
-"use strict";
-
-exports.__esModule = true;
-exports.getOptions = getOptions;
-
-var _util = _dereq_("./util");
-
-var _locutil = _dereq_("./locutil");
-
-// A second optional argument can be given to further configure
-// the parser process. These options are recognized:
-
-var defaultOptions = {
- // `ecmaVersion` indicates the ECMAScript version to parse. Must
- // be either 3, or 5, or 6. This influences support for strict
- // mode, the set of reserved words, support for getters and
- // setters and other features.
- ecmaVersion: 5,
- // Source type ("script" or "module") for different semantics
- sourceType: "script",
- // `onInsertedSemicolon` can be a callback that will be called
- // when a semicolon is automatically inserted. It will be passed
- // th position of the comma as an offset, and if `locations` is
- // enabled, it is given the location as a `{line, column}` object
- // as second argument.
- onInsertedSemicolon: null,
- // `onTrailingComma` is similar to `onInsertedSemicolon`, but for
- // trailing commas.
- onTrailingComma: null,
- // By default, reserved words are only enforced if ecmaVersion >= 5.
- // Set `allowReserved` to a boolean value to explicitly turn this on
- // an off. When this option has the value "never", reserved words
- // and keywords can also not be used as property names.
- allowReserved: null,
- // When enabled, a return at the top level is not considered an
- // error.
- allowReturnOutsideFunction: false,
- // When enabled, import/export statements are not constrained to
- // appearing at the top of the program.
- allowImportExportEverywhere: false,
- // When enabled, hashbang directive in the beginning of file
- // is allowed and treated as a line comment.
- allowHashBang: false,
- // When `locations` is on, `loc` properties holding objects with
- // `start` and `end` properties in `{line, column}` form (with
- // line being 1-based and column 0-based) will be attached to the
- // nodes.
- locations: false,
- // A function can be passed as `onToken` option, which will
- // cause Acorn to call that function with object in the same
- // format as tokens returned from `tokenizer().getToken()`. Note
- // that you are not allowed to call the parser from the
- // callback—that will corrupt its internal state.
- onToken: null,
- // A function can be passed as `onComment` option, which will
- // cause Acorn to call that function with `(block, text, start,
- // end)` parameters whenever a comment is skipped. `block` is a
- // boolean indicating whether this is a block (`/* */`) comment,
- // `text` is the content of the comment, and `start` and `end` are
- // character offsets that denote the start and end of the comment.
- // When the `locations` option is on, two more parameters are
- // passed, the full `{line, column}` locations of the start and
- // end of the comments. Note that you are not allowed to call the
- // parser from the callback—that will corrupt its internal state.
- onComment: null,
- // Nodes have their start and end characters offsets recorded in
- // `start` and `end` properties (directly on the node, rather than
- // the `loc` object, which holds line/column data. To also add a
- // [semi-standardized][range] `range` property holding a `[start,
- // end]` array with the same numbers, set the `ranges` option to
- // `true`.
- //
- // [range]: https://bugzilla.mozilla.org/show_bug.cgi?id=745678
- ranges: false,
- // It is possible to parse multiple files into a single AST by
- // passing the tree produced by parsing the first file as
- // `program` option in subsequent parses. This will add the
- // toplevel forms of the parsed file to the `Program` (top) node
- // of an existing parse tree.
- program: null,
- // When `locations` is on, you can pass this to record the source
- // file in every node's `loc` object.
- sourceFile: null,
- // This value, if given, is stored in every node, whether
- // `locations` is on or off.
- directSourceFile: null,
- // When enabled, parenthesized expressions are represented by
- // (non-standard) ParenthesizedExpression nodes
- preserveParens: false,
- plugins: {}
-};
-
-exports.defaultOptions = defaultOptions;
-// Interpret and default an options object
-
-function getOptions(opts) {
- var options = {};
- for (var opt in defaultOptions) {
- options[opt] = opts && _util.has(opts, opt) ? opts[opt] : defaultOptions[opt];
- }if (options.allowReserved == null) options.allowReserved = options.ecmaVersion < 5;
-
- if (_util.isArray(options.onToken)) {
- (function () {
- var tokens = options.onToken;
- options.onToken = function (token) {
- return tokens.push(token);
- };
- })();
- }
- if (_util.isArray(options.onComment)) options.onComment = pushComment(options, options.onComment);
-
- return options;
-}
-
-function pushComment(options, array) {
- return function (block, text, start, end, startLoc, endLoc) {
- var comment = {
- type: block ? 'Block' : 'Line',
- value: text,
- start: start,
- end: end
- };
- if (options.locations) comment.loc = new _locutil.SourceLocation(this, startLoc, endLoc);
- if (options.ranges) comment.range = [start, end];
- array.push(comment);
- };
-}
-
-},{"./locutil":5,"./util":15}],9:[function(_dereq_,module,exports){
-"use strict";
-
-var _tokentype = _dereq_("./tokentype");
-
-var _state = _dereq_("./state");
-
-var _whitespace = _dereq_("./whitespace");
-
-var pp = _state.Parser.prototype;
-
-// ## Parser utilities
-
-// Test whether a statement node is the string literal `"use strict"`.
-
-pp.isUseStrict = function (stmt) {
- return this.options.ecmaVersion >= 5 && stmt.type === "ExpressionStatement" && stmt.expression.type === "Literal" && stmt.expression.raw.slice(1, -1) === "use strict";
-};
-
-// Predicate that tests whether the next token is of the given
-// type, and if yes, consumes it as a side effect.
-
-pp.eat = function (type) {
- if (this.type === type) {
- this.next();
- return true;
- } else {
- return false;
- }
-};
-
-// Tests whether parsed token is a contextual keyword.
-
-pp.isContextual = function (name) {
- return this.type === _tokentype.types.name && this.value === name;
-};
-
-// Consumes contextual keyword if possible.
-
-pp.eatContextual = function (name) {
- return this.value === name && this.eat(_tokentype.types.name);
-};
-
-// Asserts that following token is given contextual keyword.
-
-pp.expectContextual = function (name) {
- if (!this.eatContextual(name)) this.unexpected();
-};
-
-// Test whether a semicolon can be inserted at the current position.
-
-pp.canInsertSemicolon = function () {
- return this.type === _tokentype.types.eof || this.type === _tokentype.types.braceR || _whitespace.lineBreak.test(this.input.slice(this.lastTokEnd, this.start));
-};
-
-pp.insertSemicolon = function () {
- if (this.canInsertSemicolon()) {
- if (this.options.onInsertedSemicolon) this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc);
- return true;
- }
-};
-
-// Consume a semicolon, or, failing that, see if we are allowed to
-// pretend that there is a semicolon at this position.
-
-pp.semicolon = function () {
- if (!this.eat(_tokentype.types.semi) && !this.insertSemicolon()) this.unexpected();
-};
-
-pp.afterTrailingComma = function (tokType) {
- if (this.type == tokType) {
- if (this.options.onTrailingComma) this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc);
- this.next();
- return true;
- }
-};
-
-// Expect a token of a given type. If found, consume it, otherwise,
-// raise an unexpected token error.
-
-pp.expect = function (type) {
- this.eat(type) || this.unexpected();
-};
-
-// Raise an unexpected token error.
-
-pp.unexpected = function (pos) {
- this.raise(pos != null ? pos : this.start, "Unexpected token");
-};
-
-pp.checkPatternErrors = function (refDestructuringErrors, andThrow) {
- var pos = refDestructuringErrors && refDestructuringErrors.trailingComma;
- if (!andThrow) return !!pos;
- if (pos) this.raise(pos, "Trailing comma is not permitted in destructuring patterns");
-};
-
-pp.checkExpressionErrors = function (refDestructuringErrors, andThrow) {
- var pos = refDestructuringErrors && refDestructuringErrors.shorthandAssign;
- if (!andThrow) return !!pos;
- if (pos) this.raise(pos, "Shorthand property assignments are valid only in destructuring patterns");
-};
-
-},{"./state":10,"./tokentype":14,"./whitespace":16}],10:[function(_dereq_,module,exports){
-"use strict";
-
-exports.__esModule = true;
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-var _identifier = _dereq_("./identifier");
-
-var _tokentype = _dereq_("./tokentype");
-
-var _whitespace = _dereq_("./whitespace");
-
-var _options = _dereq_("./options");
-
-// Registered plugins
-var plugins = {};
-
-exports.plugins = plugins;
-function keywordRegexp(words) {
- return new RegExp("^(" + words.replace(/ /g, "|") + ")$");
-}
-
-var Parser = (function () {
- function Parser(options, input, startPos) {
- _classCallCheck(this, Parser);
-
- this.options = options = _options.getOptions(options);
- this.sourceFile = options.sourceFile;
- this.keywords = keywordRegexp(_identifier.keywords[options.ecmaVersion >= 6 ? 6 : 5]);
- var reserved = options.allowReserved ? "" : _identifier.reservedWords[options.ecmaVersion] + (options.sourceType == "module" ? " await" : "");
- this.reservedWords = keywordRegexp(reserved);
- var reservedStrict = (reserved ? reserved + " " : "") + _identifier.reservedWords.strict;
- this.reservedWordsStrict = keywordRegexp(reservedStrict);
- this.reservedWordsStrictBind = keywordRegexp(reservedStrict + " " + _identifier.reservedWords.strictBind);
- this.input = String(input);
-
- // Used to signal to callers of `readWord1` whether the word
- // contained any escape sequences. This is needed because words with
- // escape sequences must not be interpreted as keywords.
- this.containsEsc = false;
-
- // Load plugins
- this.loadPlugins(options.plugins);
-
- // Set up token state
-
- // The current position of the tokenizer in the input.
- if (startPos) {
- this.pos = startPos;
- this.lineStart = Math.max(0, this.input.lastIndexOf("\n", startPos));
- this.curLine = this.input.slice(0, this.lineStart).split(_whitespace.lineBreak).length;
- } else {
- this.pos = this.lineStart = 0;
- this.curLine = 1;
- }
-
- // Properties of the current token:
- // Its type
- this.type = _tokentype.types.eof;
- // For tokens that include more information than their type, the value
- this.value = null;
- // Its start and end offset
- this.start = this.end = this.pos;
- // And, if locations are used, the {line, column} object
- // corresponding to those offsets
- this.startLoc = this.endLoc = this.curPosition();
-
- // Position information for the previous token
- this.lastTokEndLoc = this.lastTokStartLoc = null;
- this.lastTokStart = this.lastTokEnd = this.pos;
-
- // The context stack is used to superficially track syntactic
- // context to predict whether a regular expression is allowed in a
- // given position.
- this.context = this.initialContext();
- this.exprAllowed = true;
-
- // Figure out if it's a module code.
- this.strict = this.inModule = options.sourceType === "module";
-
- // Used to signify the start of a potential arrow function
- this.potentialArrowAt = -1;
-
- // Flags to track whether we are in a function, a generator.
- this.inFunction = this.inGenerator = false;
- // Labels in scope.
- this.labels = [];
-
- // If enabled, skip leading hashbang line.
- if (this.pos === 0 && options.allowHashBang && this.input.slice(0, 2) === '#!') this.skipLineComment(2);
- }
-
- // DEPRECATED Kept for backwards compatibility until 3.0 in case a plugin uses them
-
- Parser.prototype.isKeyword = function isKeyword(word) {
- return this.keywords.test(word);
- };
-
- Parser.prototype.isReservedWord = function isReservedWord(word) {
- return this.reservedWords.test(word);
- };
-
- Parser.prototype.extend = function extend(name, f) {
- this[name] = f(this[name]);
- };
-
- Parser.prototype.loadPlugins = function loadPlugins(pluginConfigs) {
- for (var _name in pluginConfigs) {
- var plugin = plugins[_name];
- if (!plugin) throw new Error("Plugin '" + _name + "' not found");
- plugin(this, pluginConfigs[_name]);
- }
- };
-
- Parser.prototype.parse = function parse() {
- var node = this.options.program || this.startNode();
- this.nextToken();
- return this.parseTopLevel(node);
- };
-
- return Parser;
-})();
-
-exports.Parser = Parser;
-
-},{"./identifier":2,"./options":8,"./tokentype":14,"./whitespace":16}],11:[function(_dereq_,module,exports){
-"use strict";
-
-var _tokentype = _dereq_("./tokentype");
-
-var _state = _dereq_("./state");
-
-var _whitespace = _dereq_("./whitespace");
-
-var pp = _state.Parser.prototype;
-
-// ### Statement parsing
-
-// Parse a program. Initializes the parser, reads any number of
-// statements, and wraps them in a Program node. Optionally takes a
-// `program` argument. If present, the statements will be appended
-// to its body instead of creating a new node.
-
-pp.parseTopLevel = function (node) {
- var first = true;
- if (!node.body) node.body = [];
- while (this.type !== _tokentype.types.eof) {
- var stmt = this.parseStatement(true, true);
- node.body.push(stmt);
- if (first) {
- if (this.isUseStrict(stmt)) this.setStrict(true);
- first = false;
- }
- }
- this.next();
- if (this.options.ecmaVersion >= 6) {
- node.sourceType = this.options.sourceType;
- }
- return this.finishNode(node, "Program");
-};
-
-var loopLabel = { kind: "loop" },
- switchLabel = { kind: "switch" };
-
-// Parse a single statement.
-//
-// If expecting a statement and finding a slash operator, parse a
-// regular expression literal. This is to handle cases like
-// `if (foo) /blah/.exec(foo)`, where looking at the previous token
-// does not help.
-
-pp.parseStatement = function (declaration, topLevel) {
- var starttype = this.type,
- node = this.startNode();
-
- // Most types of statements are recognized by the keyword they
- // start with. Many are trivial to parse, some require a bit of
- // complexity.
-
- switch (starttype) {
- case _tokentype.types._break:case _tokentype.types._continue:
- return this.parseBreakContinueStatement(node, starttype.keyword);
- case _tokentype.types._debugger:
- return this.parseDebuggerStatement(node);
- case _tokentype.types._do:
- return this.parseDoStatement(node);
- case _tokentype.types._for:
- return this.parseForStatement(node);
- case _tokentype.types._function:
- if (!declaration && this.options.ecmaVersion >= 6) this.unexpected();
- return this.parseFunctionStatement(node);
- case _tokentype.types._class:
- if (!declaration) this.unexpected();
- return this.parseClass(node, true);
- case _tokentype.types._if:
- return this.parseIfStatement(node);
- case _tokentype.types._return:
- return this.parseReturnStatement(node);
- case _tokentype.types._switch:
- return this.parseSwitchStatement(node);
- case _tokentype.types._throw:
- return this.parseThrowStatement(node);
- case _tokentype.types._try:
- return this.parseTryStatement(node);
- case _tokentype.types._let:case _tokentype.types._const:
- if (!declaration) this.unexpected(); // NOTE: falls through to _var
- case _tokentype.types._var:
- return this.parseVarStatement(node, starttype);
- case _tokentype.types._while:
- return this.parseWhileStatement(node);
- case _tokentype.types._with:
- return this.parseWithStatement(node);
- case _tokentype.types.braceL:
- return this.parseBlock();
- case _tokentype.types.semi:
- return this.parseEmptyStatement(node);
- case _tokentype.types._export:
- case _tokentype.types._import:
- if (!this.options.allowImportExportEverywhere) {
- if (!topLevel) this.raise(this.start, "'import' and 'export' may only appear at the top level");
- if (!this.inModule) this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'");
- }
- return starttype === _tokentype.types._import ? this.parseImport(node) : this.parseExport(node);
-
- // If the statement does not start with a statement keyword or a
- // brace, it's an ExpressionStatement or LabeledStatement. We
- // simply start parsing an expression, and afterwards, if the
- // next token is a colon and the expression was a simple
- // Identifier node, we switch to interpreting it as a label.
- default:
- var maybeName = this.value,
- expr = this.parseExpression();
- if (starttype === _tokentype.types.name && expr.type === "Identifier" && this.eat(_tokentype.types.colon)) return this.parseLabeledStatement(node, maybeName, expr);else return this.parseExpressionStatement(node, expr);
- }
-};
-
-pp.parseBreakContinueStatement = function (node, keyword) {
- var isBreak = keyword == "break";
- this.next();
- if (this.eat(_tokentype.types.semi) || this.insertSemicolon()) node.label = null;else if (this.type !== _tokentype.types.name) this.unexpected();else {
- node.label = this.parseIdent();
- this.semicolon();
- }
-
- // Verify that there is an actual destination to break or
- // continue to.
- for (var i = 0; i < this.labels.length; ++i) {
- var lab = this.labels[i];
- if (node.label == null || lab.name === node.label.name) {
- if (lab.kind != null && (isBreak || lab.kind === "loop")) break;
- if (node.label && isBreak) break;
- }
- }
- if (i === this.labels.length) this.raise(node.start, "Unsyntactic " + keyword);
- return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement");
-};
-
-pp.parseDebuggerStatement = function (node) {
- this.next();
- this.semicolon();
- return this.finishNode(node, "DebuggerStatement");
-};
-
-pp.parseDoStatement = function (node) {
- this.next();
- this.labels.push(loopLabel);
- node.body = this.parseStatement(false);
- this.labels.pop();
- this.expect(_tokentype.types._while);
- node.test = this.parseParenExpression();
- if (this.options.ecmaVersion >= 6) this.eat(_tokentype.types.semi);else this.semicolon();
- return this.finishNode(node, "DoWhileStatement");
-};
-
-// Disambiguating between a `for` and a `for`/`in` or `for`/`of`
-// loop is non-trivial. Basically, we have to parse the init `var`
-// statement or expression, disallowing the `in` operator (see
-// the second parameter to `parseExpression`), and then check
-// whether the next token is `in` or `of`. When there is no init
-// part (semicolon immediately after the opening parenthesis), it
-// is a regular `for` loop.
-
-pp.parseForStatement = function (node) {
- this.next();
- this.labels.push(loopLabel);
- this.expect(_tokentype.types.parenL);
- if (this.type === _tokentype.types.semi) return this.parseFor(node, null);
- if (this.type === _tokentype.types._var || this.type === _tokentype.types._let || this.type === _tokentype.types._const) {
- var _init = this.startNode(),
- varKind = this.type;
- this.next();
- this.parseVar(_init, true, varKind);
- this.finishNode(_init, "VariableDeclaration");
- if ((this.type === _tokentype.types._in || this.options.ecmaVersion >= 6 && this.isContextual("of")) && _init.declarations.length === 1 && !(varKind !== _tokentype.types._var && _init.declarations[0].init)) return this.parseForIn(node, _init);
- return this.parseFor(node, _init);
- }
- var refDestructuringErrors = { shorthandAssign: 0, trailingComma: 0 };
- var init = this.parseExpression(true, refDestructuringErrors);
- if (this.type === _tokentype.types._in || this.options.ecmaVersion >= 6 && this.isContextual("of")) {
- this.checkPatternErrors(refDestructuringErrors, true);
- this.toAssignable(init);
- this.checkLVal(init);
- return this.parseForIn(node, init);
- } else {
- this.checkExpressionErrors(refDestructuringErrors, true);
- }
- return this.parseFor(node, init);
-};
-
-pp.parseFunctionStatement = function (node) {
- this.next();
- return this.parseFunction(node, true);
-};
-
-pp.parseIfStatement = function (node) {
- this.next();
- node.test = this.parseParenExpression();
- node.consequent = this.parseStatement(false);
- node.alternate = this.eat(_tokentype.types._else) ? this.parseStatement(false) : null;
- return this.finishNode(node, "IfStatement");
-};
-
-pp.parseReturnStatement = function (node) {
- if (!this.inFunction && !this.options.allowReturnOutsideFunction) this.raise(this.start, "'return' outside of function");
- this.next();
-
- // In `return` (and `break`/`continue`), the keywords with
- // optional arguments, we eagerly look for a semicolon or the
- // possibility to insert one.
-
- if (this.eat(_tokentype.types.semi) || this.insertSemicolon()) node.argument = null;else {
- node.argument = this.parseExpression();this.semicolon();
- }
- return this.finishNode(node, "ReturnStatement");
-};
-
-pp.parseSwitchStatement = function (node) {
- this.next();
- node.discriminant = this.parseParenExpression();
- node.cases = [];
- this.expect(_tokentype.types.braceL);
- this.labels.push(switchLabel);
-
- // Statements under must be grouped (by label) in SwitchCase
- // nodes. `cur` is used to keep the node that we are currently
- // adding statements to.
-
- for (var cur, sawDefault = false; this.type != _tokentype.types.braceR;) {
- if (this.type === _tokentype.types._case || this.type === _tokentype.types._default) {
- var isCase = this.type === _tokentype.types._case;
- if (cur) this.finishNode(cur, "SwitchCase");
- node.cases.push(cur = this.startNode());
- cur.consequent = [];
- this.next();
- if (isCase) {
- cur.test = this.parseExpression();
- } else {
- if (sawDefault) this.raise(this.lastTokStart, "Multiple default clauses");
- sawDefault = true;
- cur.test = null;
- }
- this.expect(_tokentype.types.colon);
- } else {
- if (!cur) this.unexpected();
- cur.consequent.push(this.parseStatement(true));
- }
- }
- if (cur) this.finishNode(cur, "SwitchCase");
- this.next(); // Closing brace
- this.labels.pop();
- return this.finishNode(node, "SwitchStatement");
-};
-
-pp.parseThrowStatement = function (node) {
- this.next();
- if (_whitespace.lineBreak.test(this.input.slice(this.lastTokEnd, this.start))) this.raise(this.lastTokEnd, "Illegal newline after throw");
- node.argument = this.parseExpression();
- this.semicolon();
- return this.finishNode(node, "ThrowStatement");
-};
-
-// Reused empty array added for node fields that are always empty.
-
-var empty = [];
-
-pp.parseTryStatement = function (node) {
- this.next();
- node.block = this.parseBlock();
- node.handler = null;
- if (this.type === _tokentype.types._catch) {
- var clause = this.startNode();
- this.next();
- this.expect(_tokentype.types.parenL);
- clause.param = this.parseBindingAtom();
- this.checkLVal(clause.param, true);
- this.expect(_tokentype.types.parenR);
- clause.body = this.parseBlock();
- node.handler = this.finishNode(clause, "CatchClause");
- }
- node.finalizer = this.eat(_tokentype.types._finally) ? this.parseBlock() : null;
- if (!node.handler && !node.finalizer) this.raise(node.start, "Missing catch or finally clause");
- return this.finishNode(node, "TryStatement");
-};
-
-pp.parseVarStatement = function (node, kind) {
- this.next();
- this.parseVar(node, false, kind);
- this.semicolon();
- return this.finishNode(node, "VariableDeclaration");
-};
-
-pp.parseWhileStatement = function (node) {
- this.next();
- node.test = this.parseParenExpression();
- this.labels.push(loopLabel);
- node.body = this.parseStatement(false);
- this.labels.pop();
- return this.finishNode(node, "WhileStatement");
-};
-
-pp.parseWithStatement = function (node) {
- if (this.strict) this.raise(this.start, "'with' in strict mode");
- this.next();
- node.object = this.parseParenExpression();
- node.body = this.parseStatement(false);
- return this.finishNode(node, "WithStatement");
-};
-
-pp.parseEmptyStatement = function (node) {
- this.next();
- return this.finishNode(node, "EmptyStatement");
-};
-
-pp.parseLabeledStatement = function (node, maybeName, expr) {
- for (var i = 0; i < this.labels.length; ++i) {
- if (this.labels[i].name === maybeName) this.raise(expr.start, "Label '" + maybeName + "' is already declared");
- }var kind = this.type.isLoop ? "loop" : this.type === _tokentype.types._switch ? "switch" : null;
- for (var i = this.labels.length - 1; i >= 0; i--) {
- var label = this.labels[i];
- if (label.statementStart == node.start) {
- label.statementStart = this.start;
- label.kind = kind;
- } else break;
- }
- this.labels.push({ name: maybeName, kind: kind, statementStart: this.start });
- node.body = this.parseStatement(true);
- this.labels.pop();
- node.label = expr;
- return this.finishNode(node, "LabeledStatement");
-};
-
-pp.parseExpressionStatement = function (node, expr) {
- node.expression = expr;
- this.semicolon();
- return this.finishNode(node, "ExpressionStatement");
-};
-
-// Parse a semicolon-enclosed block of statements, handling `"use
-// strict"` declarations when `allowStrict` is true (used for
-// function bodies).
-
-pp.parseBlock = function (allowStrict) {
- var node = this.startNode(),
- first = true,
- oldStrict = undefined;
- node.body = [];
- this.expect(_tokentype.types.braceL);
- while (!this.eat(_tokentype.types.braceR)) {
- var stmt = this.parseStatement(true);
- node.body.push(stmt);
- if (first && allowStrict && this.isUseStrict(stmt)) {
- oldStrict = this.strict;
- this.setStrict(this.strict = true);
- }
- first = false;
- }
- if (oldStrict === false) this.setStrict(false);
- return this.finishNode(node, "BlockStatement");
-};
-
-// Parse a regular `for` loop. The disambiguation code in
-// `parseStatement` will already have parsed the init statement or
-// expression.
-
-pp.parseFor = function (node, init) {
- node.init = init;
- this.expect(_tokentype.types.semi);
- node.test = this.type === _tokentype.types.semi ? null : this.parseExpression();
- this.expect(_tokentype.types.semi);
- node.update = this.type === _tokentype.types.parenR ? null : this.parseExpression();
- this.expect(_tokentype.types.parenR);
- node.body = this.parseStatement(false);
- this.labels.pop();
- return this.finishNode(node, "ForStatement");
-};
-
-// Parse a `for`/`in` and `for`/`of` loop, which are almost
-// same from parser's perspective.
-
-pp.parseForIn = function (node, init) {
- var type = this.type === _tokentype.types._in ? "ForInStatement" : "ForOfStatement";
- this.next();
- node.left = init;
- node.right = this.parseExpression();
- this.expect(_tokentype.types.parenR);
- node.body = this.parseStatement(false);
- this.labels.pop();
- return this.finishNode(node, type);
-};
-
-// Parse a list of variable declarations.
-
-pp.parseVar = function (node, isFor, kind) {
- node.declarations = [];
- node.kind = kind.keyword;
- for (;;) {
- var decl = this.startNode();
- this.parseVarId(decl);
- if (this.eat(_tokentype.types.eq)) {
- decl.init = this.parseMaybeAssign(isFor);
- } else if (kind === _tokentype.types._const && !(this.type === _tokentype.types._in || this.options.ecmaVersion >= 6 && this.isContextual("of"))) {
- this.unexpected();
- } else if (decl.id.type != "Identifier" && !(isFor && (this.type === _tokentype.types._in || this.isContextual("of")))) {
- this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value");
- } else {
- decl.init = null;
- }
- node.declarations.push(this.finishNode(decl, "VariableDeclarator"));
- if (!this.eat(_tokentype.types.comma)) break;
- }
- return node;
-};
-
-pp.parseVarId = function (decl) {
- decl.id = this.parseBindingAtom();
- this.checkLVal(decl.id, true);
-};
-
-// Parse a function declaration or literal (depending on the
-// `isStatement` parameter).
-
-pp.parseFunction = function (node, isStatement, allowExpressionBody) {
- this.initFunction(node);
- if (this.options.ecmaVersion >= 6) node.generator = this.eat(_tokentype.types.star);
- if (isStatement || this.type === _tokentype.types.name) node.id = this.parseIdent();
- this.parseFunctionParams(node);
- this.parseFunctionBody(node, allowExpressionBody);
- return this.finishNode(node, isStatement ? "FunctionDeclaration" : "FunctionExpression");
-};
-
-pp.parseFunctionParams = function (node) {
- this.expect(_tokentype.types.parenL);
- node.params = this.parseBindingList(_tokentype.types.parenR, false, false, true);
-};
-
-// Parse a class declaration or literal (depending on the
-// `isStatement` parameter).
-
-pp.parseClass = function (node, isStatement) {
- this.next();
- this.parseClassId(node, isStatement);
- this.parseClassSuper(node);
- var classBody = this.startNode();
- var hadConstructor = false;
- classBody.body = [];
- this.expect(_tokentype.types.braceL);
- while (!this.eat(_tokentype.types.braceR)) {
- if (this.eat(_tokentype.types.semi)) continue;
- var method = this.startNode();
- var isGenerator = this.eat(_tokentype.types.star);
- var isMaybeStatic = this.type === _tokentype.types.name && this.value === "static";
- this.parsePropertyName(method);
- method["static"] = isMaybeStatic && this.type !== _tokentype.types.parenL;
- if (method["static"]) {
- if (isGenerator) this.unexpected();
- isGenerator = this.eat(_tokentype.types.star);
- this.parsePropertyName(method);
- }
- method.kind = "method";
- var isGetSet = false;
- if (!method.computed) {
- var key = method.key;
-
- if (!isGenerator && key.type === "Identifier" && this.type !== _tokentype.types.parenL && (key.name === "get" || key.name === "set")) {
- isGetSet = true;
- method.kind = key.name;
- key = this.parsePropertyName(method);
- }
- if (!method["static"] && (key.type === "Identifier" && key.name === "constructor" || key.type === "Literal" && key.value === "constructor")) {
- if (hadConstructor) this.raise(key.start, "Duplicate constructor in the same class");
- if (isGetSet) this.raise(key.start, "Constructor can't have get/set modifier");
- if (isGenerator) this.raise(key.start, "Constructor can't be a generator");
- method.kind = "constructor";
- hadConstructor = true;
- }
- }
- this.parseClassMethod(classBody, method, isGenerator);
- if (isGetSet) {
- var paramCount = method.kind === "get" ? 0 : 1;
- if (method.value.params.length !== paramCount) {
- var start = method.value.start;
- if (method.kind === "get") this.raise(start, "getter should have no params");else this.raise(start, "setter should have exactly one param");
- }
- if (method.kind === "set" && method.value.params[0].type === "RestElement") this.raise(method.value.params[0].start, "Setter cannot use rest params");
- }
- }
- node.body = this.finishNode(classBody, "ClassBody");
- return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression");
-};
-
-pp.parseClassMethod = function (classBody, method, isGenerator) {
- method.value = this.parseMethod(isGenerator);
- classBody.body.push(this.finishNode(method, "MethodDefinition"));
-};
-
-pp.parseClassId = function (node, isStatement) {
- node.id = this.type === _tokentype.types.name ? this.parseIdent() : isStatement ? this.unexpected() : null;
-};
-
-pp.parseClassSuper = function (node) {
- node.superClass = this.eat(_tokentype.types._extends) ? this.parseExprSubscripts() : null;
-};
-
-// Parses module export declaration.
-
-pp.parseExport = function (node) {
- this.next();
- // export * from '...'
- if (this.eat(_tokentype.types.star)) {
- this.expectContextual("from");
- node.source = this.type === _tokentype.types.string ? this.parseExprAtom() : this.unexpected();
- this.semicolon();
- return this.finishNode(node, "ExportAllDeclaration");
- }
- if (this.eat(_tokentype.types._default)) {
- // export default ...
- var expr = this.parseMaybeAssign();
- var needsSemi = true;
- if (expr.type == "FunctionExpression" || expr.type == "ClassExpression") {
- needsSemi = false;
- if (expr.id) {
- expr.type = expr.type == "FunctionExpression" ? "FunctionDeclaration" : "ClassDeclaration";
- }
- }
- node.declaration = expr;
- if (needsSemi) this.semicolon();
- return this.finishNode(node, "ExportDefaultDeclaration");
- }
- // export var|const|let|function|class ...
- if (this.shouldParseExportStatement()) {
- node.declaration = this.parseStatement(true);
- node.specifiers = [];
- node.source = null;
- } else {
- // export { x, y as z } [from '...']
- node.declaration = null;
- node.specifiers = this.parseExportSpecifiers();
- if (this.eatContextual("from")) {
- node.source = this.type === _tokentype.types.string ? this.parseExprAtom() : this.unexpected();
- } else {
- // check for keywords used as local names
- for (var i = 0; i < node.specifiers.length; i++) {
- if (this.keywords.test(node.specifiers[i].local.name) || this.reservedWords.test(node.specifiers[i].local.name)) {
- this.unexpected(node.specifiers[i].local.start);
- }
- }
-
- node.source = null;
- }
- this.semicolon();
- }
- return this.finishNode(node, "ExportNamedDeclaration");
-};
-
-pp.shouldParseExportStatement = function () {
- return this.type.keyword;
-};
-
-// Parses a comma-separated list of module exports.
-
-pp.parseExportSpecifiers = function () {
- var nodes = [],
- first = true;
- // export { x, y as z } [from '...']
- this.expect(_tokentype.types.braceL);
- while (!this.eat(_tokentype.types.braceR)) {
- if (!first) {
- this.expect(_tokentype.types.comma);
- if (this.afterTrailingComma(_tokentype.types.braceR)) break;
- } else first = false;
-
- var node = this.startNode();
- node.local = this.parseIdent(this.type === _tokentype.types._default);
- node.exported = this.eatContextual("as") ? this.parseIdent(true) : node.local;
- nodes.push(this.finishNode(node, "ExportSpecifier"));
- }
- return nodes;
-};
-
-// Parses import declaration.
-
-pp.parseImport = function (node) {
- this.next();
- // import '...'
- if (this.type === _tokentype.types.string) {
- node.specifiers = empty;
- node.source = this.parseExprAtom();
- } else {
- node.specifiers = this.parseImportSpecifiers();
- this.expectContextual("from");
- node.source = this.type === _tokentype.types.string ? this.parseExprAtom() : this.unexpected();
- }
- this.semicolon();
- return this.finishNode(node, "ImportDeclaration");
-};
-
-// Parses a comma-separated list of module imports.
-
-pp.parseImportSpecifiers = function () {
- var nodes = [],
- first = true;
- if (this.type === _tokentype.types.name) {
- // import defaultObj, { x, y as z } from '...'
- var node = this.startNode();
- node.local = this.parseIdent();
- this.checkLVal(node.local, true);
- nodes.push(this.finishNode(node, "ImportDefaultSpecifier"));
- if (!this.eat(_tokentype.types.comma)) return nodes;
- }
- if (this.type === _tokentype.types.star) {
- var node = this.startNode();
- this.next();
- this.expectContextual("as");
- node.local = this.parseIdent();
- this.checkLVal(node.local, true);
- nodes.push(this.finishNode(node, "ImportNamespaceSpecifier"));
- return nodes;
- }
- this.expect(_tokentype.types.braceL);
- while (!this.eat(_tokentype.types.braceR)) {
- if (!first) {
- this.expect(_tokentype.types.comma);
- if (this.afterTrailingComma(_tokentype.types.braceR)) break;
- } else first = false;
-
- var node = this.startNode();
- node.imported = this.parseIdent(true);
- if (this.eatContextual("as")) {
- node.local = this.parseIdent();
- } else {
- node.local = node.imported;
- if (this.isKeyword(node.local.name)) this.unexpected(node.local.start);
- if (this.reservedWordsStrict.test(node.local.name)) this.raise(node.local.start, "The keyword '" + node.local.name + "' is reserved");
- }
- this.checkLVal(node.local, true);
- nodes.push(this.finishNode(node, "ImportSpecifier"));
- }
- return nodes;
-};
-
-},{"./state":10,"./tokentype":14,"./whitespace":16}],12:[function(_dereq_,module,exports){
-// The algorithm used to determine whether a regexp can appear at a
-// given point in the program is loosely based on sweet.js' approach.
-// See https://github.com/mozilla/sweet.js/wiki/design
-
-"use strict";
-
-exports.__esModule = true;
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-var _state = _dereq_("./state");
-
-var _tokentype = _dereq_("./tokentype");
-
-var _whitespace = _dereq_("./whitespace");
-
-var TokContext = function TokContext(token, isExpr, preserveSpace, override) {
- _classCallCheck(this, TokContext);
-
- this.token = token;
- this.isExpr = !!isExpr;
- this.preserveSpace = !!preserveSpace;
- this.override = override;
-};
-
-exports.TokContext = TokContext;
-var types = {
- b_stat: new TokContext("{", false),
- b_expr: new TokContext("{", true),
- b_tmpl: new TokContext("${", true),
- p_stat: new TokContext("(", false),
- p_expr: new TokContext("(", true),
- q_tmpl: new TokContext("`", true, true, function (p) {
- return p.readTmplToken();
- }),
- f_expr: new TokContext("function", true)
-};
-
-exports.types = types;
-var pp = _state.Parser.prototype;
-
-pp.initialContext = function () {
- return [types.b_stat];
-};
-
-pp.braceIsBlock = function (prevType) {
- if (prevType === _tokentype.types.colon) {
- var _parent = this.curContext();
- if (_parent === types.b_stat || _parent === types.b_expr) return !_parent.isExpr;
- }
- if (prevType === _tokentype.types._return) return _whitespace.lineBreak.test(this.input.slice(this.lastTokEnd, this.start));
- if (prevType === _tokentype.types._else || prevType === _tokentype.types.semi || prevType === _tokentype.types.eof || prevType === _tokentype.types.parenR) return true;
- if (prevType == _tokentype.types.braceL) return this.curContext() === types.b_stat;
- return !this.exprAllowed;
-};
-
-pp.updateContext = function (prevType) {
- var update = undefined,
- type = this.type;
- if (type.keyword && prevType == _tokentype.types.dot) this.exprAllowed = false;else if (update = type.updateContext) update.call(this, prevType);else this.exprAllowed = type.beforeExpr;
-};
-
-// Token-specific context update code
-
-_tokentype.types.parenR.updateContext = _tokentype.types.braceR.updateContext = function () {
- if (this.context.length == 1) {
- this.exprAllowed = true;
- return;
- }
- var out = this.context.pop();
- if (out === types.b_stat && this.curContext() === types.f_expr) {
- this.context.pop();
- this.exprAllowed = false;
- } else if (out === types.b_tmpl) {
- this.exprAllowed = true;
- } else {
- this.exprAllowed = !out.isExpr;
- }
-};
-
-_tokentype.types.braceL.updateContext = function (prevType) {
- this.context.push(this.braceIsBlock(prevType) ? types.b_stat : types.b_expr);
- this.exprAllowed = true;
-};
-
-_tokentype.types.dollarBraceL.updateContext = function () {
- this.context.push(types.b_tmpl);
- this.exprAllowed = true;
-};
-
-_tokentype.types.parenL.updateContext = function (prevType) {
- var statementParens = prevType === _tokentype.types._if || prevType === _tokentype.types._for || prevType === _tokentype.types._with || prevType === _tokentype.types._while;
- this.context.push(statementParens ? types.p_stat : types.p_expr);
- this.exprAllowed = true;
-};
-
-_tokentype.types.incDec.updateContext = function () {
- // tokExprAllowed stays unchanged
-};
-
-_tokentype.types._function.updateContext = function () {
- if (this.curContext() !== types.b_stat) this.context.push(types.f_expr);
- this.exprAllowed = false;
-};
-
-_tokentype.types.backQuote.updateContext = function () {
- if (this.curContext() === types.q_tmpl) this.context.pop();else this.context.push(types.q_tmpl);
- this.exprAllowed = false;
-};
-
-},{"./state":10,"./tokentype":14,"./whitespace":16}],13:[function(_dereq_,module,exports){
-"use strict";
-
-exports.__esModule = true;
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-var _identifier = _dereq_("./identifier");
-
-var _tokentype = _dereq_("./tokentype");
-
-var _state = _dereq_("./state");
-
-var _locutil = _dereq_("./locutil");
-
-var _whitespace = _dereq_("./whitespace");
-
-// Object type used to represent tokens. Note that normally, tokens
-// simply exist as properties on the parser object. This is only
-// used for the onToken callback and the external tokenizer.
-
-var Token = function Token(p) {
- _classCallCheck(this, Token);
-
- this.type = p.type;
- this.value = p.value;
- this.start = p.start;
- this.end = p.end;
- if (p.options.locations) this.loc = new _locutil.SourceLocation(p, p.startLoc, p.endLoc);
- if (p.options.ranges) this.range = [p.start, p.end];
-}
-
-// ## Tokenizer
-
-;
-
-exports.Token = Token;
-var pp = _state.Parser.prototype;
-
-// Are we running under Rhino?
-var isRhino = typeof Packages == "object" && Object.prototype.toString.call(Packages) == "[object JavaPackage]";
-
-// Move to the next token
-
-pp.next = function () {
- if (this.options.onToken) this.options.onToken(new Token(this));
-
- this.lastTokEnd = this.end;
- this.lastTokStart = this.start;
- this.lastTokEndLoc = this.endLoc;
- this.lastTokStartLoc = this.startLoc;
- this.nextToken();
-};
-
-pp.getToken = function () {
- this.next();
- return new Token(this);
-};
-
-// If we're in an ES6 environment, make parsers iterable
-if (typeof Symbol !== "undefined") pp[Symbol.iterator] = function () {
- var self = this;
- return { next: function next() {
- var token = self.getToken();
- return {
- done: token.type === _tokentype.types.eof,
- value: token
- };
- } };
-};
-
-// Toggle strict mode. Re-reads the next number or string to please
-// pedantic tests (`"use strict"; 010;` should fail).
-
-pp.setStrict = function (strict) {
- this.strict = strict;
- if (this.type !== _tokentype.types.num && this.type !== _tokentype.types.string) return;
- this.pos = this.start;
- if (this.options.locations) {
- while (this.pos < this.lineStart) {
- this.lineStart = this.input.lastIndexOf("\n", this.lineStart - 2) + 1;
- --this.curLine;
- }
- }
- this.nextToken();
-};
-
-pp.curContext = function () {
- return this.context[this.context.length - 1];
-};
-
-// Read a single token, updating the parser object's token-related
-// properties.
-
-pp.nextToken = function () {
- var curContext = this.curContext();
- if (!curContext || !curContext.preserveSpace) this.skipSpace();
-
- this.start = this.pos;
- if (this.options.locations) this.startLoc = this.curPosition();
- if (this.pos >= this.input.length) return this.finishToken(_tokentype.types.eof);
-
- if (curContext.override) return curContext.override(this);else this.readToken(this.fullCharCodeAtPos());
-};
-
-pp.readToken = function (code) {
- // Identifier or keyword. '\uXXXX' sequences are allowed in
- // identifiers, so '\' also dispatches to that.
- if (_identifier.isIdentifierStart(code, this.options.ecmaVersion >= 6) || code === 92 /* '\' */) return this.readWord();
-
- return this.getTokenFromCode(code);
-};
-
-pp.fullCharCodeAtPos = function () {
- var code = this.input.charCodeAt(this.pos);
- if (code <= 0xd7ff || code >= 0xe000) return code;
- var next = this.input.charCodeAt(this.pos + 1);
- return (code << 10) + next - 0x35fdc00;
-};
-
-pp.skipBlockComment = function () {
- var startLoc = this.options.onComment && this.curPosition();
- var start = this.pos,
- end = this.input.indexOf("*/", this.pos += 2);
- if (end === -1) this.raise(this.pos - 2, "Unterminated comment");
- this.pos = end + 2;
- if (this.options.locations) {
- _whitespace.lineBreakG.lastIndex = start;
- var match = undefined;
- while ((match = _whitespace.lineBreakG.exec(this.input)) && match.index < this.pos) {
- ++this.curLine;
- this.lineStart = match.index + match[0].length;
- }
- }
- if (this.options.onComment) this.options.onComment(true, this.input.slice(start + 2, end), start, this.pos, startLoc, this.curPosition());
-};
-
-pp.skipLineComment = function (startSkip) {
- var start = this.pos;
- var startLoc = this.options.onComment && this.curPosition();
- var ch = this.input.charCodeAt(this.pos += startSkip);
- while (this.pos < this.input.length && ch !== 10 && ch !== 13 && ch !== 8232 && ch !== 8233) {
- ++this.pos;
- ch = this.input.charCodeAt(this.pos);
- }
- if (this.options.onComment) this.options.onComment(false, this.input.slice(start + startSkip, this.pos), start, this.pos, startLoc, this.curPosition());
-};
-
-// Called at the start of the parse and after every token. Skips
-// whitespace and comments, and.
-
-pp.skipSpace = function () {
- loop: while (this.pos < this.input.length) {
- var ch = this.input.charCodeAt(this.pos);
- switch (ch) {
- case 32:case 160:
- // ' '
- ++this.pos;
- break;
- case 13:
- if (this.input.charCodeAt(this.pos + 1) === 10) {
- ++this.pos;
- }
- case 10:case 8232:case 8233:
- ++this.pos;
- if (this.options.locations) {
- ++this.curLine;
- this.lineStart = this.pos;
- }
- break;
- case 47:
- // '/'
- switch (this.input.charCodeAt(this.pos + 1)) {
- case 42:
- // '*'
- this.skipBlockComment();
- break;
- case 47:
- this.skipLineComment(2);
- break;
- default:
- break loop;
- }
- break;
- default:
- if (ch > 8 && ch < 14 || ch >= 5760 && _whitespace.nonASCIIwhitespace.test(String.fromCharCode(ch))) {
- ++this.pos;
- } else {
- break loop;
- }
- }
- }
-};
-
-// Called at the end of every token. Sets `end`, `val`, and
-// maintains `context` and `exprAllowed`, and skips the space after
-// the token, so that the next one's `start` will point at the
-// right position.
-
-pp.finishToken = function (type, val) {
- this.end = this.pos;
- if (this.options.locations) this.endLoc = this.curPosition();
- var prevType = this.type;
- this.type = type;
- this.value = val;
-
- this.updateContext(prevType);
-};
-
-// ### Token reading
-
-// This is the function that is called to fetch the next token. It
-// is somewhat obscure, because it works in character codes rather
-// than characters, and because operator parsing has been inlined
-// into it.
-//
-// All in the name of speed.
-//
-pp.readToken_dot = function () {
- var next = this.input.charCodeAt(this.pos + 1);
- if (next >= 48 && next <= 57) return this.readNumber(true);
- var next2 = this.input.charCodeAt(this.pos + 2);
- if (this.options.ecmaVersion >= 6 && next === 46 && next2 === 46) {
- // 46 = dot '.'
- this.pos += 3;
- return this.finishToken(_tokentype.types.ellipsis);
- } else {
- ++this.pos;
- return this.finishToken(_tokentype.types.dot);
- }
-};
-
-pp.readToken_slash = function () {
- // '/'
- var next = this.input.charCodeAt(this.pos + 1);
- if (this.exprAllowed) {
- ++this.pos;return this.readRegexp();
- }
- if (next === 61) return this.finishOp(_tokentype.types.assign, 2);
- return this.finishOp(_tokentype.types.slash, 1);
-};
-
-pp.readToken_mult_modulo = function (code) {
- // '%*'
- var next = this.input.charCodeAt(this.pos + 1);
- if (next === 61) return this.finishOp(_tokentype.types.assign, 2);
- return this.finishOp(code === 42 ? _tokentype.types.star : _tokentype.types.modulo, 1);
-};
-
-pp.readToken_pipe_amp = function (code) {
- // '|&'
- var next = this.input.charCodeAt(this.pos + 1);
- if (next === code) return this.finishOp(code === 124 ? _tokentype.types.logicalOR : _tokentype.types.logicalAND, 2);
- if (next === 61) return this.finishOp(_tokentype.types.assign, 2);
- return this.finishOp(code === 124 ? _tokentype.types.bitwiseOR : _tokentype.types.bitwiseAND, 1);
-};
-
-pp.readToken_caret = function () {
- // '^'
- var next = this.input.charCodeAt(this.pos + 1);
- if (next === 61) return this.finishOp(_tokentype.types.assign, 2);
- return this.finishOp(_tokentype.types.bitwiseXOR, 1);
-};
-
-pp.readToken_plus_min = function (code) {
- // '+-'
- var next = this.input.charCodeAt(this.pos + 1);
- if (next === code) {
- if (next == 45 && this.input.charCodeAt(this.pos + 2) == 62 && _whitespace.lineBreak.test(this.input.slice(this.lastTokEnd, this.pos))) {
- // A `-->` line comment
- this.skipLineComment(3);
- this.skipSpace();
- return this.nextToken();
- }
- return this.finishOp(_tokentype.types.incDec, 2);
- }
- if (next === 61) return this.finishOp(_tokentype.types.assign, 2);
- return this.finishOp(_tokentype.types.plusMin, 1);
-};
-
-pp.readToken_lt_gt = function (code) {
- // '<>'
- var next = this.input.charCodeAt(this.pos + 1);
- var size = 1;
- if (next === code) {
- size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2;
- if (this.input.charCodeAt(this.pos + size) === 61) return this.finishOp(_tokentype.types.assign, size + 1);
- return this.finishOp(_tokentype.types.bitShift, size);
- }
- if (next == 33 && code == 60 && this.input.charCodeAt(this.pos + 2) == 45 && this.input.charCodeAt(this.pos + 3) == 45) {
- if (this.inModule) this.unexpected();
- // `<!--`, an XML-style comment that should be interpreted as a line comment
- this.skipLineComment(4);
- this.skipSpace();
- return this.nextToken();
- }
- if (next === 61) size = this.input.charCodeAt(this.pos + 2) === 61 ? 3 : 2;
- return this.finishOp(_tokentype.types.relational, size);
-};
-
-pp.readToken_eq_excl = function (code) {
- // '=!'
- var next = this.input.charCodeAt(this.pos + 1);
- if (next === 61) return this.finishOp(_tokentype.types.equality, this.input.charCodeAt(this.pos + 2) === 61 ? 3 : 2);
- if (code === 61 && next === 62 && this.options.ecmaVersion >= 6) {
- // '=>'
- this.pos += 2;
- return this.finishToken(_tokentype.types.arrow);
- }
- return this.finishOp(code === 61 ? _tokentype.types.eq : _tokentype.types.prefix, 1);
-};
-
-pp.getTokenFromCode = function (code) {
- switch (code) {
- // The interpretation of a dot depends on whether it is followed
- // by a digit or another two dots.
- case 46:
- // '.'
- return this.readToken_dot();
-
- // Punctuation tokens.
- case 40:
- ++this.pos;return this.finishToken(_tokentype.types.parenL);
- case 41:
- ++this.pos;return this.finishToken(_tokentype.types.parenR);
- case 59:
- ++this.pos;return this.finishToken(_tokentype.types.semi);
- case 44:
- ++this.pos;return this.finishToken(_tokentype.types.comma);
- case 91:
- ++this.pos;return this.finishToken(_tokentype.types.bracketL);
- case 93:
- ++this.pos;return this.finishToken(_tokentype.types.bracketR);
- case 123:
- ++this.pos;return this.finishToken(_tokentype.types.braceL);
- case 125:
- ++this.pos;return this.finishToken(_tokentype.types.braceR);
- case 58:
- ++this.pos;return this.finishToken(_tokentype.types.colon);
- case 63:
- ++this.pos;return this.finishToken(_tokentype.types.question);
-
- case 96:
- // '`'
- if (this.options.ecmaVersion < 6) break;
- ++this.pos;
- return this.finishToken(_tokentype.types.backQuote);
-
- case 48:
- // '0'
- var next = this.input.charCodeAt(this.pos + 1);
- if (next === 120 || next === 88) return this.readRadixNumber(16); // '0x', '0X' - hex number
- if (this.options.ecmaVersion >= 6) {
- if (next === 111 || next === 79) return this.readRadixNumber(8); // '0o', '0O' - octal number
- if (next === 98 || next === 66) return this.readRadixNumber(2); // '0b', '0B' - binary number
- }
- // Anything else beginning with a digit is an integer, octal
- // number, or float.
- case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:
- // 1-9
- return this.readNumber(false);
-
- // Quotes produce strings.
- case 34:case 39:
- // '"', "'"
- return this.readString(code);
-
- // Operators are parsed inline in tiny state machines. '=' (61) is
- // often referred to. `finishOp` simply skips the amount of
- // characters it is given as second argument, and returns a token
- // of the type given by its first argument.
-
- case 47:
- // '/'
- return this.readToken_slash();
-
- case 37:case 42:
- // '%*'
- return this.readToken_mult_modulo(code);
-
- case 124:case 38:
- // '|&'
- return this.readToken_pipe_amp(code);
-
- case 94:
- // '^'
- return this.readToken_caret();
-
- case 43:case 45:
- // '+-'
- return this.readToken_plus_min(code);
-
- case 60:case 62:
- // '<>'
- return this.readToken_lt_gt(code);
-
- case 61:case 33:
- // '=!'
- return this.readToken_eq_excl(code);
-
- case 126:
- // '~'
- return this.finishOp(_tokentype.types.prefix, 1);
- }
-
- this.raise(this.pos, "Unexpected character '" + codePointToString(code) + "'");
-};
-
-pp.finishOp = function (type, size) {
- var str = this.input.slice(this.pos, this.pos + size);
- this.pos += size;
- return this.finishToken(type, str);
-};
-
-// Parse a regular expression. Some context-awareness is necessary,
-// since a '/' inside a '[]' set does not end the expression.
-
-function tryCreateRegexp(src, flags, throwErrorAt, parser) {
- try {
- return new RegExp(src, flags);
- } catch (e) {
- if (throwErrorAt !== undefined) {
- if (e instanceof SyntaxError) parser.raise(throwErrorAt, "Error parsing regular expression: " + e.message);
- throw e;
- }
- }
-}
-
-var regexpUnicodeSupport = !!tryCreateRegexp("￿", "u");
-
-pp.readRegexp = function () {
- var _this = this;
-
- var escaped = undefined,
- inClass = undefined,
- start = this.pos;
- for (;;) {
- if (this.pos >= this.input.length) this.raise(start, "Unterminated regular expression");
- var ch = this.input.charAt(this.pos);
- if (_whitespace.lineBreak.test(ch)) this.raise(start, "Unterminated regular expression");
- if (!escaped) {
- if (ch === "[") inClass = true;else if (ch === "]" && inClass) inClass = false;else if (ch === "/" && !inClass) break;
- escaped = ch === "\\";
- } else escaped = false;
- ++this.pos;
- }
- var content = this.input.slice(start, this.pos);
- ++this.pos;
- // Need to use `readWord1` because '\uXXXX' sequences are allowed
- // here (don't ask).
- var mods = this.readWord1();
- var tmp = content;
- if (mods) {
- var validFlags = /^[gim]*$/;
- if (this.options.ecmaVersion >= 6) validFlags = /^[gimuy]*$/;
- if (!validFlags.test(mods)) this.raise(start, "Invalid regular expression flag");
- if (mods.indexOf('u') >= 0 && !regexpUnicodeSupport) {
- // Replace each astral symbol and every Unicode escape sequence that
- // possibly represents an astral symbol or a paired surrogate with a
- // single ASCII symbol to avoid throwing on regular expressions that
- // are only valid in combination with the `/u` flag.
- // Note: replacing with the ASCII symbol `x` might cause false
- // negatives in unlikely scenarios. For example, `[\u{61}-b]` is a
- // perfectly valid pattern that is equivalent to `[a-b]`, but it would
- // be replaced by `[x-b]` which throws an error.
- tmp = tmp.replace(/\\u\{([0-9a-fA-F]+)\}/g, function (_match, code, offset) {
- code = Number("0x" + code);
- if (code > 0x10FFFF) _this.raise(start + offset + 3, "Code point out of bounds");
- return "x";
- });
- tmp = tmp.replace(/\\u([a-fA-F0-9]{4})|[\uD800-\uDBFF][\uDC00-\uDFFF]/g, "x");
- }
- }
- // Detect invalid regular expressions.
- var value = null;
- // Rhino's regular expression parser is flaky and throws uncatchable exceptions,
- // so don't do detection if we are running under Rhino
- if (!isRhino) {
- tryCreateRegexp(tmp, undefined, start, this);
- // Get a regular expression object for this pattern-flag pair, or `null` in
- // case the current environment doesn't support the flags it uses.
- value = tryCreateRegexp(content, mods);
- }
- return this.finishToken(_tokentype.types.regexp, { pattern: content, flags: mods, value: value });
-};
-
-// Read an integer in the given radix. Return null if zero digits
-// were read, the integer value otherwise. When `len` is given, this
-// will return `null` unless the integer has exactly `len` digits.
-
-pp.readInt = function (radix, len) {
- var start = this.pos,
- total = 0;
- for (var i = 0, e = len == null ? Infinity : len; i < e; ++i) {
- var code = this.input.charCodeAt(this.pos),
- val = undefined;
- if (code >= 97) val = code - 97 + 10; // a
- else if (code >= 65) val = code - 65 + 10; // A
- else if (code >= 48 && code <= 57) val = code - 48; // 0-9
- else val = Infinity;
- if (val >= radix) break;
- ++this.pos;
- total = total * radix + val;
- }
- if (this.pos === start || len != null && this.pos - start !== len) return null;
-
- return total;
-};
-
-pp.readRadixNumber = function (radix) {
- this.pos += 2; // 0x
- var val = this.readInt(radix);
- if (val == null) this.raise(this.start + 2, "Expected number in radix " + radix);
- if (_identifier.isIdentifierStart(this.fullCharCodeAtPos())) this.raise(this.pos, "Identifier directly after number");
- return this.finishToken(_tokentype.types.num, val);
-};
-
-// Read an integer, octal integer, or floating-point number.
-
-pp.readNumber = function (startsWithDot) {
- var start = this.pos,
- isFloat = false,
- octal = this.input.charCodeAt(this.pos) === 48;
- if (!startsWithDot && this.readInt(10) === null) this.raise(start, "Invalid number");
- var next = this.input.charCodeAt(this.pos);
- if (next === 46) {
- // '.'
- ++this.pos;
- this.readInt(10);
- isFloat = true;
- next = this.input.charCodeAt(this.pos);
- }
- if (next === 69 || next === 101) {
- // 'eE'
- next = this.input.charCodeAt(++this.pos);
- if (next === 43 || next === 45) ++this.pos; // '+-'
- if (this.readInt(10) === null) this.raise(start, "Invalid number");
- isFloat = true;
- }
- if (_identifier.isIdentifierStart(this.fullCharCodeAtPos())) this.raise(this.pos, "Identifier directly after number");
-
- var str = this.input.slice(start, this.pos),
- val = undefined;
- if (isFloat) val = parseFloat(str);else if (!octal || str.length === 1) val = parseInt(str, 10);else if (/[89]/.test(str) || this.strict) this.raise(start, "Invalid number");else val = parseInt(str, 8);
- return this.finishToken(_tokentype.types.num, val);
-};
-
-// Read a string value, interpreting backslash-escapes.
-
-pp.readCodePoint = function () {
- var ch = this.input.charCodeAt(this.pos),
- code = undefined;
-
- if (ch === 123) {
- if (this.options.ecmaVersion < 6) this.unexpected();
- var codePos = ++this.pos;
- code = this.readHexChar(this.input.indexOf('}', this.pos) - this.pos);
- ++this.pos;
- if (code > 0x10FFFF) this.raise(codePos, "Code point out of bounds");
- } else {
- code = this.readHexChar(4);
- }
- return code;
-};
-
-function codePointToString(code) {
- // UTF-16 Decoding
- if (code <= 0xFFFF) return String.fromCharCode(code);
- code -= 0x10000;
- return String.fromCharCode((code >> 10) + 0xD800, (code & 1023) + 0xDC00);
-}
-
-pp.readString = function (quote) {
- var out = "",
- chunkStart = ++this.pos;
- for (;;) {
- if (this.pos >= this.input.length) this.raise(this.start, "Unterminated string constant");
- var ch = this.input.charCodeAt(this.pos);
- if (ch === quote) break;
- if (ch === 92) {
- // '\'
- out += this.input.slice(chunkStart, this.pos);
- out += this.readEscapedChar(false);
- chunkStart = this.pos;
- } else {
- if (_whitespace.isNewLine(ch)) this.raise(this.start, "Unterminated string constant");
- ++this.pos;
- }
- }
- out += this.input.slice(chunkStart, this.pos++);
- return this.finishToken(_tokentype.types.string, out);
-};
-
-// Reads template string tokens.
-
-pp.readTmplToken = function () {
- var out = "",
- chunkStart = this.pos;
- for (;;) {
- if (this.pos >= this.input.length) this.raise(this.start, "Unterminated template");
- var ch = this.input.charCodeAt(this.pos);
- if (ch === 96 || ch === 36 && this.input.charCodeAt(this.pos + 1) === 123) {
- // '`', '${'
- if (this.pos === this.start && this.type === _tokentype.types.template) {
- if (ch === 36) {
- this.pos += 2;
- return this.finishToken(_tokentype.types.dollarBraceL);
- } else {
- ++this.pos;
- return this.finishToken(_tokentype.types.backQuote);
- }
- }
- out += this.input.slice(chunkStart, this.pos);
- return this.finishToken(_tokentype.types.template, out);
- }
- if (ch === 92) {
- // '\'
- out += this.input.slice(chunkStart, this.pos);
- out += this.readEscapedChar(true);
- chunkStart = this.pos;
- } else if (_whitespace.isNewLine(ch)) {
- out += this.input.slice(chunkStart, this.pos);
- ++this.pos;
- switch (ch) {
- case 13:
- if (this.input.charCodeAt(this.pos) === 10) ++this.pos;
- case 10:
- out += "\n";
- break;
- default:
- out += String.fromCharCode(ch);
- break;
- }
- if (this.options.locations) {
- ++this.curLine;
- this.lineStart = this.pos;
- }
- chunkStart = this.pos;
- } else {
- ++this.pos;
- }
- }
-};
-
-// Used to read escaped characters
-
-pp.readEscapedChar = function (inTemplate) {
- var ch = this.input.charCodeAt(++this.pos);
- ++this.pos;
- switch (ch) {
- case 110:
- return "\n"; // 'n' -> '\n'
- case 114:
- return "\r"; // 'r' -> '\r'
- case 120:
- return String.fromCharCode(this.readHexChar(2)); // 'x'
- case 117:
- return codePointToString(this.readCodePoint()); // 'u'
- case 116:
- return "\t"; // 't' -> '\t'
- case 98:
- return "\b"; // 'b' -> '\b'
- case 118:
- return "\u000b"; // 'v' -> '\u000b'
- case 102:
- return "\f"; // 'f' -> '\f'
- case 13:
- if (this.input.charCodeAt(this.pos) === 10) ++this.pos; // '\r\n'
- case 10:
- // ' \n'
- if (this.options.locations) {
- this.lineStart = this.pos;++this.curLine;
- }
- return "";
- default:
- if (ch >= 48 && ch <= 55) {
- var octalStr = this.input.substr(this.pos - 1, 3).match(/^[0-7]+/)[0];
- var octal = parseInt(octalStr, 8);
- if (octal > 255) {
- octalStr = octalStr.slice(0, -1);
- octal = parseInt(octalStr, 8);
- }
- if (octalStr !== "0" && (this.strict || inTemplate)) {
- this.raise(this.pos - 2, "Octal literal in strict mode");
- }
- this.pos += octalStr.length - 1;
- return String.fromCharCode(octal);
- }
- return String.fromCharCode(ch);
- }
-};
-
-// Used to read character escape sequences ('\x', '\u', '\U').
-
-pp.readHexChar = function (len) {
- var codePos = this.pos;
- var n = this.readInt(16, len);
- if (n === null) this.raise(codePos, "Bad character escape sequence");
- return n;
-};
-
-// Read an identifier, and return it as a string. Sets `this.containsEsc`
-// to whether the word contained a '\u' escape.
-//
-// Incrementally adds only escaped chars, adding other chunks as-is
-// as a micro-optimization.
-
-pp.readWord1 = function () {
- this.containsEsc = false;
- var word = "",
- first = true,
- chunkStart = this.pos;
- var astral = this.options.ecmaVersion >= 6;
- while (this.pos < this.input.length) {
- var ch = this.fullCharCodeAtPos();
- if (_identifier.isIdentifierChar(ch, astral)) {
- this.pos += ch <= 0xffff ? 1 : 2;
- } else if (ch === 92) {
- // "\"
- this.containsEsc = true;
- word += this.input.slice(chunkStart, this.pos);
- var escStart = this.pos;
- if (this.input.charCodeAt(++this.pos) != 117) // "u"
- this.raise(this.pos, "Expecting Unicode escape sequence \\uXXXX");
- ++this.pos;
- var esc = this.readCodePoint();
- if (!(first ? _identifier.isIdentifierStart : _identifier.isIdentifierChar)(esc, astral)) this.raise(escStart, "Invalid Unicode escape");
- word += codePointToString(esc);
- chunkStart = this.pos;
- } else {
- break;
- }
- first = false;
- }
- return word + this.input.slice(chunkStart, this.pos);
-};
-
-// Read an identifier or keyword token. Will check for reserved
-// words when necessary.
-
-pp.readWord = function () {
- var word = this.readWord1();
- var type = _tokentype.types.name;
- if ((this.options.ecmaVersion >= 6 || !this.containsEsc) && this.keywords.test(word)) type = _tokentype.keywords[word];
- return this.finishToken(type, word);
-};
-
-},{"./identifier":2,"./locutil":5,"./state":10,"./tokentype":14,"./whitespace":16}],14:[function(_dereq_,module,exports){
-// ## Token types
-
-// The assignment of fine-grained, information-carrying type objects
-// allows the tokenizer to store the information it has about a
-// token in a way that is very cheap for the parser to look up.
-
-// All token type variables start with an underscore, to make them
-// easy to recognize.
-
-// The `beforeExpr` property is used to disambiguate between regular
-// expressions and divisions. It is set on all token types that can
-// be followed by an expression (thus, a slash after them would be a
-// regular expression).
-//
-// The `startsExpr` property is used to check if the token ends a
-// `yield` expression. It is set on all token types that either can
-// directly start an expression (like a quotation mark) or can
-// continue an expression (like the body of a string).
-//
-// `isLoop` marks a keyword as starting a loop, which is important
-// to know when parsing a label, in order to allow or disallow
-// continue jumps to that label.
-
-"use strict";
-
-exports.__esModule = true;
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-var TokenType = function TokenType(label) {
- var conf = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
-
- _classCallCheck(this, TokenType);
-
- this.label = label;
- this.keyword = conf.keyword;
- this.beforeExpr = !!conf.beforeExpr;
- this.startsExpr = !!conf.startsExpr;
- this.isLoop = !!conf.isLoop;
- this.isAssign = !!conf.isAssign;
- this.prefix = !!conf.prefix;
- this.postfix = !!conf.postfix;
- this.binop = conf.binop || null;
- this.updateContext = null;
-};
-
-exports.TokenType = TokenType;
-
-function binop(name, prec) {
- return new TokenType(name, { beforeExpr: true, binop: prec });
-}
-var beforeExpr = { beforeExpr: true },
- startsExpr = { startsExpr: true };
-
-var types = {
- num: new TokenType("num", startsExpr),
- regexp: new TokenType("regexp", startsExpr),
- string: new TokenType("string", startsExpr),
- name: new TokenType("name", startsExpr),
- eof: new TokenType("eof"),
-
- // Punctuation token types.
- bracketL: new TokenType("[", { beforeExpr: true, startsExpr: true }),
- bracketR: new TokenType("]"),
- braceL: new TokenType("{", { beforeExpr: true, startsExpr: true }),
- braceR: new TokenType("}"),
- parenL: new TokenType("(", { beforeExpr: true, startsExpr: true }),
- parenR: new TokenType(")"),
- comma: new TokenType(",", beforeExpr),
- semi: new TokenType(";", beforeExpr),
- colon: new TokenType(":", beforeExpr),
- dot: new TokenType("."),
- question: new TokenType("?", beforeExpr),
- arrow: new TokenType("=>", beforeExpr),
- template: new TokenType("template"),
- ellipsis: new TokenType("...", beforeExpr),
- backQuote: new TokenType("`", startsExpr),
- dollarBraceL: new TokenType("${", { beforeExpr: true, startsExpr: true }),
-
- // Operators. These carry several kinds of properties to help the
- // parser use them properly (the presence of these properties is
- // what categorizes them as operators).
- //
- // `binop`, when present, specifies that this operator is a binary
- // operator, and will refer to its precedence.
- //
- // `prefix` and `postfix` mark the operator as a prefix or postfix
- // unary operator.
- //
- // `isAssign` marks all of `=`, `+=`, `-=` etcetera, which act as
- // binary operators with a very low precedence, that should result
- // in AssignmentExpression nodes.
-
- eq: new TokenType("=", { beforeExpr: true, isAssign: true }),
- assign: new TokenType("_=", { beforeExpr: true, isAssign: true }),
- incDec: new TokenType("++/--", { prefix: true, postfix: true, startsExpr: true }),
- prefix: new TokenType("prefix", { beforeExpr: true, prefix: true, startsExpr: true }),
- logicalOR: binop("||", 1),
- logicalAND: binop("&&", 2),
- bitwiseOR: binop("|", 3),
- bitwiseXOR: binop("^", 4),
- bitwiseAND: binop("&", 5),
- equality: binop("==/!=", 6),
- relational: binop("</>", 7),
- bitShift: binop("<</>>", 8),
- plusMin: new TokenType("+/-", { beforeExpr: true, binop: 9, prefix: true, startsExpr: true }),
- modulo: binop("%", 10),
- star: binop("*", 10),
- slash: binop("/", 10)
-};
-
-exports.types = types;
-// Map keyword names to token types.
-
-var keywords = {};
-
-exports.keywords = keywords;
-// Succinct definitions of keyword token types
-function kw(name) {
- var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
-
- options.keyword = name;
- keywords[name] = types["_" + name] = new TokenType(name, options);
-}
-
-kw("break");
-kw("case", beforeExpr);
-kw("catch");
-kw("continue");
-kw("debugger");
-kw("default", beforeExpr);
-kw("do", { isLoop: true, beforeExpr: true });
-kw("else", beforeExpr);
-kw("finally");
-kw("for", { isLoop: true });
-kw("function", startsExpr);
-kw("if");
-kw("return", beforeExpr);
-kw("switch");
-kw("throw", beforeExpr);
-kw("try");
-kw("var");
-kw("let");
-kw("const");
-kw("while", { isLoop: true });
-kw("with");
-kw("new", { beforeExpr: true, startsExpr: true });
-kw("this", startsExpr);
-kw("super", startsExpr);
-kw("class");
-kw("extends", beforeExpr);
-kw("export");
-kw("import");
-kw("yield", { beforeExpr: true, startsExpr: true });
-kw("null", startsExpr);
-kw("true", startsExpr);
-kw("false", startsExpr);
-kw("in", { beforeExpr: true, binop: 7 });
-kw("instanceof", { beforeExpr: true, binop: 7 });
-kw("typeof", { beforeExpr: true, prefix: true, startsExpr: true });
-kw("void", { beforeExpr: true, prefix: true, startsExpr: true });
-kw("delete", { beforeExpr: true, prefix: true, startsExpr: true });
-
-},{}],15:[function(_dereq_,module,exports){
-"use strict";
-
-exports.__esModule = true;
-exports.isArray = isArray;
-exports.has = has;
-
-function isArray(obj) {
- return Object.prototype.toString.call(obj) === "[object Array]";
-}
-
-// Checks if an object has a property.
-
-function has(obj, propName) {
- return Object.prototype.hasOwnProperty.call(obj, propName);
-}
-
-},{}],16:[function(_dereq_,module,exports){
-// Matches a whole line break (where CRLF is considered a single
-// line break). Used to count lines.
-
-"use strict";
-
-exports.__esModule = true;
-exports.isNewLine = isNewLine;
-var lineBreak = /\r\n?|\n|\u2028|\u2029/;
-exports.lineBreak = lineBreak;
-var lineBreakG = new RegExp(lineBreak.source, "g");
-
-exports.lineBreakG = lineBreakG;
-
-function isNewLine(code) {
- return code === 10 || code === 13 || code === 0x2028 || code == 0x2029;
-}
-
-var nonASCIIwhitespace = /[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/;
-exports.nonASCIIwhitespace = nonASCIIwhitespace;
-
-},{}]},{},[3])(3)
-}); \ No newline at end of file
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn_loose.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn_loose.js
deleted file mode 100644
index d18e6aae4d..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn_loose.js
+++ /dev/null
@@ -1,1300 +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.acorn || (g.acorn = {})).loose = 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<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
-"use strict";
-
-module.exports = typeof acorn != 'undefined' ? acorn : require("./acorn");
-
-},{}],2:[function(_dereq_,module,exports){
-"use strict";
-
-var _state = _dereq_("./state");
-
-var _parseutil = _dereq_("./parseutil");
-
-var _ = _dereq_("..");
-
-var lp = _state.LooseParser.prototype;
-
-lp.checkLVal = function (expr) {
- if (!expr) return expr;
- switch (expr.type) {
- case "Identifier":
- case "MemberExpression":
- return expr;
-
- case "ParenthesizedExpression":
- expr.expression = this.checkLVal(expr.expression);
- return expr;
-
- default:
- return this.dummyIdent();
- }
-};
-
-lp.parseExpression = function (noIn) {
- var start = this.storeCurrentPos();
- var expr = this.parseMaybeAssign(noIn);
- if (this.tok.type === _.tokTypes.comma) {
- var node = this.startNodeAt(start);
- node.expressions = [expr];
- while (this.eat(_.tokTypes.comma)) node.expressions.push(this.parseMaybeAssign(noIn));
- return this.finishNode(node, "SequenceExpression");
- }
- return expr;
-};
-
-lp.parseParenExpression = function () {
- this.pushCx();
- this.expect(_.tokTypes.parenL);
- var val = this.parseExpression();
- this.popCx();
- this.expect(_.tokTypes.parenR);
- return val;
-};
-
-lp.parseMaybeAssign = function (noIn) {
- var start = this.storeCurrentPos();
- var left = this.parseMaybeConditional(noIn);
- if (this.tok.type.isAssign) {
- var node = this.startNodeAt(start);
- node.operator = this.tok.value;
- node.left = this.tok.type === _.tokTypes.eq ? this.toAssignable(left) : this.checkLVal(left);
- this.next();
- node.right = this.parseMaybeAssign(noIn);
- return this.finishNode(node, "AssignmentExpression");
- }
- return left;
-};
-
-lp.parseMaybeConditional = function (noIn) {
- var start = this.storeCurrentPos();
- var expr = this.parseExprOps(noIn);
- if (this.eat(_.tokTypes.question)) {
- var node = this.startNodeAt(start);
- node.test = expr;
- node.consequent = this.parseMaybeAssign();
- node.alternate = this.expect(_.tokTypes.colon) ? this.parseMaybeAssign(noIn) : this.dummyIdent();
- return this.finishNode(node, "ConditionalExpression");
- }
- return expr;
-};
-
-lp.parseExprOps = function (noIn) {
- var start = this.storeCurrentPos();
- var indent = this.curIndent,
- line = this.curLineStart;
- return this.parseExprOp(this.parseMaybeUnary(noIn), start, -1, noIn, indent, line);
-};
-
-lp.parseExprOp = function (left, start, minPrec, noIn, indent, line) {
- if (this.curLineStart != line && this.curIndent < indent && this.tokenStartsLine()) return left;
- var prec = this.tok.type.binop;
- if (prec != null && (!noIn || this.tok.type !== _.tokTypes._in)) {
- if (prec > minPrec) {
- var node = this.startNodeAt(start);
- node.left = left;
- node.operator = this.tok.value;
- this.next();
- if (this.curLineStart != line && this.curIndent < indent && this.tokenStartsLine()) {
- node.right = this.dummyIdent();
- } else {
- var rightStart = this.storeCurrentPos();
- node.right = this.parseExprOp(this.parseMaybeUnary(noIn), rightStart, prec, noIn, indent, line);
- }
- this.finishNode(node, /&&|\|\|/.test(node.operator) ? "LogicalExpression" : "BinaryExpression");
- return this.parseExprOp(node, start, minPrec, noIn, indent, line);
- }
- }
- return left;
-};
-
-lp.parseMaybeUnary = function (noIn) {
- if (this.tok.type.prefix) {
- var node = this.startNode(),
- update = this.tok.type === _.tokTypes.incDec;
- node.operator = this.tok.value;
- node.prefix = true;
- this.next();
- node.argument = this.parseMaybeUnary(noIn);
- if (update) node.argument = this.checkLVal(node.argument);
- return this.finishNode(node, update ? "UpdateExpression" : "UnaryExpression");
- } else if (this.tok.type === _.tokTypes.ellipsis) {
- var node = this.startNode();
- this.next();
- node.argument = this.parseMaybeUnary(noIn);
- return this.finishNode(node, "SpreadElement");
- }
- var start = this.storeCurrentPos();
- var expr = this.parseExprSubscripts();
- while (this.tok.type.postfix && !this.canInsertSemicolon()) {
- var node = this.startNodeAt(start);
- node.operator = this.tok.value;
- node.prefix = false;
- node.argument = this.checkLVal(expr);
- this.next();
- expr = this.finishNode(node, "UpdateExpression");
- }
- return expr;
-};
-
-lp.parseExprSubscripts = function () {
- var start = this.storeCurrentPos();
- return this.parseSubscripts(this.parseExprAtom(), start, false, this.curIndent, this.curLineStart);
-};
-
-lp.parseSubscripts = function (base, start, noCalls, startIndent, line) {
- for (;;) {
- if (this.curLineStart != line && this.curIndent <= startIndent && this.tokenStartsLine()) {
- if (this.tok.type == _.tokTypes.dot && this.curIndent == startIndent) --startIndent;else return base;
- }
-
- if (this.eat(_.tokTypes.dot)) {
- var node = this.startNodeAt(start);
- node.object = base;
- if (this.curLineStart != line && this.curIndent <= startIndent && this.tokenStartsLine()) node.property = this.dummyIdent();else node.property = this.parsePropertyAccessor() || this.dummyIdent();
- node.computed = false;
- base = this.finishNode(node, "MemberExpression");
- } else if (this.tok.type == _.tokTypes.bracketL) {
- this.pushCx();
- this.next();
- var node = this.startNodeAt(start);
- node.object = base;
- node.property = this.parseExpression();
- node.computed = true;
- this.popCx();
- this.expect(_.tokTypes.bracketR);
- base = this.finishNode(node, "MemberExpression");
- } else if (!noCalls && this.tok.type == _.tokTypes.parenL) {
- var node = this.startNodeAt(start);
- node.callee = base;
- node.arguments = this.parseExprList(_.tokTypes.parenR);
- base = this.finishNode(node, "CallExpression");
- } else if (this.tok.type == _.tokTypes.backQuote) {
- var node = this.startNodeAt(start);
- node.tag = base;
- node.quasi = this.parseTemplate();
- base = this.finishNode(node, "TaggedTemplateExpression");
- } else {
- return base;
- }
- }
-};
-
-lp.parseExprAtom = function () {
- var node = undefined;
- switch (this.tok.type) {
- case _.tokTypes._this:
- case _.tokTypes._super:
- var type = this.tok.type === _.tokTypes._this ? "ThisExpression" : "Super";
- node = this.startNode();
- this.next();
- return this.finishNode(node, type);
-
- case _.tokTypes.name:
- var start = this.storeCurrentPos();
- var id = this.parseIdent();
- return this.eat(_.tokTypes.arrow) ? this.parseArrowExpression(this.startNodeAt(start), [id]) : id;
-
- case _.tokTypes.regexp:
- node = this.startNode();
- var val = this.tok.value;
- node.regex = { pattern: val.pattern, flags: val.flags };
- node.value = val.value;
- node.raw = this.input.slice(this.tok.start, this.tok.end);
- this.next();
- return this.finishNode(node, "Literal");
-
- case _.tokTypes.num:case _.tokTypes.string:
- node = this.startNode();
- node.value = this.tok.value;
- node.raw = this.input.slice(this.tok.start, this.tok.end);
- this.next();
- return this.finishNode(node, "Literal");
-
- case _.tokTypes._null:case _.tokTypes._true:case _.tokTypes._false:
- node = this.startNode();
- node.value = this.tok.type === _.tokTypes._null ? null : this.tok.type === _.tokTypes._true;
- node.raw = this.tok.type.keyword;
- this.next();
- return this.finishNode(node, "Literal");
-
- case _.tokTypes.parenL:
- var parenStart = this.storeCurrentPos();
- this.next();
- var inner = this.parseExpression();
- this.expect(_.tokTypes.parenR);
- if (this.eat(_.tokTypes.arrow)) {
- return this.parseArrowExpression(this.startNodeAt(parenStart), inner.expressions || (_parseutil.isDummy(inner) ? [] : [inner]));
- }
- if (this.options.preserveParens) {
- var par = this.startNodeAt(parenStart);
- par.expression = inner;
- inner = this.finishNode(par, "ParenthesizedExpression");
- }
- return inner;
-
- case _.tokTypes.bracketL:
- node = this.startNode();
- node.elements = this.parseExprList(_.tokTypes.bracketR, true);
- return this.finishNode(node, "ArrayExpression");
-
- case _.tokTypes.braceL:
- return this.parseObj();
-
- case _.tokTypes._class:
- return this.parseClass();
-
- case _.tokTypes._function:
- node = this.startNode();
- this.next();
- return this.parseFunction(node, false);
-
- case _.tokTypes._new:
- return this.parseNew();
-
- case _.tokTypes._yield:
- node = this.startNode();
- this.next();
- if (this.semicolon() || this.canInsertSemicolon() || this.tok.type != _.tokTypes.star && !this.tok.type.startsExpr) {
- node.delegate = false;
- node.argument = null;
- } else {
- node.delegate = this.eat(_.tokTypes.star);
- node.argument = this.parseMaybeAssign();
- }
- return this.finishNode(node, "YieldExpression");
-
- case _.tokTypes.backQuote:
- return this.parseTemplate();
-
- default:
- return this.dummyIdent();
- }
-};
-
-lp.parseNew = function () {
- var node = this.startNode(),
- startIndent = this.curIndent,
- line = this.curLineStart;
- var meta = this.parseIdent(true);
- if (this.options.ecmaVersion >= 6 && this.eat(_.tokTypes.dot)) {
- node.meta = meta;
- node.property = this.parseIdent(true);
- return this.finishNode(node, "MetaProperty");
- }
- var start = this.storeCurrentPos();
- node.callee = this.parseSubscripts(this.parseExprAtom(), start, true, startIndent, line);
- if (this.tok.type == _.tokTypes.parenL) {
- node.arguments = this.parseExprList(_.tokTypes.parenR);
- } else {
- node.arguments = [];
- }
- return this.finishNode(node, "NewExpression");
-};
-
-lp.parseTemplateElement = function () {
- var elem = this.startNode();
- elem.value = {
- raw: this.input.slice(this.tok.start, this.tok.end).replace(/\r\n?/g, '\n'),
- cooked: this.tok.value
- };
- this.next();
- elem.tail = this.tok.type === _.tokTypes.backQuote;
- return this.finishNode(elem, "TemplateElement");
-};
-
-lp.parseTemplate = function () {
- var node = this.startNode();
- this.next();
- node.expressions = [];
- var curElt = this.parseTemplateElement();
- node.quasis = [curElt];
- while (!curElt.tail) {
- this.next();
- node.expressions.push(this.parseExpression());
- if (this.expect(_.tokTypes.braceR)) {
- curElt = this.parseTemplateElement();
- } else {
- curElt = this.startNode();
- curElt.value = { cooked: '', raw: '' };
- curElt.tail = true;
- }
- node.quasis.push(curElt);
- }
- this.expect(_.tokTypes.backQuote);
- return this.finishNode(node, "TemplateLiteral");
-};
-
-lp.parseObj = function () {
- var node = this.startNode();
- node.properties = [];
- this.pushCx();
- var indent = this.curIndent + 1,
- line = this.curLineStart;
- this.eat(_.tokTypes.braceL);
- if (this.curIndent + 1 < indent) {
- indent = this.curIndent;line = this.curLineStart;
- }
- while (!this.closes(_.tokTypes.braceR, indent, line)) {
- var prop = this.startNode(),
- isGenerator = undefined,
- start = undefined;
- if (this.options.ecmaVersion >= 6) {
- start = this.storeCurrentPos();
- prop.method = false;
- prop.shorthand = false;
- isGenerator = this.eat(_.tokTypes.star);
- }
- this.parsePropertyName(prop);
- if (_parseutil.isDummy(prop.key)) {
- if (_parseutil.isDummy(this.parseMaybeAssign())) this.next();this.eat(_.tokTypes.comma);continue;
- }
- if (this.eat(_.tokTypes.colon)) {
- prop.kind = "init";
- prop.value = this.parseMaybeAssign();
- } else if (this.options.ecmaVersion >= 6 && (this.tok.type === _.tokTypes.parenL || this.tok.type === _.tokTypes.braceL)) {
- prop.kind = "init";
- prop.method = true;
- prop.value = this.parseMethod(isGenerator);
- } else if (this.options.ecmaVersion >= 5 && prop.key.type === "Identifier" && !prop.computed && (prop.key.name === "get" || prop.key.name === "set") && (this.tok.type != _.tokTypes.comma && this.tok.type != _.tokTypes.braceR)) {
- prop.kind = prop.key.name;
- this.parsePropertyName(prop);
- prop.value = this.parseMethod(false);
- } else {
- prop.kind = "init";
- if (this.options.ecmaVersion >= 6) {
- if (this.eat(_.tokTypes.eq)) {
- var assign = this.startNodeAt(start);
- assign.operator = "=";
- assign.left = prop.key;
- assign.right = this.parseMaybeAssign();
- prop.value = this.finishNode(assign, "AssignmentExpression");
- } else {
- prop.value = prop.key;
- }
- } else {
- prop.value = this.dummyIdent();
- }
- prop.shorthand = true;
- }
- node.properties.push(this.finishNode(prop, "Property"));
- this.eat(_.tokTypes.comma);
- }
- this.popCx();
- if (!this.eat(_.tokTypes.braceR)) {
- // If there is no closing brace, make the node span to the start
- // of the next token (this is useful for Tern)
- this.last.end = this.tok.start;
- if (this.options.locations) this.last.loc.end = this.tok.loc.start;
- }
- return this.finishNode(node, "ObjectExpression");
-};
-
-lp.parsePropertyName = function (prop) {
- if (this.options.ecmaVersion >= 6) {
- if (this.eat(_.tokTypes.bracketL)) {
- prop.computed = true;
- prop.key = this.parseExpression();
- this.expect(_.tokTypes.bracketR);
- return;
- } else {
- prop.computed = false;
- }
- }
- var key = this.tok.type === _.tokTypes.num || this.tok.type === _.tokTypes.string ? this.parseExprAtom() : this.parseIdent();
- prop.key = key || this.dummyIdent();
-};
-
-lp.parsePropertyAccessor = function () {
- if (this.tok.type === _.tokTypes.name || this.tok.type.keyword) return this.parseIdent();
-};
-
-lp.parseIdent = function () {
- var name = this.tok.type === _.tokTypes.name ? this.tok.value : this.tok.type.keyword;
- if (!name) return this.dummyIdent();
- var node = this.startNode();
- this.next();
- node.name = name;
- return this.finishNode(node, "Identifier");
-};
-
-lp.initFunction = function (node) {
- node.id = null;
- node.params = [];
- if (this.options.ecmaVersion >= 6) {
- node.generator = false;
- node.expression = false;
- }
-};
-
-// Convert existing expression atom to assignable pattern
-// if possible.
-
-lp.toAssignable = function (node, binding) {
- if (!node || node.type == "Identifier" || node.type == "MemberExpression" && !binding) {
- // Okay
- } else if (node.type == "ParenthesizedExpression") {
- node.expression = this.toAssignable(node.expression, binding);
- } else if (this.options.ecmaVersion < 6) {
- return this.dummyIdent();
- } else if (node.type == "ObjectExpression") {
- node.type = "ObjectPattern";
- var props = node.properties;
- for (var i = 0; i < props.length; i++) {
- props[i].value = this.toAssignable(props[i].value, binding);
- }
- } else if (node.type == "ArrayExpression") {
- node.type = "ArrayPattern";
- this.toAssignableList(node.elements, binding);
- } else if (node.type == "SpreadElement") {
- node.type = "RestElement";
- node.argument = this.toAssignable(node.argument, binding);
- } else if (node.type == "AssignmentExpression") {
- node.type = "AssignmentPattern";
- delete node.operator;
- } else {
- return this.dummyIdent();
- }
- return node;
-};
-
-lp.toAssignableList = function (exprList, binding) {
- for (var i = 0; i < exprList.length; i++) {
- exprList[i] = this.toAssignable(exprList[i], binding);
- }return exprList;
-};
-
-lp.parseFunctionParams = function (params) {
- params = this.parseExprList(_.tokTypes.parenR);
- return this.toAssignableList(params, true);
-};
-
-lp.parseMethod = function (isGenerator) {
- var node = this.startNode();
- this.initFunction(node);
- node.params = this.parseFunctionParams();
- node.generator = isGenerator || false;
- node.expression = this.options.ecmaVersion >= 6 && this.tok.type !== _.tokTypes.braceL;
- node.body = node.expression ? this.parseMaybeAssign() : this.parseBlock();
- return this.finishNode(node, "FunctionExpression");
-};
-
-lp.parseArrowExpression = function (node, params) {
- this.initFunction(node);
- node.params = this.toAssignableList(params, true);
- node.expression = this.tok.type !== _.tokTypes.braceL;
- node.body = node.expression ? this.parseMaybeAssign() : this.parseBlock();
- return this.finishNode(node, "ArrowFunctionExpression");
-};
-
-lp.parseExprList = function (close, allowEmpty) {
- this.pushCx();
- var indent = this.curIndent,
- line = this.curLineStart,
- elts = [];
- this.next(); // Opening bracket
- while (!this.closes(close, indent + 1, line)) {
- if (this.eat(_.tokTypes.comma)) {
- elts.push(allowEmpty ? null : this.dummyIdent());
- continue;
- }
- var elt = this.parseMaybeAssign();
- if (_parseutil.isDummy(elt)) {
- if (this.closes(close, indent, line)) break;
- this.next();
- } else {
- elts.push(elt);
- }
- this.eat(_.tokTypes.comma);
- }
- this.popCx();
- if (!this.eat(close)) {
- // If there is no closing brace, make the node span to the start
- // of the next token (this is useful for Tern)
- this.last.end = this.tok.start;
- if (this.options.locations) this.last.loc.end = this.tok.loc.start;
- }
- return elts;
-};
-
-},{"..":1,"./parseutil":4,"./state":5}],3:[function(_dereq_,module,exports){
-// Acorn: Loose parser
-//
-// This module provides an alternative parser (`parse_dammit`) that
-// exposes that same interface as `parse`, but will try to parse
-// anything as JavaScript, repairing syntax error the best it can.
-// There are circumstances in which it will raise an error and give
-// up, but they are very rare. The resulting AST will be a mostly
-// valid JavaScript AST (as per the [Mozilla parser API][api], except
-// that:
-//
-// - Return outside functions is allowed
-//
-// - Label consistency (no conflicts, break only to existing labels)
-// is not enforced.
-//
-// - Bogus Identifier nodes with a name of `"✖"` are inserted whenever
-// the parser got too confused to return anything meaningful.
-//
-// [api]: https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API
-//
-// The expected use for this is to *first* try `acorn.parse`, and only
-// if that fails switch to `parse_dammit`. The loose parser might
-// parse badly indented code incorrectly, so **don't** use it as
-// your default parser.
-//
-// Quite a lot of acorn.js is duplicated here. The alternative was to
-// add a *lot* of extra cruft to that file, making it less readable
-// and slower. Copying and editing the code allowed me to make
-// invasive changes and simplifications without creating a complicated
-// tangle.
-
-"use strict";
-
-exports.__esModule = true;
-exports.parse_dammit = parse_dammit;
-
-function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj["default"] = obj; return newObj; } }
-
-var _ = _dereq_("..");
-
-var acorn = _interopRequireWildcard(_);
-
-var _state = _dereq_("./state");
-
-_dereq_("./tokenize");
-
-_dereq_("./statement");
-
-_dereq_("./expression");
-
-exports.LooseParser = _state.LooseParser;
-exports.pluginsLoose = _state.pluginsLoose;
-
-acorn.defaultOptions.tabSize = 4;
-
-function parse_dammit(input, options) {
- var p = new _state.LooseParser(input, options);
- p.next();
- return p.parseTopLevel();
-}
-
-acorn.parse_dammit = parse_dammit;
-acorn.LooseParser = _state.LooseParser;
-acorn.pluginsLoose = _state.pluginsLoose;
-
-},{"..":1,"./expression":2,"./state":5,"./statement":6,"./tokenize":7}],4:[function(_dereq_,module,exports){
-"use strict";
-
-exports.__esModule = true;
-exports.isDummy = isDummy;
-
-function isDummy(node) {
- return node.name == "✖";
-}
-
-},{}],5:[function(_dereq_,module,exports){
-"use strict";
-
-exports.__esModule = true;
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-var _ = _dereq_("..");
-
-// Registered plugins
-var pluginsLoose = {};
-
-exports.pluginsLoose = pluginsLoose;
-
-var LooseParser = (function () {
- function LooseParser(input, options) {
- _classCallCheck(this, LooseParser);
-
- this.toks = _.tokenizer(input, options);
- this.options = this.toks.options;
- this.input = this.toks.input;
- this.tok = this.last = { type: _.tokTypes.eof, start: 0, end: 0 };
- if (this.options.locations) {
- var here = this.toks.curPosition();
- this.tok.loc = new _.SourceLocation(this.toks, here, here);
- }
- this.ahead = []; // Tokens ahead
- this.context = []; // Indentation contexted
- this.curIndent = 0;
- this.curLineStart = 0;
- this.nextLineStart = this.lineEnd(this.curLineStart) + 1;
- // Load plugins
- this.options.pluginsLoose = options.pluginsLoose || {};
- this.loadPlugins(this.options.pluginsLoose);
- }
-
- LooseParser.prototype.startNode = function startNode() {
- return new _.Node(this.toks, this.tok.start, this.options.locations ? this.tok.loc.start : null);
- };
-
- LooseParser.prototype.storeCurrentPos = function storeCurrentPos() {
- return this.options.locations ? [this.tok.start, this.tok.loc.start] : this.tok.start;
- };
-
- LooseParser.prototype.startNodeAt = function startNodeAt(pos) {
- if (this.options.locations) {
- return new _.Node(this.toks, pos[0], pos[1]);
- } else {
- return new _.Node(this.toks, pos);
- }
- };
-
- LooseParser.prototype.finishNode = function finishNode(node, type) {
- node.type = type;
- node.end = this.last.end;
- if (this.options.locations) node.loc.end = this.last.loc.end;
- if (this.options.ranges) node.range[1] = this.last.end;
- return node;
- };
-
- LooseParser.prototype.dummyNode = function dummyNode(type) {
- var dummy = this.startNode();
- dummy.type = type;
- dummy.end = dummy.start;
- if (this.options.locations) dummy.loc.end = dummy.loc.start;
- if (this.options.ranges) dummy.range[1] = dummy.start;
- this.last = { type: _.tokTypes.name, start: dummy.start, end: dummy.start, loc: dummy.loc };
- return dummy;
- };
-
- LooseParser.prototype.dummyIdent = function dummyIdent() {
- var dummy = this.dummyNode("Identifier");
- dummy.name = "✖";
- return dummy;
- };
-
- LooseParser.prototype.dummyString = function dummyString() {
- var dummy = this.dummyNode("Literal");
- dummy.value = dummy.raw = "✖";
- return dummy;
- };
-
- LooseParser.prototype.eat = function eat(type) {
- if (this.tok.type === type) {
- this.next();
- return true;
- } else {
- return false;
- }
- };
-
- LooseParser.prototype.isContextual = function isContextual(name) {
- return this.tok.type === _.tokTypes.name && this.tok.value === name;
- };
-
- LooseParser.prototype.eatContextual = function eatContextual(name) {
- return this.tok.value === name && this.eat(_.tokTypes.name);
- };
-
- LooseParser.prototype.canInsertSemicolon = function canInsertSemicolon() {
- return this.tok.type === _.tokTypes.eof || this.tok.type === _.tokTypes.braceR || _.lineBreak.test(this.input.slice(this.last.end, this.tok.start));
- };
-
- LooseParser.prototype.semicolon = function semicolon() {
- return this.eat(_.tokTypes.semi);
- };
-
- LooseParser.prototype.expect = function expect(type) {
- if (this.eat(type)) return true;
- for (var i = 1; i <= 2; i++) {
- if (this.lookAhead(i).type == type) {
- for (var j = 0; j < i; j++) {
- this.next();
- }return true;
- }
- }
- };
-
- LooseParser.prototype.pushCx = function pushCx() {
- this.context.push(this.curIndent);
- };
-
- LooseParser.prototype.popCx = function popCx() {
- this.curIndent = this.context.pop();
- };
-
- LooseParser.prototype.lineEnd = function lineEnd(pos) {
- while (pos < this.input.length && !_.isNewLine(this.input.charCodeAt(pos))) ++pos;
- return pos;
- };
-
- LooseParser.prototype.indentationAfter = function indentationAfter(pos) {
- for (var count = 0;; ++pos) {
- var ch = this.input.charCodeAt(pos);
- if (ch === 32) ++count;else if (ch === 9) count += this.options.tabSize;else return count;
- }
- };
-
- LooseParser.prototype.closes = function closes(closeTok, indent, line, blockHeuristic) {
- if (this.tok.type === closeTok || this.tok.type === _.tokTypes.eof) return true;
- return line != this.curLineStart && this.curIndent < indent && this.tokenStartsLine() && (!blockHeuristic || this.nextLineStart >= this.input.length || this.indentationAfter(this.nextLineStart) < indent);
- };
-
- LooseParser.prototype.tokenStartsLine = function tokenStartsLine() {
- for (var p = this.tok.start - 1; p >= this.curLineStart; --p) {
- var ch = this.input.charCodeAt(p);
- if (ch !== 9 && ch !== 32) return false;
- }
- return true;
- };
-
- LooseParser.prototype.extend = function extend(name, f) {
- this[name] = f(this[name]);
- };
-
- LooseParser.prototype.loadPlugins = function loadPlugins(pluginConfigs) {
- for (var _name in pluginConfigs) {
- var plugin = pluginsLoose[_name];
- if (!plugin) throw new Error("Plugin '" + _name + "' not found");
- plugin(this, pluginConfigs[_name]);
- }
- };
-
- return LooseParser;
-})();
-
-exports.LooseParser = LooseParser;
-
-},{"..":1}],6:[function(_dereq_,module,exports){
-"use strict";
-
-var _state = _dereq_("./state");
-
-var _parseutil = _dereq_("./parseutil");
-
-var _ = _dereq_("..");
-
-var lp = _state.LooseParser.prototype;
-
-lp.parseTopLevel = function () {
- var node = this.startNodeAt(this.options.locations ? [0, _.getLineInfo(this.input, 0)] : 0);
- node.body = [];
- while (this.tok.type !== _.tokTypes.eof) node.body.push(this.parseStatement());
- this.last = this.tok;
- if (this.options.ecmaVersion >= 6) {
- node.sourceType = this.options.sourceType;
- }
- return this.finishNode(node, "Program");
-};
-
-lp.parseStatement = function () {
- var starttype = this.tok.type,
- node = this.startNode();
-
- switch (starttype) {
- case _.tokTypes._break:case _.tokTypes._continue:
- this.next();
- var isBreak = starttype === _.tokTypes._break;
- if (this.semicolon() || this.canInsertSemicolon()) {
- node.label = null;
- } else {
- node.label = this.tok.type === _.tokTypes.name ? this.parseIdent() : null;
- this.semicolon();
- }
- return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement");
-
- case _.tokTypes._debugger:
- this.next();
- this.semicolon();
- return this.finishNode(node, "DebuggerStatement");
-
- case _.tokTypes._do:
- this.next();
- node.body = this.parseStatement();
- node.test = this.eat(_.tokTypes._while) ? this.parseParenExpression() : this.dummyIdent();
- this.semicolon();
- return this.finishNode(node, "DoWhileStatement");
-
- case _.tokTypes._for:
- this.next();
- this.pushCx();
- this.expect(_.tokTypes.parenL);
- if (this.tok.type === _.tokTypes.semi) return this.parseFor(node, null);
- if (this.tok.type === _.tokTypes._var || this.tok.type === _.tokTypes._let || this.tok.type === _.tokTypes._const) {
- var _init = this.parseVar(true);
- if (_init.declarations.length === 1 && (this.tok.type === _.tokTypes._in || this.isContextual("of"))) {
- return this.parseForIn(node, _init);
- }
- return this.parseFor(node, _init);
- }
- var init = this.parseExpression(true);
- if (this.tok.type === _.tokTypes._in || this.isContextual("of")) return this.parseForIn(node, this.toAssignable(init));
- return this.parseFor(node, init);
-
- case _.tokTypes._function:
- this.next();
- return this.parseFunction(node, true);
-
- case _.tokTypes._if:
- this.next();
- node.test = this.parseParenExpression();
- node.consequent = this.parseStatement();
- node.alternate = this.eat(_.tokTypes._else) ? this.parseStatement() : null;
- return this.finishNode(node, "IfStatement");
-
- case _.tokTypes._return:
- this.next();
- if (this.eat(_.tokTypes.semi) || this.canInsertSemicolon()) node.argument = null;else {
- node.argument = this.parseExpression();this.semicolon();
- }
- return this.finishNode(node, "ReturnStatement");
-
- case _.tokTypes._switch:
- var blockIndent = this.curIndent,
- line = this.curLineStart;
- this.next();
- node.discriminant = this.parseParenExpression();
- node.cases = [];
- this.pushCx();
- this.expect(_.tokTypes.braceL);
-
- var cur = undefined;
- while (!this.closes(_.tokTypes.braceR, blockIndent, line, true)) {
- if (this.tok.type === _.tokTypes._case || this.tok.type === _.tokTypes._default) {
- var isCase = this.tok.type === _.tokTypes._case;
- if (cur) this.finishNode(cur, "SwitchCase");
- node.cases.push(cur = this.startNode());
- cur.consequent = [];
- this.next();
- if (isCase) cur.test = this.parseExpression();else cur.test = null;
- this.expect(_.tokTypes.colon);
- } else {
- if (!cur) {
- node.cases.push(cur = this.startNode());
- cur.consequent = [];
- cur.test = null;
- }
- cur.consequent.push(this.parseStatement());
- }
- }
- if (cur) this.finishNode(cur, "SwitchCase");
- this.popCx();
- this.eat(_.tokTypes.braceR);
- return this.finishNode(node, "SwitchStatement");
-
- case _.tokTypes._throw:
- this.next();
- node.argument = this.parseExpression();
- this.semicolon();
- return this.finishNode(node, "ThrowStatement");
-
- case _.tokTypes._try:
- this.next();
- node.block = this.parseBlock();
- node.handler = null;
- if (this.tok.type === _.tokTypes._catch) {
- var clause = this.startNode();
- this.next();
- this.expect(_.tokTypes.parenL);
- clause.param = this.toAssignable(this.parseExprAtom(), true);
- this.expect(_.tokTypes.parenR);
- clause.body = this.parseBlock();
- node.handler = this.finishNode(clause, "CatchClause");
- }
- node.finalizer = this.eat(_.tokTypes._finally) ? this.parseBlock() : null;
- if (!node.handler && !node.finalizer) return node.block;
- return this.finishNode(node, "TryStatement");
-
- case _.tokTypes._var:
- case _.tokTypes._let:
- case _.tokTypes._const:
- return this.parseVar();
-
- case _.tokTypes._while:
- this.next();
- node.test = this.parseParenExpression();
- node.body = this.parseStatement();
- return this.finishNode(node, "WhileStatement");
-
- case _.tokTypes._with:
- this.next();
- node.object = this.parseParenExpression();
- node.body = this.parseStatement();
- return this.finishNode(node, "WithStatement");
-
- case _.tokTypes.braceL:
- return this.parseBlock();
-
- case _.tokTypes.semi:
- this.next();
- return this.finishNode(node, "EmptyStatement");
-
- case _.tokTypes._class:
- return this.parseClass(true);
-
- case _.tokTypes._import:
- return this.parseImport();
-
- case _.tokTypes._export:
- return this.parseExport();
-
- default:
- var expr = this.parseExpression();
- if (_parseutil.isDummy(expr)) {
- this.next();
- if (this.tok.type === _.tokTypes.eof) return this.finishNode(node, "EmptyStatement");
- return this.parseStatement();
- } else if (starttype === _.tokTypes.name && expr.type === "Identifier" && this.eat(_.tokTypes.colon)) {
- node.body = this.parseStatement();
- node.label = expr;
- return this.finishNode(node, "LabeledStatement");
- } else {
- node.expression = expr;
- this.semicolon();
- return this.finishNode(node, "ExpressionStatement");
- }
- }
-};
-
-lp.parseBlock = function () {
- var node = this.startNode();
- this.pushCx();
- this.expect(_.tokTypes.braceL);
- var blockIndent = this.curIndent,
- line = this.curLineStart;
- node.body = [];
- while (!this.closes(_.tokTypes.braceR, blockIndent, line, true)) node.body.push(this.parseStatement());
- this.popCx();
- this.eat(_.tokTypes.braceR);
- return this.finishNode(node, "BlockStatement");
-};
-
-lp.parseFor = function (node, init) {
- node.init = init;
- node.test = node.update = null;
- if (this.eat(_.tokTypes.semi) && this.tok.type !== _.tokTypes.semi) node.test = this.parseExpression();
- if (this.eat(_.tokTypes.semi) && this.tok.type !== _.tokTypes.parenR) node.update = this.parseExpression();
- this.popCx();
- this.expect(_.tokTypes.parenR);
- node.body = this.parseStatement();
- return this.finishNode(node, "ForStatement");
-};
-
-lp.parseForIn = function (node, init) {
- var type = this.tok.type === _.tokTypes._in ? "ForInStatement" : "ForOfStatement";
- this.next();
- node.left = init;
- node.right = this.parseExpression();
- this.popCx();
- this.expect(_.tokTypes.parenR);
- node.body = this.parseStatement();
- return this.finishNode(node, type);
-};
-
-lp.parseVar = function (noIn) {
- var node = this.startNode();
- node.kind = this.tok.type.keyword;
- this.next();
- node.declarations = [];
- do {
- var decl = this.startNode();
- decl.id = this.options.ecmaVersion >= 6 ? this.toAssignable(this.parseExprAtom(), true) : this.parseIdent();
- decl.init = this.eat(_.tokTypes.eq) ? this.parseMaybeAssign(noIn) : null;
- node.declarations.push(this.finishNode(decl, "VariableDeclarator"));
- } while (this.eat(_.tokTypes.comma));
- if (!node.declarations.length) {
- var decl = this.startNode();
- decl.id = this.dummyIdent();
- node.declarations.push(this.finishNode(decl, "VariableDeclarator"));
- }
- if (!noIn) this.semicolon();
- return this.finishNode(node, "VariableDeclaration");
-};
-
-lp.parseClass = function (isStatement) {
- var node = this.startNode();
- this.next();
- if (this.tok.type === _.tokTypes.name) node.id = this.parseIdent();else if (isStatement) node.id = this.dummyIdent();else node.id = null;
- node.superClass = this.eat(_.tokTypes._extends) ? this.parseExpression() : null;
- node.body = this.startNode();
- node.body.body = [];
- this.pushCx();
- var indent = this.curIndent + 1,
- line = this.curLineStart;
- this.eat(_.tokTypes.braceL);
- if (this.curIndent + 1 < indent) {
- indent = this.curIndent;line = this.curLineStart;
- }
- while (!this.closes(_.tokTypes.braceR, indent, line)) {
- if (this.semicolon()) continue;
- var method = this.startNode(),
- isGenerator = undefined;
- if (this.options.ecmaVersion >= 6) {
- method["static"] = false;
- isGenerator = this.eat(_.tokTypes.star);
- }
- this.parsePropertyName(method);
- if (_parseutil.isDummy(method.key)) {
- if (_parseutil.isDummy(this.parseMaybeAssign())) this.next();this.eat(_.tokTypes.comma);continue;
- }
- if (method.key.type === "Identifier" && !method.computed && method.key.name === "static" && (this.tok.type != _.tokTypes.parenL && this.tok.type != _.tokTypes.braceL)) {
- method["static"] = true;
- isGenerator = this.eat(_.tokTypes.star);
- this.parsePropertyName(method);
- } else {
- method["static"] = false;
- }
- if (this.options.ecmaVersion >= 5 && method.key.type === "Identifier" && !method.computed && (method.key.name === "get" || method.key.name === "set") && this.tok.type !== _.tokTypes.parenL && this.tok.type !== _.tokTypes.braceL) {
- method.kind = method.key.name;
- this.parsePropertyName(method);
- method.value = this.parseMethod(false);
- } else {
- if (!method.computed && !method["static"] && !isGenerator && (method.key.type === "Identifier" && method.key.name === "constructor" || method.key.type === "Literal" && method.key.value === "constructor")) {
- method.kind = "constructor";
- } else {
- method.kind = "method";
- }
- method.value = this.parseMethod(isGenerator);
- }
- node.body.body.push(this.finishNode(method, "MethodDefinition"));
- }
- this.popCx();
- if (!this.eat(_.tokTypes.braceR)) {
- // If there is no closing brace, make the node span to the start
- // of the next token (this is useful for Tern)
- this.last.end = this.tok.start;
- if (this.options.locations) this.last.loc.end = this.tok.loc.start;
- }
- this.semicolon();
- this.finishNode(node.body, "ClassBody");
- return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression");
-};
-
-lp.parseFunction = function (node, isStatement) {
- this.initFunction(node);
- if (this.options.ecmaVersion >= 6) {
- node.generator = this.eat(_.tokTypes.star);
- }
- if (this.tok.type === _.tokTypes.name) node.id = this.parseIdent();else if (isStatement) node.id = this.dummyIdent();
- node.params = this.parseFunctionParams();
- node.body = this.parseBlock();
- return this.finishNode(node, isStatement ? "FunctionDeclaration" : "FunctionExpression");
-};
-
-lp.parseExport = function () {
- var node = this.startNode();
- this.next();
- if (this.eat(_.tokTypes.star)) {
- node.source = this.eatContextual("from") ? this.parseExprAtom() : null;
- return this.finishNode(node, "ExportAllDeclaration");
- }
- if (this.eat(_.tokTypes._default)) {
- var expr = this.parseMaybeAssign();
- if (expr.id) {
- switch (expr.type) {
- case "FunctionExpression":
- expr.type = "FunctionDeclaration";break;
- case "ClassExpression":
- expr.type = "ClassDeclaration";break;
- }
- }
- node.declaration = expr;
- this.semicolon();
- return this.finishNode(node, "ExportDefaultDeclaration");
- }
- if (this.tok.type.keyword) {
- node.declaration = this.parseStatement();
- node.specifiers = [];
- node.source = null;
- } else {
- node.declaration = null;
- node.specifiers = this.parseExportSpecifierList();
- node.source = this.eatContextual("from") ? this.parseExprAtom() : null;
- this.semicolon();
- }
- return this.finishNode(node, "ExportNamedDeclaration");
-};
-
-lp.parseImport = function () {
- var node = this.startNode();
- this.next();
- if (this.tok.type === _.tokTypes.string) {
- node.specifiers = [];
- node.source = this.parseExprAtom();
- node.kind = '';
- } else {
- var elt = undefined;
- if (this.tok.type === _.tokTypes.name && this.tok.value !== "from") {
- elt = this.startNode();
- elt.local = this.parseIdent();
- this.finishNode(elt, "ImportDefaultSpecifier");
- this.eat(_.tokTypes.comma);
- }
- node.specifiers = this.parseImportSpecifierList();
- node.source = this.eatContextual("from") && this.tok.type == _.tokTypes.string ? this.parseExprAtom() : this.dummyString();
- if (elt) node.specifiers.unshift(elt);
- }
- this.semicolon();
- return this.finishNode(node, "ImportDeclaration");
-};
-
-lp.parseImportSpecifierList = function () {
- var elts = [];
- if (this.tok.type === _.tokTypes.star) {
- var elt = this.startNode();
- this.next();
- if (this.eatContextual("as")) elt.local = this.parseIdent();
- elts.push(this.finishNode(elt, "ImportNamespaceSpecifier"));
- } else {
- var indent = this.curIndent,
- line = this.curLineStart,
- continuedLine = this.nextLineStart;
- this.pushCx();
- this.eat(_.tokTypes.braceL);
- if (this.curLineStart > continuedLine) continuedLine = this.curLineStart;
- while (!this.closes(_.tokTypes.braceR, indent + (this.curLineStart <= continuedLine ? 1 : 0), line)) {
- var elt = this.startNode();
- if (this.eat(_.tokTypes.star)) {
- elt.local = this.eatContextual("as") ? this.parseIdent() : this.dummyIdent();
- this.finishNode(elt, "ImportNamespaceSpecifier");
- } else {
- if (this.isContextual("from")) break;
- elt.imported = this.parseIdent();
- if (_parseutil.isDummy(elt.imported)) break;
- elt.local = this.eatContextual("as") ? this.parseIdent() : elt.imported;
- this.finishNode(elt, "ImportSpecifier");
- }
- elts.push(elt);
- this.eat(_.tokTypes.comma);
- }
- this.eat(_.tokTypes.braceR);
- this.popCx();
- }
- return elts;
-};
-
-lp.parseExportSpecifierList = function () {
- var elts = [];
- var indent = this.curIndent,
- line = this.curLineStart,
- continuedLine = this.nextLineStart;
- this.pushCx();
- this.eat(_.tokTypes.braceL);
- if (this.curLineStart > continuedLine) continuedLine = this.curLineStart;
- while (!this.closes(_.tokTypes.braceR, indent + (this.curLineStart <= continuedLine ? 1 : 0), line)) {
- if (this.isContextual("from")) break;
- var elt = this.startNode();
- elt.local = this.parseIdent();
- if (_parseutil.isDummy(elt.local)) break;
- elt.exported = this.eatContextual("as") ? this.parseIdent() : elt.local;
- this.finishNode(elt, "ExportSpecifier");
- elts.push(elt);
- this.eat(_.tokTypes.comma);
- }
- this.eat(_.tokTypes.braceR);
- this.popCx();
- return elts;
-};
-
-},{"..":1,"./parseutil":4,"./state":5}],7:[function(_dereq_,module,exports){
-"use strict";
-
-var _ = _dereq_("..");
-
-var _state = _dereq_("./state");
-
-var lp = _state.LooseParser.prototype;
-
-function isSpace(ch) {
- return ch < 14 && ch > 8 || ch === 32 || ch === 160 || _.isNewLine(ch);
-}
-
-lp.next = function () {
- this.last = this.tok;
- if (this.ahead.length) this.tok = this.ahead.shift();else this.tok = this.readToken();
-
- if (this.tok.start >= this.nextLineStart) {
- while (this.tok.start >= this.nextLineStart) {
- this.curLineStart = this.nextLineStart;
- this.nextLineStart = this.lineEnd(this.curLineStart) + 1;
- }
- this.curIndent = this.indentationAfter(this.curLineStart);
- }
-};
-
-lp.readToken = function () {
- for (;;) {
- try {
- this.toks.next();
- if (this.toks.type === _.tokTypes.dot && this.input.substr(this.toks.end, 1) === "." && this.options.ecmaVersion >= 6) {
- this.toks.end++;
- this.toks.type = _.tokTypes.ellipsis;
- }
- return new _.Token(this.toks);
- } catch (e) {
- if (!(e instanceof SyntaxError)) throw e;
-
- // Try to skip some text, based on the error message, and then continue
- var msg = e.message,
- pos = e.raisedAt,
- replace = true;
- if (/unterminated/i.test(msg)) {
- pos = this.lineEnd(e.pos + 1);
- if (/string/.test(msg)) {
- replace = { start: e.pos, end: pos, type: _.tokTypes.string, value: this.input.slice(e.pos + 1, pos) };
- } else if (/regular expr/i.test(msg)) {
- var re = this.input.slice(e.pos, pos);
- try {
- re = new RegExp(re);
- } catch (e) {}
- replace = { start: e.pos, end: pos, type: _.tokTypes.regexp, value: re };
- } else if (/template/.test(msg)) {
- replace = { start: e.pos, end: pos,
- type: _.tokTypes.template,
- value: this.input.slice(e.pos, pos) };
- } else {
- replace = false;
- }
- } else if (/invalid (unicode|regexp|number)|expecting unicode|octal literal|is reserved|directly after number|expected number in radix/i.test(msg)) {
- while (pos < this.input.length && !isSpace(this.input.charCodeAt(pos))) ++pos;
- } else if (/character escape|expected hexadecimal/i.test(msg)) {
- while (pos < this.input.length) {
- var ch = this.input.charCodeAt(pos++);
- if (ch === 34 || ch === 39 || _.isNewLine(ch)) break;
- }
- } else if (/unexpected character/i.test(msg)) {
- pos++;
- replace = false;
- } else if (/regular expression/i.test(msg)) {
- replace = true;
- } else {
- throw e;
- }
- this.resetTo(pos);
- if (replace === true) replace = { start: pos, end: pos, type: _.tokTypes.name, value: "✖" };
- if (replace) {
- if (this.options.locations) replace.loc = new _.SourceLocation(this.toks, _.getLineInfo(this.input, replace.start), _.getLineInfo(this.input, replace.end));
- return replace;
- }
- }
- }
-};
-
-lp.resetTo = function (pos) {
- this.toks.pos = pos;
- var ch = this.input.charAt(pos - 1);
- this.toks.exprAllowed = !ch || /[\[\{\(,;:?\/*=+\-~!|&%^<>]/.test(ch) || /[enwfd]/.test(ch) && /\b(keywords|case|else|return|throw|new|in|(instance|type)of|delete|void)$/.test(this.input.slice(pos - 10, pos));
-
- if (this.options.locations) {
- this.toks.curLine = 1;
- this.toks.lineStart = _.lineBreakG.lastIndex = 0;
- var match = undefined;
- while ((match = _.lineBreakG.exec(this.input)) && match.index < pos) {
- ++this.toks.curLine;
- this.toks.lineStart = match.index + match[0].length;
- }
- }
-};
-
-lp.lookAhead = function (n) {
- while (n > this.ahead.length) this.ahead.push(this.readToken());
- return this.ahead[n - 1];
-};
-
-},{"..":1,"./state":5}]},{},[3])(3)
-}); \ No newline at end of file
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/walk.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/walk.js
deleted file mode 100644
index 9429e0b34f..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/walk.js
+++ /dev/null
@@ -1,377 +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.acorn || (g.acorn = {})).walk = 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<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
-// AST walker module for Mozilla Parser API compatible trees
-
-// A simple walk is one where you simply specify callbacks to be
-// called on specific nodes. The last two arguments are optional. A
-// simple use would be
-//
-// walk.simple(myTree, {
-// Expression: function(node) { ... }
-// });
-//
-// to do something with all expressions. All Parser API node types
-// can be used to identify node types, as well as Expression,
-// Statement, and ScopeBody, which denote categories of nodes.
-//
-// The base argument can be used to pass a custom (recursive)
-// walker, and state can be used to give this walked an initial
-// state.
-
-"use strict";
-
-exports.__esModule = true;
-exports.simple = simple;
-exports.ancestor = ancestor;
-exports.recursive = recursive;
-exports.findNodeAt = findNodeAt;
-exports.findNodeAround = findNodeAround;
-exports.findNodeAfter = findNodeAfter;
-exports.findNodeBefore = findNodeBefore;
-exports.make = make;
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function simple(node, visitors, base, state, override) {
- if (!base) base = exports.base;(function c(node, st, override) {
- var type = override || node.type,
- found = visitors[type];
- base[type](node, st, c);
- if (found) found(node, st);
- })(node, state, override);
-}
-
-// An ancestor walk builds up an array of ancestor nodes (including
-// the current node) and passes them to the callback as the state parameter.
-
-function ancestor(node, visitors, base, state) {
- if (!base) base = exports.base;
- if (!state) state = [];(function c(node, st, override) {
- var type = override || node.type,
- found = visitors[type];
- if (node != st[st.length - 1]) {
- st = st.slice();
- st.push(node);
- }
- base[type](node, st, c);
- if (found) found(node, st);
- })(node, state);
-}
-
-// A recursive walk is one where your functions override the default
-// walkers. They can modify and replace the state parameter that's
-// threaded through the walk, and can opt how and whether to walk
-// their child nodes (by calling their third argument on these
-// nodes).
-
-function recursive(node, state, funcs, base, override) {
- var visitor = funcs ? exports.make(funcs, base) : base;(function c(node, st, override) {
- visitor[override || node.type](node, st, c);
- })(node, state, override);
-}
-
-function makeTest(test) {
- if (typeof test == "string") return function (type) {
- return type == test;
- };else if (!test) return function () {
- return true;
- };else return test;
-}
-
-var Found = function Found(node, state) {
- _classCallCheck(this, Found);
-
- this.node = node;this.state = state;
-}
-
-// Find a node with a given start, end, and type (all are optional,
-// null can be used as wildcard). Returns a {node, state} object, or
-// undefined when it doesn't find a matching node.
-;
-
-function findNodeAt(node, start, end, test, base, state) {
- test = makeTest(test);
- if (!base) base = exports.base;
- try {
- ;(function c(node, st, override) {
- var type = override || node.type;
- if ((start == null || node.start <= start) && (end == null || node.end >= end)) base[type](node, st, c);
- if ((start == null || node.start == start) && (end == null || node.end == end) && test(type, node)) throw new Found(node, st);
- })(node, state);
- } catch (e) {
- if (e instanceof Found) return e;
- throw e;
- }
-}
-
-// Find the innermost node of a given type that contains the given
-// position. Interface similar to findNodeAt.
-
-function findNodeAround(node, pos, test, base, state) {
- test = makeTest(test);
- if (!base) base = exports.base;
- try {
- ;(function c(node, st, override) {
- var type = override || node.type;
- if (node.start > pos || node.end < pos) return;
- base[type](node, st, c);
- if (test(type, node)) throw new Found(node, st);
- })(node, state);
- } catch (e) {
- if (e instanceof Found) return e;
- throw e;
- }
-}
-
-// Find the outermost matching node after a given position.
-
-function findNodeAfter(node, pos, test, base, state) {
- test = makeTest(test);
- if (!base) base = exports.base;
- try {
- ;(function c(node, st, override) {
- if (node.end < pos) return;
- var type = override || node.type;
- if (node.start >= pos && test(type, node)) throw new Found(node, st);
- base[type](node, st, c);
- })(node, state);
- } catch (e) {
- if (e instanceof Found) return e;
- throw e;
- }
-}
-
-// Find the outermost matching node before a given position.
-
-function findNodeBefore(node, pos, test, base, state) {
- test = makeTest(test);
- if (!base) base = exports.base;
- var max = undefined;(function c(node, st, override) {
- if (node.start > pos) return;
- var type = override || node.type;
- if (node.end <= pos && (!max || max.node.end < node.end) && test(type, node)) max = new Found(node, st);
- base[type](node, st, c);
- })(node, state);
- return max;
-}
-
-// Used to create a custom walker. Will fill in all missing node
-// type properties with the defaults.
-
-function make(funcs, base) {
- if (!base) base = exports.base;
- var visitor = {};
- for (var type in base) visitor[type] = base[type];
- for (var type in funcs) visitor[type] = funcs[type];
- return visitor;
-}
-
-function skipThrough(node, st, c) {
- c(node, st);
-}
-function ignore(_node, _st, _c) {}
-
-// Node walkers.
-
-var base = {};
-
-exports.base = base;
-base.Program = base.BlockStatement = function (node, st, c) {
- for (var i = 0; i < node.body.length; ++i) {
- c(node.body[i], st, "Statement");
- }
-};
-base.Statement = skipThrough;
-base.EmptyStatement = ignore;
-base.ExpressionStatement = base.ParenthesizedExpression = function (node, st, c) {
- return c(node.expression, st, "Expression");
-};
-base.IfStatement = function (node, st, c) {
- c(node.test, st, "Expression");
- c(node.consequent, st, "Statement");
- if (node.alternate) c(node.alternate, st, "Statement");
-};
-base.LabeledStatement = function (node, st, c) {
- return c(node.body, st, "Statement");
-};
-base.BreakStatement = base.ContinueStatement = ignore;
-base.WithStatement = function (node, st, c) {
- c(node.object, st, "Expression");
- c(node.body, st, "Statement");
-};
-base.SwitchStatement = function (node, st, c) {
- c(node.discriminant, st, "Expression");
- for (var i = 0; i < node.cases.length; ++i) {
- var cs = node.cases[i];
- if (cs.test) c(cs.test, st, "Expression");
- for (var j = 0; j < cs.consequent.length; ++j) {
- c(cs.consequent[j], st, "Statement");
- }
- }
-};
-base.ReturnStatement = base.YieldExpression = function (node, st, c) {
- if (node.argument) c(node.argument, st, "Expression");
-};
-base.ThrowStatement = base.SpreadElement = function (node, st, c) {
- return c(node.argument, st, "Expression");
-};
-base.TryStatement = function (node, st, c) {
- c(node.block, st, "Statement");
- if (node.handler) {
- c(node.handler.param, st, "Pattern");
- c(node.handler.body, st, "ScopeBody");
- }
- if (node.finalizer) c(node.finalizer, st, "Statement");
-};
-base.WhileStatement = base.DoWhileStatement = function (node, st, c) {
- c(node.test, st, "Expression");
- c(node.body, st, "Statement");
-};
-base.ForStatement = function (node, st, c) {
- if (node.init) c(node.init, st, "ForInit");
- if (node.test) c(node.test, st, "Expression");
- if (node.update) c(node.update, st, "Expression");
- c(node.body, st, "Statement");
-};
-base.ForInStatement = base.ForOfStatement = function (node, st, c) {
- c(node.left, st, "ForInit");
- c(node.right, st, "Expression");
- c(node.body, st, "Statement");
-};
-base.ForInit = function (node, st, c) {
- if (node.type == "VariableDeclaration") c(node, st);else c(node, st, "Expression");
-};
-base.DebuggerStatement = ignore;
-
-base.FunctionDeclaration = function (node, st, c) {
- return c(node, st, "Function");
-};
-base.VariableDeclaration = function (node, st, c) {
- for (var i = 0; i < node.declarations.length; ++i) {
- c(node.declarations[i], st);
- }
-};
-base.VariableDeclarator = function (node, st, c) {
- c(node.id, st, "Pattern");
- if (node.init) c(node.init, st, "Expression");
-};
-
-base.Function = function (node, st, c) {
- if (node.id) c(node.id, st, "Pattern");
- for (var i = 0; i < node.params.length; i++) {
- c(node.params[i], st, "Pattern");
- }c(node.body, st, node.expression ? "ScopeExpression" : "ScopeBody");
-};
-// FIXME drop these node types in next major version
-// (They are awkward, and in ES6 every block can be a scope.)
-base.ScopeBody = function (node, st, c) {
- return c(node, st, "Statement");
-};
-base.ScopeExpression = function (node, st, c) {
- return c(node, st, "Expression");
-};
-
-base.Pattern = function (node, st, c) {
- if (node.type == "Identifier") c(node, st, "VariablePattern");else if (node.type == "MemberExpression") c(node, st, "MemberPattern");else c(node, st);
-};
-base.VariablePattern = ignore;
-base.MemberPattern = skipThrough;
-base.RestElement = function (node, st, c) {
- return c(node.argument, st, "Pattern");
-};
-base.ArrayPattern = function (node, st, c) {
- for (var i = 0; i < node.elements.length; ++i) {
- var elt = node.elements[i];
- if (elt) c(elt, st, "Pattern");
- }
-};
-base.ObjectPattern = function (node, st, c) {
- for (var i = 0; i < node.properties.length; ++i) {
- c(node.properties[i].value, st, "Pattern");
- }
-};
-
-base.Expression = skipThrough;
-base.ThisExpression = base.Super = base.MetaProperty = ignore;
-base.ArrayExpression = function (node, st, c) {
- for (var i = 0; i < node.elements.length; ++i) {
- var elt = node.elements[i];
- if (elt) c(elt, st, "Expression");
- }
-};
-base.ObjectExpression = function (node, st, c) {
- for (var i = 0; i < node.properties.length; ++i) {
- c(node.properties[i], st);
- }
-};
-base.FunctionExpression = base.ArrowFunctionExpression = base.FunctionDeclaration;
-base.SequenceExpression = base.TemplateLiteral = function (node, st, c) {
- for (var i = 0; i < node.expressions.length; ++i) {
- c(node.expressions[i], st, "Expression");
- }
-};
-base.UnaryExpression = base.UpdateExpression = function (node, st, c) {
- c(node.argument, st, "Expression");
-};
-base.BinaryExpression = base.LogicalExpression = function (node, st, c) {
- c(node.left, st, "Expression");
- c(node.right, st, "Expression");
-};
-base.AssignmentExpression = base.AssignmentPattern = function (node, st, c) {
- c(node.left, st, "Pattern");
- c(node.right, st, "Expression");
-};
-base.ConditionalExpression = function (node, st, c) {
- c(node.test, st, "Expression");
- c(node.consequent, st, "Expression");
- c(node.alternate, st, "Expression");
-};
-base.NewExpression = base.CallExpression = function (node, st, c) {
- c(node.callee, st, "Expression");
- if (node.arguments) for (var i = 0; i < node.arguments.length; ++i) {
- c(node.arguments[i], st, "Expression");
- }
-};
-base.MemberExpression = function (node, st, c) {
- c(node.object, st, "Expression");
- if (node.computed) c(node.property, st, "Expression");
-};
-base.ExportNamedDeclaration = base.ExportDefaultDeclaration = function (node, st, c) {
- if (node.declaration) c(node.declaration, st, node.type == "ExportNamedDeclaration" || node.declaration.id ? "Statement" : "Expression");
- if (node.source) c(node.source, st, "Expression");
-};
-base.ExportAllDeclaration = function (node, st, c) {
- c(node.source, st, "Expression");
-};
-base.ImportDeclaration = function (node, st, c) {
- for (var i = 0; i < node.specifiers.length; i++) {
- c(node.specifiers[i], st);
- }c(node.source, st, "Expression");
-};
-base.ImportSpecifier = base.ImportDefaultSpecifier = base.ImportNamespaceSpecifier = base.Identifier = base.Literal = ignore;
-
-base.TaggedTemplateExpression = function (node, st, c) {
- c(node.tag, st, "Expression");
- c(node.quasi, st);
-};
-base.ClassDeclaration = base.ClassExpression = function (node, st, c) {
- return c(node, st, "Class");
-};
-base.Class = function (node, st, c) {
- if (node.id) c(node.id, st, "Pattern");
- if (node.superClass) c(node.superClass, st, "Expression");
- for (var i = 0; i < node.body.body.length; i++) {
- c(node.body.body[i], st);
- }
-};
-base.MethodDefinition = base.Property = function (node, st, c) {
- if (node.computed) c(node.key, st, "Expression");
- c(node.value, st, "Expression");
-};
-base.ComprehensionExpression = function (node, st, c) {
- for (var i = 0; i < node.blocks.length; i++) {
- c(node.blocks[i].right, st, "Expression");
- }c(node.body, st, "Expression");
-};
-
-},{}]},{},[1])(1)
-}); \ No newline at end of file
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/package.json b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/package.json
deleted file mode 100644
index f958d4513e..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/package.json
+++ /dev/null
@@ -1,213 +0,0 @@
-{
- "_args": [
- [
- "acorn@^2.0.1",
- "/Users/silverwind/git/node/tools/package/package/node_modules/acorn-jsx"
- ]
- ],
- "_from": "acorn@>=2.0.1 <3.0.0",
- "_id": "acorn@2.7.0",
- "_inCache": true,
- "_installable": true,
- "_location": "/acorn-jsx/acorn",
- "_nodeVersion": "4.2.2",
- "_npmUser": {
- "email": "marijnh@gmail.com",
- "name": "marijn"
- },
- "_npmVersion": "2.14.7",
- "_phantomChildren": {},
- "_requested": {
- "name": "acorn",
- "raw": "acorn@^2.0.1",
- "rawSpec": "^2.0.1",
- "scope": null,
- "spec": ">=2.0.1 <3.0.0",
- "type": "range"
- },
- "_requiredBy": [
- "/acorn-jsx"
- ],
- "_resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz",
- "_shasum": "ab6e7d9d886aaca8b085bc3312b79a198433f0e7",
- "_shrinkwrap": null,
- "_spec": "acorn@^2.0.1",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/acorn-jsx",
- "bin": {
- "acorn": "./bin/acorn"
- },
- "bugs": {
- "url": "https://github.com/ternjs/acorn/issues"
- },
- "contributors": [
- {
- "name": "keeyipchan"
- },
- {
- "name": "List of Acorn contributors. Updated before every release."
- },
- {
- "name": "Alistair Braidwood"
- },
- {
- "name": "Andres Suarez"
- },
- {
- "name": "Aparajita Fishman"
- },
- {
- "name": "Arian Stolwijk"
- },
- {
- "name": "Artem Govorov"
- },
- {
- "name": "Brandon Mills"
- },
- {
- "name": "Charles Hughes"
- },
- {
- "name": "Conrad Irwin"
- },
- {
- "name": "David Bonnet"
- },
- {
- "name": "ForbesLindesay"
- },
- {
- "name": "Forbes Lindesay"
- },
- {
- "name": "Gilad Peleg"
- },
- {
- "name": "impinball"
- },
- {
- "name": "Ingvar Stepanyan"
- },
- {
- "name": "Jesse McCarthy"
- },
- {
- "name": "Jiaxing Wang"
- },
- {
- "name": "Joel Kemp"
- },
- {
- "name": "Johannes Herr"
- },
- {
- "name": "Jürg Lehni"
- },
- {
- "name": "Adrian Rakovsky"
- },
- {
- "name": "Kevin Kwok"
- },
- {
- "name": "krator"
- },
- {
- "name": "Marijn Haverbeke"
- },
- {
- "name": "Martin Carlberg"
- },
- {
- "name": "Mathias Bynens"
- },
- {
- "name": "Mathieu 'p01' Henri"
- },
- {
- "name": "Max Schaefer"
- },
- {
- "name": "Max Zerzouri"
- },
- {
- "name": "Mihai Bazon"
- },
- {
- "name": "Mike Rennie"
- },
- {
- "name": "Nick Fitzgerald"
- },
- {
- "name": "Oskar Schöldström"
- },
- {
- "name": "Paul Harper"
- },
- {
- "name": "Peter Rust"
- },
- {
- "name": "PlNG"
- },
- {
- "name": "r-e-d"
- },
- {
- "name": "Rich Harris"
- },
- {
- "name": "Sebastian McKenzie"
- },
- {
- "name": "Timothy Gu"
- },
- {
- "name": "zsjforcn"
- }
- ],
- "dependencies": {},
- "description": "ECMAScript parser",
- "devDependencies": {
- "babel-core": "^5.6.15",
- "babelify": "^6.1.2",
- "browserify": "^10.2.4",
- "browserify-derequire": "^0.9.4",
- "unicode-7.0.0": "~0.1.5"
- },
- "directories": {},
- "dist": {
- "shasum": "ab6e7d9d886aaca8b085bc3312b79a198433f0e7",
- "tarball": "http://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz"
- },
- "engines": {
- "node": ">=0.4.0"
- },
- "gitHead": "1405436064bff087f14af55a763396aa5c0ca148",
- "homepage": "https://github.com/ternjs/acorn",
- "license": "MIT",
- "main": "dist/acorn.js",
- "maintainers": [
- {
- "name": "marijn",
- "email": "marijnh@gmail.com"
- },
- {
- "name": "rreverser",
- "email": "me@rreverser.com"
- }
- ],
- "name": "acorn",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/ternjs/acorn.git"
- },
- "scripts": {
- "prepublish": "node bin/build-acorn.js",
- "test": "node test/run.js"
- },
- "version": "2.7.0"
-}
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/bin/acorn.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/bin/acorn.js
deleted file mode 100644
index 71a5dffcd8..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/bin/acorn.js
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/usr/bin/env node
-
-import {basename} from "path"
-import {readFileSync as readFile} from "fs"
-import * as acorn from "../dist/acorn.js"
-
-let infile, forceFile, silent = false, compact = false, tokenize = false
-const options = {}
-
-function help(status) {
- const print = (status == 0) ? console.log : console.error
- print("usage: " + basename(process.argv[1]) + " [--ecma3|--ecma5|--ecma6]")
- print(" [--tokenize] [--locations] [---allow-hash-bang] [--compact] [--silent] [--module] [--help] [--] [infile]")
- process.exit(status)
-}
-
-for (let i = 2; i < process.argv.length; ++i) {
- const arg = process.argv[i]
- if ((arg == "-" || arg[0] != "-") && !infile) infile = arg
- else if (arg == "--" && !infile && i + 2 == process.argv.length) forceFile = infile = process.argv[++i]
- else if (arg == "--ecma3") options.ecmaVersion = 3
- else if (arg == "--ecma5") options.ecmaVersion = 5
- else if (arg == "--ecma6") options.ecmaVersion = 6
- else if (arg == "--locations") options.locations = true
- else if (arg == "--allow-hash-bang") options.allowHashBang = true
- else if (arg == "--silent") silent = true
- else if (arg == "--compact") compact = true
- else if (arg == "--help") help(0)
- else if (arg == "--tokenize") tokenize = true
- else if (arg == "--module") options.sourceType = 'module'
- else help(1)
-}
-
-function run(code) {
- let result
- if (!tokenize) {
- try { result = acorn.parse(code, options) }
- catch(e) { console.error(e.message); process.exit(1) }
- } else {
- result = []
- let tokenizer = acorn.tokenizer(code, options), token
- while (true) {
- try { token = tokenizer.getToken() }
- catch(e) { console.error(e.message); process.exit(1) }
- result.push(token)
- if (token.type == acorn.tokTypes.eof) break
- }
- }
- if (!silent) console.log(JSON.stringify(result, null, compact ? null : 2))
-}
-
-if (forceFile || infile && infile != "-") {
- run(readFile(infile, "utf8"))
-} else {
- let code = ""
- process.stdin.resume()
- process.stdin.on("data", chunk => code += chunk)
- process.stdin.on("end", () => run(code))
-}
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/expression.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/expression.js
deleted file mode 100644
index 5f5b8a3623..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/expression.js
+++ /dev/null
@@ -1,707 +0,0 @@
-// A recursive descent parser operates by defining functions for all
-// syntactic elements, and recursively calling those, each function
-// advancing the input stream and returning an AST node. Precedence
-// of constructs (for example, the fact that `!x[1]` means `!(x[1])`
-// instead of `(!x)[1]` is handled by the fact that the parser
-// function that parses unary prefix operators is called first, and
-// in turn calls the function that parses `[]` subscripts — that
-// way, it'll receive the node for `x[1]` already parsed, and wraps
-// *that* in the unary operator node.
-//
-// Acorn uses an [operator precedence parser][opp] to handle binary
-// operator precedence, because it is much more compact than using
-// the technique outlined above, which uses different, nesting
-// functions to specify precedence, for all of the ten binary
-// precedence levels that JavaScript defines.
-//
-// [opp]: http://en.wikipedia.org/wiki/Operator-precedence_parser
-
-import {types as tt} from "./tokentype"
-import {Parser} from "./state"
-
-const pp = Parser.prototype
-
-// Check if property name clashes with already added.
-// Object/class getters and setters are not allowed to clash —
-// either with each other or with an init property — and in
-// strict mode, init properties are also not allowed to be repeated.
-
-pp.checkPropClash = function(prop, propHash) {
- if (this.options.ecmaVersion >= 6 && (prop.computed || prop.method || prop.shorthand))
- return
- let {key} = prop, name
- switch (key.type) {
- case "Identifier": name = key.name; break
- case "Literal": name = String(key.value); break
- default: return
- }
- let {kind} = prop
- if (this.options.ecmaVersion >= 6) {
- if (name === "__proto__" && kind === "init") {
- if (propHash.proto) this.raise(key.start, "Redefinition of __proto__ property");
- propHash.proto = true
- }
- return
- }
- name = "$" + name
- let other = propHash[name]
- if (other) {
- let isGetSet = kind !== "init"
- if ((this.strict || isGetSet) && other[kind] || !(isGetSet ^ other.init))
- this.raise(key.start, "Redefinition of property")
- } else {
- other = propHash[name] = {
- init: false,
- get: false,
- set: false
- }
- }
- other[kind] = true
-}
-
-// ### Expression parsing
-
-// These nest, from the most general expression type at the top to
-// 'atomic', nondivisible expression types at the bottom. Most of
-// the functions will simply let the function(s) below them parse,
-// and, *if* the syntactic construct they handle is present, wrap
-// the AST node that the inner parser gave them in another node.
-
-// Parse a full expression. The optional arguments are used to
-// forbid the `in` operator (in for loops initalization expressions)
-// and provide reference for storing '=' operator inside shorthand
-// property assignment in contexts where both object expression
-// and object pattern might appear (so it's possible to raise
-// delayed syntax error at correct position).
-
-pp.parseExpression = function(noIn, refDestructuringErrors) {
- let startPos = this.start, startLoc = this.startLoc
- let expr = this.parseMaybeAssign(noIn, refDestructuringErrors)
- if (this.type === tt.comma) {
- let node = this.startNodeAt(startPos, startLoc)
- node.expressions = [expr]
- while (this.eat(tt.comma)) node.expressions.push(this.parseMaybeAssign(noIn, refDestructuringErrors))
- return this.finishNode(node, "SequenceExpression")
- }
- return expr
-}
-
-// Parse an assignment expression. This includes applications of
-// operators like `+=`.
-
-pp.parseMaybeAssign = function(noIn, refDestructuringErrors, afterLeftParse) {
- if (this.type == tt._yield && this.inGenerator) return this.parseYield()
-
- let validateDestructuring = false
- if (!refDestructuringErrors) {
- refDestructuringErrors = {shorthandAssign: 0, trailingComma: 0}
- validateDestructuring = true
- }
- let startPos = this.start, startLoc = this.startLoc
- if (this.type == tt.parenL || this.type == tt.name)
- this.potentialArrowAt = this.start
- let left = this.parseMaybeConditional(noIn, refDestructuringErrors)
- if (afterLeftParse) left = afterLeftParse.call(this, left, startPos, startLoc)
- if (this.type.isAssign) {
- if (validateDestructuring) this.checkPatternErrors(refDestructuringErrors, true)
- let node = this.startNodeAt(startPos, startLoc)
- node.operator = this.value
- node.left = this.type === tt.eq ? this.toAssignable(left) : left
- refDestructuringErrors.shorthandAssign = 0 // reset because shorthand default was used correctly
- this.checkLVal(left)
- this.next()
- node.right = this.parseMaybeAssign(noIn)
- return this.finishNode(node, "AssignmentExpression")
- } else {
- if (validateDestructuring) this.checkExpressionErrors(refDestructuringErrors, true)
- }
- return left
-}
-
-// Parse a ternary conditional (`?:`) operator.
-
-pp.parseMaybeConditional = function(noIn, refDestructuringErrors) {
- let startPos = this.start, startLoc = this.startLoc
- let expr = this.parseExprOps(noIn, refDestructuringErrors)
- if (this.checkExpressionErrors(refDestructuringErrors)) return expr
- if (this.eat(tt.question)) {
- let node = this.startNodeAt(startPos, startLoc)
- node.test = expr
- node.consequent = this.parseMaybeAssign()
- this.expect(tt.colon)
- node.alternate = this.parseMaybeAssign(noIn)
- return this.finishNode(node, "ConditionalExpression")
- }
- return expr
-}
-
-// Start the precedence parser.
-
-pp.parseExprOps = function(noIn, refDestructuringErrors) {
- let startPos = this.start, startLoc = this.startLoc
- let expr = this.parseMaybeUnary(refDestructuringErrors)
- if (this.checkExpressionErrors(refDestructuringErrors)) return expr
- return this.parseExprOp(expr, startPos, startLoc, -1, noIn)
-}
-
-// Parse binary operators with the operator precedence parsing
-// algorithm. `left` is the left-hand side of the operator.
-// `minPrec` provides context that allows the function to stop and
-// defer further parser to one of its callers when it encounters an
-// operator that has a lower precedence than the set it is parsing.
-
-pp.parseExprOp = function(left, leftStartPos, leftStartLoc, minPrec, noIn) {
- let prec = this.type.binop
- if (prec != null && (!noIn || this.type !== tt._in)) {
- if (prec > minPrec) {
- let node = this.startNodeAt(leftStartPos, leftStartLoc)
- node.left = left
- node.operator = this.value
- let op = this.type
- this.next()
- let startPos = this.start, startLoc = this.startLoc
- node.right = this.parseExprOp(this.parseMaybeUnary(), startPos, startLoc, prec, noIn)
- this.finishNode(node, (op === tt.logicalOR || op === tt.logicalAND) ? "LogicalExpression" : "BinaryExpression")
- return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec, noIn)
- }
- }
- return left
-}
-
-// Parse unary operators, both prefix and postfix.
-
-pp.parseMaybeUnary = function(refDestructuringErrors) {
- if (this.type.prefix) {
- let node = this.startNode(), update = this.type === tt.incDec
- node.operator = this.value
- node.prefix = true
- this.next()
- node.argument = this.parseMaybeUnary()
- this.checkExpressionErrors(refDestructuringErrors, true)
- if (update) this.checkLVal(node.argument)
- else if (this.strict && node.operator === "delete" &&
- node.argument.type === "Identifier")
- this.raise(node.start, "Deleting local variable in strict mode")
- return this.finishNode(node, update ? "UpdateExpression" : "UnaryExpression")
- }
- let startPos = this.start, startLoc = this.startLoc
- let expr = this.parseExprSubscripts(refDestructuringErrors)
- if (this.checkExpressionErrors(refDestructuringErrors)) return expr
- while (this.type.postfix && !this.canInsertSemicolon()) {
- let node = this.startNodeAt(startPos, startLoc)
- node.operator = this.value
- node.prefix = false
- node.argument = expr
- this.checkLVal(expr)
- this.next()
- expr = this.finishNode(node, "UpdateExpression")
- }
- return expr
-}
-
-// Parse call, dot, and `[]`-subscript expressions.
-
-pp.parseExprSubscripts = function(refDestructuringErrors) {
- let startPos = this.start, startLoc = this.startLoc
- let expr = this.parseExprAtom(refDestructuringErrors)
- let skipArrowSubscripts = expr.type === "ArrowFunctionExpression" && this.input.slice(this.lastTokStart, this.lastTokEnd) !== ")";
- if (this.checkExpressionErrors(refDestructuringErrors) || skipArrowSubscripts) return expr
- return this.parseSubscripts(expr, startPos, startLoc)
-}
-
-pp.parseSubscripts = function(base, startPos, startLoc, noCalls) {
- for (;;) {
- if (this.eat(tt.dot)) {
- let node = this.startNodeAt(startPos, startLoc)
- node.object = base
- node.property = this.parseIdent(true)
- node.computed = false
- base = this.finishNode(node, "MemberExpression")
- } else if (this.eat(tt.bracketL)) {
- let node = this.startNodeAt(startPos, startLoc)
- node.object = base
- node.property = this.parseExpression()
- node.computed = true
- this.expect(tt.bracketR)
- base = this.finishNode(node, "MemberExpression")
- } else if (!noCalls && this.eat(tt.parenL)) {
- let node = this.startNodeAt(startPos, startLoc)
- node.callee = base
- node.arguments = this.parseExprList(tt.parenR, false)
- base = this.finishNode(node, "CallExpression")
- } else if (this.type === tt.backQuote) {
- let node = this.startNodeAt(startPos, startLoc)
- node.tag = base
- node.quasi = this.parseTemplate()
- base = this.finishNode(node, "TaggedTemplateExpression")
- } else {
- return base
- }
- }
-}
-
-// Parse an atomic expression — either a single token that is an
-// expression, an expression started by a keyword like `function` or
-// `new`, or an expression wrapped in punctuation like `()`, `[]`,
-// or `{}`.
-
-pp.parseExprAtom = function(refDestructuringErrors) {
- let node, canBeArrow = this.potentialArrowAt == this.start
- switch (this.type) {
- case tt._super:
- if (!this.inFunction)
- this.raise(this.start, "'super' outside of function or class")
- case tt._this:
- let type = this.type === tt._this ? "ThisExpression" : "Super"
- node = this.startNode()
- this.next()
- return this.finishNode(node, type)
-
- case tt._yield:
- if (this.inGenerator) this.unexpected()
-
- case tt.name:
- let startPos = this.start, startLoc = this.startLoc
- let id = this.parseIdent(this.type !== tt.name)
- if (canBeArrow && !this.canInsertSemicolon() && this.eat(tt.arrow))
- return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id])
- return id
-
- case tt.regexp:
- let value = this.value
- node = this.parseLiteral(value.value)
- node.regex = {pattern: value.pattern, flags: value.flags}
- return node
-
- case tt.num: case tt.string:
- return this.parseLiteral(this.value)
-
- case tt._null: case tt._true: case tt._false:
- node = this.startNode()
- node.value = this.type === tt._null ? null : this.type === tt._true
- node.raw = this.type.keyword
- this.next()
- return this.finishNode(node, "Literal")
-
- case tt.parenL:
- return this.parseParenAndDistinguishExpression(canBeArrow)
-
- case tt.bracketL:
- node = this.startNode()
- this.next()
- // check whether this is array comprehension or regular array
- if (this.options.ecmaVersion >= 7 && this.type === tt._for) {
- return this.parseComprehension(node, false)
- }
- node.elements = this.parseExprList(tt.bracketR, true, true, refDestructuringErrors)
- return this.finishNode(node, "ArrayExpression")
-
- case tt.braceL:
- return this.parseObj(false, refDestructuringErrors)
-
- case tt._function:
- node = this.startNode()
- this.next()
- return this.parseFunction(node, false)
-
- case tt._class:
- return this.parseClass(this.startNode(), false)
-
- case tt._new:
- return this.parseNew()
-
- case tt.backQuote:
- return this.parseTemplate()
-
- default:
- this.unexpected()
- }
-}
-
-pp.parseLiteral = function(value) {
- let node = this.startNode()
- node.value = value
- node.raw = this.input.slice(this.start, this.end)
- this.next()
- return this.finishNode(node, "Literal")
-}
-
-pp.parseParenExpression = function() {
- this.expect(tt.parenL)
- let val = this.parseExpression()
- this.expect(tt.parenR)
- return val
-}
-
-pp.parseParenAndDistinguishExpression = function(canBeArrow) {
- let startPos = this.start, startLoc = this.startLoc, val
- if (this.options.ecmaVersion >= 6) {
- this.next()
-
- if (this.options.ecmaVersion >= 7 && this.type === tt._for) {
- return this.parseComprehension(this.startNodeAt(startPos, startLoc), true)
- }
-
- let innerStartPos = this.start, innerStartLoc = this.startLoc
- let exprList = [], first = true
- let refDestructuringErrors = {shorthandAssign: 0, trailingComma: 0}, spreadStart, innerParenStart
- while (this.type !== tt.parenR) {
- first ? first = false : this.expect(tt.comma)
- if (this.type === tt.ellipsis) {
- spreadStart = this.start
- exprList.push(this.parseParenItem(this.parseRest()))
- break
- } else {
- if (this.type === tt.parenL && !innerParenStart) {
- innerParenStart = this.start
- }
- exprList.push(this.parseMaybeAssign(false, refDestructuringErrors, this.parseParenItem))
- }
- }
- let innerEndPos = this.start, innerEndLoc = this.startLoc
- this.expect(tt.parenR)
-
- if (canBeArrow && !this.canInsertSemicolon() && this.eat(tt.arrow)) {
- this.checkPatternErrors(refDestructuringErrors, true)
- if (innerParenStart) this.unexpected(innerParenStart)
- return this.parseParenArrowList(startPos, startLoc, exprList)
- }
-
- if (!exprList.length) this.unexpected(this.lastTokStart)
- if (spreadStart) this.unexpected(spreadStart)
- this.checkExpressionErrors(refDestructuringErrors, true)
-
- if (exprList.length > 1) {
- val = this.startNodeAt(innerStartPos, innerStartLoc)
- val.expressions = exprList
- this.finishNodeAt(val, "SequenceExpression", innerEndPos, innerEndLoc)
- } else {
- val = exprList[0]
- }
- } else {
- val = this.parseParenExpression()
- }
-
- if (this.options.preserveParens) {
- let par = this.startNodeAt(startPos, startLoc)
- par.expression = val
- return this.finishNode(par, "ParenthesizedExpression")
- } else {
- return val
- }
-}
-
-pp.parseParenItem = function(item) {
- return item
-}
-
-pp.parseParenArrowList = function(startPos, startLoc, exprList) {
- return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList)
-}
-
-// New's precedence is slightly tricky. It must allow its argument to
-// be a `[]` or dot subscript expression, but not a call — at least,
-// not without wrapping it in parentheses. Thus, it uses the noCalls
-// argument to parseSubscripts to prevent it from consuming the
-// argument list.
-
-const empty = []
-
-pp.parseNew = function() {
- let node = this.startNode()
- let meta = this.parseIdent(true)
- if (this.options.ecmaVersion >= 6 && this.eat(tt.dot)) {
- node.meta = meta
- node.property = this.parseIdent(true)
- if (node.property.name !== "target")
- this.raise(node.property.start, "The only valid meta property for new is new.target")
- if (!this.inFunction)
- this.raise(node.start, "new.target can only be used in functions")
- return this.finishNode(node, "MetaProperty")
- }
- let startPos = this.start, startLoc = this.startLoc
- node.callee = this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true)
- if (this.eat(tt.parenL)) node.arguments = this.parseExprList(tt.parenR, false)
- else node.arguments = empty
- return this.finishNode(node, "NewExpression")
-}
-
-// Parse template expression.
-
-pp.parseTemplateElement = function() {
- let elem = this.startNode()
- elem.value = {
- raw: this.input.slice(this.start, this.end).replace(/\r\n?/g, '\n'),
- cooked: this.value
- }
- this.next()
- elem.tail = this.type === tt.backQuote
- return this.finishNode(elem, "TemplateElement")
-}
-
-pp.parseTemplate = function() {
- let node = this.startNode()
- this.next()
- node.expressions = []
- let curElt = this.parseTemplateElement()
- node.quasis = [curElt]
- while (!curElt.tail) {
- this.expect(tt.dollarBraceL)
- node.expressions.push(this.parseExpression())
- this.expect(tt.braceR)
- node.quasis.push(curElt = this.parseTemplateElement())
- }
- this.next()
- return this.finishNode(node, "TemplateLiteral")
-}
-
-// Parse an object literal or binding pattern.
-
-pp.parseObj = function(isPattern, refDestructuringErrors) {
- let node = this.startNode(), first = true, propHash = {}
- node.properties = []
- this.next()
- while (!this.eat(tt.braceR)) {
- if (!first) {
- this.expect(tt.comma)
- if (this.afterTrailingComma(tt.braceR)) break
- } else first = false
-
- let prop = this.startNode(), isGenerator, startPos, startLoc
- if (this.options.ecmaVersion >= 6) {
- prop.method = false
- prop.shorthand = false
- if (isPattern || refDestructuringErrors) {
- startPos = this.start
- startLoc = this.startLoc
- }
- if (!isPattern)
- isGenerator = this.eat(tt.star)
- }
- this.parsePropertyName(prop)
- this.parsePropertyValue(prop, isPattern, isGenerator, startPos, startLoc, refDestructuringErrors)
- this.checkPropClash(prop, propHash)
- node.properties.push(this.finishNode(prop, "Property"))
- }
- return this.finishNode(node, isPattern ? "ObjectPattern" : "ObjectExpression")
-}
-
-pp.parsePropertyValue = function(prop, isPattern, isGenerator, startPos, startLoc, refDestructuringErrors) {
- if (this.eat(tt.colon)) {
- prop.value = isPattern ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(false, refDestructuringErrors)
- prop.kind = "init"
- } else if (this.options.ecmaVersion >= 6 && this.type === tt.parenL) {
- if (isPattern) this.unexpected()
- prop.kind = "init"
- prop.method = true
- prop.value = this.parseMethod(isGenerator)
- } else if (this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === "Identifier" &&
- (prop.key.name === "get" || prop.key.name === "set") &&
- (this.type != tt.comma && this.type != tt.braceR)) {
- if (isGenerator || isPattern) this.unexpected()
- prop.kind = prop.key.name
- this.parsePropertyName(prop)
- prop.value = this.parseMethod(false)
- let paramCount = prop.kind === "get" ? 0 : 1
- if (prop.value.params.length !== paramCount) {
- let start = prop.value.start
- if (prop.kind === "get")
- this.raise(start, "getter should have no params");
- else
- this.raise(start, "setter should have exactly one param")
- }
- if (prop.kind === "set" && prop.value.params[0].type === "RestElement")
- this.raise(prop.value.params[0].start, "Setter cannot use rest params")
- } else if (this.options.ecmaVersion >= 6 && !prop.computed && prop.key.type === "Identifier") {
- prop.kind = "init"
- if (isPattern) {
- if (this.keywords.test(prop.key.name) ||
- (this.strict ? this.reservedWordsStrictBind : this.reservedWords).test(prop.key.name))
- this.raise(prop.key.start, "Binding " + prop.key.name)
- prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key)
- } else if (this.type === tt.eq && refDestructuringErrors) {
- if (!refDestructuringErrors.shorthandAssign)
- refDestructuringErrors.shorthandAssign = this.start
- prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key)
- } else {
- prop.value = prop.key
- }
- prop.shorthand = true
- } else this.unexpected()
-}
-
-pp.parsePropertyName = function(prop) {
- if (this.options.ecmaVersion >= 6) {
- if (this.eat(tt.bracketL)) {
- prop.computed = true
- prop.key = this.parseMaybeAssign()
- this.expect(tt.bracketR)
- return prop.key
- } else {
- prop.computed = false
- }
- }
- return prop.key = (this.type === tt.num || this.type === tt.string) ? this.parseExprAtom() : this.parseIdent(true)
-}
-
-// Initialize empty function node.
-
-pp.initFunction = function(node) {
- node.id = null
- if (this.options.ecmaVersion >= 6) {
- node.generator = false
- node.expression = false
- }
-}
-
-// Parse object or class method.
-
-pp.parseMethod = function(isGenerator) {
- let node = this.startNode()
- this.initFunction(node)
- this.expect(tt.parenL)
- node.params = this.parseBindingList(tt.parenR, false, false)
- if (this.options.ecmaVersion >= 6)
- node.generator = isGenerator
- this.parseFunctionBody(node, false)
- return this.finishNode(node, "FunctionExpression")
-}
-
-// Parse arrow function expression with given parameters.
-
-pp.parseArrowExpression = function(node, params) {
- this.initFunction(node)
- node.params = this.toAssignableList(params, true)
- this.parseFunctionBody(node, true)
- return this.finishNode(node, "ArrowFunctionExpression")
-}
-
-// Parse function body and check parameters.
-
-pp.parseFunctionBody = function(node, isArrowFunction) {
- let isExpression = isArrowFunction && this.type !== tt.braceL
-
- if (isExpression) {
- node.body = this.parseMaybeAssign()
- node.expression = true
- } else {
- // Start a new scope with regard to labels and the `inFunction`
- // flag (restore them to their old value afterwards).
- let oldInFunc = this.inFunction, oldInGen = this.inGenerator, oldLabels = this.labels
- this.inFunction = true; this.inGenerator = node.generator; this.labels = []
- node.body = this.parseBlock(true)
- node.expression = false
- this.inFunction = oldInFunc; this.inGenerator = oldInGen; this.labels = oldLabels
- }
-
- // If this is a strict mode function, verify that argument names
- // are not repeated, and it does not try to bind the words `eval`
- // or `arguments`.
- if (this.strict || !isExpression && node.body.body.length && this.isUseStrict(node.body.body[0])) {
- let oldStrict = this.strict
- this.strict = true
- if (node.id)
- this.checkLVal(node.id, true)
- this.checkParams(node);
- this.strict = oldStrict
- } else if (isArrowFunction) {
- this.checkParams(node);
- }
-}
-
-// Checks function params for various disallowed patterns such as using "eval"
-// or "arguments" and duplicate parameters.
-
-pp.checkParams = function(node) {
- let nameHash = {};
- for (let i = 0; i < node.params.length; i++)
- this.checkLVal(node.params[i], true, nameHash)
-};
-
-// Parses a comma-separated list of expressions, and returns them as
-// an array. `close` is the token type that ends the list, and
-// `allowEmpty` can be turned on to allow subsequent commas with
-// nothing in between them to be parsed as `null` (which is needed
-// for array literals).
-
-pp.parseExprList = function(close, allowTrailingComma, allowEmpty, refDestructuringErrors) {
- let elts = [], first = true
- while (!this.eat(close)) {
- if (!first) {
- this.expect(tt.comma)
- if (this.type === close && refDestructuringErrors && !refDestructuringErrors.trailingComma) {
- refDestructuringErrors.trailingComma = this.lastTokStart
- }
- if (allowTrailingComma && this.afterTrailingComma(close)) break
- } else first = false
-
- let elt
- if (allowEmpty && this.type === tt.comma)
- elt = null
- else if (this.type === tt.ellipsis)
- elt = this.parseSpread(refDestructuringErrors)
- else
- elt = this.parseMaybeAssign(false, refDestructuringErrors)
- elts.push(elt)
- }
- return elts
-}
-
-// Parse the next token as an identifier. If `liberal` is true (used
-// when parsing properties), it will also convert keywords into
-// identifiers.
-
-pp.parseIdent = function(liberal) {
- let node = this.startNode()
- if (liberal && this.options.allowReserved == "never") liberal = false
- if (this.type === tt.name) {
- if (!liberal && (this.strict ? this.reservedWordsStrict : this.reservedWords).test(this.value) &&
- (this.options.ecmaVersion >= 6 ||
- this.input.slice(this.start, this.end).indexOf("\\") == -1))
- this.raise(this.start, "The keyword '" + this.value + "' is reserved")
- node.name = this.value
- } else if (liberal && this.type.keyword) {
- node.name = this.type.keyword
- } else {
- this.unexpected()
- }
- this.next()
- return this.finishNode(node, "Identifier")
-}
-
-// Parses yield expression inside generator.
-
-pp.parseYield = function() {
- let node = this.startNode()
- this.next()
- if (this.type == tt.semi || this.canInsertSemicolon() || (this.type != tt.star && !this.type.startsExpr)) {
- node.delegate = false
- node.argument = null
- } else {
- node.delegate = this.eat(tt.star)
- node.argument = this.parseMaybeAssign()
- }
- return this.finishNode(node, "YieldExpression")
-}
-
-// Parses array and generator comprehensions.
-
-pp.parseComprehension = function(node, isGenerator) {
- node.blocks = []
- while (this.type === tt._for) {
- let block = this.startNode()
- this.next()
- this.expect(tt.parenL)
- block.left = this.parseBindingAtom()
- this.checkLVal(block.left, true)
- this.expectContextual("of")
- block.right = this.parseExpression()
- this.expect(tt.parenR)
- node.blocks.push(this.finishNode(block, "ComprehensionBlock"))
- }
- node.filter = this.eat(tt._if) ? this.parseParenExpression() : null
- node.body = this.parseExpression()
- this.expect(isGenerator ? tt.parenR : tt.bracketR)
- node.generator = isGenerator
- return this.finishNode(node, "ComprehensionExpression")
-}
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/identifier.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/identifier.js
deleted file mode 100644
index 59ead4388e..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/identifier.js
+++ /dev/null
@@ -1,90 +0,0 @@
-// This is a trick taken from Esprima. It turns out that, on
-// non-Chrome browsers, to check whether a string is in a set, a
-// predicate containing a big ugly `switch` statement is faster than
-// a regular expression, and on Chrome the two are about on par.
-// This function uses `eval` (non-lexical) to produce such a
-// predicate from a space-separated string of words.
-//
-// It starts by sorting the words by length.
-
-// Reserved word lists for various dialects of the language
-
-export const reservedWords = {
- 3: "abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",
- 5: "class enum extends super const export import",
- 6: "enum",
- strict: "implements interface let package private protected public static yield",
- strictBind: "eval arguments"
-}
-
-// And the keywords
-
-var ecma5AndLessKeywords = "break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this"
-
-export const keywords = {
- 5: ecma5AndLessKeywords,
- 6: ecma5AndLessKeywords + " let const class extends export import yield super"
-}
-
-// ## Character categories
-
-// Big ugly regular expressions that match characters in the
-// whitespace, identifier, and identifier-start categories. These
-// are only applied when a character is found to actually have a
-// code point above 128.
-// Generated by `bin/generate-identifier-regex.js`.
-
-let nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0-\u08b2\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\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\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\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\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\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\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua7ad\ua7b0\ua7b1\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab5f\uab64\uab65\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"
-let nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08e4-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c03\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d01-\u0d03\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19b0-\u19c0\u19c8\u19c9\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf2-\u1cf4\u1cf8\u1cf9\u1dc0-\u1df5\u1dfc-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f1\ua900-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2d\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f"
-
-const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]")
-const nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]")
-
-nonASCIIidentifierStartChars = nonASCIIidentifierChars = null
-
-// These are a run-length and offset encoded representation of the
-// >0xffff code points that are a valid part of identifiers. The
-// offset starts at 0x10000, and each pair of numbers represents an
-// offset to the next range, and then a size of the range. They were
-// generated by tools/generate-identifier-regex.js
-var astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,17,26,6,37,11,29,3,35,5,7,2,4,43,157,99,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,98,21,11,25,71,55,7,1,65,0,16,3,2,2,2,26,45,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,955,52,76,44,33,24,27,35,42,34,4,0,13,47,15,3,22,0,38,17,2,24,133,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,32,4,287,47,21,1,2,0,185,46,82,47,21,0,60,42,502,63,32,0,449,56,1288,920,104,110,2962,1070,13266,568,8,30,114,29,19,47,17,3,32,20,6,18,881,68,12,0,67,12,16481,1,3071,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,4149,196,1340,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,16355,541]
-var astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,1306,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,52,0,13,2,49,13,16,9,83,11,168,11,6,9,8,2,57,0,2,6,3,1,3,2,10,0,11,1,3,6,4,4,316,19,13,9,214,6,3,8,112,16,16,9,82,12,9,9,535,9,20855,9,135,4,60,6,26,9,1016,45,17,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,4305,6,792618,239]
-
-// This has a complexity linear to the value of the code. The
-// assumption is that looking up astral identifier characters is
-// rare.
-function isInAstralSet(code, set) {
- let pos = 0x10000
- for (let i = 0; i < set.length; i += 2) {
- pos += set[i]
- if (pos > code) return false
- pos += set[i + 1]
- if (pos >= code) return true
- }
-}
-
-// Test whether a given character code starts an identifier.
-
-export function isIdentifierStart(code, astral) {
- if (code < 65) return code === 36
- if (code < 91) return true
- if (code < 97) return code === 95
- if (code < 123) return true
- if (code <= 0xffff) return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code))
- if (astral === false) return false
- return isInAstralSet(code, astralIdentifierStartCodes)
-}
-
-// Test whether a given character is part of an identifier.
-
-export function isIdentifierChar(code, astral) {
- if (code < 48) return code === 36
- if (code < 58) return true
- if (code < 65) return false
- if (code < 91) return true
- if (code < 97) return code === 95
- if (code < 123) return true
- if (code <= 0xffff) return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code))
- if (astral === false) return false
- return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes)
-}
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/index.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/index.js
deleted file mode 100644
index 8215f1b818..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/index.js
+++ /dev/null
@@ -1,67 +0,0 @@
-// Acorn is a tiny, fast JavaScript parser written in JavaScript.
-//
-// Acorn was written by Marijn Haverbeke, Ingvar Stepanyan, and
-// various contributors and released under an MIT license.
-//
-// Git repositories for Acorn are available at
-//
-// http://marijnhaverbeke.nl/git/acorn
-// https://github.com/ternjs/acorn.git
-//
-// Please use the [github bug tracker][ghbt] to report issues.
-//
-// [ghbt]: https://github.com/ternjs/acorn/issues
-//
-// This file defines the main parser interface. The library also comes
-// with a [error-tolerant parser][dammit] and an
-// [abstract syntax tree walker][walk], defined in other files.
-//
-// [dammit]: acorn_loose.js
-// [walk]: util/walk.js
-
-import {Parser} from "./state"
-import "./parseutil"
-import "./statement"
-import "./lval"
-import "./expression"
-import "./location"
-
-export {Parser, plugins} from "./state"
-export {defaultOptions} from "./options"
-export {Position, SourceLocation, getLineInfo} from "./locutil"
-export {Node} from "./node"
-export {TokenType, types as tokTypes} from "./tokentype"
-export {TokContext, types as tokContexts} from "./tokencontext"
-export {isIdentifierChar, isIdentifierStart} from "./identifier"
-export {Token} from "./tokenize"
-export {isNewLine, lineBreak, lineBreakG} from "./whitespace"
-
-export const version = "2.7.0"
-
-// The main exported interface (under `self.acorn` when in the
-// browser) is a `parse` function that takes a code string and
-// returns an abstract syntax tree as specified by [Mozilla parser
-// API][api].
-//
-// [api]: https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API
-
-export function parse(input, options) {
- return new Parser(options, input).parse()
-}
-
-// This function tries to parse a single expression at a given
-// offset in a string. Useful for parsing mixed-language formats
-// that embed JavaScript expressions.
-
-export function parseExpressionAt(input, pos, options) {
- let p = new Parser(options, input, pos)
- p.nextToken()
- return p.parseExpression()
-}
-
-// Acorn is organized as a tokenizer and a recursive-descent parser.
-// The `tokenizer` export provides an interface to the tokenizer.
-
-export function tokenizer(input, options) {
- return new Parser(options, input)
-}
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/location.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/location.js
deleted file mode 100644
index 4625dc3889..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/location.js
+++ /dev/null
@@ -1,24 +0,0 @@
-import {Parser} from "./state"
-import {Position, getLineInfo} from "./locutil"
-
-const pp = Parser.prototype
-
-// This function is used to raise exceptions on parse errors. It
-// takes an offset integer (into the current `input`) to indicate
-// the location of the error, attaches the position to the end
-// of the error message, and then raises a `SyntaxError` with that
-// message.
-
-pp.raise = function(pos, message) {
- let loc = getLineInfo(this.input, pos)
- message += " (" + loc.line + ":" + loc.column + ")"
- let err = new SyntaxError(message)
- err.pos = pos; err.loc = loc; err.raisedAt = this.pos
- throw err
-}
-
-pp.curPosition = function() {
- if (this.options.locations) {
- return new Position(this.curLine, this.pos - this.lineStart)
- }
-}
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/locutil.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/locutil.js
deleted file mode 100644
index 5a9465e017..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/locutil.js
+++ /dev/null
@@ -1,42 +0,0 @@
-import {lineBreakG} from "./whitespace"
-
-// These are used when `options.locations` is on, for the
-// `startLoc` and `endLoc` properties.
-
-export class Position {
- constructor(line, col) {
- this.line = line
- this.column = col
- }
-
- offset(n) {
- return new Position(this.line, this.column + n)
- }
-}
-
-export class SourceLocation {
- constructor(p, start, end) {
- this.start = start
- this.end = end
- if (p.sourceFile !== null) this.source = p.sourceFile
- }
-}
-
-// The `getLineInfo` function is mostly useful when the
-// `locations` option is off (for performance reasons) and you
-// want to find the line/column position for a given character
-// offset. `input` should be the code string that the offset refers
-// into.
-
-export function getLineInfo(input, offset) {
- for (let line = 1, cur = 0;;) {
- lineBreakG.lastIndex = cur
- let match = lineBreakG.exec(input)
- if (match && match.index < offset) {
- ++line
- cur = match.index + match[0].length
- } else {
- return new Position(line, offset - cur)
- }
- }
-}
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/acorn_loose.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/acorn_loose.js
deleted file mode 100644
index e69de29bb2..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/acorn_loose.js
+++ /dev/null
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/expression.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/expression.js
deleted file mode 100644
index f3712c0eee..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/expression.js
+++ /dev/null
@@ -1,501 +0,0 @@
-import {LooseParser} from "./state"
-import {isDummy} from "./parseutil"
-import {tokTypes as tt} from ".."
-
-const lp = LooseParser.prototype
-
-lp.checkLVal = function(expr) {
- if (!expr) return expr
- switch (expr.type) {
- case "Identifier":
- case "MemberExpression":
- return expr
-
- case "ParenthesizedExpression":
- expr.expression = this.checkLVal(expr.expression)
- return expr
-
- default:
- return this.dummyIdent()
- }
-}
-
-lp.parseExpression = function(noIn) {
- let start = this.storeCurrentPos()
- let expr = this.parseMaybeAssign(noIn)
- if (this.tok.type === tt.comma) {
- let node = this.startNodeAt(start)
- node.expressions = [expr]
- while (this.eat(tt.comma)) node.expressions.push(this.parseMaybeAssign(noIn))
- return this.finishNode(node, "SequenceExpression")
- }
- return expr
-}
-
-lp.parseParenExpression = function() {
- this.pushCx()
- this.expect(tt.parenL)
- let val = this.parseExpression()
- this.popCx()
- this.expect(tt.parenR)
- return val
-}
-
-lp.parseMaybeAssign = function(noIn) {
- let start = this.storeCurrentPos()
- let left = this.parseMaybeConditional(noIn)
- if (this.tok.type.isAssign) {
- let node = this.startNodeAt(start)
- node.operator = this.tok.value
- node.left = this.tok.type === tt.eq ? this.toAssignable(left) : this.checkLVal(left)
- this.next()
- node.right = this.parseMaybeAssign(noIn)
- return this.finishNode(node, "AssignmentExpression")
- }
- return left
-}
-
-lp.parseMaybeConditional = function(noIn) {
- let start = this.storeCurrentPos()
- let expr = this.parseExprOps(noIn)
- if (this.eat(tt.question)) {
- let node = this.startNodeAt(start)
- node.test = expr
- node.consequent = this.parseMaybeAssign()
- node.alternate = this.expect(tt.colon) ? this.parseMaybeAssign(noIn) : this.dummyIdent()
- return this.finishNode(node, "ConditionalExpression")
- }
- return expr
-}
-
-lp.parseExprOps = function(noIn) {
- let start = this.storeCurrentPos()
- let indent = this.curIndent, line = this.curLineStart
- return this.parseExprOp(this.parseMaybeUnary(noIn), start, -1, noIn, indent, line)
-}
-
-lp.parseExprOp = function(left, start, minPrec, noIn, indent, line) {
- if (this.curLineStart != line && this.curIndent < indent && this.tokenStartsLine()) return left
- let prec = this.tok.type.binop
- if (prec != null && (!noIn || this.tok.type !== tt._in)) {
- if (prec > minPrec) {
- let node = this.startNodeAt(start)
- node.left = left
- node.operator = this.tok.value
- this.next()
- if (this.curLineStart != line && this.curIndent < indent && this.tokenStartsLine()) {
- node.right = this.dummyIdent()
- } else {
- let rightStart = this.storeCurrentPos()
- node.right = this.parseExprOp(this.parseMaybeUnary(noIn), rightStart, prec, noIn, indent, line)
- }
- this.finishNode(node, /&&|\|\|/.test(node.operator) ? "LogicalExpression" : "BinaryExpression")
- return this.parseExprOp(node, start, minPrec, noIn, indent, line)
- }
- }
- return left
-}
-
-lp.parseMaybeUnary = function(noIn) {
- if (this.tok.type.prefix) {
- let node = this.startNode(), update = this.tok.type === tt.incDec
- node.operator = this.tok.value
- node.prefix = true
- this.next()
- node.argument = this.parseMaybeUnary(noIn)
- if (update) node.argument = this.checkLVal(node.argument)
- return this.finishNode(node, update ? "UpdateExpression" : "UnaryExpression")
- } else if (this.tok.type === tt.ellipsis) {
- let node = this.startNode()
- this.next()
- node.argument = this.parseMaybeUnary(noIn)
- return this.finishNode(node, "SpreadElement")
- }
- let start = this.storeCurrentPos()
- let expr = this.parseExprSubscripts()
- while (this.tok.type.postfix && !this.canInsertSemicolon()) {
- let node = this.startNodeAt(start)
- node.operator = this.tok.value
- node.prefix = false
- node.argument = this.checkLVal(expr)
- this.next()
- expr = this.finishNode(node, "UpdateExpression")
- }
- return expr
-}
-
-lp.parseExprSubscripts = function() {
- let start = this.storeCurrentPos()
- return this.parseSubscripts(this.parseExprAtom(), start, false, this.curIndent, this.curLineStart)
-}
-
-lp.parseSubscripts = function(base, start, noCalls, startIndent, line) {
- for (;;) {
- if (this.curLineStart != line && this.curIndent <= startIndent && this.tokenStartsLine()) {
- if (this.tok.type == tt.dot && this.curIndent == startIndent)
- --startIndent
- else
- return base
- }
-
- if (this.eat(tt.dot)) {
- let node = this.startNodeAt(start)
- node.object = base
- if (this.curLineStart != line && this.curIndent <= startIndent && this.tokenStartsLine())
- node.property = this.dummyIdent()
- else
- node.property = this.parsePropertyAccessor() || this.dummyIdent()
- node.computed = false
- base = this.finishNode(node, "MemberExpression")
- } else if (this.tok.type == tt.bracketL) {
- this.pushCx()
- this.next()
- let node = this.startNodeAt(start)
- node.object = base
- node.property = this.parseExpression()
- node.computed = true
- this.popCx()
- this.expect(tt.bracketR)
- base = this.finishNode(node, "MemberExpression")
- } else if (!noCalls && this.tok.type == tt.parenL) {
- let node = this.startNodeAt(start)
- node.callee = base
- node.arguments = this.parseExprList(tt.parenR)
- base = this.finishNode(node, "CallExpression")
- } else if (this.tok.type == tt.backQuote) {
- let node = this.startNodeAt(start)
- node.tag = base
- node.quasi = this.parseTemplate()
- base = this.finishNode(node, "TaggedTemplateExpression")
- } else {
- return base
- }
- }
-}
-
-lp.parseExprAtom = function() {
- let node
- switch (this.tok.type) {
- case tt._this:
- case tt._super:
- let type = this.tok.type === tt._this ? "ThisExpression" : "Super"
- node = this.startNode()
- this.next()
- return this.finishNode(node, type)
-
- case tt.name:
- let start = this.storeCurrentPos()
- let id = this.parseIdent()
- return this.eat(tt.arrow) ? this.parseArrowExpression(this.startNodeAt(start), [id]) : id
-
- case tt.regexp:
- node = this.startNode()
- let val = this.tok.value
- node.regex = {pattern: val.pattern, flags: val.flags}
- node.value = val.value
- node.raw = this.input.slice(this.tok.start, this.tok.end)
- this.next()
- return this.finishNode(node, "Literal")
-
- case tt.num: case tt.string:
- node = this.startNode()
- node.value = this.tok.value
- node.raw = this.input.slice(this.tok.start, this.tok.end)
- this.next()
- return this.finishNode(node, "Literal")
-
- case tt._null: case tt._true: case tt._false:
- node = this.startNode()
- node.value = this.tok.type === tt._null ? null : this.tok.type === tt._true
- node.raw = this.tok.type.keyword
- this.next()
- return this.finishNode(node, "Literal")
-
- case tt.parenL:
- let parenStart = this.storeCurrentPos()
- this.next()
- let inner = this.parseExpression()
- this.expect(tt.parenR)
- if (this.eat(tt.arrow)) {
- return this.parseArrowExpression(this.startNodeAt(parenStart), inner.expressions || (isDummy(inner) ? [] : [inner]))
- }
- if (this.options.preserveParens) {
- let par = this.startNodeAt(parenStart)
- par.expression = inner
- inner = this.finishNode(par, "ParenthesizedExpression")
- }
- return inner
-
- case tt.bracketL:
- node = this.startNode()
- node.elements = this.parseExprList(tt.bracketR, true)
- return this.finishNode(node, "ArrayExpression")
-
- case tt.braceL:
- return this.parseObj()
-
- case tt._class:
- return this.parseClass()
-
- case tt._function:
- node = this.startNode()
- this.next()
- return this.parseFunction(node, false)
-
- case tt._new:
- return this.parseNew()
-
- case tt._yield:
- node = this.startNode()
- this.next()
- if (this.semicolon() || this.canInsertSemicolon() || (this.tok.type != tt.star && !this.tok.type.startsExpr)) {
- node.delegate = false
- node.argument = null
- } else {
- node.delegate = this.eat(tt.star)
- node.argument = this.parseMaybeAssign()
- }
- return this.finishNode(node, "YieldExpression")
-
- case tt.backQuote:
- return this.parseTemplate()
-
- default:
- return this.dummyIdent()
- }
-}
-
-lp.parseNew = function() {
- let node = this.startNode(), startIndent = this.curIndent, line = this.curLineStart
- let meta = this.parseIdent(true)
- if (this.options.ecmaVersion >= 6 && this.eat(tt.dot)) {
- node.meta = meta
- node.property = this.parseIdent(true)
- return this.finishNode(node, "MetaProperty")
- }
- let start = this.storeCurrentPos()
- node.callee = this.parseSubscripts(this.parseExprAtom(), start, true, startIndent, line)
- if (this.tok.type == tt.parenL) {
- node.arguments = this.parseExprList(tt.parenR)
- } else {
- node.arguments = []
- }
- return this.finishNode(node, "NewExpression")
-}
-
-lp.parseTemplateElement = function() {
- let elem = this.startNode()
- elem.value = {
- raw: this.input.slice(this.tok.start, this.tok.end).replace(/\r\n?/g, '\n'),
- cooked: this.tok.value
- }
- this.next()
- elem.tail = this.tok.type === tt.backQuote
- return this.finishNode(elem, "TemplateElement")
-}
-
-lp.parseTemplate = function() {
- let node = this.startNode()
- this.next()
- node.expressions = []
- let curElt = this.parseTemplateElement()
- node.quasis = [curElt]
- while (!curElt.tail) {
- this.next()
- node.expressions.push(this.parseExpression())
- if (this.expect(tt.braceR)) {
- curElt = this.parseTemplateElement()
- } else {
- curElt = this.startNode()
- curElt.value = {cooked: '', raw: ''}
- curElt.tail = true
- }
- node.quasis.push(curElt)
- }
- this.expect(tt.backQuote)
- return this.finishNode(node, "TemplateLiteral")
-}
-
-lp.parseObj = function() {
- let node = this.startNode()
- node.properties = []
- this.pushCx()
- let indent = this.curIndent + 1, line = this.curLineStart
- this.eat(tt.braceL)
- if (this.curIndent + 1 < indent) { indent = this.curIndent; line = this.curLineStart }
- while (!this.closes(tt.braceR, indent, line)) {
- let prop = this.startNode(), isGenerator, start
- if (this.options.ecmaVersion >= 6) {
- start = this.storeCurrentPos()
- prop.method = false
- prop.shorthand = false
- isGenerator = this.eat(tt.star)
- }
- this.parsePropertyName(prop)
- if (isDummy(prop.key)) { if (isDummy(this.parseMaybeAssign())) this.next(); this.eat(tt.comma); continue }
- if (this.eat(tt.colon)) {
- prop.kind = "init"
- prop.value = this.parseMaybeAssign()
- } else if (this.options.ecmaVersion >= 6 && (this.tok.type === tt.parenL || this.tok.type === tt.braceL)) {
- prop.kind = "init"
- prop.method = true
- prop.value = this.parseMethod(isGenerator)
- } else if (this.options.ecmaVersion >= 5 && prop.key.type === "Identifier" &&
- !prop.computed && (prop.key.name === "get" || prop.key.name === "set") &&
- (this.tok.type != tt.comma && this.tok.type != tt.braceR)) {
- prop.kind = prop.key.name
- this.parsePropertyName(prop)
- prop.value = this.parseMethod(false)
- } else {
- prop.kind = "init"
- if (this.options.ecmaVersion >= 6) {
- if (this.eat(tt.eq)) {
- let assign = this.startNodeAt(start)
- assign.operator = "="
- assign.left = prop.key
- assign.right = this.parseMaybeAssign()
- prop.value = this.finishNode(assign, "AssignmentExpression")
- } else {
- prop.value = prop.key
- }
- } else {
- prop.value = this.dummyIdent()
- }
- prop.shorthand = true
- }
- node.properties.push(this.finishNode(prop, "Property"))
- this.eat(tt.comma)
- }
- this.popCx()
- if (!this.eat(tt.braceR)) {
- // If there is no closing brace, make the node span to the start
- // of the next token (this is useful for Tern)
- this.last.end = this.tok.start
- if (this.options.locations) this.last.loc.end = this.tok.loc.start
- }
- return this.finishNode(node, "ObjectExpression")
-}
-
-lp.parsePropertyName = function(prop) {
- if (this.options.ecmaVersion >= 6) {
- if (this.eat(tt.bracketL)) {
- prop.computed = true
- prop.key = this.parseExpression()
- this.expect(tt.bracketR)
- return
- } else {
- prop.computed = false
- }
- }
- let key = (this.tok.type === tt.num || this.tok.type === tt.string) ? this.parseExprAtom() : this.parseIdent()
- prop.key = key || this.dummyIdent()
-}
-
-lp.parsePropertyAccessor = function() {
- if (this.tok.type === tt.name || this.tok.type.keyword) return this.parseIdent()
-}
-
-lp.parseIdent = function() {
- let name = this.tok.type === tt.name ? this.tok.value : this.tok.type.keyword
- if (!name) return this.dummyIdent()
- let node = this.startNode()
- this.next()
- node.name = name
- return this.finishNode(node, "Identifier")
-}
-
-lp.initFunction = function(node) {
- node.id = null
- node.params = []
- if (this.options.ecmaVersion >= 6) {
- node.generator = false
- node.expression = false
- }
-}
-
-// Convert existing expression atom to assignable pattern
-// if possible.
-
-lp.toAssignable = function(node, binding) {
- if (!node || node.type == "Identifier" || (node.type == "MemberExpression" && !binding)) {
- // Okay
- } else if (node.type == "ParenthesizedExpression") {
- node.expression = this.toAssignable(node.expression, binding)
- } else if (this.options.ecmaVersion < 6) {
- return this.dummyIdent()
- } else if (node.type == "ObjectExpression") {
- node.type = "ObjectPattern"
- let props = node.properties
- for (let i = 0; i < props.length; i++)
- props[i].value = this.toAssignable(props[i].value, binding)
- } else if (node.type == "ArrayExpression") {
- node.type = "ArrayPattern"
- this.toAssignableList(node.elements, binding)
- } else if (node.type == "SpreadElement") {
- node.type = "RestElement"
- node.argument = this.toAssignable(node.argument, binding)
- } else if (node.type == "AssignmentExpression") {
- node.type = "AssignmentPattern"
- delete node.operator
- } else {
- return this.dummyIdent()
- }
- return node
-}
-
-lp.toAssignableList = function(exprList, binding) {
- for (let i = 0; i < exprList.length; i++)
- exprList[i] = this.toAssignable(exprList[i], binding)
- return exprList
-}
-
-lp.parseFunctionParams = function(params) {
- params = this.parseExprList(tt.parenR)
- return this.toAssignableList(params, true)
-}
-
-lp.parseMethod = function(isGenerator) {
- let node = this.startNode()
- this.initFunction(node)
- node.params = this.parseFunctionParams()
- node.generator = isGenerator || false
- node.expression = this.options.ecmaVersion >= 6 && this.tok.type !== tt.braceL
- node.body = node.expression ? this.parseMaybeAssign() : this.parseBlock()
- return this.finishNode(node, "FunctionExpression")
-}
-
-lp.parseArrowExpression = function(node, params) {
- this.initFunction(node)
- node.params = this.toAssignableList(params, true)
- node.expression = this.tok.type !== tt.braceL
- node.body = node.expression ? this.parseMaybeAssign() : this.parseBlock()
- return this.finishNode(node, "ArrowFunctionExpression")
-}
-
-lp.parseExprList = function(close, allowEmpty) {
- this.pushCx()
- let indent = this.curIndent, line = this.curLineStart, elts = []
- this.next(); // Opening bracket
- while (!this.closes(close, indent + 1, line)) {
- if (this.eat(tt.comma)) {
- elts.push(allowEmpty ? null : this.dummyIdent())
- continue
- }
- let elt = this.parseMaybeAssign()
- if (isDummy(elt)) {
- if (this.closes(close, indent, line)) break
- this.next()
- } else {
- elts.push(elt)
- }
- this.eat(tt.comma)
- }
- this.popCx()
- if (!this.eat(close)) {
- // If there is no closing brace, make the node span to the start
- // of the next token (this is useful for Tern)
- this.last.end = this.tok.start
- if (this.options.locations) this.last.loc.end = this.tok.loc.start
- }
- return elts
-}
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/index.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/index.js
deleted file mode 100644
index 7b3fad1402..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/index.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// Acorn: Loose parser
-//
-// This module provides an alternative parser (`parse_dammit`) that
-// exposes that same interface as `parse`, but will try to parse
-// anything as JavaScript, repairing syntax error the best it can.
-// There are circumstances in which it will raise an error and give
-// up, but they are very rare. The resulting AST will be a mostly
-// valid JavaScript AST (as per the [Mozilla parser API][api], except
-// that:
-//
-// - Return outside functions is allowed
-//
-// - Label consistency (no conflicts, break only to existing labels)
-// is not enforced.
-//
-// - Bogus Identifier nodes with a name of `"✖"` are inserted whenever
-// the parser got too confused to return anything meaningful.
-//
-// [api]: https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API
-//
-// The expected use for this is to *first* try `acorn.parse`, and only
-// if that fails switch to `parse_dammit`. The loose parser might
-// parse badly indented code incorrectly, so **don't** use it as
-// your default parser.
-//
-// Quite a lot of acorn.js is duplicated here. The alternative was to
-// add a *lot* of extra cruft to that file, making it less readable
-// and slower. Copying and editing the code allowed me to make
-// invasive changes and simplifications without creating a complicated
-// tangle.
-
-import * as acorn from ".."
-import {LooseParser, pluginsLoose} from "./state"
-import "./tokenize"
-import "./statement"
-import "./expression"
-
-export {LooseParser, pluginsLoose} from "./state"
-
-acorn.defaultOptions.tabSize = 4
-
-export function parse_dammit(input, options) {
- let p = new LooseParser(input, options)
- p.next()
- return p.parseTopLevel()
-}
-
-acorn.parse_dammit = parse_dammit
-acorn.LooseParser = LooseParser
-acorn.pluginsLoose = pluginsLoose
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/parseutil.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/parseutil.js
deleted file mode 100644
index c5ee096a1d..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/parseutil.js
+++ /dev/null
@@ -1 +0,0 @@
-export function isDummy(node) { return node.name == "✖" } \ No newline at end of file
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/state.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/state.js
deleted file mode 100644
index de33831b2e..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/state.js
+++ /dev/null
@@ -1,160 +0,0 @@
-import {tokenizer, SourceLocation, tokTypes as tt, Node, lineBreak, isNewLine} from ".."
-
-// Registered plugins
-export const pluginsLoose = {}
-
-export class LooseParser {
- constructor(input, options) {
- this.toks = tokenizer(input, options)
- this.options = this.toks.options
- this.input = this.toks.input
- this.tok = this.last = {type: tt.eof, start: 0, end: 0}
- if (this.options.locations) {
- let here = this.toks.curPosition()
- this.tok.loc = new SourceLocation(this.toks, here, here)
- }
- this.ahead = []; // Tokens ahead
- this.context = []; // Indentation contexted
- this.curIndent = 0
- this.curLineStart = 0
- this.nextLineStart = this.lineEnd(this.curLineStart) + 1
- // Load plugins
- this.options.pluginsLoose = options.pluginsLoose || {}
- this.loadPlugins(this.options.pluginsLoose)
- }
-
- startNode() {
- return new Node(this.toks, this.tok.start, this.options.locations ? this.tok.loc.start : null)
- }
-
- storeCurrentPos() {
- return this.options.locations ? [this.tok.start, this.tok.loc.start] : this.tok.start
- }
-
- startNodeAt(pos) {
- if (this.options.locations) {
- return new Node(this.toks, pos[0], pos[1])
- } else {
- return new Node(this.toks, pos)
- }
- }
-
- finishNode(node, type) {
- node.type = type
- node.end = this.last.end
- if (this.options.locations)
- node.loc.end = this.last.loc.end
- if (this.options.ranges)
- node.range[1] = this.last.end
- return node
- }
-
- dummyNode(type) {
- let dummy = this.startNode()
- dummy.type = type
- dummy.end = dummy.start
- if (this.options.locations)
- dummy.loc.end = dummy.loc.start
- if (this.options.ranges)
- dummy.range[1] = dummy.start
- this.last = {type: tt.name, start: dummy.start, end: dummy.start, loc: dummy.loc}
- return dummy
- }
-
- dummyIdent() {
- let dummy = this.dummyNode("Identifier")
- dummy.name = "✖"
- return dummy
- }
-
- dummyString() {
- let dummy = this.dummyNode("Literal")
- dummy.value = dummy.raw = "✖"
- return dummy
- }
-
- eat(type) {
- if (this.tok.type === type) {
- this.next()
- return true
- } else {
- return false
- }
- }
-
- isContextual(name) {
- return this.tok.type === tt.name && this.tok.value === name
- }
-
- eatContextual(name) {
- return this.tok.value === name && this.eat(tt.name)
- }
-
- canInsertSemicolon() {
- return this.tok.type === tt.eof || this.tok.type === tt.braceR ||
- lineBreak.test(this.input.slice(this.last.end, this.tok.start))
- }
-
- semicolon() {
- return this.eat(tt.semi)
- }
-
- expect(type) {
- if (this.eat(type)) return true
- for (let i = 1; i <= 2; i++) {
- if (this.lookAhead(i).type == type) {
- for (let j = 0; j < i; j++) this.next()
- return true
- }
- }
- }
-
- pushCx() {
- this.context.push(this.curIndent)
- }
-
- popCx() {
- this.curIndent = this.context.pop()
- }
-
- lineEnd(pos) {
- while (pos < this.input.length && !isNewLine(this.input.charCodeAt(pos))) ++pos
- return pos
- }
-
- indentationAfter(pos) {
- for (let count = 0;; ++pos) {
- let ch = this.input.charCodeAt(pos)
- if (ch === 32) ++count
- else if (ch === 9) count += this.options.tabSize
- else return count
- }
- }
-
- closes(closeTok, indent, line, blockHeuristic) {
- if (this.tok.type === closeTok || this.tok.type === tt.eof) return true
- return line != this.curLineStart && this.curIndent < indent && this.tokenStartsLine() &&
- (!blockHeuristic || this.nextLineStart >= this.input.length ||
- this.indentationAfter(this.nextLineStart) < indent)
- }
-
- tokenStartsLine() {
- for (let p = this.tok.start - 1; p >= this.curLineStart; --p) {
- let ch = this.input.charCodeAt(p)
- if (ch !== 9 && ch !== 32) return false
- }
- return true
- }
-
- extend(name, f) {
- this[name] = f(this[name])
- }
-
- loadPlugins(pluginConfigs) {
- for (let name in pluginConfigs) {
- let plugin = pluginsLoose[name]
- if (!plugin) throw new Error("Plugin '" + name + "' not found")
- plugin(this, pluginConfigs[name])
- }
- }
-}
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/statement.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/statement.js
deleted file mode 100644
index cffec9ee83..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/statement.js
+++ /dev/null
@@ -1,420 +0,0 @@
-import {LooseParser} from "./state"
-import {isDummy} from "./parseutil"
-import {getLineInfo, tokTypes as tt} from ".."
-
-const lp = LooseParser.prototype
-
-lp.parseTopLevel = function() {
- let node = this.startNodeAt(this.options.locations ? [0, getLineInfo(this.input, 0)] : 0)
- node.body = []
- while (this.tok.type !== tt.eof) node.body.push(this.parseStatement())
- this.last = this.tok
- if (this.options.ecmaVersion >= 6) {
- node.sourceType = this.options.sourceType
- }
- return this.finishNode(node, "Program")
-}
-
-lp.parseStatement = function() {
- let starttype = this.tok.type, node = this.startNode()
-
- switch (starttype) {
- case tt._break: case tt._continue:
- this.next()
- let isBreak = starttype === tt._break
- if (this.semicolon() || this.canInsertSemicolon()) {
- node.label = null
- } else {
- node.label = this.tok.type === tt.name ? this.parseIdent() : null
- this.semicolon()
- }
- return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement")
-
- case tt._debugger:
- this.next()
- this.semicolon()
- return this.finishNode(node, "DebuggerStatement")
-
- case tt._do:
- this.next()
- node.body = this.parseStatement()
- node.test = this.eat(tt._while) ? this.parseParenExpression() : this.dummyIdent()
- this.semicolon()
- return this.finishNode(node, "DoWhileStatement")
-
- case tt._for:
- this.next()
- this.pushCx()
- this.expect(tt.parenL)
- if (this.tok.type === tt.semi) return this.parseFor(node, null)
- if (this.tok.type === tt._var || this.tok.type === tt._let || this.tok.type === tt._const) {
- let init = this.parseVar(true)
- if (init.declarations.length === 1 && (this.tok.type === tt._in || this.isContextual("of"))) {
- return this.parseForIn(node, init)
- }
- return this.parseFor(node, init)
- }
- let init = this.parseExpression(true)
- if (this.tok.type === tt._in || this.isContextual("of"))
- return this.parseForIn(node, this.toAssignable(init))
- return this.parseFor(node, init)
-
- case tt._function:
- this.next()
- return this.parseFunction(node, true)
-
- case tt._if:
- this.next()
- node.test = this.parseParenExpression()
- node.consequent = this.parseStatement()
- node.alternate = this.eat(tt._else) ? this.parseStatement() : null
- return this.finishNode(node, "IfStatement")
-
- case tt._return:
- this.next()
- if (this.eat(tt.semi) || this.canInsertSemicolon()) node.argument = null
- else { node.argument = this.parseExpression(); this.semicolon() }
- return this.finishNode(node, "ReturnStatement")
-
- case tt._switch:
- let blockIndent = this.curIndent, line = this.curLineStart
- this.next()
- node.discriminant = this.parseParenExpression()
- node.cases = []
- this.pushCx()
- this.expect(tt.braceL)
-
- let cur
- while (!this.closes(tt.braceR, blockIndent, line, true)) {
- if (this.tok.type === tt._case || this.tok.type === tt._default) {
- let isCase = this.tok.type === tt._case
- if (cur) this.finishNode(cur, "SwitchCase")
- node.cases.push(cur = this.startNode())
- cur.consequent = []
- this.next()
- if (isCase) cur.test = this.parseExpression()
- else cur.test = null
- this.expect(tt.colon)
- } else {
- if (!cur) {
- node.cases.push(cur = this.startNode())
- cur.consequent = []
- cur.test = null
- }
- cur.consequent.push(this.parseStatement())
- }
- }
- if (cur) this.finishNode(cur, "SwitchCase")
- this.popCx()
- this.eat(tt.braceR)
- return this.finishNode(node, "SwitchStatement")
-
- case tt._throw:
- this.next()
- node.argument = this.parseExpression()
- this.semicolon()
- return this.finishNode(node, "ThrowStatement")
-
- case tt._try:
- this.next()
- node.block = this.parseBlock()
- node.handler = null
- if (this.tok.type === tt._catch) {
- let clause = this.startNode()
- this.next()
- this.expect(tt.parenL)
- clause.param = this.toAssignable(this.parseExprAtom(), true)
- this.expect(tt.parenR)
- clause.body = this.parseBlock()
- node.handler = this.finishNode(clause, "CatchClause")
- }
- node.finalizer = this.eat(tt._finally) ? this.parseBlock() : null
- if (!node.handler && !node.finalizer) return node.block
- return this.finishNode(node, "TryStatement")
-
- case tt._var:
- case tt._let:
- case tt._const:
- return this.parseVar()
-
- case tt._while:
- this.next()
- node.test = this.parseParenExpression()
- node.body = this.parseStatement()
- return this.finishNode(node, "WhileStatement")
-
- case tt._with:
- this.next()
- node.object = this.parseParenExpression()
- node.body = this.parseStatement()
- return this.finishNode(node, "WithStatement")
-
- case tt.braceL:
- return this.parseBlock()
-
- case tt.semi:
- this.next()
- return this.finishNode(node, "EmptyStatement")
-
- case tt._class:
- return this.parseClass(true)
-
- case tt._import:
- return this.parseImport()
-
- case tt._export:
- return this.parseExport()
-
- default:
- let expr = this.parseExpression()
- if (isDummy(expr)) {
- this.next()
- if (this.tok.type === tt.eof) return this.finishNode(node, "EmptyStatement")
- return this.parseStatement()
- } else if (starttype === tt.name && expr.type === "Identifier" && this.eat(tt.colon)) {
- node.body = this.parseStatement()
- node.label = expr
- return this.finishNode(node, "LabeledStatement")
- } else {
- node.expression = expr
- this.semicolon()
- return this.finishNode(node, "ExpressionStatement")
- }
- }
-}
-
-lp.parseBlock = function() {
- let node = this.startNode()
- this.pushCx()
- this.expect(tt.braceL)
- let blockIndent = this.curIndent, line = this.curLineStart
- node.body = []
- while (!this.closes(tt.braceR, blockIndent, line, true))
- node.body.push(this.parseStatement())
- this.popCx()
- this.eat(tt.braceR)
- return this.finishNode(node, "BlockStatement")
-}
-
-lp.parseFor = function(node, init) {
- node.init = init
- node.test = node.update = null
- if (this.eat(tt.semi) && this.tok.type !== tt.semi) node.test = this.parseExpression()
- if (this.eat(tt.semi) && this.tok.type !== tt.parenR) node.update = this.parseExpression()
- this.popCx()
- this.expect(tt.parenR)
- node.body = this.parseStatement()
- return this.finishNode(node, "ForStatement")
-}
-
-lp.parseForIn = function(node, init) {
- let type = this.tok.type === tt._in ? "ForInStatement" : "ForOfStatement"
- this.next()
- node.left = init
- node.right = this.parseExpression()
- this.popCx()
- this.expect(tt.parenR)
- node.body = this.parseStatement()
- return this.finishNode(node, type)
-}
-
-lp.parseVar = function(noIn) {
- let node = this.startNode()
- node.kind = this.tok.type.keyword
- this.next()
- node.declarations = []
- do {
- let decl = this.startNode()
- decl.id = this.options.ecmaVersion >= 6 ? this.toAssignable(this.parseExprAtom(), true) : this.parseIdent()
- decl.init = this.eat(tt.eq) ? this.parseMaybeAssign(noIn) : null
- node.declarations.push(this.finishNode(decl, "VariableDeclarator"))
- } while (this.eat(tt.comma))
- if (!node.declarations.length) {
- let decl = this.startNode()
- decl.id = this.dummyIdent()
- node.declarations.push(this.finishNode(decl, "VariableDeclarator"))
- }
- if (!noIn) this.semicolon()
- return this.finishNode(node, "VariableDeclaration")
-}
-
-lp.parseClass = function(isStatement) {
- let node = this.startNode()
- this.next()
- if (this.tok.type === tt.name) node.id = this.parseIdent()
- else if (isStatement) node.id = this.dummyIdent()
- else node.id = null
- node.superClass = this.eat(tt._extends) ? this.parseExpression() : null
- node.body = this.startNode()
- node.body.body = []
- this.pushCx()
- let indent = this.curIndent + 1, line = this.curLineStart
- this.eat(tt.braceL)
- if (this.curIndent + 1 < indent) { indent = this.curIndent; line = this.curLineStart }
- while (!this.closes(tt.braceR, indent, line)) {
- if (this.semicolon()) continue
- let method = this.startNode(), isGenerator
- if (this.options.ecmaVersion >= 6) {
- method.static = false
- isGenerator = this.eat(tt.star)
- }
- this.parsePropertyName(method)
- if (isDummy(method.key)) { if (isDummy(this.parseMaybeAssign())) this.next(); this.eat(tt.comma); continue }
- if (method.key.type === "Identifier" && !method.computed && method.key.name === "static" &&
- (this.tok.type != tt.parenL && this.tok.type != tt.braceL)) {
- method.static = true
- isGenerator = this.eat(tt.star)
- this.parsePropertyName(method)
- } else {
- method.static = false
- }
- if (this.options.ecmaVersion >= 5 && method.key.type === "Identifier" &&
- !method.computed && (method.key.name === "get" || method.key.name === "set") &&
- this.tok.type !== tt.parenL && this.tok.type !== tt.braceL) {
- method.kind = method.key.name
- this.parsePropertyName(method)
- method.value = this.parseMethod(false)
- } else {
- if (!method.computed && !method.static && !isGenerator && (
- method.key.type === "Identifier" && method.key.name === "constructor" ||
- method.key.type === "Literal" && method.key.value === "constructor")) {
- method.kind = "constructor"
- } else {
- method.kind = "method"
- }
- method.value = this.parseMethod(isGenerator)
- }
- node.body.body.push(this.finishNode(method, "MethodDefinition"))
- }
- this.popCx()
- if (!this.eat(tt.braceR)) {
- // If there is no closing brace, make the node span to the start
- // of the next token (this is useful for Tern)
- this.last.end = this.tok.start
- if (this.options.locations) this.last.loc.end = this.tok.loc.start
- }
- this.semicolon()
- this.finishNode(node.body, "ClassBody")
- return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression")
-}
-
-lp.parseFunction = function(node, isStatement) {
- this.initFunction(node)
- if (this.options.ecmaVersion >= 6) {
- node.generator = this.eat(tt.star)
- }
- if (this.tok.type === tt.name) node.id = this.parseIdent()
- else if (isStatement) node.id = this.dummyIdent()
- node.params = this.parseFunctionParams()
- node.body = this.parseBlock()
- return this.finishNode(node, isStatement ? "FunctionDeclaration" : "FunctionExpression")
-}
-
-lp.parseExport = function() {
- let node = this.startNode()
- this.next()
- if (this.eat(tt.star)) {
- node.source = this.eatContextual("from") ? this.parseExprAtom() : null
- return this.finishNode(node, "ExportAllDeclaration")
- }
- if (this.eat(tt._default)) {
- let expr = this.parseMaybeAssign()
- if (expr.id) {
- switch (expr.type) {
- case "FunctionExpression": expr.type = "FunctionDeclaration"; break
- case "ClassExpression": expr.type = "ClassDeclaration"; break
- }
- }
- node.declaration = expr
- this.semicolon()
- return this.finishNode(node, "ExportDefaultDeclaration")
- }
- if (this.tok.type.keyword) {
- node.declaration = this.parseStatement()
- node.specifiers = []
- node.source = null
- } else {
- node.declaration = null
- node.specifiers = this.parseExportSpecifierList()
- node.source = this.eatContextual("from") ? this.parseExprAtom() : null
- this.semicolon()
- }
- return this.finishNode(node, "ExportNamedDeclaration")
-}
-
-lp.parseImport = function() {
- let node = this.startNode()
- this.next()
- if (this.tok.type === tt.string) {
- node.specifiers = []
- node.source = this.parseExprAtom()
- node.kind = ''
- } else {
- let elt
- if (this.tok.type === tt.name && this.tok.value !== "from") {
- elt = this.startNode()
- elt.local = this.parseIdent()
- this.finishNode(elt, "ImportDefaultSpecifier")
- this.eat(tt.comma)
- }
- node.specifiers = this.parseImportSpecifierList()
- node.source = this.eatContextual("from") && this.tok.type == tt.string ? this.parseExprAtom() : this.dummyString()
- if (elt) node.specifiers.unshift(elt)
- }
- this.semicolon()
- return this.finishNode(node, "ImportDeclaration")
-}
-
-lp.parseImportSpecifierList = function() {
- let elts = []
- if (this.tok.type === tt.star) {
- let elt = this.startNode()
- this.next()
- if (this.eatContextual("as")) elt.local = this.parseIdent()
- elts.push(this.finishNode(elt, "ImportNamespaceSpecifier"))
- } else {
- let indent = this.curIndent, line = this.curLineStart, continuedLine = this.nextLineStart
- this.pushCx()
- this.eat(tt.braceL)
- if (this.curLineStart > continuedLine) continuedLine = this.curLineStart
- while (!this.closes(tt.braceR, indent + (this.curLineStart <= continuedLine ? 1 : 0), line)) {
- let elt = this.startNode()
- if (this.eat(tt.star)) {
- elt.local = this.eatContextual("as") ? this.parseIdent() : this.dummyIdent()
- this.finishNode(elt, "ImportNamespaceSpecifier")
- } else {
- if (this.isContextual("from")) break
- elt.imported = this.parseIdent()
- if (isDummy(elt.imported)) break
- elt.local = this.eatContextual("as") ? this.parseIdent() : elt.imported
- this.finishNode(elt, "ImportSpecifier")
- }
- elts.push(elt)
- this.eat(tt.comma)
- }
- this.eat(tt.braceR)
- this.popCx()
- }
- return elts
-}
-
-lp.parseExportSpecifierList = function() {
- let elts = []
- let indent = this.curIndent, line = this.curLineStart, continuedLine = this.nextLineStart
- this.pushCx()
- this.eat(tt.braceL)
- if (this.curLineStart > continuedLine) continuedLine = this.curLineStart
- while (!this.closes(tt.braceR, indent + (this.curLineStart <= continuedLine ? 1 : 0), line)) {
- if (this.isContextual("from")) break
- let elt = this.startNode()
- elt.local = this.parseIdent()
- if (isDummy(elt.local)) break
- elt.exported = this.eatContextual("as") ? this.parseIdent() : elt.local
- this.finishNode(elt, "ExportSpecifier")
- elts.push(elt)
- this.eat(tt.comma)
- }
- this.eat(tt.braceR)
- this.popCx()
- return elts
-}
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/tokenize.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/tokenize.js
deleted file mode 100644
index c20db22467..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/tokenize.js
+++ /dev/null
@@ -1,108 +0,0 @@
-import {tokTypes as tt, Token, isNewLine, SourceLocation, getLineInfo, lineBreakG} from ".."
-import {LooseParser} from "./state"
-
-const lp = LooseParser.prototype
-
-function isSpace(ch) {
- return (ch < 14 && ch > 8) || ch === 32 || ch === 160 || isNewLine(ch)
-}
-
-lp.next = function() {
- this.last = this.tok
- if (this.ahead.length)
- this.tok = this.ahead.shift()
- else
- this.tok = this.readToken()
-
- if (this.tok.start >= this.nextLineStart) {
- while (this.tok.start >= this.nextLineStart) {
- this.curLineStart = this.nextLineStart
- this.nextLineStart = this.lineEnd(this.curLineStart) + 1
- }
- this.curIndent = this.indentationAfter(this.curLineStart)
- }
-}
-
-lp.readToken = function() {
- for (;;) {
- try {
- this.toks.next()
- if (this.toks.type === tt.dot &&
- this.input.substr(this.toks.end, 1) === "." &&
- this.options.ecmaVersion >= 6) {
- this.toks.end++
- this.toks.type = tt.ellipsis
- }
- return new Token(this.toks)
- } catch(e) {
- if (!(e instanceof SyntaxError)) throw e
-
- // Try to skip some text, based on the error message, and then continue
- let msg = e.message, pos = e.raisedAt, replace = true
- if (/unterminated/i.test(msg)) {
- pos = this.lineEnd(e.pos + 1)
- if (/string/.test(msg)) {
- replace = {start: e.pos, end: pos, type: tt.string, value: this.input.slice(e.pos + 1, pos)}
- } else if (/regular expr/i.test(msg)) {
- let re = this.input.slice(e.pos, pos)
- try { re = new RegExp(re) } catch(e) {}
- replace = {start: e.pos, end: pos, type: tt.regexp, value: re}
- } else if (/template/.test(msg)) {
- replace = {start: e.pos, end: pos,
- type: tt.template,
- value: this.input.slice(e.pos, pos)}
- } else {
- replace = false
- }
- } else if (/invalid (unicode|regexp|number)|expecting unicode|octal literal|is reserved|directly after number|expected number in radix/i.test(msg)) {
- while (pos < this.input.length && !isSpace(this.input.charCodeAt(pos))) ++pos
- } else if (/character escape|expected hexadecimal/i.test(msg)) {
- while (pos < this.input.length) {
- let ch = this.input.charCodeAt(pos++)
- if (ch === 34 || ch === 39 || isNewLine(ch)) break
- }
- } else if (/unexpected character/i.test(msg)) {
- pos++
- replace = false
- } else if (/regular expression/i.test(msg)) {
- replace = true
- } else {
- throw e
- }
- this.resetTo(pos)
- if (replace === true) replace = {start: pos, end: pos, type: tt.name, value: "✖"}
- if (replace) {
- if (this.options.locations)
- replace.loc = new SourceLocation(
- this.toks,
- getLineInfo(this.input, replace.start),
- getLineInfo(this.input, replace.end))
- return replace
- }
- }
- }
-}
-
-lp.resetTo = function(pos) {
- this.toks.pos = pos
- let ch = this.input.charAt(pos - 1)
- this.toks.exprAllowed = !ch || /[\[\{\(,;:?\/*=+\-~!|&%^<>]/.test(ch) ||
- /[enwfd]/.test(ch) &&
- /\b(keywords|case|else|return|throw|new|in|(instance|type)of|delete|void)$/.test(this.input.slice(pos - 10, pos))
-
- if (this.options.locations) {
- this.toks.curLine = 1
- this.toks.lineStart = lineBreakG.lastIndex = 0
- let match
- while ((match = lineBreakG.exec(this.input)) && match.index < pos) {
- ++this.toks.curLine
- this.toks.lineStart = match.index + match[0].length
- }
- }
-}
-
-lp.lookAhead = function(n) {
- while (n > this.ahead.length)
- this.ahead.push(this.readToken())
- return this.ahead[n - 1]
-}
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/lval.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/lval.js
deleted file mode 100644
index 1e2508ef9e..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/lval.js
+++ /dev/null
@@ -1,215 +0,0 @@
-import {types as tt} from "./tokentype"
-import {Parser} from "./state"
-import {has} from "./util"
-
-const pp = Parser.prototype
-
-// Convert existing expression atom to assignable pattern
-// if possible.
-
-pp.toAssignable = function(node, isBinding) {
- if (this.options.ecmaVersion >= 6 && node) {
- switch (node.type) {
- case "Identifier":
- case "ObjectPattern":
- case "ArrayPattern":
- break
-
- case "ObjectExpression":
- node.type = "ObjectPattern"
- for (let i = 0; i < node.properties.length; i++) {
- let prop = node.properties[i]
- if (prop.kind !== "init") this.raise(prop.key.start, "Object pattern can't contain getter or setter")
- this.toAssignable(prop.value, isBinding)
- }
- break
-
- case "ArrayExpression":
- node.type = "ArrayPattern"
- this.toAssignableList(node.elements, isBinding)
- break
-
- case "AssignmentExpression":
- if (node.operator === "=") {
- node.type = "AssignmentPattern"
- delete node.operator
- // falls through to AssignmentPattern
- } else {
- this.raise(node.left.end, "Only '=' operator can be used for specifying default value.")
- break;
- }
-
- case "AssignmentPattern":
- if (node.right.type === "YieldExpression")
- this.raise(node.right.start, "Yield expression cannot be a default value")
- break;
-
- case "ParenthesizedExpression":
- node.expression = this.toAssignable(node.expression, isBinding)
- break
-
- case "MemberExpression":
- if (!isBinding) break
-
- default:
- this.raise(node.start, "Assigning to rvalue")
- }
- }
- return node
-}
-
-// Convert list of expression atoms to binding list.
-
-pp.toAssignableList = function(exprList, isBinding) {
- let end = exprList.length
- if (end) {
- let last = exprList[end - 1]
- if (last && last.type == "RestElement") {
- --end
- } else if (last && last.type == "SpreadElement") {
- last.type = "RestElement"
- let arg = last.argument
- this.toAssignable(arg, isBinding)
- if (arg.type !== "Identifier" && arg.type !== "MemberExpression" && arg.type !== "ArrayPattern")
- this.unexpected(arg.start)
- --end
- }
-
- if (isBinding && last.type === "RestElement" && last.argument.type !== "Identifier")
- this.unexpected(last.argument.start);
- }
- for (let i = 0; i < end; i++) {
- let elt = exprList[i]
- if (elt) this.toAssignable(elt, isBinding)
- }
- return exprList
-}
-
-// Parses spread element.
-
-pp.parseSpread = function(refDestructuringErrors) {
- let node = this.startNode()
- this.next()
- node.argument = this.parseMaybeAssign(refDestructuringErrors)
- return this.finishNode(node, "SpreadElement")
-}
-
-pp.parseRest = function(allowNonIdent) {
- let node = this.startNode()
- this.next()
-
- // RestElement inside of a function parameter must be an identifier
- if (allowNonIdent) node.argument = this.type === tt.name ? this.parseIdent() : this.unexpected()
- else node.argument = this.type === tt.name || this.type === tt.bracketL ? this.parseBindingAtom() : this.unexpected()
-
- return this.finishNode(node, "RestElement")
-}
-
-// Parses lvalue (assignable) atom.
-
-pp.parseBindingAtom = function() {
- if (this.options.ecmaVersion < 6) return this.parseIdent()
- switch (this.type) {
- case tt.name:
- return this.parseIdent()
-
- case tt.bracketL:
- let node = this.startNode()
- this.next()
- node.elements = this.parseBindingList(tt.bracketR, true, true)
- return this.finishNode(node, "ArrayPattern")
-
- case tt.braceL:
- return this.parseObj(true)
-
- default:
- this.unexpected()
- }
-}
-
-pp.parseBindingList = function(close, allowEmpty, allowTrailingComma, allowNonIdent) {
- let elts = [], first = true
- while (!this.eat(close)) {
- if (first) first = false
- else this.expect(tt.comma)
- if (allowEmpty && this.type === tt.comma) {
- elts.push(null)
- } else if (allowTrailingComma && this.afterTrailingComma(close)) {
- break
- } else if (this.type === tt.ellipsis) {
- let rest = this.parseRest(allowNonIdent)
- this.parseBindingListItem(rest)
- elts.push(rest)
- this.expect(close)
- break
- } else {
- let elem = this.parseMaybeDefault(this.start, this.startLoc)
- this.parseBindingListItem(elem)
- elts.push(elem)
- }
- }
- return elts
-}
-
-pp.parseBindingListItem = function(param) {
- return param
-}
-
-// Parses assignment pattern around given atom if possible.
-
-pp.parseMaybeDefault = function(startPos, startLoc, left) {
- left = left || this.parseBindingAtom()
- if (this.options.ecmaVersion < 6 || !this.eat(tt.eq)) return left
- let node = this.startNodeAt(startPos, startLoc)
- node.left = left
- node.right = this.parseMaybeAssign()
- return this.finishNode(node, "AssignmentPattern")
-}
-
-// Verify that a node is an lval — something that can be assigned
-// to.
-
-pp.checkLVal = function(expr, isBinding, checkClashes) {
- switch (expr.type) {
- case "Identifier":
- if (this.strict && this.reservedWordsStrictBind.test(expr.name))
- this.raise(expr.start, (isBinding ? "Binding " : "Assigning to ") + expr.name + " in strict mode")
- if (checkClashes) {
- if (has(checkClashes, expr.name))
- this.raise(expr.start, "Argument name clash")
- checkClashes[expr.name] = true
- }
- break
-
- case "MemberExpression":
- if (isBinding) this.raise(expr.start, (isBinding ? "Binding" : "Assigning to") + " member expression")
- break
-
- case "ObjectPattern":
- for (let i = 0; i < expr.properties.length; i++)
- this.checkLVal(expr.properties[i].value, isBinding, checkClashes)
- break
-
- case "ArrayPattern":
- for (let i = 0; i < expr.elements.length; i++) {
- let elem = expr.elements[i]
- if (elem) this.checkLVal(elem, isBinding, checkClashes)
- }
- break
-
- case "AssignmentPattern":
- this.checkLVal(expr.left, isBinding, checkClashes)
- break
-
- case "RestElement":
- this.checkLVal(expr.argument, isBinding, checkClashes)
- break
-
- case "ParenthesizedExpression":
- this.checkLVal(expr.expression, isBinding, checkClashes)
- break
-
- default:
- this.raise(expr.start, (isBinding ? "Binding" : "Assigning to") + " rvalue")
- }
-}
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/node.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/node.js
deleted file mode 100644
index 76b5b09825..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/node.js
+++ /dev/null
@@ -1,50 +0,0 @@
-import {Parser} from "./state"
-import {SourceLocation} from "./locutil"
-
-export class Node {
- constructor(parser, pos, loc) {
- this.type = ""
- this.start = pos
- this.end = 0
- if (parser.options.locations)
- this.loc = new SourceLocation(parser, loc)
- if (parser.options.directSourceFile)
- this.sourceFile = parser.options.directSourceFile
- if (parser.options.ranges)
- this.range = [pos, 0]
- }
-}
-
-// Start an AST node, attaching a start offset.
-
-const pp = Parser.prototype
-
-pp.startNode = function() {
- return new Node(this, this.start, this.startLoc)
-}
-
-pp.startNodeAt = function(pos, loc) {
- return new Node(this, pos, loc)
-}
-
-// Finish an AST node, adding `type` and `end` properties.
-
-function finishNodeAt(node, type, pos, loc) {
- node.type = type
- node.end = pos
- if (this.options.locations)
- node.loc.end = loc
- if (this.options.ranges)
- node.range[1] = pos
- return node
-}
-
-pp.finishNode = function(node, type) {
- return finishNodeAt.call(this, node, type, this.lastTokEnd, this.lastTokEndLoc)
-}
-
-// Finish node at given position
-
-pp.finishNodeAt = function(node, type, pos, loc) {
- return finishNodeAt.call(this, node, type, pos, loc)
-}
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/options.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/options.js
deleted file mode 100644
index 293ea86755..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/options.js
+++ /dev/null
@@ -1,120 +0,0 @@
-import {has, isArray} from "./util"
-import {SourceLocation} from "./locutil"
-
-// A second optional argument can be given to further configure
-// the parser process. These options are recognized:
-
-export const defaultOptions = {
- // `ecmaVersion` indicates the ECMAScript version to parse. Must
- // be either 3, or 5, or 6. This influences support for strict
- // mode, the set of reserved words, support for getters and
- // setters and other features.
- ecmaVersion: 5,
- // Source type ("script" or "module") for different semantics
- sourceType: "script",
- // `onInsertedSemicolon` can be a callback that will be called
- // when a semicolon is automatically inserted. It will be passed
- // th position of the comma as an offset, and if `locations` is
- // enabled, it is given the location as a `{line, column}` object
- // as second argument.
- onInsertedSemicolon: null,
- // `onTrailingComma` is similar to `onInsertedSemicolon`, but for
- // trailing commas.
- onTrailingComma: null,
- // By default, reserved words are only enforced if ecmaVersion >= 5.
- // Set `allowReserved` to a boolean value to explicitly turn this on
- // an off. When this option has the value "never", reserved words
- // and keywords can also not be used as property names.
- allowReserved: null,
- // When enabled, a return at the top level is not considered an
- // error.
- allowReturnOutsideFunction: false,
- // When enabled, import/export statements are not constrained to
- // appearing at the top of the program.
- allowImportExportEverywhere: false,
- // When enabled, hashbang directive in the beginning of file
- // is allowed and treated as a line comment.
- allowHashBang: false,
- // When `locations` is on, `loc` properties holding objects with
- // `start` and `end` properties in `{line, column}` form (with
- // line being 1-based and column 0-based) will be attached to the
- // nodes.
- locations: false,
- // A function can be passed as `onToken` option, which will
- // cause Acorn to call that function with object in the same
- // format as tokens returned from `tokenizer().getToken()`. Note
- // that you are not allowed to call the parser from the
- // callback—that will corrupt its internal state.
- onToken: null,
- // A function can be passed as `onComment` option, which will
- // cause Acorn to call that function with `(block, text, start,
- // end)` parameters whenever a comment is skipped. `block` is a
- // boolean indicating whether this is a block (`/* */`) comment,
- // `text` is the content of the comment, and `start` and `end` are
- // character offsets that denote the start and end of the comment.
- // When the `locations` option is on, two more parameters are
- // passed, the full `{line, column}` locations of the start and
- // end of the comments. Note that you are not allowed to call the
- // parser from the callback—that will corrupt its internal state.
- onComment: null,
- // Nodes have their start and end characters offsets recorded in
- // `start` and `end` properties (directly on the node, rather than
- // the `loc` object, which holds line/column data. To also add a
- // [semi-standardized][range] `range` property holding a `[start,
- // end]` array with the same numbers, set the `ranges` option to
- // `true`.
- //
- // [range]: https://bugzilla.mozilla.org/show_bug.cgi?id=745678
- ranges: false,
- // It is possible to parse multiple files into a single AST by
- // passing the tree produced by parsing the first file as
- // `program` option in subsequent parses. This will add the
- // toplevel forms of the parsed file to the `Program` (top) node
- // of an existing parse tree.
- program: null,
- // When `locations` is on, you can pass this to record the source
- // file in every node's `loc` object.
- sourceFile: null,
- // This value, if given, is stored in every node, whether
- // `locations` is on or off.
- directSourceFile: null,
- // When enabled, parenthesized expressions are represented by
- // (non-standard) ParenthesizedExpression nodes
- preserveParens: false,
- plugins: {}
-}
-
-// Interpret and default an options object
-
-export function getOptions(opts) {
- let options = {}
- for (let opt in defaultOptions)
- options[opt] = opts && has(opts, opt) ? opts[opt] : defaultOptions[opt]
- if (options.allowReserved == null)
- options.allowReserved = options.ecmaVersion < 5
-
- if (isArray(options.onToken)) {
- let tokens = options.onToken
- options.onToken = (token) => tokens.push(token)
- }
- if (isArray(options.onComment))
- options.onComment = pushComment(options, options.onComment)
-
- return options
-}
-
-function pushComment(options, array) {
- return function (block, text, start, end, startLoc, endLoc) {
- let comment = {
- type: block ? 'Block' : 'Line',
- value: text,
- start: start,
- end: end
- }
- if (options.locations)
- comment.loc = new SourceLocation(this, startLoc, endLoc)
- if (options.ranges)
- comment.range = [start, end]
- array.push(comment)
- }
-}
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/parseutil.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/parseutil.js
deleted file mode 100644
index 9c71c485cd..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/parseutil.js
+++ /dev/null
@@ -1,102 +0,0 @@
-import {types as tt} from "./tokentype"
-import {Parser} from "./state"
-import {lineBreak} from "./whitespace"
-
-const pp = Parser.prototype
-
-// ## Parser utilities
-
-// Test whether a statement node is the string literal `"use strict"`.
-
-pp.isUseStrict = function(stmt) {
- return this.options.ecmaVersion >= 5 && stmt.type === "ExpressionStatement" &&
- stmt.expression.type === "Literal" &&
- stmt.expression.raw.slice(1, -1) === "use strict"
-}
-
-// Predicate that tests whether the next token is of the given
-// type, and if yes, consumes it as a side effect.
-
-pp.eat = function(type) {
- if (this.type === type) {
- this.next()
- return true
- } else {
- return false
- }
-}
-
-// Tests whether parsed token is a contextual keyword.
-
-pp.isContextual = function(name) {
- return this.type === tt.name && this.value === name
-}
-
-// Consumes contextual keyword if possible.
-
-pp.eatContextual = function(name) {
- return this.value === name && this.eat(tt.name)
-}
-
-// Asserts that following token is given contextual keyword.
-
-pp.expectContextual = function(name) {
- if (!this.eatContextual(name)) this.unexpected()
-}
-
-// Test whether a semicolon can be inserted at the current position.
-
-pp.canInsertSemicolon = function() {
- return this.type === tt.eof ||
- this.type === tt.braceR ||
- lineBreak.test(this.input.slice(this.lastTokEnd, this.start))
-}
-
-pp.insertSemicolon = function() {
- if (this.canInsertSemicolon()) {
- if (this.options.onInsertedSemicolon)
- this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc)
- return true
- }
-}
-
-// Consume a semicolon, or, failing that, see if we are allowed to
-// pretend that there is a semicolon at this position.
-
-pp.semicolon = function() {
- if (!this.eat(tt.semi) && !this.insertSemicolon()) this.unexpected()
-}
-
-pp.afterTrailingComma = function(tokType) {
- if (this.type == tokType) {
- if (this.options.onTrailingComma)
- this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc)
- this.next()
- return true
- }
-}
-
-// Expect a token of a given type. If found, consume it, otherwise,
-// raise an unexpected token error.
-
-pp.expect = function(type) {
- this.eat(type) || this.unexpected()
-}
-
-// Raise an unexpected token error.
-
-pp.unexpected = function(pos) {
- this.raise(pos != null ? pos : this.start, "Unexpected token")
-}
-
-pp.checkPatternErrors = function(refDestructuringErrors, andThrow) {
- let pos = refDestructuringErrors && refDestructuringErrors.trailingComma
- if (!andThrow) return !!pos
- if (pos) this.raise(pos, "Trailing comma is not permitted in destructuring patterns")
-}
-
-pp.checkExpressionErrors = function(refDestructuringErrors, andThrow) {
- let pos = refDestructuringErrors && refDestructuringErrors.shorthandAssign
- if (!andThrow) return !!pos
- if (pos) this.raise(pos, "Shorthand property assignments are valid only in destructuring patterns")
-}
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/state.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/state.js
deleted file mode 100644
index 3a0d5ffb95..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/state.js
+++ /dev/null
@@ -1,104 +0,0 @@
-import {reservedWords, keywords} from "./identifier"
-import {types as tt} from "./tokentype"
-import {lineBreak} from "./whitespace"
-import {getOptions} from "./options"
-
-// Registered plugins
-export const plugins = {}
-
-function keywordRegexp(words) {
- return new RegExp("^(" + words.replace(/ /g, "|") + ")$")
-}
-
-export class Parser {
- constructor(options, input, startPos) {
- this.options = options = getOptions(options)
- this.sourceFile = options.sourceFile
- this.keywords = keywordRegexp(keywords[options.ecmaVersion >= 6 ? 6 : 5])
- let reserved = options.allowReserved ? "" :
- reservedWords[options.ecmaVersion] + (options.sourceType == "module" ? " await" : "")
- this.reservedWords = keywordRegexp(reserved)
- let reservedStrict = (reserved ? reserved + " " : "") + reservedWords.strict
- this.reservedWordsStrict = keywordRegexp(reservedStrict)
- this.reservedWordsStrictBind = keywordRegexp(reservedStrict + " " + reservedWords.strictBind)
- this.input = String(input)
-
- // Used to signal to callers of `readWord1` whether the word
- // contained any escape sequences. This is needed because words with
- // escape sequences must not be interpreted as keywords.
- this.containsEsc = false;
-
- // Load plugins
- this.loadPlugins(options.plugins)
-
- // Set up token state
-
- // The current position of the tokenizer in the input.
- if (startPos) {
- this.pos = startPos
- this.lineStart = Math.max(0, this.input.lastIndexOf("\n", startPos))
- this.curLine = this.input.slice(0, this.lineStart).split(lineBreak).length
- } else {
- this.pos = this.lineStart = 0
- this.curLine = 1
- }
-
- // Properties of the current token:
- // Its type
- this.type = tt.eof
- // For tokens that include more information than their type, the value
- this.value = null
- // Its start and end offset
- this.start = this.end = this.pos
- // And, if locations are used, the {line, column} object
- // corresponding to those offsets
- this.startLoc = this.endLoc = this.curPosition()
-
- // Position information for the previous token
- this.lastTokEndLoc = this.lastTokStartLoc = null
- this.lastTokStart = this.lastTokEnd = this.pos
-
- // The context stack is used to superficially track syntactic
- // context to predict whether a regular expression is allowed in a
- // given position.
- this.context = this.initialContext()
- this.exprAllowed = true
-
- // Figure out if it's a module code.
- this.strict = this.inModule = options.sourceType === "module"
-
- // Used to signify the start of a potential arrow function
- this.potentialArrowAt = -1
-
- // Flags to track whether we are in a function, a generator.
- this.inFunction = this.inGenerator = false
- // Labels in scope.
- this.labels = []
-
- // If enabled, skip leading hashbang line.
- if (this.pos === 0 && options.allowHashBang && this.input.slice(0, 2) === '#!')
- this.skipLineComment(2)
- }
-
- // DEPRECATED Kept for backwards compatibility until 3.0 in case a plugin uses them
- isKeyword(word) { return this.keywords.test(word) }
- isReservedWord(word) { return this.reservedWords.test(word) }
-
- extend(name, f) {
- this[name] = f(this[name])
- }
-
- loadPlugins(pluginConfigs) {
- for (let name in pluginConfigs) {
- let plugin = plugins[name]
- if (!plugin) throw new Error("Plugin '" + name + "' not found")
- plugin(this, pluginConfigs[name])
- }
- }
-
- parse() {
- let node = this.options.program || this.startNode()
- this.nextToken()
- return this.parseTopLevel(node)
- }
-}
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/statement.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/statement.js
deleted file mode 100644
index 7ade79f2e3..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/statement.js
+++ /dev/null
@@ -1,626 +0,0 @@
-import {types as tt} from "./tokentype"
-import {Parser} from "./state"
-import {lineBreak} from "./whitespace"
-
-const pp = Parser.prototype
-
-// ### Statement parsing
-
-// Parse a program. Initializes the parser, reads any number of
-// statements, and wraps them in a Program node. Optionally takes a
-// `program` argument. If present, the statements will be appended
-// to its body instead of creating a new node.
-
-pp.parseTopLevel = function(node) {
- let first = true
- if (!node.body) node.body = []
- while (this.type !== tt.eof) {
- let stmt = this.parseStatement(true, true)
- node.body.push(stmt)
- if (first) {
- if (this.isUseStrict(stmt)) this.setStrict(true)
- first = false
- }
- }
- this.next()
- if (this.options.ecmaVersion >= 6) {
- node.sourceType = this.options.sourceType
- }
- return this.finishNode(node, "Program")
-}
-
-const loopLabel = {kind: "loop"}, switchLabel = {kind: "switch"}
-
-// Parse a single statement.
-//
-// If expecting a statement and finding a slash operator, parse a
-// regular expression literal. This is to handle cases like
-// `if (foo) /blah/.exec(foo)`, where looking at the previous token
-// does not help.
-
-pp.parseStatement = function(declaration, topLevel) {
- let starttype = this.type, node = this.startNode()
-
- // Most types of statements are recognized by the keyword they
- // start with. Many are trivial to parse, some require a bit of
- // complexity.
-
- switch (starttype) {
- case tt._break: case tt._continue: return this.parseBreakContinueStatement(node, starttype.keyword)
- case tt._debugger: return this.parseDebuggerStatement(node)
- case tt._do: return this.parseDoStatement(node)
- case tt._for: return this.parseForStatement(node)
- case tt._function:
- if (!declaration && this.options.ecmaVersion >= 6) this.unexpected()
- return this.parseFunctionStatement(node)
- case tt._class:
- if (!declaration) this.unexpected()
- return this.parseClass(node, true)
- case tt._if: return this.parseIfStatement(node)
- case tt._return: return this.parseReturnStatement(node)
- case tt._switch: return this.parseSwitchStatement(node)
- case tt._throw: return this.parseThrowStatement(node)
- case tt._try: return this.parseTryStatement(node)
- case tt._let: case tt._const: if (!declaration) this.unexpected() // NOTE: falls through to _var
- case tt._var: return this.parseVarStatement(node, starttype)
- case tt._while: return this.parseWhileStatement(node)
- case tt._with: return this.parseWithStatement(node)
- case tt.braceL: return this.parseBlock()
- case tt.semi: return this.parseEmptyStatement(node)
- case tt._export:
- case tt._import:
- if (!this.options.allowImportExportEverywhere) {
- if (!topLevel)
- this.raise(this.start, "'import' and 'export' may only appear at the top level")
- if (!this.inModule)
- this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'")
- }
- return starttype === tt._import ? this.parseImport(node) : this.parseExport(node)
-
- // If the statement does not start with a statement keyword or a
- // brace, it's an ExpressionStatement or LabeledStatement. We
- // simply start parsing an expression, and afterwards, if the
- // next token is a colon and the expression was a simple
- // Identifier node, we switch to interpreting it as a label.
- default:
- let maybeName = this.value, expr = this.parseExpression()
- if (starttype === tt.name && expr.type === "Identifier" && this.eat(tt.colon))
- return this.parseLabeledStatement(node, maybeName, expr)
- else return this.parseExpressionStatement(node, expr)
- }
-}
-
-pp.parseBreakContinueStatement = function(node, keyword) {
- let isBreak = keyword == "break"
- this.next()
- if (this.eat(tt.semi) || this.insertSemicolon()) node.label = null
- else if (this.type !== tt.name) this.unexpected()
- else {
- node.label = this.parseIdent()
- this.semicolon()
- }
-
- // Verify that there is an actual destination to break or
- // continue to.
- for (var i = 0; i < this.labels.length; ++i) {
- let lab = this.labels[i]
- if (node.label == null || lab.name === node.label.name) {
- if (lab.kind != null && (isBreak || lab.kind === "loop")) break
- if (node.label && isBreak) break
- }
- }
- if (i === this.labels.length) this.raise(node.start, "Unsyntactic " + keyword)
- return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement")
-}
-
-pp.parseDebuggerStatement = function(node) {
- this.next()
- this.semicolon()
- return this.finishNode(node, "DebuggerStatement")
-}
-
-pp.parseDoStatement = function(node) {
- this.next()
- this.labels.push(loopLabel)
- node.body = this.parseStatement(false)
- this.labels.pop()
- this.expect(tt._while)
- node.test = this.parseParenExpression()
- if (this.options.ecmaVersion >= 6)
- this.eat(tt.semi)
- else
- this.semicolon()
- return this.finishNode(node, "DoWhileStatement")
-}
-
-// Disambiguating between a `for` and a `for`/`in` or `for`/`of`
-// loop is non-trivial. Basically, we have to parse the init `var`
-// statement or expression, disallowing the `in` operator (see
-// the second parameter to `parseExpression`), and then check
-// whether the next token is `in` or `of`. When there is no init
-// part (semicolon immediately after the opening parenthesis), it
-// is a regular `for` loop.
-
-pp.parseForStatement = function(node) {
- this.next()
- this.labels.push(loopLabel)
- this.expect(tt.parenL)
- if (this.type === tt.semi) return this.parseFor(node, null)
- if (this.type === tt._var || this.type === tt._let || this.type === tt._const) {
- let init = this.startNode(), varKind = this.type
- this.next()
- this.parseVar(init, true, varKind)
- this.finishNode(init, "VariableDeclaration")
- if ((this.type === tt._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init.declarations.length === 1 &&
- !(varKind !== tt._var && init.declarations[0].init))
- return this.parseForIn(node, init)
- return this.parseFor(node, init)
- }
- let refDestructuringErrors = {shorthandAssign: 0, trailingComma: 0}
- let init = this.parseExpression(true, refDestructuringErrors)
- if (this.type === tt._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) {
- this.checkPatternErrors(refDestructuringErrors, true)
- this.toAssignable(init)
- this.checkLVal(init)
- return this.parseForIn(node, init)
- } else {
- this.checkExpressionErrors(refDestructuringErrors, true)
- }
- return this.parseFor(node, init)
-}
-
-pp.parseFunctionStatement = function(node) {
- this.next()
- return this.parseFunction(node, true)
-}
-
-pp.parseIfStatement = function(node) {
- this.next()
- node.test = this.parseParenExpression()
- node.consequent = this.parseStatement(false)
- node.alternate = this.eat(tt._else) ? this.parseStatement(false) : null
- return this.finishNode(node, "IfStatement")
-}
-
-pp.parseReturnStatement = function(node) {
- if (!this.inFunction && !this.options.allowReturnOutsideFunction)
- this.raise(this.start, "'return' outside of function")
- this.next()
-
- // In `return` (and `break`/`continue`), the keywords with
- // optional arguments, we eagerly look for a semicolon or the
- // possibility to insert one.
-
- if (this.eat(tt.semi) || this.insertSemicolon()) node.argument = null
- else { node.argument = this.parseExpression(); this.semicolon() }
- return this.finishNode(node, "ReturnStatement")
-}
-
-pp.parseSwitchStatement = function(node) {
- this.next()
- node.discriminant = this.parseParenExpression()
- node.cases = []
- this.expect(tt.braceL)
- this.labels.push(switchLabel)
-
- // Statements under must be grouped (by label) in SwitchCase
- // nodes. `cur` is used to keep the node that we are currently
- // adding statements to.
-
- for (var cur, sawDefault = false; this.type != tt.braceR;) {
- if (this.type === tt._case || this.type === tt._default) {
- let isCase = this.type === tt._case
- if (cur) this.finishNode(cur, "SwitchCase")
- node.cases.push(cur = this.startNode())
- cur.consequent = []
- this.next()
- if (isCase) {
- cur.test = this.parseExpression()
- } else {
- if (sawDefault) this.raise(this.lastTokStart, "Multiple default clauses")
- sawDefault = true
- cur.test = null
- }
- this.expect(tt.colon)
- } else {
- if (!cur) this.unexpected()
- cur.consequent.push(this.parseStatement(true))
- }
- }
- if (cur) this.finishNode(cur, "SwitchCase")
- this.next() // Closing brace
- this.labels.pop()
- return this.finishNode(node, "SwitchStatement")
-}
-
-pp.parseThrowStatement = function(node) {
- this.next()
- if (lineBreak.test(this.input.slice(this.lastTokEnd, this.start)))
- this.raise(this.lastTokEnd, "Illegal newline after throw")
- node.argument = this.parseExpression()
- this.semicolon()
- return this.finishNode(node, "ThrowStatement")
-}
-
-// Reused empty array added for node fields that are always empty.
-
-const empty = []
-
-pp.parseTryStatement = function(node) {
- this.next()
- node.block = this.parseBlock()
- node.handler = null
- if (this.type === tt._catch) {
- let clause = this.startNode()
- this.next()
- this.expect(tt.parenL)
- clause.param = this.parseBindingAtom()
- this.checkLVal(clause.param, true)
- this.expect(tt.parenR)
- clause.body = this.parseBlock()
- node.handler = this.finishNode(clause, "CatchClause")
- }
- node.finalizer = this.eat(tt._finally) ? this.parseBlock() : null
- if (!node.handler && !node.finalizer)
- this.raise(node.start, "Missing catch or finally clause")
- return this.finishNode(node, "TryStatement")
-}
-
-pp.parseVarStatement = function(node, kind) {
- this.next()
- this.parseVar(node, false, kind)
- this.semicolon()
- return this.finishNode(node, "VariableDeclaration")
-}
-
-pp.parseWhileStatement = function(node) {
- this.next()
- node.test = this.parseParenExpression()
- this.labels.push(loopLabel)
- node.body = this.parseStatement(false)
- this.labels.pop()
- return this.finishNode(node, "WhileStatement")
-}
-
-pp.parseWithStatement = function(node) {
- if (this.strict) this.raise(this.start, "'with' in strict mode")
- this.next()
- node.object = this.parseParenExpression()
- node.body = this.parseStatement(false)
- return this.finishNode(node, "WithStatement")
-}
-
-pp.parseEmptyStatement = function(node) {
- this.next()
- return this.finishNode(node, "EmptyStatement")
-}
-
-pp.parseLabeledStatement = function(node, maybeName, expr) {
- for (let i = 0; i < this.labels.length; ++i)
- if (this.labels[i].name === maybeName) this.raise(expr.start, "Label '" + maybeName + "' is already declared")
- let kind = this.type.isLoop ? "loop" : this.type === tt._switch ? "switch" : null
- for (let i = this.labels.length - 1; i >= 0; i--) {
- let label = this.labels[i]
- if (label.statementStart == node.start) {
- label.statementStart = this.start;
- label.kind = kind;
- } else break;
- }
- this.labels.push({name: maybeName, kind: kind, statementStart: this.start})
- node.body = this.parseStatement(true)
- this.labels.pop()
- node.label = expr
- return this.finishNode(node, "LabeledStatement")
-}
-
-pp.parseExpressionStatement = function(node, expr) {
- node.expression = expr
- this.semicolon()
- return this.finishNode(node, "ExpressionStatement")
-}
-
-// Parse a semicolon-enclosed block of statements, handling `"use
-// strict"` declarations when `allowStrict` is true (used for
-// function bodies).
-
-pp.parseBlock = function(allowStrict) {
- let node = this.startNode(), first = true, oldStrict
- node.body = []
- this.expect(tt.braceL)
- while (!this.eat(tt.braceR)) {
- let stmt = this.parseStatement(true)
- node.body.push(stmt)
- if (first && allowStrict && this.isUseStrict(stmt)) {
- oldStrict = this.strict
- this.setStrict(this.strict = true)
- }
- first = false
- }
- if (oldStrict === false) this.setStrict(false)
- return this.finishNode(node, "BlockStatement")
-}
-
-// Parse a regular `for` loop. The disambiguation code in
-// `parseStatement` will already have parsed the init statement or
-// expression.
-
-pp.parseFor = function(node, init) {
- node.init = init
- this.expect(tt.semi)
- node.test = this.type === tt.semi ? null : this.parseExpression()
- this.expect(tt.semi)
- node.update = this.type === tt.parenR ? null : this.parseExpression()
- this.expect(tt.parenR)
- node.body = this.parseStatement(false)
- this.labels.pop()
- return this.finishNode(node, "ForStatement")
-}
-
-// Parse a `for`/`in` and `for`/`of` loop, which are almost
-// same from parser's perspective.
-
-pp.parseForIn = function(node, init) {
- let type = this.type === tt._in ? "ForInStatement" : "ForOfStatement"
- this.next()
- node.left = init
- node.right = this.parseExpression()
- this.expect(tt.parenR)
- node.body = this.parseStatement(false)
- this.labels.pop()
- return this.finishNode(node, type)
-}
-
-// Parse a list of variable declarations.
-
-pp.parseVar = function(node, isFor, kind) {
- node.declarations = []
- node.kind = kind.keyword
- for (;;) {
- let decl = this.startNode()
- this.parseVarId(decl)
- if (this.eat(tt.eq)) {
- decl.init = this.parseMaybeAssign(isFor)
- } else if (kind === tt._const && !(this.type === tt._in || (this.options.ecmaVersion >= 6 && this.isContextual("of")))) {
- this.unexpected()
- } else if (decl.id.type != "Identifier" && !(isFor && (this.type === tt._in || this.isContextual("of")))) {
- this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value")
- } else {
- decl.init = null
- }
- node.declarations.push(this.finishNode(decl, "VariableDeclarator"))
- if (!this.eat(tt.comma)) break
- }
- return node
-}
-
-pp.parseVarId = function(decl) {
- decl.id = this.parseBindingAtom()
- this.checkLVal(decl.id, true)
-}
-
-// Parse a function declaration or literal (depending on the
-// `isStatement` parameter).
-
-pp.parseFunction = function(node, isStatement, allowExpressionBody) {
- this.initFunction(node)
- if (this.options.ecmaVersion >= 6)
- node.generator = this.eat(tt.star)
- if (isStatement || this.type === tt.name)
- node.id = this.parseIdent()
- this.parseFunctionParams(node)
- this.parseFunctionBody(node, allowExpressionBody)
- return this.finishNode(node, isStatement ? "FunctionDeclaration" : "FunctionExpression")
-}
-
-pp.parseFunctionParams = function(node) {
- this.expect(tt.parenL)
- node.params = this.parseBindingList(tt.parenR, false, false, true)
-}
-
-// Parse a class declaration or literal (depending on the
-// `isStatement` parameter).
-
-pp.parseClass = function(node, isStatement) {
- this.next()
- this.parseClassId(node, isStatement)
- this.parseClassSuper(node)
- let classBody = this.startNode()
- let hadConstructor = false
- classBody.body = []
- this.expect(tt.braceL)
- while (!this.eat(tt.braceR)) {
- if (this.eat(tt.semi)) continue
- let method = this.startNode()
- let isGenerator = this.eat(tt.star)
- let isMaybeStatic = this.type === tt.name && this.value === "static"
- this.parsePropertyName(method)
- method.static = isMaybeStatic && this.type !== tt.parenL
- if (method.static) {
- if (isGenerator) this.unexpected()
- isGenerator = this.eat(tt.star)
- this.parsePropertyName(method)
- }
- method.kind = "method"
- let isGetSet = false
- if (!method.computed) {
- let {key} = method
- if (!isGenerator && key.type === "Identifier" && this.type !== tt.parenL && (key.name === "get" || key.name === "set")) {
- isGetSet = true
- method.kind = key.name
- key = this.parsePropertyName(method)
- }
- if (!method.static && (key.type === "Identifier" && key.name === "constructor" ||
- key.type === "Literal" && key.value === "constructor")) {
- if (hadConstructor) this.raise(key.start, "Duplicate constructor in the same class")
- if (isGetSet) this.raise(key.start, "Constructor can't have get/set modifier")
- if (isGenerator) this.raise(key.start, "Constructor can't be a generator")
- method.kind = "constructor"
- hadConstructor = true
- }
- }
- this.parseClassMethod(classBody, method, isGenerator)
- if (isGetSet) {
- let paramCount = method.kind === "get" ? 0 : 1
- if (method.value.params.length !== paramCount) {
- let start = method.value.start
- if (method.kind === "get")
- this.raise(start, "getter should have no params");
- else
- this.raise(start, "setter should have exactly one param")
- }
- if (method.kind === "set" && method.value.params[0].type === "RestElement")
- this.raise(method.value.params[0].start, "Setter cannot use rest params")
- }
- }
- node.body = this.finishNode(classBody, "ClassBody")
- return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression")
-}
-
-pp.parseClassMethod = function(classBody, method, isGenerator) {
- method.value = this.parseMethod(isGenerator)
- classBody.body.push(this.finishNode(method, "MethodDefinition"))
-}
-
-pp.parseClassId = function(node, isStatement) {
- node.id = this.type === tt.name ? this.parseIdent() : isStatement ? this.unexpected() : null
-}
-
-pp.parseClassSuper = function(node) {
- node.superClass = this.eat(tt._extends) ? this.parseExprSubscripts() : null
-}
-
-// Parses module export declaration.
-
-pp.parseExport = function(node) {
- this.next()
- // export * from '...'
- if (this.eat(tt.star)) {
- this.expectContextual("from")
- node.source = this.type === tt.string ? this.parseExprAtom() : this.unexpected()
- this.semicolon()
- return this.finishNode(node, "ExportAllDeclaration")
- }
- if (this.eat(tt._default)) { // export default ...
- let expr = this.parseMaybeAssign()
- let needsSemi = true
- if (expr.type == "FunctionExpression" ||
- expr.type == "ClassExpression") {
- needsSemi = false
- if (expr.id) {
- expr.type = expr.type == "FunctionExpression"
- ? "FunctionDeclaration"
- : "ClassDeclaration"
- }
- }
- node.declaration = expr
- if (needsSemi) this.semicolon()
- return this.finishNode(node, "ExportDefaultDeclaration")
- }
- // export var|const|let|function|class ...
- if (this.shouldParseExportStatement()) {
- node.declaration = this.parseStatement(true)
- node.specifiers = []
- node.source = null
- } else { // export { x, y as z } [from '...']
- node.declaration = null
- node.specifiers = this.parseExportSpecifiers()
- if (this.eatContextual("from")) {
- node.source = this.type === tt.string ? this.parseExprAtom() : this.unexpected()
- } else {
- // check for keywords used as local names
- for (let i = 0; i < node.specifiers.length; i++) {
- if (this.keywords.test(node.specifiers[i].local.name) || this.reservedWords.test(node.specifiers[i].local.name)) {
- this.unexpected(node.specifiers[i].local.start)
- }
- }
-
- node.source = null
- }
- this.semicolon()
- }
- return this.finishNode(node, "ExportNamedDeclaration")
-}
-
-pp.shouldParseExportStatement = function() {
- return this.type.keyword
-}
-
-// Parses a comma-separated list of module exports.
-
-pp.parseExportSpecifiers = function() {
- let nodes = [], first = true
- // export { x, y as z } [from '...']
- this.expect(tt.braceL)
- while (!this.eat(tt.braceR)) {
- if (!first) {
- this.expect(tt.comma)
- if (this.afterTrailingComma(tt.braceR)) break
- } else first = false
-
- let node = this.startNode()
- node.local = this.parseIdent(this.type === tt._default)
- node.exported = this.eatContextual("as") ? this.parseIdent(true) : node.local
- nodes.push(this.finishNode(node, "ExportSpecifier"))
- }
- return nodes
-}
-
-// Parses import declaration.
-
-pp.parseImport = function(node) {
- this.next()
- // import '...'
- if (this.type === tt.string) {
- node.specifiers = empty
- node.source = this.parseExprAtom()
- } else {
- node.specifiers = this.parseImportSpecifiers()
- this.expectContextual("from")
- node.source = this.type === tt.string ? this.parseExprAtom() : this.unexpected()
- }
- this.semicolon()
- return this.finishNode(node, "ImportDeclaration")
-}
-
-// Parses a comma-separated list of module imports.
-
-pp.parseImportSpecifiers = function() {
- let nodes = [], first = true
- if (this.type === tt.name) {
- // import defaultObj, { x, y as z } from '...'
- let node = this.startNode()
- node.local = this.parseIdent()
- this.checkLVal(node.local, true)
- nodes.push(this.finishNode(node, "ImportDefaultSpecifier"))
- if (!this.eat(tt.comma)) return nodes
- }
- if (this.type === tt.star) {
- let node = this.startNode()
- this.next()
- this.expectContextual("as")
- node.local = this.parseIdent()
- this.checkLVal(node.local, true)
- nodes.push(this.finishNode(node, "ImportNamespaceSpecifier"))
- return nodes
- }
- this.expect(tt.braceL)
- while (!this.eat(tt.braceR)) {
- if (!first) {
- this.expect(tt.comma)
- if (this.afterTrailingComma(tt.braceR)) break
- } else first = false
-
- let node = this.startNode()
- node.imported = this.parseIdent(true)
- if (this.eatContextual("as")) {
- node.local = this.parseIdent()
- } else {
- node.local = node.imported
- if (this.isKeyword(node.local.name)) this.unexpected(node.local.start)
- if (this.reservedWordsStrict.test(node.local.name)) this.raise(node.local.start, "The keyword '" + node.local.name + "' is reserved")
- }
- this.checkLVal(node.local, true)
- nodes.push(this.finishNode(node, "ImportSpecifier"))
- }
- return nodes
-}
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/tokencontext.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/tokencontext.js
deleted file mode 100644
index c76fc9de6f..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/tokencontext.js
+++ /dev/null
@@ -1,109 +0,0 @@
-// The algorithm used to determine whether a regexp can appear at a
-// given point in the program is loosely based on sweet.js' approach.
-// See https://github.com/mozilla/sweet.js/wiki/design
-
-import {Parser} from "./state"
-import {types as tt} from "./tokentype"
-import {lineBreak} from "./whitespace"
-
-export class TokContext {
- constructor(token, isExpr, preserveSpace, override) {
- this.token = token
- this.isExpr = !!isExpr
- this.preserveSpace = !!preserveSpace
- this.override = override
- }
-}
-
-export const types = {
- b_stat: new TokContext("{", false),
- b_expr: new TokContext("{", true),
- b_tmpl: new TokContext("${", true),
- p_stat: new TokContext("(", false),
- p_expr: new TokContext("(", true),
- q_tmpl: new TokContext("`", true, true, p => p.readTmplToken()),
- f_expr: new TokContext("function", true)
-}
-
-const pp = Parser.prototype
-
-pp.initialContext = function() {
- return [types.b_stat]
-}
-
-pp.braceIsBlock = function(prevType) {
- if (prevType === tt.colon) {
- let parent = this.curContext()
- if (parent === types.b_stat || parent === types.b_expr)
- return !parent.isExpr
- }
- if (prevType === tt._return)
- return lineBreak.test(this.input.slice(this.lastTokEnd, this.start))
- if (prevType === tt._else || prevType === tt.semi || prevType === tt.eof || prevType === tt.parenR)
- return true
- if (prevType == tt.braceL)
- return this.curContext() === types.b_stat
- return !this.exprAllowed
-}
-
-pp.updateContext = function(prevType) {
- let update, type = this.type
- if (type.keyword && prevType == tt.dot)
- this.exprAllowed = false
- else if (update = type.updateContext)
- update.call(this, prevType)
- else
- this.exprAllowed = type.beforeExpr
-}
-
-// Token-specific context update code
-
-tt.parenR.updateContext = tt.braceR.updateContext = function() {
- if (this.context.length == 1) {
- this.exprAllowed = true
- return
- }
- let out = this.context.pop()
- if (out === types.b_stat && this.curContext() === types.f_expr) {
- this.context.pop()
- this.exprAllowed = false
- } else if (out === types.b_tmpl) {
- this.exprAllowed = true
- } else {
- this.exprAllowed = !out.isExpr
- }
-}
-
-tt.braceL.updateContext = function(prevType) {
- this.context.push(this.braceIsBlock(prevType) ? types.b_stat : types.b_expr)
- this.exprAllowed = true
-}
-
-tt.dollarBraceL.updateContext = function() {
- this.context.push(types.b_tmpl)
- this.exprAllowed = true
-}
-
-tt.parenL.updateContext = function(prevType) {
- let statementParens = prevType === tt._if || prevType === tt._for || prevType === tt._with || prevType === tt._while
- this.context.push(statementParens ? types.p_stat : types.p_expr)
- this.exprAllowed = true
-}
-
-tt.incDec.updateContext = function() {
- // tokExprAllowed stays unchanged
-}
-
-tt._function.updateContext = function() {
- if (this.curContext() !== types.b_stat)
- this.context.push(types.f_expr)
- this.exprAllowed = false
-}
-
-tt.backQuote.updateContext = function() {
- if (this.curContext() === types.q_tmpl)
- this.context.pop()
- else
- this.context.push(types.q_tmpl)
- this.exprAllowed = false
-}
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/tokenize.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/tokenize.js
deleted file mode 100644
index 1b2bd95d0c..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/tokenize.js
+++ /dev/null
@@ -1,682 +0,0 @@
-import {isIdentifierStart, isIdentifierChar} from "./identifier"
-import {types as tt, keywords as keywordTypes} from "./tokentype"
-import {Parser} from "./state"
-import {SourceLocation} from "./locutil"
-import {lineBreak, lineBreakG, isNewLine, nonASCIIwhitespace} from "./whitespace"
-
-// Object type used to represent tokens. Note that normally, tokens
-// simply exist as properties on the parser object. This is only
-// used for the onToken callback and the external tokenizer.
-
-export class Token {
- constructor(p) {
- this.type = p.type
- this.value = p.value
- this.start = p.start
- this.end = p.end
- if (p.options.locations)
- this.loc = new SourceLocation(p, p.startLoc, p.endLoc)
- if (p.options.ranges)
- this.range = [p.start, p.end]
- }
-}
-
-// ## Tokenizer
-
-const pp = Parser.prototype
-
-// Are we running under Rhino?
-const isRhino = typeof Packages == "object" && Object.prototype.toString.call(Packages) == "[object JavaPackage]"
-
-// Move to the next token
-
-pp.next = function() {
- if (this.options.onToken)
- this.options.onToken(new Token(this))
-
- this.lastTokEnd = this.end
- this.lastTokStart = this.start
- this.lastTokEndLoc = this.endLoc
- this.lastTokStartLoc = this.startLoc
- this.nextToken()
-}
-
-pp.getToken = function() {
- this.next()
- return new Token(this)
-}
-
-// If we're in an ES6 environment, make parsers iterable
-if (typeof Symbol !== "undefined")
- pp[Symbol.iterator] = function () {
- let self = this
- return {next: function () {
- let token = self.getToken()
- return {
- done: token.type === tt.eof,
- value: token
- }
- }}
- }
-
-// Toggle strict mode. Re-reads the next number or string to please
-// pedantic tests (`"use strict"; 010;` should fail).
-
-pp.setStrict = function(strict) {
- this.strict = strict
- if (this.type !== tt.num && this.type !== tt.string) return
- this.pos = this.start
- if (this.options.locations) {
- while (this.pos < this.lineStart) {
- this.lineStart = this.input.lastIndexOf("\n", this.lineStart - 2) + 1
- --this.curLine
- }
- }
- this.nextToken()
-}
-
-pp.curContext = function() {
- return this.context[this.context.length - 1]
-}
-
-// Read a single token, updating the parser object's token-related
-// properties.
-
-pp.nextToken = function() {
- let curContext = this.curContext()
- if (!curContext || !curContext.preserveSpace) this.skipSpace()
-
- this.start = this.pos
- if (this.options.locations) this.startLoc = this.curPosition()
- if (this.pos >= this.input.length) return this.finishToken(tt.eof)
-
- if (curContext.override) return curContext.override(this)
- else this.readToken(this.fullCharCodeAtPos())
-}
-
-pp.readToken = function(code) {
- // Identifier or keyword. '\uXXXX' sequences are allowed in
- // identifiers, so '\' also dispatches to that.
- if (isIdentifierStart(code, this.options.ecmaVersion >= 6) || code === 92 /* '\' */)
- return this.readWord()
-
- return this.getTokenFromCode(code)
-}
-
-pp.fullCharCodeAtPos = function() {
- let code = this.input.charCodeAt(this.pos)
- if (code <= 0xd7ff || code >= 0xe000) return code
- let next = this.input.charCodeAt(this.pos + 1)
- return (code << 10) + next - 0x35fdc00
-}
-
-pp.skipBlockComment = function() {
- let startLoc = this.options.onComment && this.curPosition()
- let start = this.pos, end = this.input.indexOf("*/", this.pos += 2)
- if (end === -1) this.raise(this.pos - 2, "Unterminated comment")
- this.pos = end + 2
- if (this.options.locations) {
- lineBreakG.lastIndex = start
- let match
- while ((match = lineBreakG.exec(this.input)) && match.index < this.pos) {
- ++this.curLine
- this.lineStart = match.index + match[0].length
- }
- }
- if (this.options.onComment)
- this.options.onComment(true, this.input.slice(start + 2, end), start, this.pos,
- startLoc, this.curPosition())
-}
-
-pp.skipLineComment = function(startSkip) {
- let start = this.pos
- let startLoc = this.options.onComment && this.curPosition()
- let ch = this.input.charCodeAt(this.pos+=startSkip)
- while (this.pos < this.input.length && ch !== 10 && ch !== 13 && ch !== 8232 && ch !== 8233) {
- ++this.pos
- ch = this.input.charCodeAt(this.pos)
- }
- if (this.options.onComment)
- this.options.onComment(false, this.input.slice(start + startSkip, this.pos), start, this.pos,
- startLoc, this.curPosition())
-}
-
-// Called at the start of the parse and after every token. Skips
-// whitespace and comments, and.
-
-pp.skipSpace = function() {
- loop: while (this.pos < this.input.length) {
- let ch = this.input.charCodeAt(this.pos)
- switch (ch) {
- case 32: case 160: // ' '
- ++this.pos
- break
- case 13:
- if (this.input.charCodeAt(this.pos + 1) === 10) {
- ++this.pos
- }
- case 10: case 8232: case 8233:
- ++this.pos
- if (this.options.locations) {
- ++this.curLine
- this.lineStart = this.pos
- }
- break
- case 47: // '/'
- switch (this.input.charCodeAt(this.pos + 1)) {
- case 42: // '*'
- this.skipBlockComment()
- break
- case 47:
- this.skipLineComment(2)
- break
- default:
- break loop
- }
- break
- default:
- if (ch > 8 && ch < 14 || ch >= 5760 && nonASCIIwhitespace.test(String.fromCharCode(ch))) {
- ++this.pos
- } else {
- break loop
- }
- }
- }
-}
-
-// Called at the end of every token. Sets `end`, `val`, and
-// maintains `context` and `exprAllowed`, and skips the space after
-// the token, so that the next one's `start` will point at the
-// right position.
-
-pp.finishToken = function(type, val) {
- this.end = this.pos
- if (this.options.locations) this.endLoc = this.curPosition()
- let prevType = this.type
- this.type = type
- this.value = val
-
- this.updateContext(prevType)
-}
-
-// ### Token reading
-
-// This is the function that is called to fetch the next token. It
-// is somewhat obscure, because it works in character codes rather
-// than characters, and because operator parsing has been inlined
-// into it.
-//
-// All in the name of speed.
-//
-pp.readToken_dot = function() {
- let next = this.input.charCodeAt(this.pos + 1)
- if (next >= 48 && next <= 57) return this.readNumber(true)
- let next2 = this.input.charCodeAt(this.pos + 2)
- if (this.options.ecmaVersion >= 6 && next === 46 && next2 === 46) { // 46 = dot '.'
- this.pos += 3
- return this.finishToken(tt.ellipsis)
- } else {
- ++this.pos
- return this.finishToken(tt.dot)
- }
-}
-
-pp.readToken_slash = function() { // '/'
- let next = this.input.charCodeAt(this.pos + 1)
- if (this.exprAllowed) {++this.pos; return this.readRegexp();}
- if (next === 61) return this.finishOp(tt.assign, 2)
- return this.finishOp(tt.slash, 1)
-}
-
-pp.readToken_mult_modulo = function(code) { // '%*'
- let next = this.input.charCodeAt(this.pos + 1)
- if (next === 61) return this.finishOp(tt.assign, 2)
- return this.finishOp(code === 42 ? tt.star : tt.modulo, 1)
-}
-
-pp.readToken_pipe_amp = function(code) { // '|&'
- let next = this.input.charCodeAt(this.pos + 1)
- if (next === code) return this.finishOp(code === 124 ? tt.logicalOR : tt.logicalAND, 2)
- if (next === 61) return this.finishOp(tt.assign, 2)
- return this.finishOp(code === 124 ? tt.bitwiseOR : tt.bitwiseAND, 1)
-}
-
-pp.readToken_caret = function() { // '^'
- let next = this.input.charCodeAt(this.pos + 1)
- if (next === 61) return this.finishOp(tt.assign, 2)
- return this.finishOp(tt.bitwiseXOR, 1)
-}
-
-pp.readToken_plus_min = function(code) { // '+-'
- let next = this.input.charCodeAt(this.pos + 1)
- if (next === code) {
- if (next == 45 && this.input.charCodeAt(this.pos + 2) == 62 &&
- lineBreak.test(this.input.slice(this.lastTokEnd, this.pos))) {
- // A `-->` line comment
- this.skipLineComment(3)
- this.skipSpace()
- return this.nextToken()
- }
- return this.finishOp(tt.incDec, 2)
- }
- if (next === 61) return this.finishOp(tt.assign, 2)
- return this.finishOp(tt.plusMin, 1)
-}
-
-pp.readToken_lt_gt = function(code) { // '<>'
- let next = this.input.charCodeAt(this.pos + 1)
- let size = 1
- if (next === code) {
- size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2
- if (this.input.charCodeAt(this.pos + size) === 61) return this.finishOp(tt.assign, size + 1)
- return this.finishOp(tt.bitShift, size)
- }
- if (next == 33 && code == 60 && this.input.charCodeAt(this.pos + 2) == 45 &&
- this.input.charCodeAt(this.pos + 3) == 45) {
- if (this.inModule) this.unexpected()
- // `<!--`, an XML-style comment that should be interpreted as a line comment
- this.skipLineComment(4)
- this.skipSpace()
- return this.nextToken()
- }
- if (next === 61)
- size = this.input.charCodeAt(this.pos + 2) === 61 ? 3 : 2
- return this.finishOp(tt.relational, size)
-}
-
-pp.readToken_eq_excl = function(code) { // '=!'
- let next = this.input.charCodeAt(this.pos + 1)
- if (next === 61) return this.finishOp(tt.equality, this.input.charCodeAt(this.pos + 2) === 61 ? 3 : 2)
- if (code === 61 && next === 62 && this.options.ecmaVersion >= 6) { // '=>'
- this.pos += 2
- return this.finishToken(tt.arrow)
- }
- return this.finishOp(code === 61 ? tt.eq : tt.prefix, 1)
-}
-
-pp.getTokenFromCode = function(code) {
- switch (code) {
- // The interpretation of a dot depends on whether it is followed
- // by a digit or another two dots.
- case 46: // '.'
- return this.readToken_dot()
-
- // Punctuation tokens.
- case 40: ++this.pos; return this.finishToken(tt.parenL)
- case 41: ++this.pos; return this.finishToken(tt.parenR)
- case 59: ++this.pos; return this.finishToken(tt.semi)
- case 44: ++this.pos; return this.finishToken(tt.comma)
- case 91: ++this.pos; return this.finishToken(tt.bracketL)
- case 93: ++this.pos; return this.finishToken(tt.bracketR)
- case 123: ++this.pos; return this.finishToken(tt.braceL)
- case 125: ++this.pos; return this.finishToken(tt.braceR)
- case 58: ++this.pos; return this.finishToken(tt.colon)
- case 63: ++this.pos; return this.finishToken(tt.question)
-
- case 96: // '`'
- if (this.options.ecmaVersion < 6) break
- ++this.pos
- return this.finishToken(tt.backQuote)
-
- case 48: // '0'
- let next = this.input.charCodeAt(this.pos + 1)
- if (next === 120 || next === 88) return this.readRadixNumber(16); // '0x', '0X' - hex number
- if (this.options.ecmaVersion >= 6) {
- if (next === 111 || next === 79) return this.readRadixNumber(8); // '0o', '0O' - octal number
- if (next === 98 || next === 66) return this.readRadixNumber(2); // '0b', '0B' - binary number
- }
- // Anything else beginning with a digit is an integer, octal
- // number, or float.
- case 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: // 1-9
- return this.readNumber(false)
-
- // Quotes produce strings.
- case 34: case 39: // '"', "'"
- return this.readString(code)
-
- // Operators are parsed inline in tiny state machines. '=' (61) is
- // often referred to. `finishOp` simply skips the amount of
- // characters it is given as second argument, and returns a token
- // of the type given by its first argument.
-
- case 47: // '/'
- return this.readToken_slash()
-
- case 37: case 42: // '%*'
- return this.readToken_mult_modulo(code)
-
- case 124: case 38: // '|&'
- return this.readToken_pipe_amp(code)
-
- case 94: // '^'
- return this.readToken_caret()
-
- case 43: case 45: // '+-'
- return this.readToken_plus_min(code)
-
- case 60: case 62: // '<>'
- return this.readToken_lt_gt(code)
-
- case 61: case 33: // '=!'
- return this.readToken_eq_excl(code)
-
- case 126: // '~'
- return this.finishOp(tt.prefix, 1)
- }
-
- this.raise(this.pos, "Unexpected character '" + codePointToString(code) + "'")
-}
-
-pp.finishOp = function(type, size) {
- let str = this.input.slice(this.pos, this.pos + size)
- this.pos += size
- return this.finishToken(type, str)
-}
-
-// Parse a regular expression. Some context-awareness is necessary,
-// since a '/' inside a '[]' set does not end the expression.
-
-function tryCreateRegexp(src, flags, throwErrorAt, parser) {
- try {
- return new RegExp(src, flags);
- } catch (e) {
- if (throwErrorAt !== undefined) {
- if (e instanceof SyntaxError) parser.raise(throwErrorAt, "Error parsing regular expression: " + e.message)
- throw e
- }
- }
-}
-
-var regexpUnicodeSupport = !!tryCreateRegexp("\uffff", "u");
-
-pp.readRegexp = function() {
- let escaped, inClass, start = this.pos
- for (;;) {
- if (this.pos >= this.input.length) this.raise(start, "Unterminated regular expression")
- let ch = this.input.charAt(this.pos)
- if (lineBreak.test(ch)) this.raise(start, "Unterminated regular expression")
- if (!escaped) {
- if (ch === "[") inClass = true
- else if (ch === "]" && inClass) inClass = false
- else if (ch === "/" && !inClass) break
- escaped = ch === "\\"
- } else escaped = false
- ++this.pos
- }
- let content = this.input.slice(start, this.pos)
- ++this.pos
- // Need to use `readWord1` because '\uXXXX' sequences are allowed
- // here (don't ask).
- let mods = this.readWord1()
- let tmp = content
- if (mods) {
- let validFlags = /^[gim]*$/
- if (this.options.ecmaVersion >= 6) validFlags = /^[gimuy]*$/
- if (!validFlags.test(mods)) this.raise(start, "Invalid regular expression flag")
- if (mods.indexOf('u') >= 0 && !regexpUnicodeSupport) {
- // Replace each astral symbol and every Unicode escape sequence that
- // possibly represents an astral symbol or a paired surrogate with a
- // single ASCII symbol to avoid throwing on regular expressions that
- // are only valid in combination with the `/u` flag.
- // Note: replacing with the ASCII symbol `x` might cause false
- // negatives in unlikely scenarios. For example, `[\u{61}-b]` is a
- // perfectly valid pattern that is equivalent to `[a-b]`, but it would
- // be replaced by `[x-b]` which throws an error.
- tmp = tmp.replace(/\\u\{([0-9a-fA-F]+)\}/g, (_match, code, offset) => {
- code = Number("0x" + code)
- if (code > 0x10FFFF) this.raise(start + offset + 3, "Code point out of bounds")
- return "x"
- });
- tmp = tmp.replace(/\\u([a-fA-F0-9]{4})|[\uD800-\uDBFF][\uDC00-\uDFFF]/g, "x")
- }
- }
- // Detect invalid regular expressions.
- let value = null
- // Rhino's regular expression parser is flaky and throws uncatchable exceptions,
- // so don't do detection if we are running under Rhino
- if (!isRhino) {
- tryCreateRegexp(tmp, undefined, start, this);
- // Get a regular expression object for this pattern-flag pair, or `null` in
- // case the current environment doesn't support the flags it uses.
- value = tryCreateRegexp(content, mods)
- }
- return this.finishToken(tt.regexp, {pattern: content, flags: mods, value: value})
-}
-
-// Read an integer in the given radix. Return null if zero digits
-// were read, the integer value otherwise. When `len` is given, this
-// will return `null` unless the integer has exactly `len` digits.
-
-pp.readInt = function(radix, len) {
- let start = this.pos, total = 0
- for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) {
- let code = this.input.charCodeAt(this.pos), val
- if (code >= 97) val = code - 97 + 10; // a
- else if (code >= 65) val = code - 65 + 10; // A
- else if (code >= 48 && code <= 57) val = code - 48; // 0-9
- else val = Infinity
- if (val >= radix) break
- ++this.pos
- total = total * radix + val
- }
- if (this.pos === start || len != null && this.pos - start !== len) return null
-
- return total
-}
-
-pp.readRadixNumber = function(radix) {
- this.pos += 2; // 0x
- let val = this.readInt(radix)
- if (val == null) this.raise(this.start + 2, "Expected number in radix " + radix)
- if (isIdentifierStart(this.fullCharCodeAtPos())) this.raise(this.pos, "Identifier directly after number")
- return this.finishToken(tt.num, val)
-}
-
-// Read an integer, octal integer, or floating-point number.
-
-pp.readNumber = function(startsWithDot) {
- let start = this.pos, isFloat = false, octal = this.input.charCodeAt(this.pos) === 48
- if (!startsWithDot && this.readInt(10) === null) this.raise(start, "Invalid number")
- let next = this.input.charCodeAt(this.pos)
- if (next === 46) { // '.'
- ++this.pos
- this.readInt(10)
- isFloat = true
- next = this.input.charCodeAt(this.pos)
- }
- if (next === 69 || next === 101) { // 'eE'
- next = this.input.charCodeAt(++this.pos)
- if (next === 43 || next === 45) ++this.pos; // '+-'
- if (this.readInt(10) === null) this.raise(start, "Invalid number")
- isFloat = true
- }
- if (isIdentifierStart(this.fullCharCodeAtPos())) this.raise(this.pos, "Identifier directly after number")
-
- let str = this.input.slice(start, this.pos), val
- if (isFloat) val = parseFloat(str)
- else if (!octal || str.length === 1) val = parseInt(str, 10)
- else if (/[89]/.test(str) || this.strict) this.raise(start, "Invalid number")
- else val = parseInt(str, 8)
- return this.finishToken(tt.num, val)
-}
-
-// Read a string value, interpreting backslash-escapes.
-
-pp.readCodePoint = function() {
- let ch = this.input.charCodeAt(this.pos), code
-
- if (ch === 123) {
- if (this.options.ecmaVersion < 6) this.unexpected()
- let codePos = ++this.pos
- code = this.readHexChar(this.input.indexOf('}', this.pos) - this.pos)
- ++this.pos
- if (code > 0x10FFFF) this.raise(codePos, "Code point out of bounds")
- } else {
- code = this.readHexChar(4)
- }
- return code
-}
-
-function codePointToString(code) {
- // UTF-16 Decoding
- if (code <= 0xFFFF) return String.fromCharCode(code)
- code -= 0x10000
- return String.fromCharCode((code >> 10) + 0xD800, (code & 1023) + 0xDC00)
-}
-
-pp.readString = function(quote) {
- let out = "", chunkStart = ++this.pos
- for (;;) {
- if (this.pos >= this.input.length) this.raise(this.start, "Unterminated string constant")
- let ch = this.input.charCodeAt(this.pos)
- if (ch === quote) break
- if (ch === 92) { // '\'
- out += this.input.slice(chunkStart, this.pos)
- out += this.readEscapedChar(false)
- chunkStart = this.pos
- } else {
- if (isNewLine(ch)) this.raise(this.start, "Unterminated string constant")
- ++this.pos
- }
- }
- out += this.input.slice(chunkStart, this.pos++)
- return this.finishToken(tt.string, out)
-}
-
-// Reads template string tokens.
-
-pp.readTmplToken = function() {
- let out = "", chunkStart = this.pos
- for (;;) {
- if (this.pos >= this.input.length) this.raise(this.start, "Unterminated template")
- let ch = this.input.charCodeAt(this.pos)
- if (ch === 96 || ch === 36 && this.input.charCodeAt(this.pos + 1) === 123) { // '`', '${'
- if (this.pos === this.start && this.type === tt.template) {
- if (ch === 36) {
- this.pos += 2
- return this.finishToken(tt.dollarBraceL)
- } else {
- ++this.pos
- return this.finishToken(tt.backQuote)
- }
- }
- out += this.input.slice(chunkStart, this.pos)
- return this.finishToken(tt.template, out)
- }
- if (ch === 92) { // '\'
- out += this.input.slice(chunkStart, this.pos)
- out += this.readEscapedChar(true)
- chunkStart = this.pos
- } else if (isNewLine(ch)) {
- out += this.input.slice(chunkStart, this.pos)
- ++this.pos
- switch (ch) {
- case 13:
- if (this.input.charCodeAt(this.pos) === 10) ++this.pos;
- case 10:
- out += "\n";
- break;
- default:
- out += String.fromCharCode(ch);
- break;
- }
- if (this.options.locations) {
- ++this.curLine
- this.lineStart = this.pos
- }
- chunkStart = this.pos
- } else {
- ++this.pos
- }
- }
-}
-
-// Used to read escaped characters
-
-pp.readEscapedChar = function(inTemplate) {
- let ch = this.input.charCodeAt(++this.pos)
- ++this.pos
- switch (ch) {
- case 110: return "\n"; // 'n' -> '\n'
- case 114: return "\r"; // 'r' -> '\r'
- case 120: return String.fromCharCode(this.readHexChar(2)); // 'x'
- case 117: return codePointToString(this.readCodePoint()); // 'u'
- case 116: return "\t"; // 't' -> '\t'
- case 98: return "\b"; // 'b' -> '\b'
- case 118: return "\u000b"; // 'v' -> '\u000b'
- case 102: return "\f"; // 'f' -> '\f'
- case 13: if (this.input.charCodeAt(this.pos) === 10) ++this.pos; // '\r\n'
- case 10: // ' \n'
- if (this.options.locations) { this.lineStart = this.pos; ++this.curLine }
- return ""
- default:
- if (ch >= 48 && ch <= 55) {
- let octalStr = this.input.substr(this.pos - 1, 3).match(/^[0-7]+/)[0]
- let octal = parseInt(octalStr, 8)
- if (octal > 255) {
- octalStr = octalStr.slice(0, -1)
- octal = parseInt(octalStr, 8)
- }
- if (octalStr !== "0" && (this.strict || inTemplate)) {
- this.raise(this.pos - 2, "Octal literal in strict mode")
- }
- this.pos += octalStr.length - 1
- return String.fromCharCode(octal)
- }
- return String.fromCharCode(ch)
- }
-}
-
-// Used to read character escape sequences ('\x', '\u', '\U').
-
-pp.readHexChar = function(len) {
- let codePos = this.pos
- let n = this.readInt(16, len)
- if (n === null) this.raise(codePos, "Bad character escape sequence")
- return n
-}
-
-// Read an identifier, and return it as a string. Sets `this.containsEsc`
-// to whether the word contained a '\u' escape.
-//
-// Incrementally adds only escaped chars, adding other chunks as-is
-// as a micro-optimization.
-
-pp.readWord1 = function() {
- this.containsEsc = false
- let word = "", first = true, chunkStart = this.pos
- let astral = this.options.ecmaVersion >= 6
- while (this.pos < this.input.length) {
- let ch = this.fullCharCodeAtPos()
- if (isIdentifierChar(ch, astral)) {
- this.pos += ch <= 0xffff ? 1 : 2
- } else if (ch === 92) { // "\"
- this.containsEsc = true
- word += this.input.slice(chunkStart, this.pos)
- let escStart = this.pos
- if (this.input.charCodeAt(++this.pos) != 117) // "u"
- this.raise(this.pos, "Expecting Unicode escape sequence \\uXXXX")
- ++this.pos
- let esc = this.readCodePoint()
- if (!(first ? isIdentifierStart : isIdentifierChar)(esc, astral))
- this.raise(escStart, "Invalid Unicode escape")
- word += codePointToString(esc)
- chunkStart = this.pos
- } else {
- break
- }
- first = false
- }
- return word + this.input.slice(chunkStart, this.pos)
-}
-
-// Read an identifier or keyword token. Will check for reserved
-// words when necessary.
-
-pp.readWord = function() {
- let word = this.readWord1()
- let type = tt.name
- if ((this.options.ecmaVersion >= 6 || !this.containsEsc) && this.keywords.test(word))
- type = keywordTypes[word]
- return this.finishToken(type, word)
-}
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/tokentype.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/tokentype.js
deleted file mode 100644
index e4efd2bac2..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/tokentype.js
+++ /dev/null
@@ -1,147 +0,0 @@
-// ## Token types
-
-// The assignment of fine-grained, information-carrying type objects
-// allows the tokenizer to store the information it has about a
-// token in a way that is very cheap for the parser to look up.
-
-// All token type variables start with an underscore, to make them
-// easy to recognize.
-
-// The `beforeExpr` property is used to disambiguate between regular
-// expressions and divisions. It is set on all token types that can
-// be followed by an expression (thus, a slash after them would be a
-// regular expression).
-//
-// The `startsExpr` property is used to check if the token ends a
-// `yield` expression. It is set on all token types that either can
-// directly start an expression (like a quotation mark) or can
-// continue an expression (like the body of a string).
-//
-// `isLoop` marks a keyword as starting a loop, which is important
-// to know when parsing a label, in order to allow or disallow
-// continue jumps to that label.
-
-export class TokenType {
- constructor(label, conf = {}) {
- this.label = label
- this.keyword = conf.keyword
- this.beforeExpr = !!conf.beforeExpr
- this.startsExpr = !!conf.startsExpr
- this.isLoop = !!conf.isLoop
- this.isAssign = !!conf.isAssign
- this.prefix = !!conf.prefix
- this.postfix = !!conf.postfix
- this.binop = conf.binop || null
- this.updateContext = null
- }
-}
-
-function binop(name, prec) {
- return new TokenType(name, {beforeExpr: true, binop: prec})
-}
-const beforeExpr = {beforeExpr: true}, startsExpr = {startsExpr: true}
-
-export const types = {
- num: new TokenType("num", startsExpr),
- regexp: new TokenType("regexp", startsExpr),
- string: new TokenType("string", startsExpr),
- name: new TokenType("name", startsExpr),
- eof: new TokenType("eof"),
-
- // Punctuation token types.
- bracketL: new TokenType("[", {beforeExpr: true, startsExpr: true}),
- bracketR: new TokenType("]"),
- braceL: new TokenType("{", {beforeExpr: true, startsExpr: true}),
- braceR: new TokenType("}"),
- parenL: new TokenType("(", {beforeExpr: true, startsExpr: true}),
- parenR: new TokenType(")"),
- comma: new TokenType(",", beforeExpr),
- semi: new TokenType(";", beforeExpr),
- colon: new TokenType(":", beforeExpr),
- dot: new TokenType("."),
- question: new TokenType("?", beforeExpr),
- arrow: new TokenType("=>", beforeExpr),
- template: new TokenType("template"),
- ellipsis: new TokenType("...", beforeExpr),
- backQuote: new TokenType("`", startsExpr),
- dollarBraceL: new TokenType("${", {beforeExpr: true, startsExpr: true}),
-
- // Operators. These carry several kinds of properties to help the
- // parser use them properly (the presence of these properties is
- // what categorizes them as operators).
- //
- // `binop`, when present, specifies that this operator is a binary
- // operator, and will refer to its precedence.
- //
- // `prefix` and `postfix` mark the operator as a prefix or postfix
- // unary operator.
- //
- // `isAssign` marks all of `=`, `+=`, `-=` etcetera, which act as
- // binary operators with a very low precedence, that should result
- // in AssignmentExpression nodes.
-
- eq: new TokenType("=", {beforeExpr: true, isAssign: true}),
- assign: new TokenType("_=", {beforeExpr: true, isAssign: true}),
- incDec: new TokenType("++/--", {prefix: true, postfix: true, startsExpr: true}),
- prefix: new TokenType("prefix", {beforeExpr: true, prefix: true, startsExpr: true}),
- logicalOR: binop("||", 1),
- logicalAND: binop("&&", 2),
- bitwiseOR: binop("|", 3),
- bitwiseXOR: binop("^", 4),
- bitwiseAND: binop("&", 5),
- equality: binop("==/!=", 6),
- relational: binop("</>", 7),
- bitShift: binop("<</>>", 8),
- plusMin: new TokenType("+/-", {beforeExpr: true, binop: 9, prefix: true, startsExpr: true}),
- modulo: binop("%", 10),
- star: binop("*", 10),
- slash: binop("/", 10)
-}
-
-// Map keyword names to token types.
-
-export const keywords = {}
-
-// Succinct definitions of keyword token types
-function kw(name, options = {}) {
- options.keyword = name
- keywords[name] = types["_" + name] = new TokenType(name, options)
-}
-
-kw("break")
-kw("case", beforeExpr)
-kw("catch")
-kw("continue")
-kw("debugger")
-kw("default", beforeExpr)
-kw("do", {isLoop: true, beforeExpr: true})
-kw("else", beforeExpr)
-kw("finally")
-kw("for", {isLoop: true})
-kw("function", startsExpr)
-kw("if")
-kw("return", beforeExpr)
-kw("switch")
-kw("throw", beforeExpr)
-kw("try")
-kw("var")
-kw("let")
-kw("const")
-kw("while", {isLoop: true})
-kw("with")
-kw("new", {beforeExpr: true, startsExpr: true})
-kw("this", startsExpr)
-kw("super", startsExpr)
-kw("class")
-kw("extends", beforeExpr)
-kw("export")
-kw("import")
-kw("yield", {beforeExpr: true, startsExpr: true})
-kw("null", startsExpr)
-kw("true", startsExpr)
-kw("false", startsExpr)
-kw("in", {beforeExpr: true, binop: 7})
-kw("instanceof", {beforeExpr: true, binop: 7})
-kw("typeof", {beforeExpr: true, prefix: true, startsExpr: true})
-kw("void", {beforeExpr: true, prefix: true, startsExpr: true})
-kw("delete", {beforeExpr: true, prefix: true, startsExpr: true})
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/util.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/util.js
deleted file mode 100644
index 3517f8d212..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/util.js
+++ /dev/null
@@ -1,9 +0,0 @@
-export function isArray(obj) {
- return Object.prototype.toString.call(obj) === "[object Array]"
-}
-
-// Checks if an object has a property.
-
-export function has(obj, propName) {
- return Object.prototype.hasOwnProperty.call(obj, propName)
-}
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/walk/index.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/walk/index.js
deleted file mode 100644
index 9f45a0c8c7..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/walk/index.js
+++ /dev/null
@@ -1,340 +0,0 @@
-// AST walker module for Mozilla Parser API compatible trees
-
-// A simple walk is one where you simply specify callbacks to be
-// called on specific nodes. The last two arguments are optional. A
-// simple use would be
-//
-// walk.simple(myTree, {
-// Expression: function(node) { ... }
-// });
-//
-// to do something with all expressions. All Parser API node types
-// can be used to identify node types, as well as Expression,
-// Statement, and ScopeBody, which denote categories of nodes.
-//
-// The base argument can be used to pass a custom (recursive)
-// walker, and state can be used to give this walked an initial
-// state.
-
-export function simple(node, visitors, base, state, override) {
- if (!base) base = exports.base
- ;(function c(node, st, override) {
- let type = override || node.type, found = visitors[type]
- base[type](node, st, c)
- if (found) found(node, st)
- })(node, state, override)
-}
-
-// An ancestor walk builds up an array of ancestor nodes (including
-// the current node) and passes them to the callback as the state parameter.
-export function ancestor(node, visitors, base, state) {
- if (!base) base = exports.base
- if (!state) state = []
- ;(function c(node, st, override) {
- let type = override || node.type, found = visitors[type]
- if (node != st[st.length - 1]) {
- st = st.slice()
- st.push(node)
- }
- base[type](node, st, c)
- if (found) found(node, st)
- })(node, state)
-}
-
-// A recursive walk is one where your functions override the default
-// walkers. They can modify and replace the state parameter that's
-// threaded through the walk, and can opt how and whether to walk
-// their child nodes (by calling their third argument on these
-// nodes).
-export function recursive(node, state, funcs, base, override) {
- let visitor = funcs ? exports.make(funcs, base) : base
- ;(function c(node, st, override) {
- visitor[override || node.type](node, st, c)
- })(node, state, override)
-}
-
-function makeTest(test) {
- if (typeof test == "string")
- return type => type == test
- else if (!test)
- return () => true
- else
- return test
-}
-
-class Found {
- constructor(node, state) { this.node = node; this.state = state }
-}
-
-// Find a node with a given start, end, and type (all are optional,
-// null can be used as wildcard). Returns a {node, state} object, or
-// undefined when it doesn't find a matching node.
-export function findNodeAt(node, start, end, test, base, state) {
- test = makeTest(test)
- if (!base) base = exports.base
- try {
- ;(function c(node, st, override) {
- let type = override || node.type
- if ((start == null || node.start <= start) &&
- (end == null || node.end >= end))
- base[type](node, st, c)
- if ((start == null || node.start == start) &&
- (end == null || node.end == end) &&
- test(type, node))
- throw new Found(node, st)
- })(node, state)
- } catch (e) {
- if (e instanceof Found) return e
- throw e
- }
-}
-
-// Find the innermost node of a given type that contains the given
-// position. Interface similar to findNodeAt.
-export function findNodeAround(node, pos, test, base, state) {
- test = makeTest(test)
- if (!base) base = exports.base
- try {
- ;(function c(node, st, override) {
- let type = override || node.type
- if (node.start > pos || node.end < pos) return
- base[type](node, st, c)
- if (test(type, node)) throw new Found(node, st)
- })(node, state)
- } catch (e) {
- if (e instanceof Found) return e
- throw e
- }
-}
-
-// Find the outermost matching node after a given position.
-export function findNodeAfter(node, pos, test, base, state) {
- test = makeTest(test)
- if (!base) base = exports.base
- try {
- ;(function c(node, st, override) {
- if (node.end < pos) return
- let type = override || node.type
- if (node.start >= pos && test(type, node)) throw new Found(node, st)
- base[type](node, st, c)
- })(node, state)
- } catch (e) {
- if (e instanceof Found) return e
- throw e
- }
-}
-
-// Find the outermost matching node before a given position.
-export function findNodeBefore(node, pos, test, base, state) {
- test = makeTest(test)
- if (!base) base = exports.base
- let max
- ;(function c(node, st, override) {
- if (node.start > pos) return
- let type = override || node.type
- if (node.end <= pos && (!max || max.node.end < node.end) && test(type, node))
- max = new Found(node, st)
- base[type](node, st, c)
- })(node, state)
- return max
-}
-
-// Used to create a custom walker. Will fill in all missing node
-// type properties with the defaults.
-export function make(funcs, base) {
- if (!base) base = exports.base
- let visitor = {}
- for (var type in base) visitor[type] = base[type]
- for (var type in funcs) visitor[type] = funcs[type]
- return visitor
-}
-
-function skipThrough(node, st, c) { c(node, st) }
-function ignore(_node, _st, _c) {}
-
-// Node walkers.
-
-export const base = {}
-
-base.Program = base.BlockStatement = (node, st, c) => {
- for (let i = 0; i < node.body.length; ++i)
- c(node.body[i], st, "Statement")
-}
-base.Statement = skipThrough
-base.EmptyStatement = ignore
-base.ExpressionStatement = base.ParenthesizedExpression =
- (node, st, c) => c(node.expression, st, "Expression")
-base.IfStatement = (node, st, c) => {
- c(node.test, st, "Expression")
- c(node.consequent, st, "Statement")
- if (node.alternate) c(node.alternate, st, "Statement")
-}
-base.LabeledStatement = (node, st, c) => c(node.body, st, "Statement")
-base.BreakStatement = base.ContinueStatement = ignore
-base.WithStatement = (node, st, c) => {
- c(node.object, st, "Expression")
- c(node.body, st, "Statement")
-}
-base.SwitchStatement = (node, st, c) => {
- c(node.discriminant, st, "Expression")
- for (let i = 0; i < node.cases.length; ++i) {
- let cs = node.cases[i]
- if (cs.test) c(cs.test, st, "Expression")
- for (let j = 0; j < cs.consequent.length; ++j)
- c(cs.consequent[j], st, "Statement")
- }
-}
-base.ReturnStatement = base.YieldExpression = (node, st, c) => {
- if (node.argument) c(node.argument, st, "Expression")
-}
-base.ThrowStatement = base.SpreadElement =
- (node, st, c) => c(node.argument, st, "Expression")
-base.TryStatement = (node, st, c) => {
- c(node.block, st, "Statement")
- if (node.handler) {
- c(node.handler.param, st, "Pattern")
- c(node.handler.body, st, "ScopeBody")
- }
- if (node.finalizer) c(node.finalizer, st, "Statement")
-}
-base.WhileStatement = base.DoWhileStatement = (node, st, c) => {
- c(node.test, st, "Expression")
- c(node.body, st, "Statement")
-}
-base.ForStatement = (node, st, c) => {
- if (node.init) c(node.init, st, "ForInit")
- if (node.test) c(node.test, st, "Expression")
- if (node.update) c(node.update, st, "Expression")
- c(node.body, st, "Statement")
-}
-base.ForInStatement = base.ForOfStatement = (node, st, c) => {
- c(node.left, st, "ForInit")
- c(node.right, st, "Expression")
- c(node.body, st, "Statement")
-}
-base.ForInit = (node, st, c) => {
- if (node.type == "VariableDeclaration") c(node, st)
- else c(node, st, "Expression")
-}
-base.DebuggerStatement = ignore
-
-base.FunctionDeclaration = (node, st, c) => c(node, st, "Function")
-base.VariableDeclaration = (node, st, c) => {
- for (let i = 0; i < node.declarations.length; ++i)
- c(node.declarations[i], st)
-}
-base.VariableDeclarator = (node, st, c) => {
- c(node.id, st, "Pattern")
- if (node.init) c(node.init, st, "Expression")
-}
-
-base.Function = (node, st, c) => {
- if (node.id) c(node.id, st, "Pattern")
- for (let i = 0; i < node.params.length; i++)
- c(node.params[i], st, "Pattern")
- c(node.body, st, node.expression ? "ScopeExpression" : "ScopeBody")
-}
-// FIXME drop these node types in next major version
-// (They are awkward, and in ES6 every block can be a scope.)
-base.ScopeBody = (node, st, c) => c(node, st, "Statement")
-base.ScopeExpression = (node, st, c) => c(node, st, "Expression")
-
-base.Pattern = (node, st, c) => {
- if (node.type == "Identifier")
- c(node, st, "VariablePattern")
- else if (node.type == "MemberExpression")
- c(node, st, "MemberPattern")
- else
- c(node, st)
-}
-base.VariablePattern = ignore
-base.MemberPattern = skipThrough
-base.RestElement = (node, st, c) => c(node.argument, st, "Pattern")
-base.ArrayPattern = (node, st, c) => {
- for (let i = 0; i < node.elements.length; ++i) {
- let elt = node.elements[i]
- if (elt) c(elt, st, "Pattern")
- }
-}
-base.ObjectPattern = (node, st, c) => {
- for (let i = 0; i < node.properties.length; ++i)
- c(node.properties[i].value, st, "Pattern")
-}
-
-base.Expression = skipThrough
-base.ThisExpression = base.Super = base.MetaProperty = ignore
-base.ArrayExpression = (node, st, c) => {
- for (let i = 0; i < node.elements.length; ++i) {
- let elt = node.elements[i]
- if (elt) c(elt, st, "Expression")
- }
-}
-base.ObjectExpression = (node, st, c) => {
- for (let i = 0; i < node.properties.length; ++i)
- c(node.properties[i], st)
-}
-base.FunctionExpression = base.ArrowFunctionExpression = base.FunctionDeclaration
-base.SequenceExpression = base.TemplateLiteral = (node, st, c) => {
- for (let i = 0; i < node.expressions.length; ++i)
- c(node.expressions[i], st, "Expression")
-}
-base.UnaryExpression = base.UpdateExpression = (node, st, c) => {
- c(node.argument, st, "Expression")
-}
-base.BinaryExpression = base.LogicalExpression = (node, st, c) => {
- c(node.left, st, "Expression")
- c(node.right, st, "Expression")
-}
-base.AssignmentExpression = base.AssignmentPattern = (node, st, c) => {
- c(node.left, st, "Pattern")
- c(node.right, st, "Expression")
-}
-base.ConditionalExpression = (node, st, c) => {
- c(node.test, st, "Expression")
- c(node.consequent, st, "Expression")
- c(node.alternate, st, "Expression")
-}
-base.NewExpression = base.CallExpression = (node, st, c) => {
- c(node.callee, st, "Expression")
- if (node.arguments) for (let i = 0; i < node.arguments.length; ++i)
- c(node.arguments[i], st, "Expression")
-}
-base.MemberExpression = (node, st, c) => {
- c(node.object, st, "Expression")
- if (node.computed) c(node.property, st, "Expression")
-}
-base.ExportNamedDeclaration = base.ExportDefaultDeclaration = (node, st, c) => {
- if (node.declaration)
- c(node.declaration, st, node.type == "ExportNamedDeclaration" || node.declaration.id ? "Statement" : "Expression")
- if (node.source) c(node.source, st, "Expression")
-}
-base.ExportAllDeclaration = (node, st, c) => {
- c(node.source, st, "Expression")
-}
-base.ImportDeclaration = (node, st, c) => {
- for (let i = 0; i < node.specifiers.length; i++)
- c(node.specifiers[i], st)
- c(node.source, st, "Expression")
-}
-base.ImportSpecifier = base.ImportDefaultSpecifier = base.ImportNamespaceSpecifier = base.Identifier = base.Literal = ignore
-
-base.TaggedTemplateExpression = (node, st, c) => {
- c(node.tag, st, "Expression")
- c(node.quasi, st)
-}
-base.ClassDeclaration = base.ClassExpression = (node, st, c) => c(node, st, "Class")
-base.Class = (node, st, c) => {
- if (node.id) c(node.id, st, "Pattern")
- if (node.superClass) c(node.superClass, st, "Expression")
- for (let i = 0; i < node.body.body.length; i++)
- c(node.body.body[i], st)
-}
-base.MethodDefinition = base.Property = (node, st, c) => {
- if (node.computed) c(node.key, st, "Expression")
- c(node.value, st, "Expression")
-}
-base.ComprehensionExpression = (node, st, c) => {
- for (let i = 0; i < node.blocks.length; i++)
- c(node.blocks[i].right, st, "Expression")
- c(node.body, st, "Expression")
-}
diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/whitespace.js b/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/whitespace.js
deleted file mode 100644
index 627aa78d41..0000000000
--- a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/whitespace.js
+++ /dev/null
@@ -1,11 +0,0 @@
-// Matches a whole line break (where CRLF is considered a single
-// line break). Used to count lines.
-
-export const lineBreak = /\r\n?|\n|\u2028|\u2029/
-export const lineBreakG = new RegExp(lineBreak.source, "g")
-
-export function isNewLine(code) {
- return code === 10 || code === 13 || code === 0x2028 || code == 0x2029
-}
-
-export const nonASCIIwhitespace = /[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/
diff --git a/tools/eslint/node_modules/acorn-jsx/package.json b/tools/eslint/node_modules/acorn-jsx/package.json
index a58a354fbe..413b066166 100644
--- a/tools/eslint/node_modules/acorn-jsx/package.json
+++ b/tools/eslint/node_modules/acorn-jsx/package.json
@@ -1,43 +1,47 @@
{
"_args": [
[
- "acorn-jsx@^2.0.1",
- "/Users/silverwind/git/node/tools/package/package/node_modules/espree"
+ "acorn-jsx@^3.0.0",
+ "/Users/trott/io.js/tools/node_modules/espree"
]
],
- "_from": "acorn-jsx@>=2.0.1 <3.0.0",
- "_id": "acorn-jsx@2.0.1",
+ "_from": "acorn-jsx@>=3.0.0 <4.0.0",
+ "_id": "acorn-jsx@3.0.0",
"_inCache": true,
"_installable": true,
"_location": "/acorn-jsx",
- "_nodeVersion": "4.0.0",
+ "_nodeVersion": "5.7.1",
+ "_npmOperationalInternal": {
+ "host": "packages-13-west.internal.npmjs.com",
+ "tmp": "tmp/acorn-jsx-3.0.0.tgz_1457985965089_0.5892153568565845"
+ },
"_npmUser": {
"email": "me@rreverser.com",
"name": "rreverser"
},
- "_npmVersion": "3.2.2",
+ "_npmVersion": "3.6.0",
"_phantomChildren": {},
"_requested": {
"name": "acorn-jsx",
- "raw": "acorn-jsx@^2.0.1",
- "rawSpec": "^2.0.1",
+ "raw": "acorn-jsx@^3.0.0",
+ "rawSpec": "^3.0.0",
"scope": null,
- "spec": ">=2.0.1 <3.0.0",
+ "spec": ">=3.0.0 <4.0.0",
"type": "range"
},
"_requiredBy": [
"/espree"
],
- "_resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-2.0.1.tgz",
- "_shasum": "0edf9878a5866bca625f52955a1ed9e7d8c5117e",
+ "_resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.0.tgz",
+ "_shasum": "c17ca956693571ca3ea70aed415008116cfbd4ad",
"_shrinkwrap": null,
- "_spec": "acorn-jsx@^2.0.1",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/espree",
+ "_spec": "acorn-jsx@^3.0.0",
+ "_where": "/Users/trott/io.js/tools/node_modules/espree",
"bugs": {
"url": "https://github.com/RReverser/acorn-jsx/issues"
},
"dependencies": {
- "acorn": "^2.0.1"
+ "acorn": "^3.0.4"
},
"description": "Alternative, faster React.js JSX parser",
"devDependencies": {
@@ -46,21 +50,16 @@
},
"directories": {},
"dist": {
- "shasum": "0edf9878a5866bca625f52955a1ed9e7d8c5117e",
- "tarball": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-2.0.1.tgz"
+ "shasum": "c17ca956693571ca3ea70aed415008116cfbd4ad",
+ "tarball": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.0.tgz"
},
- "gitHead": "cdc624d83767518d174a7873054ff9f2984eb83c",
+ "gitHead": "2b52a0d62820ea12bd95c0a07942cb39afffa349",
"homepage": "https://github.com/RReverser/acorn-jsx",
- "licenses": [
- {
- "type": "MIT",
- "url": "https://raw.githubusercontent.com/RReverser/acorn-jsx/master/LICENSE"
- }
- ],
+ "license": "MIT",
"maintainers": [
{
- "name": "rreverser",
- "email": "me@rreverser.com"
+ "email": "me@rreverser.com",
+ "name": "rreverser"
}
],
"name": "acorn-jsx",
@@ -73,5 +72,5 @@
"scripts": {
"test": "node test/run.js"
},
- "version": "2.0.1"
+ "version": "3.0.0"
}
diff --git a/tools/eslint/node_modules/acorn/AUTHORS b/tools/eslint/node_modules/acorn/AUTHORS
index 0e8f48b695..cac3f48160 100644
--- a/tools/eslint/node_modules/acorn/AUTHORS
+++ b/tools/eslint/node_modules/acorn/AUTHORS
@@ -3,6 +3,7 @@ List of Acorn contributors. Updated before every release.
Adrian Rakovsky
Alistair Braidwood
Andres Suarez
+Angelo
Aparajita Fishman
Arian Stolwijk
Artem Govorov
@@ -10,34 +11,44 @@ Brandon Mills
Charles Hughes
Conrad Irwin
David Bonnet
+Domenico Matteo
ForbesLindesay
Forbes Lindesay
Gilad Peleg
impinball
Ingvar Stepanyan
+Jackson Ray Hamilton
Jesse McCarthy
Jiaxing Wang
Joel Kemp
Johannes Herr
+Jordan Klassen
Jürg Lehni
keeyipchan
+Keheliya Gallaba
Kevin Kwok
krator
Marijn Haverbeke
Martin Carlberg
Mathias Bynens
Mathieu 'p01' Henri
+Matthew Bastien
Max Schaefer
Max Zerzouri
Mihai Bazon
Mike Rennie
+Nicholas C. Zakas
Nick Fitzgerald
Oskar Schöldström
Paul Harper
Peter Rust
PlNG
+Prayag Verma
+ReadmeCritic
r-e-d
+Richard Gibson
Rich Harris
Sebastian McKenzie
Timothy Gu
+Toru Nagashima
zsjforcn
diff --git a/tools/eslint/node_modules/acorn/README.md b/tools/eslint/node_modules/acorn/README.md
index 4083cbe297..5f50c5f929 100644
--- a/tools/eslint/node_modules/acorn/README.md
+++ b/tools/eslint/node_modules/acorn/README.md
@@ -1,7 +1,7 @@
# Acorn
[![Build Status](https://travis-ci.org/ternjs/acorn.svg?branch=master)](https://travis-ci.org/ternjs/acorn)
-[![NPM version](https://img.shields.io/npm/v/acorn.svg)](https://www.npmjs.com/package/acorn)
+[![NPM version](https://img.shields.io/npm/v/acorn.svg)](https://www.npmjs.com/package/acorn)
[Author funding status: ![maintainer happiness](https://marijnhaverbeke.nl/fund/status_s.png?force)](https://marijnhaverbeke.nl/fund/)
A tiny, fast JavaScript parser, written completely in JavaScript.
@@ -65,6 +65,10 @@ object referring to that same position.
either 3, 5, 6, or 7. This influences support for strict mode, the set
of reserved words, and support for new syntax features. Default is 6.
+ **NOTE**: Only 'stage 4' (finalized) ECMAScript 7 features are being
+ implemented by Acorn. That means that most of the draft standard is
+ not yet being parsed.
+
- **sourceType**: Indicate the mode the code should be parsed in. Can be
either `"script"` or `"module"`.
@@ -165,7 +169,8 @@ object referring to that same position.
choose.
- **directSourceFile**: Like `sourceFile`, but a `sourceFile` property
- will be added directly to the nodes, rather than the `loc` object.
+ will be added (regardless of the `location` option) directly to the
+ nodes, rather than the `loc` object.
- **preserveParens**: If this option is `true`, parenthesized expressions
are represented by (non-standard) `ParenthesizedExpression` nodes
diff --git a/tools/eslint/node_modules/acorn/dist/acorn.js b/tools/eslint/node_modules/acorn/dist/acorn.js
index 57802e7f9a..7917476865 100644
--- a/tools/eslint/node_modules/acorn/dist/acorn.js
+++ b/tools/eslint/node_modules/acorn/dist/acorn.js
@@ -645,14 +645,16 @@ pp.parseExprList = function (close, allowTrailingComma, allowEmpty, refDestructu
while (!this.eat(close)) {
if (!first) {
this.expect(_tokentype.types.comma);
- if (this.type === close && refDestructuringErrors && !refDestructuringErrors.trailingComma) {
- refDestructuringErrors.trailingComma = this.lastTokStart;
- }
if (allowTrailingComma && this.afterTrailingComma(close)) break;
} else first = false;
var elt = undefined;
- if (allowEmpty && this.type === _tokentype.types.comma) elt = null;else if (this.type === _tokentype.types.ellipsis) elt = this.parseSpread(refDestructuringErrors);else elt = this.parseMaybeAssign(false, refDestructuringErrors);
+ if (allowEmpty && this.type === _tokentype.types.comma) elt = null;else if (this.type === _tokentype.types.ellipsis) {
+ elt = this.parseSpread(refDestructuringErrors);
+ if (this.type === _tokentype.types.comma && refDestructuringErrors && !refDestructuringErrors.trailingComma) {
+ refDestructuringErrors.trailingComma = this.lastTokStart;
+ }
+ } else elt = this.parseMaybeAssign(false, refDestructuringErrors);
elts.push(elt);
}
return elts;
@@ -866,7 +868,7 @@ var _whitespace = _dereq_("./whitespace");
exports.isNewLine = _whitespace.isNewLine;
exports.lineBreak = _whitespace.lineBreak;
exports.lineBreakG = _whitespace.lineBreakG;
-var version = "3.0.4";
+var version = "3.1.0";
exports.version = version;
// The main exported interface (under `self.acorn` when in the
@@ -1132,6 +1134,7 @@ pp.parseBindingList = function (close, allowEmpty, allowTrailingComma, allowNonI
var rest = this.parseRest(allowNonIdent);
this.parseBindingListItem(rest);
elts.push(rest);
+ if (this.type === _tokentype.types.comma) this.raise(this.start, "Comma is not permitted after the rest element");
this.expect(close);
break;
} else {
@@ -1483,7 +1486,7 @@ pp.unexpected = function (pos) {
pp.checkPatternErrors = function (refDestructuringErrors, andThrow) {
var pos = refDestructuringErrors && refDestructuringErrors.trailingComma;
if (!andThrow) return !!pos;
- if (pos) this.raise(pos, "Trailing comma is not permitted in destructuring patterns");
+ if (pos) this.raise(pos, "Comma is not permitted after the rest element");
};
pp.checkExpressionErrors = function (refDestructuringErrors, andThrow) {
@@ -2382,8 +2385,8 @@ _tokentype.types.incDec.updateContext = function () {
// tokExprAllowed stays unchanged
};
-_tokentype.types._function.updateContext = function () {
- if (this.curContext() !== types.b_stat) this.context.push(types.f_expr);
+_tokentype.types._function.updateContext = function (prevType) {
+ if (prevType.beforeExpr && prevType !== _tokentype.types.semi && prevType !== _tokentype.types._else && (prevType !== _tokentype.types.colon || this.curContext() !== types.b_stat)) this.context.push(types.f_expr);
this.exprAllowed = false;
};
diff --git a/tools/eslint/node_modules/acorn/dist/acorn_loose.js b/tools/eslint/node_modules/acorn/dist/acorn_loose.js
index c68cb76b27..6528651d31 100644
--- a/tools/eslint/node_modules/acorn/dist/acorn_loose.js
+++ b/tools/eslint/node_modules/acorn/dist/acorn_loose.js
@@ -330,6 +330,7 @@ lp.parseTemplate = function () {
curElt = this.startNode();
curElt.value = { cooked: '', raw: '' };
curElt.tail = true;
+ this.finishNode(curElt, "TemplateElement");
}
node.quasis.push(curElt);
}
diff --git a/tools/eslint/node_modules/acorn/dist/walk.js b/tools/eslint/node_modules/acorn/dist/walk.js
index cb9ccd59d3..6c97891b92 100644
--- a/tools/eslint/node_modules/acorn/dist/walk.js
+++ b/tools/eslint/node_modules/acorn/dist/walk.js
@@ -216,12 +216,13 @@ base.ThrowStatement = base.SpreadElement = function (node, st, c) {
};
base.TryStatement = function (node, st, c) {
c(node.block, st, "Statement");
- if (node.handler) {
- c(node.handler.param, st, "Pattern");
- c(node.handler.body, st, "ScopeBody");
- }
+ if (node.handler) c(node.handler, st);
if (node.finalizer) c(node.finalizer, st, "Statement");
};
+base.CatchClause = function (node, st, c) {
+ c(node.param, st, "Pattern");
+ c(node.body, st, "ScopeBody");
+};
base.WhileStatement = base.DoWhileStatement = function (node, st, c) {
c(node.test, st, "Expression");
c(node.body, st, "Statement");
diff --git a/tools/eslint/node_modules/acorn/package.json b/tools/eslint/node_modules/acorn/package.json
index 9e27deb69a..7687200401 100644
--- a/tools/eslint/node_modules/acorn/package.json
+++ b/tools/eslint/node_modules/acorn/package.json
@@ -1,42 +1,43 @@
{
"_args": [
[
- "acorn@^3.0.4",
- "/Users/silverwind/git/node/tools/package/package/node_modules/espree"
+ "acorn@^3.1.0",
+ "/Users/trott/io.js/tools/node_modules/espree"
]
],
- "_from": "acorn@>=3.0.4 <4.0.0",
- "_id": "acorn@3.0.4",
+ "_from": "acorn@>=3.1.0 <4.0.0",
+ "_id": "acorn@3.1.0",
"_inCache": true,
"_installable": true,
"_location": "/acorn",
- "_nodeVersion": "4.3.1",
+ "_nodeVersion": "4.4.3",
"_npmOperationalInternal": {
- "host": "packages-6-west.internal.npmjs.com",
- "tmp": "tmp/acorn-3.0.4.tgz_1456390282440_0.9833372407592833"
+ "host": "packages-16-east.internal.npmjs.com",
+ "tmp": "tmp/acorn-3.1.0.tgz_1460967388002_0.5425194606650621"
},
"_npmUser": {
"email": "marijnh@gmail.com",
"name": "marijn"
},
- "_npmVersion": "2.14.12",
+ "_npmVersion": "2.15.1",
"_phantomChildren": {},
"_requested": {
"name": "acorn",
- "raw": "acorn@^3.0.4",
- "rawSpec": "^3.0.4",
+ "raw": "acorn@^3.1.0",
+ "rawSpec": "^3.1.0",
"scope": null,
- "spec": ">=3.0.4 <4.0.0",
+ "spec": ">=3.1.0 <4.0.0",
"type": "range"
},
"_requiredBy": [
+ "/acorn-jsx",
"/espree"
],
- "_resolved": "https://registry.npmjs.org/acorn/-/acorn-3.0.4.tgz",
- "_shasum": "04f244950fdb8faf85507ad481c2edee7aecdeec",
+ "_resolved": "https://registry.npmjs.org/acorn/-/acorn-3.1.0.tgz",
+ "_shasum": "e79a281c23983ccc079471a849866067e7f0c693",
"_shrinkwrap": null,
- "_spec": "acorn@^3.0.4",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/espree",
+ "_spec": "acorn@^3.1.0",
+ "_where": "/Users/trott/io.js/tools/node_modules/espree",
"bin": {
"acorn": "./bin/acorn"
},
@@ -45,10 +46,10 @@
},
"contributors": [
{
- "name": "keeyipchan"
+ "name": "List of Acorn contributors. Updated before every release."
},
{
- "name": "List of Acorn contributors. Updated before every release."
+ "name": "Adrian Rakovsky"
},
{
"name": "Alistair Braidwood"
@@ -57,6 +58,9 @@
"name": "Andres Suarez"
},
{
+ "name": "Angelo"
+ },
+ {
"name": "Aparajita Fishman"
},
{
@@ -78,6 +82,9 @@
"name": "David Bonnet"
},
{
+ "name": "Domenico Matteo"
+ },
+ {
"name": "ForbesLindesay"
},
{
@@ -93,6 +100,9 @@
"name": "Ingvar Stepanyan"
},
{
+ "name": "Jackson Ray Hamilton"
+ },
+ {
"name": "Jesse McCarthy"
},
{
@@ -105,10 +115,16 @@
"name": "Johannes Herr"
},
{
+ "name": "Jordan Klassen"
+ },
+ {
"name": "Jürg Lehni"
},
{
- "name": "Adrian Rakovsky"
+ "name": "keeyipchan"
+ },
+ {
+ "name": "Keheliya Gallaba"
},
{
"name": "Kevin Kwok"
@@ -129,6 +145,9 @@
"name": "Mathieu 'p01' Henri"
},
{
+ "name": "Matthew Bastien"
+ },
+ {
"name": "Max Schaefer"
},
{
@@ -141,6 +160,9 @@
"name": "Mike Rennie"
},
{
+ "name": "Nicholas C. Zakas"
+ },
+ {
"name": "Nick Fitzgerald"
},
{
@@ -156,9 +178,18 @@
"name": "PlNG"
},
{
+ "name": "Prayag Verma"
+ },
+ {
+ "name": "ReadmeCritic"
+ },
+ {
"name": "r-e-d"
},
{
+ "name": "Richard Gibson"
+ },
+ {
"name": "Rich Harris"
},
{
@@ -168,6 +199,9 @@
"name": "Timothy Gu"
},
{
+ "name": "Toru Nagashima"
+ },
+ {
"name": "zsjforcn"
}
],
@@ -182,24 +216,24 @@
},
"directories": {},
"dist": {
- "shasum": "04f244950fdb8faf85507ad481c2edee7aecdeec",
- "tarball": "http://registry.npmjs.org/acorn/-/acorn-3.0.4.tgz"
+ "shasum": "e79a281c23983ccc079471a849866067e7f0c693",
+ "tarball": "https://registry.npmjs.org/acorn/-/acorn-3.1.0.tgz"
},
"engines": {
"node": ">=0.4.0"
},
- "gitHead": "327cef57d0907500ec1ab5508c6eccd727a79cf9",
+ "gitHead": "3c5ef61cc55dc887cbb807fa8d6917d6af85af51",
"homepage": "https://github.com/ternjs/acorn",
"license": "MIT",
"main": "dist/acorn.js",
"maintainers": [
{
- "name": "marijn",
- "email": "marijnh@gmail.com"
+ "email": "marijnh@gmail.com",
+ "name": "marijn"
},
{
- "name": "rreverser",
- "email": "me@rreverser.com"
+ "email": "me@rreverser.com",
+ "name": "rreverser"
}
],
"name": "acorn",
@@ -213,5 +247,5 @@
"prepublish": "node bin/build-acorn.js",
"test": "node test/run.js"
},
- "version": "3.0.4"
+ "version": "3.1.0"
}
diff --git a/tools/eslint/node_modules/acorn/src/expression.js b/tools/eslint/node_modules/acorn/src/expression.js
index d36a5eb255..31781453f1 100644
--- a/tools/eslint/node_modules/acorn/src/expression.js
+++ b/tools/eslint/node_modules/acorn/src/expression.js
@@ -637,18 +637,18 @@ pp.parseExprList = function(close, allowTrailingComma, allowEmpty, refDestructur
while (!this.eat(close)) {
if (!first) {
this.expect(tt.comma)
- if (this.type === close && refDestructuringErrors && !refDestructuringErrors.trailingComma) {
- refDestructuringErrors.trailingComma = this.lastTokStart
- }
if (allowTrailingComma && this.afterTrailingComma(close)) break
} else first = false
let elt
if (allowEmpty && this.type === tt.comma)
elt = null
- else if (this.type === tt.ellipsis)
+ else if (this.type === tt.ellipsis) {
elt = this.parseSpread(refDestructuringErrors)
- else
+ if (this.type === tt.comma && refDestructuringErrors && !refDestructuringErrors.trailingComma) {
+ refDestructuringErrors.trailingComma = this.lastTokStart
+ }
+ } else
elt = this.parseMaybeAssign(false, refDestructuringErrors)
elts.push(elt)
}
diff --git a/tools/eslint/node_modules/acorn/src/index.js b/tools/eslint/node_modules/acorn/src/index.js
index 8786d5d1ea..a585dea5bf 100644
--- a/tools/eslint/node_modules/acorn/src/index.js
+++ b/tools/eslint/node_modules/acorn/src/index.js
@@ -36,7 +36,7 @@ export {isIdentifierChar, isIdentifierStart} from "./identifier"
export {Token} from "./tokenize"
export {isNewLine, lineBreak, lineBreakG} from "./whitespace"
-export const version = "3.0.4"
+export const version = "3.1.0"
// The main exported interface (under `self.acorn` when in the
// browser) is a `parse` function that takes a code string and
diff --git a/tools/eslint/node_modules/acorn/src/loose/expression.js b/tools/eslint/node_modules/acorn/src/loose/expression.js
index e5b5c9ed89..5bff0d1a1a 100644
--- a/tools/eslint/node_modules/acorn/src/loose/expression.js
+++ b/tools/eslint/node_modules/acorn/src/loose/expression.js
@@ -321,6 +321,7 @@ lp.parseTemplate = function() {
curElt = this.startNode()
curElt.value = {cooked: '', raw: ''}
curElt.tail = true
+ this.finishNode(curElt, "TemplateElement")
}
node.quasis.push(curElt)
}
diff --git a/tools/eslint/node_modules/acorn/src/lval.js b/tools/eslint/node_modules/acorn/src/lval.js
index 098a43c5ad..2a390c4777 100644
--- a/tools/eslint/node_modules/acorn/src/lval.js
+++ b/tools/eslint/node_modules/acorn/src/lval.js
@@ -140,6 +140,7 @@ pp.parseBindingList = function(close, allowEmpty, allowTrailingComma, allowNonId
let rest = this.parseRest(allowNonIdent)
this.parseBindingListItem(rest)
elts.push(rest)
+ if (this.type === tt.comma) this.raise(this.start, "Comma is not permitted after the rest element")
this.expect(close)
break
} else {
diff --git a/tools/eslint/node_modules/acorn/src/options.js b/tools/eslint/node_modules/acorn/src/options.js
index 50ebbe0f80..3a1b0df3ad 100644
--- a/tools/eslint/node_modules/acorn/src/options.js
+++ b/tools/eslint/node_modules/acorn/src/options.js
@@ -118,3 +118,4 @@ function pushComment(options, array) {
array.push(comment)
}
}
+
diff --git a/tools/eslint/node_modules/acorn/src/parseutil.js b/tools/eslint/node_modules/acorn/src/parseutil.js
index 9c71c485cd..8efe851538 100644
--- a/tools/eslint/node_modules/acorn/src/parseutil.js
+++ b/tools/eslint/node_modules/acorn/src/parseutil.js
@@ -92,7 +92,7 @@ pp.unexpected = function(pos) {
pp.checkPatternErrors = function(refDestructuringErrors, andThrow) {
let pos = refDestructuringErrors && refDestructuringErrors.trailingComma
if (!andThrow) return !!pos
- if (pos) this.raise(pos, "Trailing comma is not permitted in destructuring patterns")
+ if (pos) this.raise(pos, "Comma is not permitted after the rest element")
}
pp.checkExpressionErrors = function(refDestructuringErrors, andThrow) {
diff --git a/tools/eslint/node_modules/acorn/src/tokencontext.js b/tools/eslint/node_modules/acorn/src/tokencontext.js
index c76fc9de6f..0d144e7c6c 100644
--- a/tools/eslint/node_modules/acorn/src/tokencontext.js
+++ b/tools/eslint/node_modules/acorn/src/tokencontext.js
@@ -94,8 +94,9 @@ tt.incDec.updateContext = function() {
// tokExprAllowed stays unchanged
}
-tt._function.updateContext = function() {
- if (this.curContext() !== types.b_stat)
+tt._function.updateContext = function(prevType) {
+ if (prevType.beforeExpr && prevType !== tt.semi && prevType !== tt._else &&
+ (prevType !== tt.colon || this.curContext() !== types.b_stat))
this.context.push(types.f_expr)
this.exprAllowed = false
}
diff --git a/tools/eslint/node_modules/acorn/src/walk/index.js b/tools/eslint/node_modules/acorn/src/walk/index.js
index 6193509166..2fe58bf772 100644
--- a/tools/eslint/node_modules/acorn/src/walk/index.js
+++ b/tools/eslint/node_modules/acorn/src/walk/index.js
@@ -191,12 +191,13 @@ base.ThrowStatement = base.SpreadElement =
(node, st, c) => c(node.argument, st, "Expression")
base.TryStatement = (node, st, c) => {
c(node.block, st, "Statement")
- if (node.handler) {
- c(node.handler.param, st, "Pattern")
- c(node.handler.body, st, "ScopeBody")
- }
+ if (node.handler) c(node.handler, st)
if (node.finalizer) c(node.finalizer, st, "Statement")
}
+base.CatchClause = (node, st, c) => {
+ c(node.param, st, "Pattern")
+ c(node.body, st, "ScopeBody")
+}
base.WhileStatement = base.DoWhileStatement = (node, st, c) => {
c(node.test, st, "Expression")
c(node.body, st, "Statement")
diff --git a/tools/eslint/node_modules/ansi-escapes/index.js b/tools/eslint/node_modules/ansi-escapes/index.js
index df14c890e4..7f61fc3565 100644
--- a/tools/eslint/node_modules/ansi-escapes/index.js
+++ b/tools/eslint/node_modules/ansi-escapes/index.js
@@ -98,3 +98,9 @@ x.image = function (buf, opts) {
return ret + ':' + buf.toString('base64') + '\u0007';
};
+
+x.iTerm = {};
+
+x.iTerm.setCwd = function (cwd) {
+ return '\u001b]50;CurrentDir=' + (cwd || process.cwd()) + '\u0007';
+};
diff --git a/tools/eslint/node_modules/ansi-escapes/package.json b/tools/eslint/node_modules/ansi-escapes/package.json
index 43e393b862..bc1e21eb89 100644
--- a/tools/eslint/node_modules/ansi-escapes/package.json
+++ b/tools/eslint/node_modules/ansi-escapes/package.json
@@ -2,24 +2,24 @@
"_args": [
[
"ansi-escapes@^1.1.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/inquirer"
+ "/Users/trott/io.js/tools/node_modules/inquirer"
]
],
"_from": "ansi-escapes@>=1.1.0 <2.0.0",
- "_id": "ansi-escapes@1.3.0",
+ "_id": "ansi-escapes@1.4.0",
"_inCache": true,
"_installable": true,
"_location": "/ansi-escapes",
- "_nodeVersion": "4.3.0",
+ "_nodeVersion": "4.4.2",
"_npmOperationalInternal": {
- "host": "packages-12-west.internal.npmjs.com",
- "tmp": "tmp/ansi-escapes-1.3.0.tgz_1457516031370_0.8470738974865526"
+ "host": "packages-16-east.internal.npmjs.com",
+ "tmp": "tmp/ansi-escapes-1.4.0.tgz_1460925437568_0.228597579523921"
},
"_npmUser": {
"email": "sindresorhus@gmail.com",
"name": "sindresorhus"
},
- "_npmVersion": "2.14.12",
+ "_npmVersion": "2.15.0",
"_phantomChildren": {},
"_requested": {
"name": "ansi-escapes",
@@ -32,11 +32,11 @@
"_requiredBy": [
"/inquirer"
],
- "_resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.3.0.tgz",
- "_shasum": "070883c337d5e4ce9e124fce2639267f2a14d554",
+ "_resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz",
+ "_shasum": "d3a8a83b319aa67793662b13e761c7911422306e",
"_shrinkwrap": null,
"_spec": "ansi-escapes@^1.1.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/inquirer",
+ "_where": "/Users/trott/io.js/tools/node_modules/inquirer",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -53,8 +53,8 @@
},
"directories": {},
"dist": {
- "shasum": "070883c337d5e4ce9e124fce2639267f2a14d554",
- "tarball": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.3.0.tgz"
+ "shasum": "d3a8a83b319aa67793662b13e761c7911422306e",
+ "tarball": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz"
},
"engines": {
"node": ">=0.10.0"
@@ -62,36 +62,38 @@
"files": [
"index.js"
],
- "gitHead": "9ecd532e37e888c5ea08cf0cf87e1c4f6e4bd858",
- "homepage": "https://github.com/sindresorhus/ansi-escapes",
+ "gitHead": "763a11847148479dd315c2b9f81b001c94740415",
+ "homepage": "https://github.com/sindresorhus/ansi-escapes#readme",
"keywords": [
"ansi",
- "cli",
- "code",
- "codes",
- "command-line",
+ "terminal",
"console",
- "control",
- "cursor",
+ "cli",
+ "string",
+ "tty",
"escape",
"escapes",
"formatting",
+ "shell",
+ "xterm",
"log",
"logging",
- "sequence",
- "shell",
- "string",
- "terminal",
+ "command-line",
"text",
- "tty",
"vt100",
- "xterm"
+ "sequence",
+ "control",
+ "code",
+ "codes",
+ "cursor",
+ "iterm",
+ "iterm2"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "ansi-escapes",
@@ -104,5 +106,5 @@
"scripts": {
"test": "xo && ava"
},
- "version": "1.3.0"
+ "version": "1.4.0"
}
diff --git a/tools/eslint/node_modules/ansi-escapes/readme.md b/tools/eslint/node_modules/ansi-escapes/readme.md
index c83604a78f..c1254e9ab6 100644
--- a/tools/eslint/node_modules/ansi-escapes/readme.md
+++ b/tools/eslint/node_modules/ansi-escapes/readme.md
@@ -131,6 +131,8 @@ Display an image.
*Currently only supported on iTerm >=2.9.*
+See [term-img](https://github.com/sindresorhus/term-img) for a higher-level module.
+
#### input
Type: `buffer`
@@ -156,6 +158,13 @@ The width and height are given as a number followed by a unit, or the word "auto
Type: `boolean`<br>
Default: `true`
+### iTerm.setCwd([path])
+
+Type: `string`<br>
+Default: `process.cwd()`
+
+[Inform iTerm](https://www.iterm2.com/documentation-escape-codes.html) of the current directory to help semantic history and enable [Cmd-clicking relative paths](https://coderwall.com/p/b7e82q/quickly-open-files-in-iterm-with-cmd-click).
+
## Related
diff --git a/tools/eslint/node_modules/ansi-regex/package.json b/tools/eslint/node_modules/ansi-regex/package.json
index 7e7431230a..81c4facdb7 100644
--- a/tools/eslint/node_modules/ansi-regex/package.json
+++ b/tools/eslint/node_modules/ansi-regex/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"ansi-regex@^2.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/has-ansi"
+ "/Users/trott/io.js/tools/node_modules/has-ansi"
]
],
"_from": "ansi-regex@>=2.0.0 <3.0.0",
@@ -34,7 +34,7 @@
"_shasum": "c5061b6e0ef8a81775e50f5d66151bf6bf371107",
"_shrinkwrap": null,
"_spec": "ansi-regex@^2.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/has-ansi",
+ "_where": "/Users/trott/io.js/tools/node_modules/has-ansi",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -51,7 +51,7 @@
"directories": {},
"dist": {
"shasum": "c5061b6e0ef8a81775e50f5d66151bf6bf371107",
- "tarball": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
+ "tarball": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
},
"engines": {
"node": ">=0.10.0"
@@ -62,41 +62,41 @@
"gitHead": "57c3f2941a73079fa8b081e02a522e3d29913e2f",
"homepage": "https://github.com/sindresorhus/ansi-regex",
"keywords": [
- "256",
"ansi",
- "cli",
+ "styles",
"color",
- "colors",
"colour",
- "command-line",
+ "colors",
+ "terminal",
"console",
+ "cli",
+ "string",
+ "tty",
"escape",
- "find",
"formatting",
- "match",
- "pattern",
- "re",
- "regex",
- "regexp",
"rgb",
+ "256",
"shell",
- "string",
- "styles",
- "terminal",
- "test",
+ "xterm",
+ "command-line",
"text",
- "tty",
- "xterm"
+ "regex",
+ "regexp",
+ "re",
+ "match",
+ "test",
+ "find",
+ "pattern"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
},
{
- "name": "jbnicolai",
- "email": "jappelman@xebia.com"
+ "email": "jappelman@xebia.com",
+ "name": "jbnicolai"
}
],
"name": "ansi-regex",
diff --git a/tools/eslint/node_modules/ansi-styles/package.json b/tools/eslint/node_modules/ansi-styles/package.json
index 8808c97621..6d9a31236b 100644
--- a/tools/eslint/node_modules/ansi-styles/package.json
+++ b/tools/eslint/node_modules/ansi-styles/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"ansi-styles@^2.2.1",
- "/Users/silverwind/git/node/tools/package/package/node_modules/chalk"
+ "/Users/trott/io.js/tools/node_modules/chalk"
]
],
"_from": "ansi-styles@>=2.2.1 <3.0.0",
@@ -36,7 +36,7 @@
"_shasum": "b432dd3358b634cf75e1e4664368240533c1ddbe",
"_shrinkwrap": null,
"_spec": "ansi-styles@^2.2.1",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/chalk",
+ "_where": "/Users/trott/io.js/tools/node_modules/chalk",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -64,32 +64,32 @@
"gitHead": "95c59b23be760108b6530ca1c89477c21b258032",
"homepage": "https://github.com/chalk/ansi-styles#readme",
"keywords": [
- "256",
"ansi",
- "cli",
+ "styles",
"color",
- "colors",
"colour",
- "command-line",
+ "colors",
+ "terminal",
"console",
+ "cli",
+ "string",
+ "tty",
"escape",
"formatting",
- "log",
- "logging",
"rgb",
+ "256",
"shell",
- "string",
- "styles",
- "terminal",
- "text",
- "tty",
- "xterm"
+ "xterm",
+ "log",
+ "logging",
+ "command-line",
+ "text"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "ansi-styles",
diff --git a/tools/eslint/node_modules/argparse/README.md b/tools/eslint/node_modules/argparse/README.md
index 35ba9963bb..2d0bcab435 100644
--- a/tools/eslint/node_modules/argparse/README.md
+++ b/tools/eslint/node_modules/argparse/README.md
@@ -249,3 +249,5 @@ License
Copyright (c) 2012 [Vitaly Puzrin](https://github.com/puzrin).
Released under the MIT license. See
[LICENSE](https://github.com/nodeca/argparse/blob/master/LICENSE) for details.
+
+
diff --git a/tools/eslint/node_modules/argparse/lib/argument/exclusive.js b/tools/eslint/node_modules/argparse/lib/argument/exclusive.js
index deaca28b83..8287e00d04 100644
--- a/tools/eslint/node_modules/argparse/lib/argument/exclusive.js
+++ b/tools/eslint/node_modules/argparse/lib/argument/exclusive.js
@@ -51,3 +51,4 @@ MutuallyExclusiveGroup.prototype._removeAction = function (action) {
this._container._removeAction(action);
this._groupActions.remove(action);
};
+
diff --git a/tools/eslint/node_modules/argparse/lib/argument/group.js b/tools/eslint/node_modules/argparse/lib/argument/group.js
index ad7693869b..58b271f2fe 100644
--- a/tools/eslint/node_modules/argparse/lib/argument/group.js
+++ b/tools/eslint/node_modules/argparse/lib/argument/group.js
@@ -72,3 +72,4 @@ ArgumentGroup.prototype._removeAction = function (action) {
this._groupActions.splice(actionIndex, 1);
}
};
+
diff --git a/tools/eslint/node_modules/argparse/package.json b/tools/eslint/node_modules/argparse/package.json
index 6af8d77e91..33e96d24a7 100644
--- a/tools/eslint/node_modules/argparse/package.json
+++ b/tools/eslint/node_modules/argparse/package.json
@@ -1,11 +1,11 @@
{
"_args": [
[
- "argparse@^1.0.2",
- "/Users/silverwind/git/node/tools/package/package/node_modules/js-yaml"
+ "argparse@^1.0.7",
+ "/Users/trott/io.js/tools/node_modules/js-yaml"
]
],
- "_from": "argparse@>=1.0.2 <2.0.0",
+ "_from": "argparse@>=1.0.7 <2.0.0",
"_id": "argparse@1.0.7",
"_inCache": true,
"_installable": true,
@@ -23,10 +23,10 @@
"_phantomChildren": {},
"_requested": {
"name": "argparse",
- "raw": "argparse@^1.0.2",
- "rawSpec": "^1.0.2",
+ "raw": "argparse@^1.0.7",
+ "rawSpec": "^1.0.7",
"scope": null,
- "spec": ">=1.0.2 <2.0.0",
+ "spec": ">=1.0.7 <2.0.0",
"type": "range"
},
"_requiredBy": [
@@ -35,8 +35,8 @@
"_resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.7.tgz",
"_shasum": "c289506480557810f14a8bc62d7a06f63ed7f951",
"_shrinkwrap": null,
- "_spec": "argparse@^1.0.2",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/js-yaml",
+ "_spec": "argparse@^1.0.7",
+ "_where": "/Users/trott/io.js/tools/node_modules/js-yaml",
"bugs": {
"url": "https://github.com/nodeca/argparse/issues"
},
@@ -70,17 +70,17 @@
"gitHead": "2d243d3062affb01f49f5f00e8ca8464a15e9374",
"homepage": "https://github.com/nodeca/argparse",
"keywords": [
- "argparse",
- "args",
"cli",
+ "parser",
+ "argparse",
"option",
- "parser"
+ "args"
],
"license": "MIT",
"maintainers": [
{
- "name": "vitaly",
- "email": "vitaly@rcdesign.ru"
+ "email": "vitaly@rcdesign.ru",
+ "name": "vitaly"
}
],
"name": "argparse",
diff --git a/tools/eslint/node_modules/array-union/package.json b/tools/eslint/node_modules/array-union/package.json
index 0449084e22..f76c439198 100644
--- a/tools/eslint/node_modules/array-union/package.json
+++ b/tools/eslint/node_modules/array-union/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"array-union@^1.0.1",
- "/Users/silverwind/git/node/tools/package/package/node_modules/globby"
+ "/Users/trott/io.js/tools/node_modules/globby"
]
],
"_from": "array-union@>=1.0.1 <2.0.0",
@@ -32,7 +32,7 @@
"_shasum": "4d410fc8395cb247637124bade9e3f547d5d55f2",
"_shrinkwrap": null,
"_spec": "array-union@^1.0.1",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/globby",
+ "_where": "/Users/trott/io.js/tools/node_modules/globby",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -62,22 +62,22 @@
"gitHead": "d0e72cc6fbff57273032e45050c51ff44c8e137c",
"homepage": "https://github.com/sindresorhus/array-union",
"keywords": [
- "arr",
"array",
- "combine",
+ "arr",
+ "set",
+ "uniq",
+ "unique",
"duplicate",
- "merge",
"remove",
- "set",
"union",
- "uniq",
- "unique"
+ "combine",
+ "merge"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "array-union",
diff --git a/tools/eslint/node_modules/array-uniq/package.json b/tools/eslint/node_modules/array-uniq/package.json
index 5b3b73b2ae..80b68be6d4 100644
--- a/tools/eslint/node_modules/array-uniq/package.json
+++ b/tools/eslint/node_modules/array-uniq/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"array-uniq@^1.0.1",
- "/Users/silverwind/git/node/tools/package/package/node_modules/array-union"
+ "/Users/trott/io.js/tools/node_modules/array-union"
]
],
"_from": "array-uniq@>=1.0.1 <2.0.0",
@@ -32,7 +32,7 @@
"_shasum": "5fcc373920775723cfd64d65c64bef53bf9eba6d",
"_shrinkwrap": null,
"_spec": "array-uniq@^1.0.1",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/array-union",
+ "_where": "/Users/trott/io.js/tools/node_modules/array-union",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -62,20 +62,20 @@
"gitHead": "d5e311f37692dfd25ec216490df10632ce5f69f3",
"homepage": "https://github.com/sindresorhus/array-uniq",
"keywords": [
- "arr",
"array",
- "duplicate",
- "es6",
- "remove",
+ "arr",
"set",
"uniq",
- "unique"
+ "unique",
+ "es6",
+ "duplicate",
+ "remove"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "array-uniq",
diff --git a/tools/eslint/node_modules/arrify/package.json b/tools/eslint/node_modules/arrify/package.json
index ca01ee0a6d..6f90371fbf 100644
--- a/tools/eslint/node_modules/arrify/package.json
+++ b/tools/eslint/node_modules/arrify/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"arrify@^1.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/globby"
+ "/Users/trott/io.js/tools/node_modules/globby"
]
],
"_from": "arrify@>=1.0.0 <2.0.0",
@@ -32,7 +32,7 @@
"_shasum": "898508da2226f380df904728456849c1501a4b0d",
"_shrinkwrap": null,
"_spec": "arrify@^1.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/globby",
+ "_where": "/Users/trott/io.js/tools/node_modules/globby",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -61,18 +61,18 @@
"gitHead": "087edee1a58d5adaac6cae5a107886121ef43783",
"homepage": "https://github.com/sindresorhus/arrify#readme",
"keywords": [
- "arr",
"array",
- "arrayify",
+ "arr",
"arrify",
+ "arrayify",
"convert",
"value"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "arrify",
diff --git a/tools/eslint/node_modules/balanced-match/Makefile b/tools/eslint/node_modules/balanced-match/Makefile
index dd2730cfde..fa5da71a6d 100644
--- a/tools/eslint/node_modules/balanced-match/Makefile
+++ b/tools/eslint/node_modules/balanced-match/Makefile
@@ -3,3 +3,4 @@ test:
@node_modules/.bin/tape test/*.js
.PHONY: test
+
diff --git a/tools/eslint/node_modules/balanced-match/example.js b/tools/eslint/node_modules/balanced-match/example.js
index 9ce76f480a..c02ad348e6 100644
--- a/tools/eslint/node_modules/balanced-match/example.js
+++ b/tools/eslint/node_modules/balanced-match/example.js
@@ -2,3 +2,4 @@ var balanced = require('./');
console.log(balanced('{', '}', 'pre{in{nested}}post'));
console.log(balanced('{', '}', 'pre{first}between{second}post'));
+
diff --git a/tools/eslint/node_modules/balanced-match/package.json b/tools/eslint/node_modules/balanced-match/package.json
index c3d8b342ab..1291ffa1b3 100644
--- a/tools/eslint/node_modules/balanced-match/package.json
+++ b/tools/eslint/node_modules/balanced-match/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"balanced-match@^0.3.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/brace-expansion"
+ "/Users/trott/io.js/tools/node_modules/brace-expansion"
]
],
"_from": "balanced-match@>=0.3.0 <0.4.0",
@@ -32,7 +32,7 @@
"_shasum": "a91cdd1ebef1a86659e70ff4def01625fc2d6756",
"_shrinkwrap": null,
"_spec": "balanced-match@^0.3.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/brace-expansion",
+ "_where": "/Users/trott/io.js/tools/node_modules/brace-expansion",
"author": {
"email": "mail@juliangruber.com",
"name": "Julian Gruber",
@@ -54,18 +54,18 @@
"gitHead": "a7114b0986554787e90b7ac595a043ca75ea77e5",
"homepage": "https://github.com/juliangruber/balanced-match",
"keywords": [
- "balanced",
"match",
- "parse",
"regexp",
- "test"
+ "test",
+ "balanced",
+ "parse"
],
"license": "MIT",
"main": "index.js",
"maintainers": [
{
- "name": "juliangruber",
- "email": "julian@juliangruber.com"
+ "email": "julian@juliangruber.com",
+ "name": "juliangruber"
}
],
"name": "balanced-match",
@@ -80,17 +80,17 @@
},
"testling": {
"browsers": [
- "android-browser/4.2..latest",
- "chrome/25..latest",
- "chrome/canary",
+ "ie/8..latest",
"firefox/20..latest",
"firefox/nightly",
- "ie/8..latest",
- "ipad/6.0..latest",
- "iphone/6.0..latest",
+ "chrome/25..latest",
+ "chrome/canary",
"opera/12..latest",
"opera/next",
- "safari/5.1..latest"
+ "safari/5.1..latest",
+ "ipad/6.0..latest",
+ "iphone/6.0..latest",
+ "android-browser/4.2..latest"
],
"files": "test/*.js"
},
diff --git a/tools/eslint/node_modules/bluebird/README.md b/tools/eslint/node_modules/bluebird/README.md
index 1f5b0ff92e..3772161e7d 100644
--- a/tools/eslint/node_modules/bluebird/README.md
+++ b/tools/eslint/node_modules/bluebird/README.md
@@ -23,7 +23,7 @@ The [github issue tracker](https://github.com/petkaantonov/bluebird/issues) is *
## Thanks
-Thanks to BrowserStack for providing us with a free account which lets us support old browsers like IE8.
+Thanks to BrowserStack for providing us with a free account which lets us support old browsers like IE8.
# License
@@ -48,3 +48,4 @@ 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/tools/eslint/node_modules/bluebird/js/browser/bluebird.core.js b/tools/eslint/node_modules/bluebird/js/browser/bluebird.core.js
index b23cc0209c..9f7ff2edc5 100644
--- a/tools/eslint/node_modules/bluebird/js/browser/bluebird.core.js
+++ b/tools/eslint/node_modules/bluebird/js/browser/bluebird.core.js
@@ -1,18 +1,18 @@
/* @preserve
* The MIT License (MIT)
- *
+ *
* Copyright (c) 2013-2015 Petka Antonov
- *
+ *
* 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
@@ -20,10 +20,10 @@
* 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.
- *
+ *
*/
/**
- * bluebird build version 3.3.4
+ * bluebird build version 3.3.5
* Features enabled: core
* Features disabled: race, call_get, generators, map, nodeify, promisify, props, reduce, settle, some, using, timers, filter, any, each
*/
@@ -36,6 +36,7 @@ var Queue = _dereq_("./queue");
var util = _dereq_("./util");
function Async() {
+ this._customScheduler = false;
this._isTickUsed = false;
this._lateQueue = new Queue(16);
this._normalQueue = new Queue(16);
@@ -48,6 +49,17 @@ function Async() {
this._schedule = schedule;
}
+Async.prototype.setScheduler = function(fn) {
+ var prev = this._schedule;
+ this._schedule = fn;
+ this._customScheduler = true;
+ return prev;
+};
+
+Async.prototype.hasCustomScheduler = function() {
+ return this._customScheduler;
+};
+
Async.prototype.enableTrampoline = function() {
this._trampolineEnabled = true;
};
@@ -901,8 +913,7 @@ function checkForgottenReturns(returnValue, promiseCreated, name, promise,
if (returnValue === undefined && promiseCreated !== null &&
wForgottenReturn) {
if (parent !== undefined && parent._returnedNonUndefined()) return;
- var bitField = promise._bitField;
- if ((bitField & 65535) === 0) return;
+ if ((promise._bitField & 65535) === 0) return;
if (name) name = name + " ";
var msg = "a promise was created in a " + name +
@@ -2199,9 +2210,7 @@ Promise.setScheduler = function(fn) {
if (typeof fn !== "function") {
throw new TypeError("expecting a function but got " + util.classString(fn));
}
- var prev = async._schedule;
- async._schedule = fn;
- return prev;
+ return async.setScheduler(fn);
};
Promise.prototype._then = function (
@@ -2310,6 +2319,7 @@ Promise.prototype._setCancelled = function() {
};
Promise.prototype._setAsyncGuaranteed = function() {
+ if (async.hasCustomScheduler()) return;
this._bitField = this._bitField | 134217728;
};
@@ -2714,28 +2724,28 @@ _dereq_("./synchronous_inspection")(Promise);
_dereq_("./join")(
Promise, PromiseArray, tryConvertToPromise, INTERNAL, debug);
Promise.Promise = Promise;
-
- util.toFastProperties(Promise);
- util.toFastProperties(Promise.prototype);
- function fillTypes(value) {
- var p = new Promise(INTERNAL);
- p._fulfillmentHandler0 = value;
- p._rejectionHandler0 = value;
- p._promise0 = value;
- p._receiver0 = value;
- }
- // Complete slack tracking, opt out of field-type tracking and
- // stabilize map
- fillTypes({a: 1});
- fillTypes({b: 2});
- fillTypes({c: 3});
- fillTypes(1);
- fillTypes(function(){});
- fillTypes(undefined);
- fillTypes(false);
- fillTypes(new Promise(INTERNAL));
- debug.setBounds(Async.firstLineError, util.lastLineError);
- return Promise;
+
+ util.toFastProperties(Promise);
+ util.toFastProperties(Promise.prototype);
+ function fillTypes(value) {
+ var p = new Promise(INTERNAL);
+ p._fulfillmentHandler0 = value;
+ p._rejectionHandler0 = value;
+ p._promise0 = value;
+ p._receiver0 = value;
+ }
+ // Complete slack tracking, opt out of field-type tracking and
+ // stabilize map
+ fillTypes({a: 1});
+ fillTypes({b: 2});
+ fillTypes({c: 3});
+ fillTypes(1);
+ fillTypes(function(){});
+ fillTypes(undefined);
+ fillTypes(false);
+ fillTypes(new Promise(INTERNAL));
+ debug.setBounds(Async.firstLineError, util.lastLineError);
+ return Promise;
};
@@ -3024,12 +3034,18 @@ var schedule;
var noAsyncScheduler = function() {
throw new Error("No async scheduler available\u000a\u000a See http://goo.gl/MqrFmX\u000a");
};
+var NativePromise = util.getNativePromise();
if (util.isNode && typeof MutationObserver === "undefined") {
var GlobalSetImmediate = global.setImmediate;
var ProcessNextTick = process.nextTick;
schedule = util.isRecentNode
? function(fn) { GlobalSetImmediate.call(global, fn); }
: function(fn) { ProcessNextTick.call(process, fn); };
+} else if (typeof NativePromise === "function") {
+ var nativePromise = NativePromise.resolve();
+ schedule = function(fn) {
+ nativePromise.then(fn);
+ };
} else if ((typeof MutationObserver !== "undefined") &&
!(typeof window !== "undefined" &&
window.navigator &&
@@ -3041,23 +3057,23 @@ if (util.isNode && typeof MutationObserver === "undefined") {
var div2 = document.createElement("div");
var o2 = new MutationObserver(function() {
div.classList.toggle("foo");
- toggleScheduled = false;
+ toggleScheduled = false;
});
o2.observe(div2, opts);
var scheduleToggle = function() {
if (toggleScheduled) return;
- toggleScheduled = true;
- div2.classList.toggle("foo");
- };
+ toggleScheduled = true;
+ div2.classList.toggle("foo");
+ };
- return function schedule(fn) {
- var o = new MutationObserver(function() {
- o.disconnect();
- fn();
- });
- o.observe(div, opts);
- scheduleToggle();
+ return function schedule(fn) {
+ var o = new MutationObserver(function() {
+ o.disconnect();
+ fn();
+ });
+ o.observe(div, opts);
+ scheduleToggle();
};
})();
} else if (typeof setImmediate !== "undefined") {
@@ -3572,6 +3588,17 @@ function env(key, def) {
return isNode ? process.env[key] : def;
}
+function getNativePromise() {
+ if (typeof Promise === "function") {
+ try {
+ var promise = new Promise(function(){});
+ if ({}.toString.call(promise) === "[object Promise]") {
+ return Promise;
+ }
+ } catch (e) {}
+ }
+}
+
var ret = {
isClass: isClass,
isIdentifier: isIdentifier,
@@ -3603,7 +3630,8 @@ var ret = {
typeof chrome.loadTimes === "function",
isNode: isNode,
env: env,
- global: globalObject
+ global: globalObject,
+ getNativePromise: getNativePromise
};
ret.isRecentNode = ret.isNode && (function() {
var version = process.versions.node.split(".").map(Number);
diff --git a/tools/eslint/node_modules/bluebird/js/browser/bluebird.core.min.js b/tools/eslint/node_modules/bluebird/js/browser/bluebird.core.min.js
index fed9896c2b..f3d1bb05b5 100644
--- a/tools/eslint/node_modules/bluebird/js/browser/bluebird.core.min.js
+++ b/tools/eslint/node_modules/bluebird/js/browser/bluebird.core.min.js
@@ -1,18 +1,18 @@
/* @preserve
* The MIT License (MIT)
- *
+ *
* Copyright (c) 2013-2015 Petka Antonov
- *
+ *
* 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
@@ -20,12 +20,12 @@
* 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.
- *
+ *
*/
/**
- * bluebird build version 3.3.4
+ * bluebird build version 3.3.5
* Features enabled: core
* Features disabled: race, call_get, generators, map, nodeify, promisify, props, reduce, settle, some, using, timers, filter, any, each
*/
-!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.Promise=t()}}(function(){var t,e,n;return function r(t,e,n){function i(a,s){if(!e[a]){if(!t[a]){var c="function"==typeof _dereq_&&_dereq_;if(!s&&c)return c(a,!0);if(o)return o(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var u=e[a]={exports:{}};t[a][0].call(u.exports,function(e){var n=t[a][1][e];return i(n?n:e)},u,u.exports,r,t,e,n)}return e[a].exports}for(var o="function"==typeof _dereq_&&_dereq_,a=0;a<n.length;a++)i(n[a]);return i}({1:[function(t,e,n){"use strict";function r(){this._isTickUsed=!1,this._lateQueue=new u(16),this._normalQueue=new u(16),this._haveDrainedQueues=!1,this._trampolineEnabled=!0;var t=this;this.drainQueues=function(){t._drainQueues()},this._schedule=l}function i(t,e,n){this._lateQueue.push(t,e,n),this._queueTick()}function o(t,e,n){this._normalQueue.push(t,e,n),this._queueTick()}function a(t){this._normalQueue._pushOne(t),this._queueTick()}var s;try{throw new Error}catch(c){s=c}var l=t("./schedule"),u=t("./queue"),p=t("./util");r.prototype.enableTrampoline=function(){this._trampolineEnabled=!0},r.prototype.disableTrampolineIfNecessary=function(){p.hasDevTools&&(this._trampolineEnabled=!1)},r.prototype.haveItemsQueued=function(){return this._isTickUsed||this._haveDrainedQueues},r.prototype.fatalError=function(t,e){e?(process.stderr.write("Fatal "+(t instanceof Error?t.stack:t)+"\n"),process.exit(2)):this.throwLater(t)},r.prototype.throwLater=function(t,e){if(1===arguments.length&&(e=t,t=function(){throw e}),"undefined"!=typeof setTimeout)setTimeout(function(){t(e)},0);else try{this._schedule(function(){t(e)})}catch(n){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")}},p.hasDevTools?(r.prototype.invokeLater=function(t,e,n){this._trampolineEnabled?i.call(this,t,e,n):this._schedule(function(){setTimeout(function(){t.call(e,n)},100)})},r.prototype.invoke=function(t,e,n){this._trampolineEnabled?o.call(this,t,e,n):this._schedule(function(){t.call(e,n)})},r.prototype.settlePromises=function(t){this._trampolineEnabled?a.call(this,t):this._schedule(function(){t._settlePromises()})}):(r.prototype.invokeLater=i,r.prototype.invoke=o,r.prototype.settlePromises=a),r.prototype.invokeFirst=function(t,e,n){this._normalQueue.unshift(t,e,n),this._queueTick()},r.prototype._drainQueue=function(t){for(;t.length()>0;){var e=t.shift();if("function"==typeof e){var n=t.shift(),r=t.shift();e.call(n,r)}else e._settlePromises()}},r.prototype._drainQueues=function(){this._drainQueue(this._normalQueue),this._reset(),this._haveDrainedQueues=!0,this._drainQueue(this._lateQueue)},r.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},r.prototype._reset=function(){this._isTickUsed=!1},e.exports=r,e.exports.firstLineError=s},{"./queue":17,"./schedule":18,"./util":21}],2:[function(t,e,n){"use strict";e.exports=function(t,e,n,r){var i=!1,o=function(t,e){this._reject(e)},a=function(t,e){e.promiseRejectionQueued=!0,e.bindingPromise._then(o,o,null,this,t)},s=function(t,e){0===(50397184&this._bitField)&&this._resolveCallback(e.target)},c=function(t,e){e.promiseRejectionQueued||this._reject(t)};t.prototype.bind=function(o){i||(i=!0,t.prototype._propagateFrom=r.propagateFromFunction(),t.prototype._boundValue=r.boundValueFunction());var l=n(o),u=new t(e);u._propagateFrom(this,1);var p=this._target();if(u._setBoundTo(l),l instanceof t){var f={promiseRejectionQueued:!1,promise:u,target:p,bindingPromise:l};p._then(e,a,void 0,u,f),l._then(s,c,void 0,u,f),u._setOnCancel(l)}else u._resolveCallback(p);return u},t.prototype._setBoundTo=function(t){void 0!==t?(this._bitField=2097152|this._bitField,this._boundTo=t):this._bitField=-2097153&this._bitField},t.prototype._isBound=function(){return 2097152===(2097152&this._bitField)},t.bind=function(e,n){return t.resolve(n).bind(e)}}},{}],3:[function(t,e,n){"use strict";function r(){try{Promise===o&&(Promise=i)}catch(t){}return o}var i;"undefined"!=typeof Promise&&(i=Promise);var o=t("./promise")();o.noConflict=r,e.exports=o},{"./promise":15}],4:[function(t,e,n){"use strict";e.exports=function(e,n,r,i){var o=t("./util"),a=o.tryCatch,s=o.errorObj,c=e._async;e.prototype["break"]=e.prototype.cancel=function(){if(!i.cancellation())return this._warn("cancellation is disabled");for(var t=this,e=t;t.isCancellable();){if(!t._cancelBy(e)){e._isFollowing()?e._followee().cancel():e._cancelBranched();break}var n=t._cancellationParent;if(null==n||!n.isCancellable()){t._isFollowing()?t._followee().cancel():t._cancelBranched();break}t._isFollowing()&&t._followee().cancel(),e=t,t=n}},e.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--},e.prototype._enoughBranchesHaveCancelled=function(){return void 0===this._branchesRemainingToCancel||this._branchesRemainingToCancel<=0},e.prototype._cancelBy=function(t){return t===this?(this._branchesRemainingToCancel=0,this._invokeOnCancel(),!0):(this._branchHasCancelled(),this._enoughBranchesHaveCancelled()?(this._invokeOnCancel(),!0):!1)},e.prototype._cancelBranched=function(){this._enoughBranchesHaveCancelled()&&this._cancel()},e.prototype._cancel=function(){this.isCancellable()&&(this._setCancelled(),c.invoke(this._cancelPromises,this,void 0))},e.prototype._cancelPromises=function(){this._length()>0&&this._settlePromises()},e.prototype._unsetOnCancel=function(){this._onCancelField=void 0},e.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()},e.prototype._doInvokeOnCancel=function(t,e){if(o.isArray(t))for(var n=0;n<t.length;++n)this._doInvokeOnCancel(t[n],e);else if(void 0!==t)if("function"==typeof t){if(!e){var r=a(t).call(this._boundValue());r===s&&(this._attachExtraTrace(r.e),c.throwLater(r.e))}}else t._resultCancelled(this)},e.prototype._invokeOnCancel=function(){var t=this._onCancel();this._unsetOnCancel(),c.invoke(this._doInvokeOnCancel,this,t)},e.prototype._invokeInternalOnCancel=function(){this.isCancellable()&&(this._doInvokeOnCancel(this._onCancel(),!0),this._unsetOnCancel())},e.prototype._resultCancelled=function(){this.cancel()}}},{"./util":21}],5:[function(t,e,n){"use strict";e.exports=function(e){function n(t,n,s){return function(c){var l=s._boundValue();t:for(var u=0;u<t.length;++u){var p=t[u];if(p===Error||null!=p&&p.prototype instanceof Error){if(c instanceof p)return o(n).call(l,c)}else if("function"==typeof p){var f=o(p).call(l,c);if(f===a)return f;if(f)return o(n).call(l,c)}else if(r.isObject(c)){for(var h=i(p),_=0;_<h.length;++_){var d=h[_];if(p[d]!=c[d])continue t}return o(n).call(l,c)}}return e}}var r=t("./util"),i=t("./es5").keys,o=r.tryCatch,a=r.errorObj;return n}},{"./es5":10,"./util":21}],6:[function(t,e,n){"use strict";e.exports=function(t){function e(){this._trace=new e.CapturedTrace(r())}function n(){return i?new e:void 0}function r(){var t=o.length-1;return t>=0?o[t]:void 0}var i=!1,o=[];return t.prototype._promiseCreated=function(){},t.prototype._pushContext=function(){},t.prototype._popContext=function(){return null},t._peekContext=t.prototype._peekContext=function(){},e.prototype._pushContext=function(){void 0!==this._trace&&(this._trace._promiseCreated=null,o.push(this._trace))},e.prototype._popContext=function(){if(void 0!==this._trace){var t=o.pop(),e=t._promiseCreated;return t._promiseCreated=null,e}return null},e.CapturedTrace=null,e.create=n,e.deactivateLongStackTraces=function(){},e.activateLongStackTraces=function(){var n=t.prototype._pushContext,o=t.prototype._popContext,a=t._peekContext,s=t.prototype._peekContext,c=t.prototype._promiseCreated;e.deactivateLongStackTraces=function(){t.prototype._pushContext=n,t.prototype._popContext=o,t._peekContext=a,t.prototype._peekContext=s,t.prototype._promiseCreated=c,i=!1},i=!0,t.prototype._pushContext=e.prototype._pushContext,t.prototype._popContext=e.prototype._popContext,t._peekContext=t.prototype._peekContext=r,t.prototype._promiseCreated=function(){var t=this._peekContext();t&&null==t._promiseCreated&&(t._promiseCreated=this)}},e}},{}],7:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,e){return{promise:e}}function i(){return!1}function o(t,e,n){var r=this;try{t(e,n,function(t){if("function"!=typeof t)throw new TypeError("onCancel must be a function, got: "+H.toString(t));r._attachCancellationCallback(t)})}catch(i){return i}}function a(t){if(!this.isCancellable())return this;var e=this._onCancel();void 0!==e?H.isArray(e)?e.push(t):this._setOnCancel([e,t]):this._setOnCancel(t)}function s(){return this._onCancelField}function c(t){this._onCancelField=t}function l(){this._cancellationParent=void 0,this._onCancelField=void 0}function u(t,e){if(0!==(1&e)){this._cancellationParent=t;var n=t._branchesRemainingToCancel;void 0===n&&(n=0),t._branchesRemainingToCancel=n+1}0!==(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function p(t,e){0!==(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function f(){var t=this._boundTo;return void 0!==t&&t instanceof e?t.isFulfilled()?t.value():void 0:t}function h(){this._trace=new P(this._peekContext())}function _(t,e){if(B(t)){var n=this._trace;if(void 0!==n&&e&&(n=n._parent),void 0!==n)n.attachExtraTrace(t);else if(!t.__stackCleaned__){var r=w(t);H.notEnumerableProp(t,"stack",r.message+"\n"+r.stack.join("\n")),H.notEnumerableProp(t,"__stackCleaned__",!0)}}}function d(t,e,n,r,i){if(void 0===t&&null!==e&&$){if(void 0!==i&&i._returnedNonUndefined())return;var o=r._bitField;if(0===(65535&o))return;n&&(n+=" ");var a="a promise was created in a "+n+"handler but was not returned from it";r._warn(a,!0,e)}}function v(t,e){var n=t+" is deprecated and will be removed in a future version.";return e&&(n+=" Use "+e+" instead."),y(n)}function y(t,n,r){if(rt.warnings){var i,o=new U(t);if(n)r._attachExtraTrace(o);else if(rt.longStackTraces&&(i=e._peekContext()))i.attachExtraTrace(o);else{var a=w(o);o.stack=a.message+"\n"+a.stack.join("\n")}Y("warning",o)||E(o,"",!0)}}function g(t,e){for(var n=0;n<e.length-1;++n)e[n].push("From previous event:"),e[n]=e[n].join("\n");return n<e.length&&(e[n]=e[n].join("\n")),t+"\n"+e.join("\n")}function m(t){for(var e=0;e<t.length;++e)(0===t[e].length||e+1<t.length&&t[e][0]===t[e+1][0])&&(t.splice(e,1),e--)}function b(t){for(var e=t[0],n=1;n<t.length;++n){for(var r=t[n],i=e.length-1,o=e[i],a=-1,s=r.length-1;s>=0;--s)if(r[s]===o){a=s;break}for(var s=a;s>=0;--s){var c=r[s];if(e[i]!==c)break;e.pop(),i--}e=r}}function C(t){for(var e=[],n=0;n<t.length;++n){var r=t[n],i=" (No stack trace)"===r||V.test(r),o=i&&tt(r);i&&!o&&(q&&" "!==r.charAt(0)&&(r=" "+r),e.push(r))}return e}function k(t){for(var e=t.stack.replace(/\s+$/g,"").split("\n"),n=0;n<e.length;++n){var r=e[n];if(" (No stack trace)"===r||V.test(r))break}return n>0&&(e=e.slice(n)),e}function w(t){var e=t.stack,n=t.toString();return e="string"==typeof e&&e.length>0?k(t):[" (No stack trace)"],{message:n,stack:C(e)}}function E(t,e,n){if("undefined"!=typeof console){var r;if(H.isObject(t)){var i=t.stack;r=e+Q(i,t)}else r=e+String(t);"function"==typeof L?L(r,n):("function"==typeof console.log||"object"==typeof console.log)&&console.log(r)}}function j(t,e,n,r){var i=!1;try{"function"==typeof e&&(i=!0,"rejectionHandled"===t?e(r):e(n,r))}catch(o){I.throwLater(o)}"unhandledRejection"===t?Y(t,n,r)||i||E(n,"Unhandled rejection "):Y(t,r)}function F(t){var e;if("function"==typeof t)e="[function "+(t.name||"anonymous")+"]";else{e=t&&"function"==typeof t.toString?t.toString():H.toString(t);var n=/\[object [a-zA-Z0-9$_]+\]/;if(n.test(e))try{var r=JSON.stringify(t);e=r}catch(i){}0===e.length&&(e="(empty array)")}return"(<"+T(e)+">, no stack trace)"}function T(t){var e=41;return t.length<e?t:t.substr(0,e-3)+"..."}function O(){return"function"==typeof nt}function R(t){var e=t.match(et);return e?{fileName:e[1],line:parseInt(e[2],10)}:void 0}function x(t,e){if(O()){for(var n,r,i=t.stack.split("\n"),o=e.stack.split("\n"),a=-1,s=-1,c=0;c<i.length;++c){var l=R(i[c]);if(l){n=l.fileName,a=l.line;break}}for(var c=0;c<o.length;++c){var l=R(o[c]);if(l){r=l.fileName,s=l.line;break}}0>a||0>s||!n||!r||n!==r||a>=s||(tt=function(t){if(D.test(t))return!0;var e=R(t);return e&&e.fileName===n&&a<=e.line&&e.line<=s?!0:!1})}}function P(t){this._parent=t,this._promisesCreated=0;var e=this._length=1+(void 0===t?0:t._length);nt(this,P),e>32&&this.uncycle()}var S,A,L,N=e._getDomain,I=e._async,U=t("./errors").Warning,H=t("./util"),B=H.canAttachTrace,D=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/,V=null,Q=null,q=!1,G=!(0==H.env("BLUEBIRD_DEBUG")||!H.env("BLUEBIRD_DEBUG")&&"development"!==H.env("NODE_ENV")),M=!(0==H.env("BLUEBIRD_WARNINGS")||!G&&!H.env("BLUEBIRD_WARNINGS")),W=!(0==H.env("BLUEBIRD_LONG_STACK_TRACES")||!G&&!H.env("BLUEBIRD_LONG_STACK_TRACES")),$=0!=H.env("BLUEBIRD_W_FORGOTTEN_RETURN")&&(M||!!H.env("BLUEBIRD_W_FORGOTTEN_RETURN"));e.prototype.suppressUnhandledRejections=function(){var t=this._target();t._bitField=-1048577&t._bitField|524288},e.prototype._ensurePossibleRejectionHandled=function(){0===(524288&this._bitField)&&(this._setRejectionIsUnhandled(),I.invokeLater(this._notifyUnhandledRejection,this,void 0))},e.prototype._notifyUnhandledRejectionIsHandled=function(){j("rejectionHandled",S,void 0,this)},e.prototype._setReturnedNonUndefined=function(){this._bitField=268435456|this._bitField},e.prototype._returnedNonUndefined=function(){return 0!==(268435456&this._bitField)},e.prototype._notifyUnhandledRejection=function(){if(this._isRejectionUnhandled()){var t=this._settledValue();this._setUnhandledRejectionIsNotified(),j("unhandledRejection",A,t,this)}},e.prototype._setUnhandledRejectionIsNotified=function(){this._bitField=262144|this._bitField},e.prototype._unsetUnhandledRejectionIsNotified=function(){this._bitField=-262145&this._bitField},e.prototype._isUnhandledRejectionNotified=function(){return(262144&this._bitField)>0},e.prototype._setRejectionIsUnhandled=function(){this._bitField=1048576|this._bitField},e.prototype._unsetRejectionIsUnhandled=function(){this._bitField=-1048577&this._bitField,this._isUnhandledRejectionNotified()&&(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},e.prototype._isRejectionUnhandled=function(){return(1048576&this._bitField)>0},e.prototype._warn=function(t,e,n){return y(t,e,n||this)},e.onPossiblyUnhandledRejection=function(t){var e=N();A="function"==typeof t?null===e?t:e.bind(t):void 0},e.onUnhandledRejectionHandled=function(t){var e=N();S="function"==typeof t?null===e?t:e.bind(t):void 0};var z=function(){};e.longStackTraces=function(){if(I.haveItemsQueued()&&!rt.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");if(!rt.longStackTraces&&O()){var t=e.prototype._captureStackTrace,r=e.prototype._attachExtraTrace;rt.longStackTraces=!0,z=function(){if(I.haveItemsQueued()&&!rt.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");e.prototype._captureStackTrace=t,e.prototype._attachExtraTrace=r,n.deactivateLongStackTraces(),I.enableTrampoline(),rt.longStackTraces=!1},e.prototype._captureStackTrace=h,e.prototype._attachExtraTrace=_,n.activateLongStackTraces(),I.disableTrampolineIfNecessary()}},e.hasLongStackTraces=function(){return rt.longStackTraces&&O()};var X=function(){try{var t=document.createEvent("CustomEvent");return t.initCustomEvent("testingtheevent",!1,!0,{}),H.global.dispatchEvent(t),function(t,e){var n=document.createEvent("CustomEvent");return n.initCustomEvent(t.toLowerCase(),!1,!0,e),!H.global.dispatchEvent(n)}}catch(e){}return function(){return!1}}(),K=function(){return H.isNode?function(){return process.emit.apply(process,arguments)}:H.global?function(t){var e="on"+t.toLowerCase(),n=H.global[e];return n?(n.apply(H.global,[].slice.call(arguments,1)),!0):!1}:function(){return!1}}(),J={promiseCreated:r,promiseFulfilled:r,promiseRejected:r,promiseResolved:r,promiseCancelled:r,promiseChained:function(t,e,n){return{promise:e,child:n}},warning:function(t,e){return{warning:e}},unhandledRejection:function(t,e,n){return{reason:e,promise:n}},rejectionHandled:r},Y=function(t){var e=!1;try{e=K.apply(null,arguments)}catch(n){I.throwLater(n),e=!0}var r=!1;try{r=X(t,J[t].apply(null,arguments))}catch(n){I.throwLater(n),r=!0}return r||e};e.config=function(t){if(t=Object(t),"longStackTraces"in t&&(t.longStackTraces?e.longStackTraces():!t.longStackTraces&&e.hasLongStackTraces()&&z()),"warnings"in t){var n=t.warnings;rt.warnings=!!n,$=rt.warnings,H.isObject(n)&&"wForgottenReturn"in n&&($=!!n.wForgottenReturn)}if("cancellation"in t&&t.cancellation&&!rt.cancellation){if(I.haveItemsQueued())throw new Error("cannot enable cancellation after promises are in use");e.prototype._clearCancellationData=l,e.prototype._propagateFrom=u,e.prototype._onCancel=s,e.prototype._setOnCancel=c,e.prototype._attachCancellationCallback=a,e.prototype._execute=o,Z=u,rt.cancellation=!0}"monitoring"in t&&(t.monitoring&&!rt.monitoring?(rt.monitoring=!0,e.prototype._fireEvent=Y):!t.monitoring&&rt.monitoring&&(rt.monitoring=!1,e.prototype._fireEvent=i))},e.prototype._fireEvent=i,e.prototype._execute=function(t,e,n){try{t(e,n)}catch(r){return r}},e.prototype._onCancel=function(){},e.prototype._setOnCancel=function(t){},e.prototype._attachCancellationCallback=function(t){},e.prototype._captureStackTrace=function(){},e.prototype._attachExtraTrace=function(){},e.prototype._clearCancellationData=function(){},e.prototype._propagateFrom=function(t,e){};var Z=p,tt=function(){return!1},et=/[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/;H.inherits(P,Error),n.CapturedTrace=P,P.prototype.uncycle=function(){var t=this._length;if(!(2>t)){for(var e=[],n={},r=0,i=this;void 0!==i;++r)e.push(i),i=i._parent;t=this._length=r;for(var r=t-1;r>=0;--r){var o=e[r].stack;void 0===n[o]&&(n[o]=r)}for(var r=0;t>r;++r){var a=e[r].stack,s=n[a];if(void 0!==s&&s!==r){s>0&&(e[s-1]._parent=void 0,e[s-1]._length=1),e[r]._parent=void 0,e[r]._length=1;var c=r>0?e[r-1]:this;t-1>s?(c._parent=e[s+1],c._parent.uncycle(),c._length=c._parent._length+1):(c._parent=void 0,c._length=1);for(var l=c._length+1,u=r-2;u>=0;--u)e[u]._length=l,l++;return}}}},P.prototype.attachExtraTrace=function(t){if(!t.__stackCleaned__){this.uncycle();for(var e=w(t),n=e.message,r=[e.stack],i=this;void 0!==i;)r.push(C(i.stack.split("\n"))),i=i._parent;b(r),m(r),H.notEnumerableProp(t,"stack",g(n,r)),H.notEnumerableProp(t,"__stackCleaned__",!0)}};var nt=function(){var t=/^\s*at\s*/,e=function(t,e){return"string"==typeof t?t:void 0!==e.name&&void 0!==e.message?e.toString():F(e)};if("number"==typeof Error.stackTraceLimit&&"function"==typeof Error.captureStackTrace){Error.stackTraceLimit+=6,V=t,Q=e;var n=Error.captureStackTrace;return tt=function(t){return D.test(t)},function(t,e){Error.stackTraceLimit+=6,n(t,e),Error.stackTraceLimit-=6}}var r=new Error;if("string"==typeof r.stack&&r.stack.split("\n")[0].indexOf("stackDetection@")>=0)return V=/@/,Q=e,q=!0,function(t){t.stack=(new Error).stack};var i;try{throw new Error}catch(o){i="stack"in o}return"stack"in r||!i||"number"!=typeof Error.stackTraceLimit?(Q=function(t,e){return"string"==typeof t?t:"object"!=typeof e&&"function"!=typeof e||void 0===e.name||void 0===e.message?F(e):e.toString()},null):(V=t,Q=e,function(t){Error.stackTraceLimit+=6;try{throw new Error}catch(e){t.stack=e.stack}Error.stackTraceLimit-=6})}([]);"undefined"!=typeof console&&"undefined"!=typeof console.warn&&(L=function(t){console.warn(t)},H.isNode&&process.stderr.isTTY?L=function(t,e){var n=e?"":"";console.warn(n+t+"\n")}:H.isNode||"string"!=typeof(new Error).stack||(L=function(t,e){console.warn("%c"+t,e?"color: darkorange":"color: red")}));var rt={warnings:M,longStackTraces:!1,cancellation:!1,monitoring:!1};return W&&e.longStackTraces(),{longStackTraces:function(){return rt.longStackTraces},warnings:function(){return rt.warnings},cancellation:function(){return rt.cancellation},monitoring:function(){return rt.monitoring},propagateFromFunction:function(){return Z},boundValueFunction:function(){return f},checkForgottenReturns:d,setBounds:x,warn:y,deprecated:v,CapturedTrace:P,fireDomEvent:X,fireGlobalEvent:K}}},{"./errors":9,"./util":21}],8:[function(t,e,n){"use strict";e.exports=function(t){function e(){return this.value}function n(){throw this.reason}t.prototype["return"]=t.prototype.thenReturn=function(n){return n instanceof t&&n.suppressUnhandledRejections(),this._then(e,void 0,void 0,{value:n},void 0)},t.prototype["throw"]=t.prototype.thenThrow=function(t){return this._then(n,void 0,void 0,{reason:t},void 0)},t.prototype.catchThrow=function(t){if(arguments.length<=1)return this._then(void 0,n,void 0,{reason:t},void 0);var e=arguments[1],r=function(){throw e};return this.caught(t,r)},t.prototype.catchReturn=function(n){if(arguments.length<=1)return n instanceof t&&n.suppressUnhandledRejections(),this._then(void 0,e,void 0,{value:n},void 0);var r=arguments[1];r instanceof t&&r.suppressUnhandledRejections();var i=function(){return r};return this.caught(n,i)}}},{}],9:[function(t,e,n){"use strict";function r(t,e){function n(r){return this instanceof n?(p(this,"message","string"==typeof r?r:e),p(this,"name",t),void(Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):Error.call(this))):new n(r)}return u(n,Error),n}function i(t){return this instanceof i?(p(this,"name","OperationalError"),p(this,"message",t),this.cause=t,this.isOperational=!0,void(t instanceof Error?(p(this,"message",t.message),p(this,"stack",t.stack)):Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor))):new i(t)}var o,a,s=t("./es5"),c=s.freeze,l=t("./util"),u=l.inherits,p=l.notEnumerableProp,f=r("Warning","warning"),h=r("CancellationError","cancellation error"),_=r("TimeoutError","timeout error"),d=r("AggregateError","aggregate error");try{o=TypeError,a=RangeError}catch(v){o=r("TypeError","type error"),a=r("RangeError","range error")}for(var y="join pop push shift unshift slice filter forEach some every map indexOf lastIndexOf reduce reduceRight sort reverse".split(" "),g=0;g<y.length;++g)"function"==typeof Array.prototype[y[g]]&&(d.prototype[y[g]]=Array.prototype[y[g]]);s.defineProperty(d.prototype,"length",{value:0,configurable:!1,writable:!0,enumerable:!0}),d.prototype.isOperational=!0;var m=0;d.prototype.toString=function(){var t=Array(4*m+1).join(" "),e="\n"+t+"AggregateError of:\n";m++,t=Array(4*m+1).join(" ");for(var n=0;n<this.length;++n){for(var r=this[n]===this?"[Circular AggregateError]":this[n]+"",i=r.split("\n"),o=0;o<i.length;++o)i[o]=t+i[o];r=i.join("\n"),e+=r+"\n"}return m--,e},u(i,Error);var b=Error.__BluebirdErrorTypes__;b||(b=c({CancellationError:h,TimeoutError:_,OperationalError:i,RejectionError:i,AggregateError:d}),s.defineProperty(Error,"__BluebirdErrorTypes__",{value:b,writable:!1,enumerable:!1,configurable:!1})),e.exports={Error:Error,TypeError:o,RangeError:a,CancellationError:b.CancellationError,OperationalError:b.OperationalError,TimeoutError:b.TimeoutError,AggregateError:b.AggregateError,Warning:f}},{"./es5":10,"./util":21}],10:[function(t,e,n){var r=function(){"use strict";return void 0===this}();if(r)e.exports={freeze:Object.freeze,defineProperty:Object.defineProperty,getDescriptor:Object.getOwnPropertyDescriptor,keys:Object.keys,names:Object.getOwnPropertyNames,getPrototypeOf:Object.getPrototypeOf,isArray:Array.isArray,isES5:r,propertyIsWritable:function(t,e){var n=Object.getOwnPropertyDescriptor(t,e);return!(n&&!n.writable&&!n.set)}};else{var i={}.hasOwnProperty,o={}.toString,a={}.constructor.prototype,s=function(t){var e=[];for(var n in t)i.call(t,n)&&e.push(n);return e},c=function(t,e){return{value:t[e]}},l=function(t,e,n){return t[e]=n.value,t},u=function(t){return t},p=function(t){try{return Object(t).constructor.prototype}catch(e){return a}},f=function(t){try{return"[object Array]"===o.call(t)}catch(e){return!1}};e.exports={isArray:f,keys:s,names:s,defineProperty:l,getDescriptor:c,freeze:u,getPrototypeOf:p,isES5:r,propertyIsWritable:function(){return!0}}}},{}],11:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,e,n){this.promise=t,this.type=e,this.handler=n,this.called=!1,this.cancelPromise=null}function i(t){this.finallyHandler=t}function o(t,e){return null!=t.cancelPromise?(arguments.length>1?t.cancelPromise._reject(e):t.cancelPromise._cancel(),t.cancelPromise=null,!0):!1}function a(){return c.call(this,this.promise._target()._settledValue())}function s(t){return o(this,t)?void 0:(p.e=t,p)}function c(t){var r=this.promise,c=this.handler;if(!this.called){this.called=!0;var l=this.isFinallyHandler()?c.call(r._boundValue()):c.call(r._boundValue(),t);if(void 0!==l){r._setReturnedNonUndefined();var f=n(l,r);if(f instanceof e){if(null!=this.cancelPromise){if(f.isCancelled()){var h=new u("late cancellation observer");return r._attachExtraTrace(h),p.e=h,p}f.isPending()&&f._attachCancellationCallback(new i(this))}return f._then(a,s,void 0,this,void 0)}}}return r.isRejected()?(o(this),p.e=t,p):(o(this),t)}var l=t("./util"),u=e.CancellationError,p=l.errorObj;return r.prototype.isFinallyHandler=function(){return 0===this.type},i.prototype._resultCancelled=function(){o(this.finallyHandler)},e.prototype._passThrough=function(t,e,n,i){return"function"!=typeof t?this.then():this._then(n,i,void 0,new r(this,e,t),void 0)},e.prototype.lastly=e.prototype["finally"]=function(t){return this._passThrough(t,0,c,c)},e.prototype.tap=function(t){return this._passThrough(t,1,c)},r}},{"./util":21}],12:[function(t,e,n){"use strict";e.exports=function(e,n,r,i){var o=t("./util");o.canEvaluate,o.tryCatch,o.errorObj;e.join=function(){var t,e=arguments.length-1;if(e>0&&"function"==typeof arguments[e]){t=arguments[e];var r}var i=[].slice.call(arguments);t&&i.pop();var r=new n(i).promise();return void 0!==t?r.spread(t):r}}},{"./util":21}],13:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o){var a=t("./util"),s=a.tryCatch;e.method=function(t){if("function"!=typeof t)throw new e.TypeError("expecting a function but got "+a.classString(t));return function(){var r=new e(n);r._captureStackTrace(),r._pushContext();var i=s(t).apply(this,arguments),a=r._popContext();return o.checkForgottenReturns(i,a,"Promise.method",r),r._resolveFromSyncValue(i),r}},e.attempt=e["try"]=function(t){if("function"!=typeof t)return i("expecting a function but got "+a.classString(t));var r=new e(n);r._captureStackTrace(),r._pushContext();var c;if(arguments.length>1){o.deprecated("calling Promise.try with more than 1 argument");var l=arguments[1],u=arguments[2];c=a.isArray(l)?s(t).apply(u,l):s(t).call(u,l)}else c=s(t)();var p=r._popContext();return o.checkForgottenReturns(c,p,"Promise.try",r),r._resolveFromSyncValue(c),r},e.prototype._resolveFromSyncValue=function(t){t===a.errorObj?this._rejectCallback(t.e,!1):this._resolveCallback(t,!0)}}},{"./util":21}],14:[function(t,e,n){"use strict";function r(t){return t instanceof Error&&u.getPrototypeOf(t)===Error.prototype}function i(t){var e;if(r(t)){e=new l(t),e.name=t.name,e.message=t.message,e.stack=t.stack;for(var n=u.keys(t),i=0;i<n.length;++i){var o=n[i];p.test(o)||(e[o]=t[o])}return e}return a.markAsOriginatingFromRejection(t),t}function o(t,e){return function(n,r){if(null!==t){if(n){var o=i(s(n));t._attachExtraTrace(o),t._reject(o)}else if(e){var a=[].slice.call(arguments,1);t._fulfill(a)}else t._fulfill(r);t=null}}}var a=t("./util"),s=a.maybeWrapAsError,c=t("./errors"),l=c.OperationalError,u=t("./es5"),p=/^(?:name|message|stack|cause)$/;e.exports=o},{"./errors":9,"./es5":10,"./util":21}],15:[function(t,e,n){"use strict";e.exports=function(){function e(){}function n(t,e){if("function"!=typeof e)throw new y("expecting a function but got "+f.classString(e));if(t.constructor!==r)throw new y("the promise constructor cannot be invoked directly\n\n See http://goo.gl/MqrFmX\n")}function r(t){this._bitField=0,this._fulfillmentHandler0=void 0,this._rejectionHandler0=void 0,this._promise0=void 0,this._receiver0=void 0,t!==m&&(n(this,t),this._resolveFromExecutor(t)),this._promiseCreated(),this._fireEvent("promiseCreated",this)}function i(t){this.promise._resolveCallback(t)}function o(t){this.promise._rejectCallback(t,!1)}function a(t){var e=new r(m);e._fulfillmentHandler0=t,e._rejectionHandler0=t,e._promise0=t,e._receiver0=t}var s,c=function(){return new y("circular promise resolution chain\n\n See http://goo.gl/MqrFmX\n")},l=function(){return new r.PromiseInspection(this._target())},u=function(t){return r.reject(new y(t))},p={},f=t("./util");s=f.isNode?function(){var t=process.domain;return void 0===t&&(t=null),t}:function(){return null},f.notEnumerableProp(r,"_getDomain",s);var h=t("./es5"),_=t("./async"),d=new _;h.defineProperty(r,"_async",{value:d});var v=t("./errors"),y=r.TypeError=v.TypeError;r.RangeError=v.RangeError;var g=r.CancellationError=v.CancellationError;r.TimeoutError=v.TimeoutError,r.OperationalError=v.OperationalError,r.RejectionError=v.OperationalError,r.AggregateError=v.AggregateError;var m=function(){},b={},C={},k=t("./thenables")(r,m),w=t("./promise_array")(r,m,k,u,e),E=t("./context")(r),j=(E.create,t("./debuggability")(r,E)),F=(j.CapturedTrace,t("./finally")(r,k)),T=t("./catch_filter")(C),O=t("./nodeback"),R=f.errorObj,x=f.tryCatch;return r.prototype.toString=function(){return"[object Promise]"},r.prototype.caught=r.prototype["catch"]=function(t){var e=arguments.length;if(e>1){var n,r=new Array(e-1),i=0;for(n=0;e-1>n;++n){var o=arguments[n];if(!f.isObject(o))return u("expecting an object but got "+f.classString(o));r[i++]=o}return r.length=i,t=arguments[n],this.then(void 0,T(r,t,this))}return this.then(void 0,t)},r.prototype.reflect=function(){return this._then(l,l,void 0,this,void 0)},r.prototype.then=function(t,e){if(j.warnings()&&arguments.length>0&&"function"!=typeof t&&"function"!=typeof e){var n=".then() only accepts functions but was passed: "+f.classString(t);arguments.length>1&&(n+=", "+f.classString(e)),this._warn(n)}return this._then(t,e,void 0,void 0,void 0)},r.prototype.done=function(t,e){var n=this._then(t,e,void 0,void 0,void 0);n._setIsFinal()},r.prototype.spread=function(t){return"function"!=typeof t?u("expecting a function but got "+f.classString(t)):this.all()._then(t,void 0,void 0,b,void 0)},r.prototype.toJSON=function(){var t={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(t.fulfillmentValue=this.value(),t.isFulfilled=!0):this.isRejected()&&(t.rejectionReason=this.reason(),t.isRejected=!0),t},r.prototype.all=function(){return arguments.length>0&&this._warn(".all() was passed arguments but it does not take any"),new w(this).promise()},r.prototype.error=function(t){return this.caught(f.originatesFromRejection,t)},r.is=function(t){return t instanceof r},r.fromNode=r.fromCallback=function(t){var e=new r(m);e._captureStackTrace();var n=arguments.length>1?!!Object(arguments[1]).multiArgs:!1,i=x(t)(O(e,n));return i===R&&e._rejectCallback(i.e,!0),e._isFateSealed()||e._setAsyncGuaranteed(),e},r.all=function(t){return new w(t).promise()},r.cast=function(t){var e=k(t);return e instanceof r||(e=new r(m),e._captureStackTrace(),e._setFulfilled(),e._rejectionHandler0=t),e},r.resolve=r.fulfilled=r.cast,r.reject=r.rejected=function(t){var e=new r(m);return e._captureStackTrace(),e._rejectCallback(t,!0),e},r.setScheduler=function(t){if("function"!=typeof t)throw new y("expecting a function but got "+f.classString(t));var e=d._schedule;return d._schedule=t,e},r.prototype._then=function(t,e,n,i,o){var a=void 0!==o,c=a?o:new r(m),l=this._target(),u=l._bitField;a||(c._propagateFrom(this,3),c._captureStackTrace(),void 0===i&&0!==(2097152&this._bitField)&&(i=0!==(50397184&u)?this._boundValue():l===this?void 0:this._boundTo),this._fireEvent("promiseChained",this,c));
-var p=s();if(0!==(50397184&u)){var f,h,_=l._settlePromiseCtx;0!==(33554432&u)?(h=l._rejectionHandler0,f=t):0!==(16777216&u)?(h=l._fulfillmentHandler0,f=e,l._unsetRejectionIsUnhandled()):(_=l._settlePromiseLateCancellationObserver,h=new g("late cancellation observer"),l._attachExtraTrace(h),f=e),d.invoke(_,l,{handler:null===p?f:"function"==typeof f&&p.bind(f),promise:c,receiver:i,value:h})}else l._addCallbacks(t,e,c,i,p);return c},r.prototype._length=function(){return 65535&this._bitField},r.prototype._isFateSealed=function(){return 0!==(117506048&this._bitField)},r.prototype._isFollowing=function(){return 67108864===(67108864&this._bitField)},r.prototype._setLength=function(t){this._bitField=-65536&this._bitField|65535&t},r.prototype._setFulfilled=function(){this._bitField=33554432|this._bitField,this._fireEvent("promiseFulfilled",this)},r.prototype._setRejected=function(){this._bitField=16777216|this._bitField,this._fireEvent("promiseRejected",this)},r.prototype._setFollowing=function(){this._bitField=67108864|this._bitField,this._fireEvent("promiseResolved",this)},r.prototype._setIsFinal=function(){this._bitField=4194304|this._bitField},r.prototype._isFinal=function(){return(4194304&this._bitField)>0},r.prototype._unsetCancelled=function(){this._bitField=-65537&this._bitField},r.prototype._setCancelled=function(){this._bitField=65536|this._bitField,this._fireEvent("promiseCancelled",this)},r.prototype._setAsyncGuaranteed=function(){this._bitField=134217728|this._bitField},r.prototype._receiverAt=function(t){var e=0===t?this._receiver0:this[4*t-4+3];return e===p?void 0:void 0===e&&this._isBound()?this._boundValue():e},r.prototype._promiseAt=function(t){return this[4*t-4+2]},r.prototype._fulfillmentHandlerAt=function(t){return this[4*t-4+0]},r.prototype._rejectionHandlerAt=function(t){return this[4*t-4+1]},r.prototype._boundValue=function(){},r.prototype._migrateCallback0=function(t){var e=(t._bitField,t._fulfillmentHandler0),n=t._rejectionHandler0,r=t._promise0,i=t._receiverAt(0);void 0===i&&(i=p),this._addCallbacks(e,n,r,i,null)},r.prototype._migrateCallbackAt=function(t,e){var n=t._fulfillmentHandlerAt(e),r=t._rejectionHandlerAt(e),i=t._promiseAt(e),o=t._receiverAt(e);void 0===o&&(o=p),this._addCallbacks(n,r,i,o,null)},r.prototype._addCallbacks=function(t,e,n,r,i){var o=this._length();if(o>=65531&&(o=0,this._setLength(0)),0===o)this._promise0=n,this._receiver0=r,"function"==typeof t&&(this._fulfillmentHandler0=null===i?t:i.bind(t)),"function"==typeof e&&(this._rejectionHandler0=null===i?e:i.bind(e));else{var a=4*o-4;this[a+2]=n,this[a+3]=r,"function"==typeof t&&(this[a+0]=null===i?t:i.bind(t)),"function"==typeof e&&(this[a+1]=null===i?e:i.bind(e))}return this._setLength(o+1),o},r.prototype._proxy=function(t,e){this._addCallbacks(void 0,void 0,e,t,null)},r.prototype._resolveCallback=function(t,e){if(0===(117506048&this._bitField)){if(t===this)return this._rejectCallback(c(),!1);var n=k(t,this);if(!(n instanceof r))return this._fulfill(t);e&&this._propagateFrom(n,2);var i=n._target();if(i===this)return void this._reject(c());var o=i._bitField;if(0===(50397184&o)){var a=this._length();a>0&&i._migrateCallback0(this);for(var s=1;a>s;++s)i._migrateCallbackAt(this,s);this._setFollowing(),this._setLength(0),this._setFollowee(i)}else if(0!==(33554432&o))this._fulfill(i._value());else if(0!==(16777216&o))this._reject(i._reason());else{var l=new g("late cancellation observer");i._attachExtraTrace(l),this._reject(l)}}},r.prototype._rejectCallback=function(t,e,n){var r=f.ensureErrorObject(t),i=r===t;if(!i&&!n&&j.warnings()){var o="a promise was rejected with a non-error: "+f.classString(t);this._warn(o,!0)}this._attachExtraTrace(r,e?i:!1),this._reject(t)},r.prototype._resolveFromExecutor=function(t){var e=this;this._captureStackTrace(),this._pushContext();var n=!0,r=this._execute(t,function(t){e._resolveCallback(t)},function(t){e._rejectCallback(t,n)});n=!1,this._popContext(),void 0!==r&&e._rejectCallback(r,!0)},r.prototype._settlePromiseFromHandler=function(t,e,n,r){var i=r._bitField;if(0===(65536&i)){r._pushContext();var o;e===b?n&&"number"==typeof n.length?o=x(t).apply(this._boundValue(),n):(o=R,o.e=new y("cannot .spread() a non-array: "+f.classString(n))):o=x(t).call(e,n);var a=r._popContext();i=r._bitField,0===(65536&i)&&(o===C?r._reject(n):o===R?r._rejectCallback(o.e,!1):(j.checkForgottenReturns(o,a,"",r,this),r._resolveCallback(o)))}},r.prototype._target=function(){for(var t=this;t._isFollowing();)t=t._followee();return t},r.prototype._followee=function(){return this._rejectionHandler0},r.prototype._setFollowee=function(t){this._rejectionHandler0=t},r.prototype._settlePromise=function(t,n,i,o){var a=t instanceof r,s=this._bitField,c=0!==(134217728&s);0!==(65536&s)?(a&&t._invokeInternalOnCancel(),i instanceof F&&i.isFinallyHandler()?(i.cancelPromise=t,x(n).call(i,o)===R&&t._reject(R.e)):n===l?t._fulfill(l.call(i)):i instanceof e?i._promiseCancelled(t):a||t instanceof w?t._cancel():i.cancel()):"function"==typeof n?a?(c&&t._setAsyncGuaranteed(),this._settlePromiseFromHandler(n,i,o,t)):n.call(i,o,t):i instanceof e?i._isResolved()||(0!==(33554432&s)?i._promiseFulfilled(o,t):i._promiseRejected(o,t)):a&&(c&&t._setAsyncGuaranteed(),0!==(33554432&s)?t._fulfill(o):t._reject(o))},r.prototype._settlePromiseLateCancellationObserver=function(t){var e=t.handler,n=t.promise,i=t.receiver,o=t.value;"function"==typeof e?n instanceof r?this._settlePromiseFromHandler(e,i,o,n):e.call(i,o,n):n instanceof r&&n._reject(o)},r.prototype._settlePromiseCtx=function(t){this._settlePromise(t.promise,t.handler,t.receiver,t.value)},r.prototype._settlePromise0=function(t,e,n){var r=this._promise0,i=this._receiverAt(0);this._promise0=void 0,this._receiver0=void 0,this._settlePromise(r,t,i,e)},r.prototype._clearCallbackDataAtIndex=function(t){var e=4*t-4;this[e+2]=this[e+3]=this[e+0]=this[e+1]=void 0},r.prototype._fulfill=function(t){var e=this._bitField;if(!((117506048&e)>>>16)){if(t===this){var n=c();return this._attachExtraTrace(n),this._reject(n)}this._setFulfilled(),this._rejectionHandler0=t,(65535&e)>0&&(0!==(134217728&e)?this._settlePromises():d.settlePromises(this))}},r.prototype._reject=function(t){var e=this._bitField;if(!((117506048&e)>>>16))return this._setRejected(),this._fulfillmentHandler0=t,this._isFinal()?d.fatalError(t,f.isNode):void((65535&e)>0?d.settlePromises(this):this._ensurePossibleRejectionHandled())},r.prototype._fulfillPromises=function(t,e){for(var n=1;t>n;n++){var r=this._fulfillmentHandlerAt(n),i=this._promiseAt(n),o=this._receiverAt(n);this._clearCallbackDataAtIndex(n),this._settlePromise(i,r,o,e)}},r.prototype._rejectPromises=function(t,e){for(var n=1;t>n;n++){var r=this._rejectionHandlerAt(n),i=this._promiseAt(n),o=this._receiverAt(n);this._clearCallbackDataAtIndex(n),this._settlePromise(i,r,o,e)}},r.prototype._settlePromises=function(){var t=this._bitField,e=65535&t;if(e>0){if(0!==(16842752&t)){var n=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,n,t),this._rejectPromises(e,n)}else{var r=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,r,t),this._fulfillPromises(e,r)}this._setLength(0)}this._clearCancellationData()},r.prototype._settledValue=function(){var t=this._bitField;return 0!==(33554432&t)?this._rejectionHandler0:0!==(16777216&t)?this._fulfillmentHandler0:void 0},r.defer=r.pending=function(){j.deprecated("Promise.defer","new Promise");var t=new r(m);return{promise:t,resolve:i,reject:o}},f.notEnumerableProp(r,"_makeSelfResolutionError",c),t("./method")(r,m,k,u,j),t("./bind")(r,m,k,j),t("./cancel")(r,w,u,j),t("./direct_resolve")(r),t("./synchronous_inspection")(r),t("./join")(r,w,k,m,j),r.Promise=r,f.toFastProperties(r),f.toFastProperties(r.prototype),a({a:1}),a({b:2}),a({c:3}),a(1),a(function(){}),a(void 0),a(!1),a(new r(m)),j.setBounds(_.firstLineError,f.lastLineError),r}},{"./async":1,"./bind":2,"./cancel":4,"./catch_filter":5,"./context":6,"./debuggability":7,"./direct_resolve":8,"./errors":9,"./es5":10,"./finally":11,"./join":12,"./method":13,"./nodeback":14,"./promise_array":16,"./synchronous_inspection":19,"./thenables":20,"./util":21}],16:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o){function a(t){switch(t){case-2:return[];case-3:return{}}}function s(t){var r=this._promise=new e(n);t instanceof e&&r._propagateFrom(t,3),r._setOnCancel(this),this._values=t,this._length=0,this._totalResolved=0,this._init(void 0,-2)}var c=t("./util");c.isArray;return c.inherits(s,o),s.prototype.length=function(){return this._length},s.prototype.promise=function(){return this._promise},s.prototype._init=function l(t,n){var o=r(this._values,this._promise);if(o instanceof e){o=o._target();var s=o._bitField;if(this._values=o,0===(50397184&s))return this._promise._setAsyncGuaranteed(),o._then(l,this._reject,void 0,this,n);if(0===(33554432&s))return 0!==(16777216&s)?this._reject(o._reason()):this._cancel();o=o._value()}if(o=c.asArray(o),null===o){var u=i("expecting an array or an iterable object but got "+c.classString(o)).reason();return void this._promise._rejectCallback(u,!1)}return 0===o.length?void(-5===n?this._resolveEmptyArray():this._resolve(a(n))):void this._iterate(o)},s.prototype._iterate=function(t){var n=this.getActualLength(t.length);this._length=n,this._values=this.shouldCopyValues()?new Array(n):this._values;for(var i=this._promise,o=!1,a=null,s=0;n>s;++s){var c=r(t[s],i);c instanceof e?(c=c._target(),a=c._bitField):a=null,o?null!==a&&c.suppressUnhandledRejections():null!==a?0===(50397184&a)?(c._proxy(this,s),this._values[s]=c):o=0!==(33554432&a)?this._promiseFulfilled(c._value(),s):0!==(16777216&a)?this._promiseRejected(c._reason(),s):this._promiseCancelled(s):o=this._promiseFulfilled(c,s)}o||i._setAsyncGuaranteed()},s.prototype._isResolved=function(){return null===this._values},s.prototype._resolve=function(t){this._values=null,this._promise._fulfill(t)},s.prototype._cancel=function(){!this._isResolved()&&this._promise.isCancellable()&&(this._values=null,this._promise._cancel())},s.prototype._reject=function(t){this._values=null,this._promise._rejectCallback(t,!1)},s.prototype._promiseFulfilled=function(t,e){this._values[e]=t;var n=++this._totalResolved;return n>=this._length?(this._resolve(this._values),!0):!1},s.prototype._promiseCancelled=function(){return this._cancel(),!0},s.prototype._promiseRejected=function(t){return this._totalResolved++,this._reject(t),!0},s.prototype._resultCancelled=function(){if(!this._isResolved()){var t=this._values;if(this._cancel(),t instanceof e)t.cancel();else for(var n=0;n<t.length;++n)t[n]instanceof e&&t[n].cancel()}},s.prototype.shouldCopyValues=function(){return!0},s.prototype.getActualLength=function(t){return t},s}},{"./util":21}],17:[function(t,e,n){"use strict";function r(t,e,n,r,i){for(var o=0;i>o;++o)n[o+r]=t[o+e],t[o+e]=void 0}function i(t){this._capacity=t,this._length=0,this._front=0}i.prototype._willBeOverCapacity=function(t){return this._capacity<t},i.prototype._pushOne=function(t){var e=this.length();this._checkCapacity(e+1);var n=this._front+e&this._capacity-1;this[n]=t,this._length=e+1},i.prototype._unshiftOne=function(t){var e=this._capacity;this._checkCapacity(this.length()+1);var n=this._front,r=(n-1&e-1^e)-e;this[r]=t,this._front=r,this._length=this.length()+1},i.prototype.unshift=function(t,e,n){this._unshiftOne(n),this._unshiftOne(e),this._unshiftOne(t)},i.prototype.push=function(t,e,n){var r=this.length()+3;if(this._willBeOverCapacity(r))return this._pushOne(t),this._pushOne(e),void this._pushOne(n);var i=this._front+r-3;this._checkCapacity(r);var o=this._capacity-1;this[i+0&o]=t,this[i+1&o]=e,this[i+2&o]=n,this._length=r},i.prototype.shift=function(){var t=this._front,e=this[t];return this[t]=void 0,this._front=t+1&this._capacity-1,this._length--,e},i.prototype.length=function(){return this._length},i.prototype._checkCapacity=function(t){this._capacity<t&&this._resizeTo(this._capacity<<1)},i.prototype._resizeTo=function(t){var e=this._capacity;this._capacity=t;var n=this._front,i=this._length,o=n+i&e-1;r(this,0,this,e,o)},e.exports=i},{}],18:[function(t,e,n){"use strict";var r,i=t("./util"),o=function(){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")};if(i.isNode&&"undefined"==typeof MutationObserver){var a=global.setImmediate,s=process.nextTick;r=i.isRecentNode?function(t){a.call(global,t)}:function(t){s.call(process,t)}}else r="undefined"==typeof MutationObserver||"undefined"!=typeof window&&window.navigator&&window.navigator.standalone?"undefined"!=typeof setImmediate?function(t){setImmediate(t)}:"undefined"!=typeof setTimeout?function(t){setTimeout(t,0)}:o:function(){var t=document.createElement("div"),e={attributes:!0},n=!1,r=document.createElement("div"),i=new MutationObserver(function(){t.classList.toggle("foo"),n=!1});i.observe(r,e);var o=function(){n||(n=!0,r.classList.toggle("foo"))};return function(n){var r=new MutationObserver(function(){r.disconnect(),n()});r.observe(t,e),o()}}();e.exports=r},{"./util":21}],19:[function(t,e,n){"use strict";e.exports=function(t){function e(t){void 0!==t?(t=t._target(),this._bitField=t._bitField,this._settledValueField=t._isFateSealed()?t._settledValue():void 0):(this._bitField=0,this._settledValueField=void 0)}e.prototype._settledValue=function(){return this._settledValueField};var n=e.prototype.value=function(){if(!this.isFulfilled())throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},r=e.prototype.error=e.prototype.reason=function(){if(!this.isRejected())throw new TypeError("cannot get rejection reason of a non-rejected promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},i=e.prototype.isFulfilled=function(){return 0!==(33554432&this._bitField)},o=e.prototype.isRejected=function(){return 0!==(16777216&this._bitField)},a=e.prototype.isPending=function(){return 0===(50397184&this._bitField)},s=e.prototype.isResolved=function(){return 0!==(50331648&this._bitField)};e.prototype.isCancelled=t.prototype._isCancelled=function(){return 65536===(65536&this._bitField)},t.prototype.isCancelled=function(){return this._target()._isCancelled()},t.prototype.isPending=function(){return a.call(this._target())},t.prototype.isRejected=function(){return o.call(this._target())},t.prototype.isFulfilled=function(){return i.call(this._target())},t.prototype.isResolved=function(){return s.call(this._target())},t.prototype.value=function(){return n.call(this._target())},t.prototype.reason=function(){var t=this._target();return t._unsetRejectionIsUnhandled(),r.call(t)},t.prototype._value=function(){return this._settledValue()},t.prototype._reason=function(){return this._unsetRejectionIsUnhandled(),this._settledValue()},t.PromiseInspection=e}},{}],20:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,r){if(u(t)){if(t instanceof e)return t;var i=o(t);if(i===l){r&&r._pushContext();var c=e.reject(i.e);return r&&r._popContext(),c}if("function"==typeof i){if(a(t)){var c=new e(n);return t._then(c._fulfill,c._reject,void 0,c,null),c}return s(t,i,r)}}return t}function i(t){return t.then}function o(t){try{return i(t)}catch(e){return l.e=e,l}}function a(t){return p.call(t,"_promise0")}function s(t,r,i){function o(t){s&&(s._resolveCallback(t),s=null)}function a(t){s&&(s._rejectCallback(t,p,!0),s=null)}var s=new e(n),u=s;i&&i._pushContext(),s._captureStackTrace(),i&&i._popContext();var p=!0,f=c.tryCatch(r).call(t,o,a);return p=!1,s&&f===l&&(s._rejectCallback(f.e,!0,!0),s=null),u}var c=t("./util"),l=c.errorObj,u=c.isObject,p={}.hasOwnProperty;return r}},{"./util":21}],21:[function(t,e,n){"use strict";function r(){try{var t=T;return T=null,t.apply(this,arguments)}catch(e){return F.e=e,F}}function i(t){return T=t,r}function o(t){return null==t||t===!0||t===!1||"string"==typeof t||"number"==typeof t}function a(t){return"function"==typeof t||"object"==typeof t&&null!==t}function s(t){return o(t)?new Error(v(t)):t}function c(t,e){var n,r=t.length,i=new Array(r+1);for(n=0;r>n;++n)i[n]=t[n];return i[n]=e,i}function l(t,e,n){if(!E.isES5)return{}.hasOwnProperty.call(t,e)?t[e]:void 0;var r=Object.getOwnPropertyDescriptor(t,e);return null!=r?null==r.get&&null==r.set?r.value:n:void 0}function u(t,e,n){if(o(t))return t;var r={value:n,configurable:!0,enumerable:!1,writable:!0};return E.defineProperty(t,e,r),t}function p(t){throw t}function f(t){try{if("function"==typeof t){var e=E.names(t.prototype),n=E.isES5&&e.length>1,r=e.length>0&&!(1===e.length&&"constructor"===e[0]),i=P.test(t+"")&&E.names(t).length>0;if(n||r||i)return!0}return!1}catch(o){return!1}}function h(t){function e(){}e.prototype=t;for(var n=8;n--;)new e;return t}function _(t){return S.test(t)}function d(t,e,n){for(var r=new Array(t),i=0;t>i;++i)r[i]=e+i+n;return r}function v(t){try{return t+""}catch(e){return"[no string representation]"}}function y(t){return null!==t&&"object"==typeof t&&"string"==typeof t.message&&"string"==typeof t.name}function g(t){try{u(t,"isOperational",!0)}catch(e){}}function m(t){return null==t?!1:t instanceof Error.__BluebirdErrorTypes__.OperationalError||t.isOperational===!0}function b(t){return y(t)&&E.propertyIsWritable(t,"stack")}function C(t){return{}.toString.call(t)}function k(t,e,n){for(var r=E.names(t),i=0;i<r.length;++i){var o=r[i];if(n(o))try{E.defineProperty(e,o,E.getDescriptor(t,o))}catch(a){}}}function w(t,e){return I?process.env[t]:e}var E=t("./es5"),j="undefined"==typeof navigator,F={e:{}},T,O="undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:void 0!==this?this:null,R=function(t,e){function n(){this.constructor=t,this.constructor$=e;for(var n in e.prototype)r.call(e.prototype,n)&&"$"!==n.charAt(n.length-1)&&(this[n+"$"]=e.prototype[n])}var r={}.hasOwnProperty;return n.prototype=e.prototype,t.prototype=new n,t.prototype},x=function(){var t=[Array.prototype,Object.prototype,Function.prototype],e=function(e){for(var n=0;n<t.length;++n)if(t[n]===e)return!0;return!1};if(E.isES5){var n=Object.getOwnPropertyNames;return function(t){for(var r=[],i=Object.create(null);null!=t&&!e(t);){var o;try{o=n(t)}catch(a){return r}for(var s=0;s<o.length;++s){var c=o[s];if(!i[c]){i[c]=!0;var l=Object.getOwnPropertyDescriptor(t,c);null!=l&&null==l.get&&null==l.set&&r.push(c)}}t=E.getPrototypeOf(t)}return r}}var r={}.hasOwnProperty;return function(n){if(e(n))return[];var i=[];t:for(var o in n)if(r.call(n,o))i.push(o);else{for(var a=0;a<t.length;++a)if(r.call(t[a],o))continue t;i.push(o)}return i}}(),P=/this\s*\.\s*\S+\s*=/,S=/^[a-z$_][a-z$_0-9]*$/i,A=function(){return"stack"in new Error?function(t){return b(t)?t:new Error(v(t))}:function(t){if(b(t))return t;try{throw new Error(v(t))}catch(e){return e}}}(),L=function(t){return E.isArray(t)?t:null};if("undefined"!=typeof Symbol&&Symbol.iterator){var N="function"==typeof Array.from?function(t){return Array.from(t)}:function(t){for(var e,n=[],r=t[Symbol.iterator]();!(e=r.next()).done;)n.push(e.value);return n};L=function(t){return E.isArray(t)?t:null!=t&&"function"==typeof t[Symbol.iterator]?N(t):null}}var I="undefined"!=typeof process&&"[object process]"===C(process).toLowerCase(),U={isClass:f,isIdentifier:_,inheritedDataKeys:x,getDataPropertyOrDefault:l,thrower:p,isArray:E.isArray,asArray:L,notEnumerableProp:u,isPrimitive:o,isObject:a,isError:y,canEvaluate:j,errorObj:F,tryCatch:i,inherits:R,withAppended:c,maybeWrapAsError:s,toFastProperties:h,filledRange:d,toString:v,canAttachTrace:b,ensureErrorObject:A,originatesFromRejection:m,markAsOriginatingFromRejection:g,classString:C,copyDescriptors:k,hasDevTools:"undefined"!=typeof chrome&&chrome&&"function"==typeof chrome.loadTimes,isNode:I,env:w,global:O};U.isRecentNode=U.isNode&&function(){var t=process.versions.node.split(".").map(Number);return 0===t[0]&&t[1]>10||t[0]>0}(),U.isNode&&U.toFastProperties(process);try{throw new Error}catch(H){U.lastLineError=H}e.exports=U},{"./es5":10}]},{},[3])(3)}),"undefined"!=typeof window&&null!==window?window.P=window.Promise:"undefined"!=typeof self&&null!==self&&(self.P=self.Promise); \ No newline at end of file
+!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.Promise=t()}}(function(){var t,e,n;return function r(t,e,n){function i(a,s){if(!e[a]){if(!t[a]){var c="function"==typeof _dereq_&&_dereq_;if(!s&&c)return c(a,!0);if(o)return o(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var u=e[a]={exports:{}};t[a][0].call(u.exports,function(e){var n=t[a][1][e];return i(n?n:e)},u,u.exports,r,t,e,n)}return e[a].exports}for(var o="function"==typeof _dereq_&&_dereq_,a=0;a<n.length;a++)i(n[a]);return i}({1:[function(t,e,n){"use strict";function r(){this._customScheduler=!1,this._isTickUsed=!1,this._lateQueue=new u(16),this._normalQueue=new u(16),this._haveDrainedQueues=!1,this._trampolineEnabled=!0;var t=this;this.drainQueues=function(){t._drainQueues()},this._schedule=l}function i(t,e,n){this._lateQueue.push(t,e,n),this._queueTick()}function o(t,e,n){this._normalQueue.push(t,e,n),this._queueTick()}function a(t){this._normalQueue._pushOne(t),this._queueTick()}var s;try{throw new Error}catch(c){s=c}var l=t("./schedule"),u=t("./queue"),p=t("./util");r.prototype.setScheduler=function(t){var e=this._schedule;return this._schedule=t,this._customScheduler=!0,e},r.prototype.hasCustomScheduler=function(){return this._customScheduler},r.prototype.enableTrampoline=function(){this._trampolineEnabled=!0},r.prototype.disableTrampolineIfNecessary=function(){p.hasDevTools&&(this._trampolineEnabled=!1)},r.prototype.haveItemsQueued=function(){return this._isTickUsed||this._haveDrainedQueues},r.prototype.fatalError=function(t,e){e?(process.stderr.write("Fatal "+(t instanceof Error?t.stack:t)+"\n"),process.exit(2)):this.throwLater(t)},r.prototype.throwLater=function(t,e){if(1===arguments.length&&(e=t,t=function(){throw e}),"undefined"!=typeof setTimeout)setTimeout(function(){t(e)},0);else try{this._schedule(function(){t(e)})}catch(n){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")}},p.hasDevTools?(r.prototype.invokeLater=function(t,e,n){this._trampolineEnabled?i.call(this,t,e,n):this._schedule(function(){setTimeout(function(){t.call(e,n)},100)})},r.prototype.invoke=function(t,e,n){this._trampolineEnabled?o.call(this,t,e,n):this._schedule(function(){t.call(e,n)})},r.prototype.settlePromises=function(t){this._trampolineEnabled?a.call(this,t):this._schedule(function(){t._settlePromises()})}):(r.prototype.invokeLater=i,r.prototype.invoke=o,r.prototype.settlePromises=a),r.prototype.invokeFirst=function(t,e,n){this._normalQueue.unshift(t,e,n),this._queueTick()},r.prototype._drainQueue=function(t){for(;t.length()>0;){var e=t.shift();if("function"==typeof e){var n=t.shift(),r=t.shift();e.call(n,r)}else e._settlePromises()}},r.prototype._drainQueues=function(){this._drainQueue(this._normalQueue),this._reset(),this._haveDrainedQueues=!0,this._drainQueue(this._lateQueue)},r.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},r.prototype._reset=function(){this._isTickUsed=!1},e.exports=r,e.exports.firstLineError=s},{"./queue":17,"./schedule":18,"./util":21}],2:[function(t,e,n){"use strict";e.exports=function(t,e,n,r){var i=!1,o=function(t,e){this._reject(e)},a=function(t,e){e.promiseRejectionQueued=!0,e.bindingPromise._then(o,o,null,this,t)},s=function(t,e){0===(50397184&this._bitField)&&this._resolveCallback(e.target)},c=function(t,e){e.promiseRejectionQueued||this._reject(t)};t.prototype.bind=function(o){i||(i=!0,t.prototype._propagateFrom=r.propagateFromFunction(),t.prototype._boundValue=r.boundValueFunction());var l=n(o),u=new t(e);u._propagateFrom(this,1);var p=this._target();if(u._setBoundTo(l),l instanceof t){var f={promiseRejectionQueued:!1,promise:u,target:p,bindingPromise:l};p._then(e,a,void 0,u,f),l._then(s,c,void 0,u,f),u._setOnCancel(l)}else u._resolveCallback(p);return u},t.prototype._setBoundTo=function(t){void 0!==t?(this._bitField=2097152|this._bitField,this._boundTo=t):this._bitField=-2097153&this._bitField},t.prototype._isBound=function(){return 2097152===(2097152&this._bitField)},t.bind=function(e,n){return t.resolve(n).bind(e)}}},{}],3:[function(t,e,n){"use strict";function r(){try{Promise===o&&(Promise=i)}catch(t){}return o}var i;"undefined"!=typeof Promise&&(i=Promise);var o=t("./promise")();o.noConflict=r,e.exports=o},{"./promise":15}],4:[function(t,e,n){"use strict";e.exports=function(e,n,r,i){var o=t("./util"),a=o.tryCatch,s=o.errorObj,c=e._async;e.prototype["break"]=e.prototype.cancel=function(){if(!i.cancellation())return this._warn("cancellation is disabled");for(var t=this,e=t;t.isCancellable();){if(!t._cancelBy(e)){e._isFollowing()?e._followee().cancel():e._cancelBranched();break}var n=t._cancellationParent;if(null==n||!n.isCancellable()){t._isFollowing()?t._followee().cancel():t._cancelBranched();break}t._isFollowing()&&t._followee().cancel(),e=t,t=n}},e.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--},e.prototype._enoughBranchesHaveCancelled=function(){return void 0===this._branchesRemainingToCancel||this._branchesRemainingToCancel<=0},e.prototype._cancelBy=function(t){return t===this?(this._branchesRemainingToCancel=0,this._invokeOnCancel(),!0):(this._branchHasCancelled(),this._enoughBranchesHaveCancelled()?(this._invokeOnCancel(),!0):!1)},e.prototype._cancelBranched=function(){this._enoughBranchesHaveCancelled()&&this._cancel()},e.prototype._cancel=function(){this.isCancellable()&&(this._setCancelled(),c.invoke(this._cancelPromises,this,void 0))},e.prototype._cancelPromises=function(){this._length()>0&&this._settlePromises()},e.prototype._unsetOnCancel=function(){this._onCancelField=void 0},e.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()},e.prototype._doInvokeOnCancel=function(t,e){if(o.isArray(t))for(var n=0;n<t.length;++n)this._doInvokeOnCancel(t[n],e);else if(void 0!==t)if("function"==typeof t){if(!e){var r=a(t).call(this._boundValue());r===s&&(this._attachExtraTrace(r.e),c.throwLater(r.e))}}else t._resultCancelled(this)},e.prototype._invokeOnCancel=function(){var t=this._onCancel();this._unsetOnCancel(),c.invoke(this._doInvokeOnCancel,this,t)},e.prototype._invokeInternalOnCancel=function(){this.isCancellable()&&(this._doInvokeOnCancel(this._onCancel(),!0),this._unsetOnCancel())},e.prototype._resultCancelled=function(){this.cancel()}}},{"./util":21}],5:[function(t,e,n){"use strict";e.exports=function(e){function n(t,n,s){return function(c){var l=s._boundValue();t:for(var u=0;u<t.length;++u){var p=t[u];if(p===Error||null!=p&&p.prototype instanceof Error){if(c instanceof p)return o(n).call(l,c)}else if("function"==typeof p){var f=o(p).call(l,c);if(f===a)return f;if(f)return o(n).call(l,c)}else if(r.isObject(c)){for(var h=i(p),_=0;_<h.length;++_){var d=h[_];if(p[d]!=c[d])continue t}return o(n).call(l,c)}}return e}}var r=t("./util"),i=t("./es5").keys,o=r.tryCatch,a=r.errorObj;return n}},{"./es5":10,"./util":21}],6:[function(t,e,n){"use strict";e.exports=function(t){function e(){this._trace=new e.CapturedTrace(r())}function n(){return i?new e:void 0}function r(){var t=o.length-1;return t>=0?o[t]:void 0}var i=!1,o=[];return t.prototype._promiseCreated=function(){},t.prototype._pushContext=function(){},t.prototype._popContext=function(){return null},t._peekContext=t.prototype._peekContext=function(){},e.prototype._pushContext=function(){void 0!==this._trace&&(this._trace._promiseCreated=null,o.push(this._trace))},e.prototype._popContext=function(){if(void 0!==this._trace){var t=o.pop(),e=t._promiseCreated;return t._promiseCreated=null,e}return null},e.CapturedTrace=null,e.create=n,e.deactivateLongStackTraces=function(){},e.activateLongStackTraces=function(){var n=t.prototype._pushContext,o=t.prototype._popContext,a=t._peekContext,s=t.prototype._peekContext,c=t.prototype._promiseCreated;e.deactivateLongStackTraces=function(){t.prototype._pushContext=n,t.prototype._popContext=o,t._peekContext=a,t.prototype._peekContext=s,t.prototype._promiseCreated=c,i=!1},i=!0,t.prototype._pushContext=e.prototype._pushContext,t.prototype._popContext=e.prototype._popContext,t._peekContext=t.prototype._peekContext=r,t.prototype._promiseCreated=function(){var t=this._peekContext();t&&null==t._promiseCreated&&(t._promiseCreated=this)}},e}},{}],7:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,e){return{promise:e}}function i(){return!1}function o(t,e,n){var r=this;try{t(e,n,function(t){if("function"!=typeof t)throw new TypeError("onCancel must be a function, got: "+H.toString(t));r._attachCancellationCallback(t)})}catch(i){return i}}function a(t){if(!this.isCancellable())return this;var e=this._onCancel();void 0!==e?H.isArray(e)?e.push(t):this._setOnCancel([e,t]):this._setOnCancel(t)}function s(){return this._onCancelField}function c(t){this._onCancelField=t}function l(){this._cancellationParent=void 0,this._onCancelField=void 0}function u(t,e){if(0!==(1&e)){this._cancellationParent=t;var n=t._branchesRemainingToCancel;void 0===n&&(n=0),t._branchesRemainingToCancel=n+1}0!==(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function p(t,e){0!==(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function f(){var t=this._boundTo;return void 0!==t&&t instanceof e?t.isFulfilled()?t.value():void 0:t}function h(){this._trace=new S(this._peekContext())}function _(t,e){if(B(t)){var n=this._trace;if(void 0!==n&&e&&(n=n._parent),void 0!==n)n.attachExtraTrace(t);else if(!t.__stackCleaned__){var r=w(t);H.notEnumerableProp(t,"stack",r.message+"\n"+r.stack.join("\n")),H.notEnumerableProp(t,"__stackCleaned__",!0)}}}function d(t,e,n,r,i){if(void 0===t&&null!==e&&$){if(void 0!==i&&i._returnedNonUndefined())return;if(0===(65535&r._bitField))return;n&&(n+=" ");var o="a promise was created in a "+n+"handler but was not returned from it";r._warn(o,!0,e)}}function v(t,e){var n=t+" is deprecated and will be removed in a future version.";return e&&(n+=" Use "+e+" instead."),y(n)}function y(t,n,r){if(rt.warnings){var i,o=new U(t);if(n)r._attachExtraTrace(o);else if(rt.longStackTraces&&(i=e._peekContext()))i.attachExtraTrace(o);else{var a=w(o);o.stack=a.message+"\n"+a.stack.join("\n")}Y("warning",o)||E(o,"",!0)}}function g(t,e){for(var n=0;n<e.length-1;++n)e[n].push("From previous event:"),e[n]=e[n].join("\n");return n<e.length&&(e[n]=e[n].join("\n")),t+"\n"+e.join("\n")}function m(t){for(var e=0;e<t.length;++e)(0===t[e].length||e+1<t.length&&t[e][0]===t[e+1][0])&&(t.splice(e,1),e--)}function b(t){for(var e=t[0],n=1;n<t.length;++n){for(var r=t[n],i=e.length-1,o=e[i],a=-1,s=r.length-1;s>=0;--s)if(r[s]===o){a=s;break}for(var s=a;s>=0;--s){var c=r[s];if(e[i]!==c)break;e.pop(),i--}e=r}}function C(t){for(var e=[],n=0;n<t.length;++n){var r=t[n],i=" (No stack trace)"===r||V.test(r),o=i&&tt(r);i&&!o&&(q&&" "!==r.charAt(0)&&(r=" "+r),e.push(r))}return e}function k(t){for(var e=t.stack.replace(/\s+$/g,"").split("\n"),n=0;n<e.length;++n){var r=e[n];if(" (No stack trace)"===r||V.test(r))break}return n>0&&(e=e.slice(n)),e}function w(t){var e=t.stack,n=t.toString();return e="string"==typeof e&&e.length>0?k(t):[" (No stack trace)"],{message:n,stack:C(e)}}function E(t,e,n){if("undefined"!=typeof console){var r;if(H.isObject(t)){var i=t.stack;r=e+Q(i,t)}else r=e+String(t);"function"==typeof N?N(r,n):("function"==typeof console.log||"object"==typeof console.log)&&console.log(r)}}function j(t,e,n,r){var i=!1;try{"function"==typeof e&&(i=!0,"rejectionHandled"===t?e(r):e(n,r))}catch(o){I.throwLater(o)}"unhandledRejection"===t?Y(t,n,r)||i||E(n,"Unhandled rejection "):Y(t,r)}function F(t){var e;if("function"==typeof t)e="[function "+(t.name||"anonymous")+"]";else{e=t&&"function"==typeof t.toString?t.toString():H.toString(t);var n=/\[object [a-zA-Z0-9$_]+\]/;if(n.test(e))try{var r=JSON.stringify(t);e=r}catch(i){}0===e.length&&(e="(empty array)")}return"(<"+T(e)+">, no stack trace)"}function T(t){var e=41;return t.length<e?t:t.substr(0,e-3)+"..."}function O(){return"function"==typeof nt}function P(t){var e=t.match(et);return e?{fileName:e[1],line:parseInt(e[2],10)}:void 0}function R(t,e){if(O()){for(var n,r,i=t.stack.split("\n"),o=e.stack.split("\n"),a=-1,s=-1,c=0;c<i.length;++c){var l=P(i[c]);if(l){n=l.fileName,a=l.line;break}}for(var c=0;c<o.length;++c){var l=P(o[c]);if(l){r=l.fileName,s=l.line;break}}0>a||0>s||!n||!r||n!==r||a>=s||(tt=function(t){if(D.test(t))return!0;var e=P(t);return e&&e.fileName===n&&a<=e.line&&e.line<=s?!0:!1})}}function S(t){this._parent=t,this._promisesCreated=0;var e=this._length=1+(void 0===t?0:t._length);nt(this,S),e>32&&this.uncycle()}var x,A,N,L=e._getDomain,I=e._async,U=t("./errors").Warning,H=t("./util"),B=H.canAttachTrace,D=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/,V=null,Q=null,q=!1,G=!(0==H.env("BLUEBIRD_DEBUG")||!H.env("BLUEBIRD_DEBUG")&&"development"!==H.env("NODE_ENV")),M=!(0==H.env("BLUEBIRD_WARNINGS")||!G&&!H.env("BLUEBIRD_WARNINGS")),W=!(0==H.env("BLUEBIRD_LONG_STACK_TRACES")||!G&&!H.env("BLUEBIRD_LONG_STACK_TRACES")),$=0!=H.env("BLUEBIRD_W_FORGOTTEN_RETURN")&&(M||!!H.env("BLUEBIRD_W_FORGOTTEN_RETURN"));e.prototype.suppressUnhandledRejections=function(){var t=this._target();t._bitField=-1048577&t._bitField|524288},e.prototype._ensurePossibleRejectionHandled=function(){0===(524288&this._bitField)&&(this._setRejectionIsUnhandled(),I.invokeLater(this._notifyUnhandledRejection,this,void 0))},e.prototype._notifyUnhandledRejectionIsHandled=function(){j("rejectionHandled",x,void 0,this)},e.prototype._setReturnedNonUndefined=function(){this._bitField=268435456|this._bitField},e.prototype._returnedNonUndefined=function(){return 0!==(268435456&this._bitField)},e.prototype._notifyUnhandledRejection=function(){if(this._isRejectionUnhandled()){var t=this._settledValue();this._setUnhandledRejectionIsNotified(),j("unhandledRejection",A,t,this)}},e.prototype._setUnhandledRejectionIsNotified=function(){this._bitField=262144|this._bitField},e.prototype._unsetUnhandledRejectionIsNotified=function(){this._bitField=-262145&this._bitField},e.prototype._isUnhandledRejectionNotified=function(){return(262144&this._bitField)>0},e.prototype._setRejectionIsUnhandled=function(){this._bitField=1048576|this._bitField},e.prototype._unsetRejectionIsUnhandled=function(){this._bitField=-1048577&this._bitField,this._isUnhandledRejectionNotified()&&(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},e.prototype._isRejectionUnhandled=function(){return(1048576&this._bitField)>0},e.prototype._warn=function(t,e,n){return y(t,e,n||this)},e.onPossiblyUnhandledRejection=function(t){var e=L();A="function"==typeof t?null===e?t:e.bind(t):void 0},e.onUnhandledRejectionHandled=function(t){var e=L();x="function"==typeof t?null===e?t:e.bind(t):void 0};var z=function(){};e.longStackTraces=function(){if(I.haveItemsQueued()&&!rt.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");if(!rt.longStackTraces&&O()){var t=e.prototype._captureStackTrace,r=e.prototype._attachExtraTrace;rt.longStackTraces=!0,z=function(){if(I.haveItemsQueued()&&!rt.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");e.prototype._captureStackTrace=t,e.prototype._attachExtraTrace=r,n.deactivateLongStackTraces(),I.enableTrampoline(),rt.longStackTraces=!1},e.prototype._captureStackTrace=h,e.prototype._attachExtraTrace=_,n.activateLongStackTraces(),I.disableTrampolineIfNecessary()}},e.hasLongStackTraces=function(){return rt.longStackTraces&&O()};var X=function(){try{var t=document.createEvent("CustomEvent");return t.initCustomEvent("testingtheevent",!1,!0,{}),H.global.dispatchEvent(t),function(t,e){var n=document.createEvent("CustomEvent");return n.initCustomEvent(t.toLowerCase(),!1,!0,e),!H.global.dispatchEvent(n)}}catch(e){}return function(){return!1}}(),K=function(){return H.isNode?function(){return process.emit.apply(process,arguments)}:H.global?function(t){var e="on"+t.toLowerCase(),n=H.global[e];return n?(n.apply(H.global,[].slice.call(arguments,1)),!0):!1}:function(){return!1}}(),J={promiseCreated:r,promiseFulfilled:r,promiseRejected:r,promiseResolved:r,promiseCancelled:r,promiseChained:function(t,e,n){return{promise:e,child:n}},warning:function(t,e){return{warning:e}},unhandledRejection:function(t,e,n){return{reason:e,promise:n}},rejectionHandled:r},Y=function(t){var e=!1;try{e=K.apply(null,arguments)}catch(n){I.throwLater(n),e=!0}var r=!1;try{r=X(t,J[t].apply(null,arguments))}catch(n){I.throwLater(n),r=!0}return r||e};e.config=function(t){if(t=Object(t),"longStackTraces"in t&&(t.longStackTraces?e.longStackTraces():!t.longStackTraces&&e.hasLongStackTraces()&&z()),"warnings"in t){var n=t.warnings;rt.warnings=!!n,$=rt.warnings,H.isObject(n)&&"wForgottenReturn"in n&&($=!!n.wForgottenReturn)}if("cancellation"in t&&t.cancellation&&!rt.cancellation){if(I.haveItemsQueued())throw new Error("cannot enable cancellation after promises are in use");e.prototype._clearCancellationData=l,e.prototype._propagateFrom=u,e.prototype._onCancel=s,e.prototype._setOnCancel=c,e.prototype._attachCancellationCallback=a,e.prototype._execute=o,Z=u,rt.cancellation=!0}"monitoring"in t&&(t.monitoring&&!rt.monitoring?(rt.monitoring=!0,e.prototype._fireEvent=Y):!t.monitoring&&rt.monitoring&&(rt.monitoring=!1,e.prototype._fireEvent=i))},e.prototype._fireEvent=i,e.prototype._execute=function(t,e,n){try{t(e,n)}catch(r){return r}},e.prototype._onCancel=function(){},e.prototype._setOnCancel=function(t){},e.prototype._attachCancellationCallback=function(t){},e.prototype._captureStackTrace=function(){},e.prototype._attachExtraTrace=function(){},e.prototype._clearCancellationData=function(){},e.prototype._propagateFrom=function(t,e){};var Z=p,tt=function(){return!1},et=/[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/;H.inherits(S,Error),n.CapturedTrace=S,S.prototype.uncycle=function(){var t=this._length;if(!(2>t)){for(var e=[],n={},r=0,i=this;void 0!==i;++r)e.push(i),i=i._parent;t=this._length=r;for(var r=t-1;r>=0;--r){var o=e[r].stack;void 0===n[o]&&(n[o]=r)}for(var r=0;t>r;++r){var a=e[r].stack,s=n[a];if(void 0!==s&&s!==r){s>0&&(e[s-1]._parent=void 0,e[s-1]._length=1),e[r]._parent=void 0,e[r]._length=1;var c=r>0?e[r-1]:this;t-1>s?(c._parent=e[s+1],c._parent.uncycle(),c._length=c._parent._length+1):(c._parent=void 0,c._length=1);for(var l=c._length+1,u=r-2;u>=0;--u)e[u]._length=l,l++;return}}}},S.prototype.attachExtraTrace=function(t){if(!t.__stackCleaned__){this.uncycle();for(var e=w(t),n=e.message,r=[e.stack],i=this;void 0!==i;)r.push(C(i.stack.split("\n"))),i=i._parent;b(r),m(r),H.notEnumerableProp(t,"stack",g(n,r)),H.notEnumerableProp(t,"__stackCleaned__",!0)}};var nt=function(){var t=/^\s*at\s*/,e=function(t,e){return"string"==typeof t?t:void 0!==e.name&&void 0!==e.message?e.toString():F(e)};if("number"==typeof Error.stackTraceLimit&&"function"==typeof Error.captureStackTrace){Error.stackTraceLimit+=6,V=t,Q=e;var n=Error.captureStackTrace;return tt=function(t){return D.test(t)},function(t,e){Error.stackTraceLimit+=6,n(t,e),Error.stackTraceLimit-=6}}var r=new Error;if("string"==typeof r.stack&&r.stack.split("\n")[0].indexOf("stackDetection@")>=0)return V=/@/,Q=e,q=!0,function(t){t.stack=(new Error).stack};var i;try{throw new Error}catch(o){i="stack"in o}return"stack"in r||!i||"number"!=typeof Error.stackTraceLimit?(Q=function(t,e){return"string"==typeof t?t:"object"!=typeof e&&"function"!=typeof e||void 0===e.name||void 0===e.message?F(e):e.toString()},null):(V=t,Q=e,function(t){Error.stackTraceLimit+=6;try{throw new Error}catch(e){t.stack=e.stack}Error.stackTraceLimit-=6})}([]);"undefined"!=typeof console&&"undefined"!=typeof console.warn&&(N=function(t){console.warn(t)},H.isNode&&process.stderr.isTTY?N=function(t,e){var n=e?"":"";console.warn(n+t+"\n")}:H.isNode||"string"!=typeof(new Error).stack||(N=function(t,e){console.warn("%c"+t,e?"color: darkorange":"color: red")}));var rt={warnings:M,longStackTraces:!1,cancellation:!1,monitoring:!1};return W&&e.longStackTraces(),{longStackTraces:function(){return rt.longStackTraces},warnings:function(){return rt.warnings},cancellation:function(){return rt.cancellation},monitoring:function(){return rt.monitoring},propagateFromFunction:function(){return Z},boundValueFunction:function(){return f},checkForgottenReturns:d,setBounds:R,warn:y,deprecated:v,CapturedTrace:S,fireDomEvent:X,fireGlobalEvent:K}}},{"./errors":9,"./util":21}],8:[function(t,e,n){"use strict";e.exports=function(t){function e(){return this.value}function n(){throw this.reason}t.prototype["return"]=t.prototype.thenReturn=function(n){return n instanceof t&&n.suppressUnhandledRejections(),this._then(e,void 0,void 0,{value:n},void 0)},t.prototype["throw"]=t.prototype.thenThrow=function(t){return this._then(n,void 0,void 0,{reason:t},void 0)},t.prototype.catchThrow=function(t){if(arguments.length<=1)return this._then(void 0,n,void 0,{reason:t},void 0);var e=arguments[1],r=function(){throw e};return this.caught(t,r)},t.prototype.catchReturn=function(n){if(arguments.length<=1)return n instanceof t&&n.suppressUnhandledRejections(),this._then(void 0,e,void 0,{value:n},void 0);var r=arguments[1];r instanceof t&&r.suppressUnhandledRejections();var i=function(){return r};return this.caught(n,i)}}},{}],9:[function(t,e,n){"use strict";function r(t,e){function n(r){return this instanceof n?(p(this,"message","string"==typeof r?r:e),p(this,"name",t),void(Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):Error.call(this))):new n(r)}return u(n,Error),n}function i(t){return this instanceof i?(p(this,"name","OperationalError"),p(this,"message",t),this.cause=t,this.isOperational=!0,void(t instanceof Error?(p(this,"message",t.message),p(this,"stack",t.stack)):Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor))):new i(t)}var o,a,s=t("./es5"),c=s.freeze,l=t("./util"),u=l.inherits,p=l.notEnumerableProp,f=r("Warning","warning"),h=r("CancellationError","cancellation error"),_=r("TimeoutError","timeout error"),d=r("AggregateError","aggregate error");try{o=TypeError,a=RangeError}catch(v){o=r("TypeError","type error"),a=r("RangeError","range error")}for(var y="join pop push shift unshift slice filter forEach some every map indexOf lastIndexOf reduce reduceRight sort reverse".split(" "),g=0;g<y.length;++g)"function"==typeof Array.prototype[y[g]]&&(d.prototype[y[g]]=Array.prototype[y[g]]);s.defineProperty(d.prototype,"length",{value:0,configurable:!1,writable:!0,enumerable:!0}),d.prototype.isOperational=!0;var m=0;d.prototype.toString=function(){var t=Array(4*m+1).join(" "),e="\n"+t+"AggregateError of:\n";m++,t=Array(4*m+1).join(" ");for(var n=0;n<this.length;++n){for(var r=this[n]===this?"[Circular AggregateError]":this[n]+"",i=r.split("\n"),o=0;o<i.length;++o)i[o]=t+i[o];r=i.join("\n"),e+=r+"\n"}return m--,e},u(i,Error);var b=Error.__BluebirdErrorTypes__;b||(b=c({CancellationError:h,TimeoutError:_,OperationalError:i,RejectionError:i,AggregateError:d}),s.defineProperty(Error,"__BluebirdErrorTypes__",{value:b,writable:!1,enumerable:!1,configurable:!1})),e.exports={Error:Error,TypeError:o,RangeError:a,CancellationError:b.CancellationError,OperationalError:b.OperationalError,TimeoutError:b.TimeoutError,AggregateError:b.AggregateError,Warning:f}},{"./es5":10,"./util":21}],10:[function(t,e,n){var r=function(){"use strict";return void 0===this}();if(r)e.exports={freeze:Object.freeze,defineProperty:Object.defineProperty,getDescriptor:Object.getOwnPropertyDescriptor,keys:Object.keys,names:Object.getOwnPropertyNames,getPrototypeOf:Object.getPrototypeOf,isArray:Array.isArray,isES5:r,propertyIsWritable:function(t,e){var n=Object.getOwnPropertyDescriptor(t,e);return!(n&&!n.writable&&!n.set)}};else{var i={}.hasOwnProperty,o={}.toString,a={}.constructor.prototype,s=function(t){var e=[];for(var n in t)i.call(t,n)&&e.push(n);return e},c=function(t,e){return{value:t[e]}},l=function(t,e,n){return t[e]=n.value,t},u=function(t){return t},p=function(t){try{return Object(t).constructor.prototype}catch(e){return a}},f=function(t){try{return"[object Array]"===o.call(t)}catch(e){return!1}};e.exports={isArray:f,keys:s,names:s,defineProperty:l,getDescriptor:c,freeze:u,getPrototypeOf:p,isES5:r,propertyIsWritable:function(){return!0}}}},{}],11:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,e,n){this.promise=t,this.type=e,this.handler=n,this.called=!1,this.cancelPromise=null}function i(t){this.finallyHandler=t}function o(t,e){return null!=t.cancelPromise?(arguments.length>1?t.cancelPromise._reject(e):t.cancelPromise._cancel(),t.cancelPromise=null,!0):!1}function a(){return c.call(this,this.promise._target()._settledValue())}function s(t){return o(this,t)?void 0:(p.e=t,p)}function c(t){var r=this.promise,c=this.handler;if(!this.called){this.called=!0;var l=this.isFinallyHandler()?c.call(r._boundValue()):c.call(r._boundValue(),t);if(void 0!==l){r._setReturnedNonUndefined();var f=n(l,r);if(f instanceof e){if(null!=this.cancelPromise){if(f.isCancelled()){var h=new u("late cancellation observer");return r._attachExtraTrace(h),p.e=h,p}f.isPending()&&f._attachCancellationCallback(new i(this))}return f._then(a,s,void 0,this,void 0)}}}return r.isRejected()?(o(this),p.e=t,p):(o(this),t)}var l=t("./util"),u=e.CancellationError,p=l.errorObj;return r.prototype.isFinallyHandler=function(){return 0===this.type},i.prototype._resultCancelled=function(){o(this.finallyHandler)},e.prototype._passThrough=function(t,e,n,i){return"function"!=typeof t?this.then():this._then(n,i,void 0,new r(this,e,t),void 0)},e.prototype.lastly=e.prototype["finally"]=function(t){return this._passThrough(t,0,c,c)},e.prototype.tap=function(t){return this._passThrough(t,1,c)},r}},{"./util":21}],12:[function(t,e,n){"use strict";e.exports=function(e,n,r,i){var o=t("./util");o.canEvaluate,o.tryCatch,o.errorObj;e.join=function(){var t,e=arguments.length-1;if(e>0&&"function"==typeof arguments[e]){t=arguments[e];var r}var i=[].slice.call(arguments);t&&i.pop();var r=new n(i).promise();return void 0!==t?r.spread(t):r}}},{"./util":21}],13:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o){var a=t("./util"),s=a.tryCatch;e.method=function(t){if("function"!=typeof t)throw new e.TypeError("expecting a function but got "+a.classString(t));return function(){var r=new e(n);r._captureStackTrace(),r._pushContext();var i=s(t).apply(this,arguments),a=r._popContext();return o.checkForgottenReturns(i,a,"Promise.method",r),r._resolveFromSyncValue(i),r}},e.attempt=e["try"]=function(t){if("function"!=typeof t)return i("expecting a function but got "+a.classString(t));var r=new e(n);r._captureStackTrace(),r._pushContext();var c;if(arguments.length>1){o.deprecated("calling Promise.try with more than 1 argument");var l=arguments[1],u=arguments[2];c=a.isArray(l)?s(t).apply(u,l):s(t).call(u,l)}else c=s(t)();var p=r._popContext();return o.checkForgottenReturns(c,p,"Promise.try",r),r._resolveFromSyncValue(c),r},e.prototype._resolveFromSyncValue=function(t){t===a.errorObj?this._rejectCallback(t.e,!1):this._resolveCallback(t,!0)}}},{"./util":21}],14:[function(t,e,n){"use strict";function r(t){return t instanceof Error&&u.getPrototypeOf(t)===Error.prototype}function i(t){var e;if(r(t)){e=new l(t),e.name=t.name,e.message=t.message,e.stack=t.stack;for(var n=u.keys(t),i=0;i<n.length;++i){var o=n[i];p.test(o)||(e[o]=t[o])}return e}return a.markAsOriginatingFromRejection(t),t}function o(t,e){return function(n,r){if(null!==t){if(n){var o=i(s(n));t._attachExtraTrace(o),t._reject(o)}else if(e){var a=[].slice.call(arguments,1);t._fulfill(a)}else t._fulfill(r);t=null}}}var a=t("./util"),s=a.maybeWrapAsError,c=t("./errors"),l=c.OperationalError,u=t("./es5"),p=/^(?:name|message|stack|cause)$/;e.exports=o},{"./errors":9,"./es5":10,"./util":21}],15:[function(t,e,n){"use strict";e.exports=function(){function e(){}function n(t,e){if("function"!=typeof e)throw new y("expecting a function but got "+f.classString(e));if(t.constructor!==r)throw new y("the promise constructor cannot be invoked directly\n\n See http://goo.gl/MqrFmX\n")}function r(t){this._bitField=0,this._fulfillmentHandler0=void 0,this._rejectionHandler0=void 0,this._promise0=void 0,this._receiver0=void 0,t!==m&&(n(this,t),this._resolveFromExecutor(t)),this._promiseCreated(),this._fireEvent("promiseCreated",this)}function i(t){this.promise._resolveCallback(t)}function o(t){this.promise._rejectCallback(t,!1)}function a(t){var e=new r(m);e._fulfillmentHandler0=t,e._rejectionHandler0=t,e._promise0=t,e._receiver0=t}var s,c=function(){return new y("circular promise resolution chain\n\n See http://goo.gl/MqrFmX\n")},l=function(){return new r.PromiseInspection(this._target())},u=function(t){return r.reject(new y(t))},p={},f=t("./util");s=f.isNode?function(){var t=process.domain;return void 0===t&&(t=null),t}:function(){return null},f.notEnumerableProp(r,"_getDomain",s);var h=t("./es5"),_=t("./async"),d=new _;h.defineProperty(r,"_async",{value:d});var v=t("./errors"),y=r.TypeError=v.TypeError;r.RangeError=v.RangeError;var g=r.CancellationError=v.CancellationError;r.TimeoutError=v.TimeoutError,r.OperationalError=v.OperationalError,r.RejectionError=v.OperationalError,r.AggregateError=v.AggregateError;var m=function(){},b={},C={},k=t("./thenables")(r,m),w=t("./promise_array")(r,m,k,u,e),E=t("./context")(r),j=(E.create,t("./debuggability")(r,E)),F=(j.CapturedTrace,t("./finally")(r,k)),T=t("./catch_filter")(C),O=t("./nodeback"),P=f.errorObj,R=f.tryCatch;return r.prototype.toString=function(){return"[object Promise]"},r.prototype.caught=r.prototype["catch"]=function(t){var e=arguments.length;if(e>1){var n,r=new Array(e-1),i=0;for(n=0;e-1>n;++n){var o=arguments[n];if(!f.isObject(o))return u("expecting an object but got "+f.classString(o));r[i++]=o}return r.length=i,t=arguments[n],this.then(void 0,T(r,t,this))}return this.then(void 0,t)},r.prototype.reflect=function(){return this._then(l,l,void 0,this,void 0)},r.prototype.then=function(t,e){if(j.warnings()&&arguments.length>0&&"function"!=typeof t&&"function"!=typeof e){var n=".then() only accepts functions but was passed: "+f.classString(t);arguments.length>1&&(n+=", "+f.classString(e)),this._warn(n)}return this._then(t,e,void 0,void 0,void 0)},r.prototype.done=function(t,e){var n=this._then(t,e,void 0,void 0,void 0);n._setIsFinal()},r.prototype.spread=function(t){return"function"!=typeof t?u("expecting a function but got "+f.classString(t)):this.all()._then(t,void 0,void 0,b,void 0)},r.prototype.toJSON=function(){var t={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(t.fulfillmentValue=this.value(),t.isFulfilled=!0):this.isRejected()&&(t.rejectionReason=this.reason(),t.isRejected=!0),t},r.prototype.all=function(){return arguments.length>0&&this._warn(".all() was passed arguments but it does not take any"),new w(this).promise()},r.prototype.error=function(t){return this.caught(f.originatesFromRejection,t)},r.is=function(t){return t instanceof r},r.fromNode=r.fromCallback=function(t){var e=new r(m);e._captureStackTrace();var n=arguments.length>1?!!Object(arguments[1]).multiArgs:!1,i=R(t)(O(e,n));return i===P&&e._rejectCallback(i.e,!0),e._isFateSealed()||e._setAsyncGuaranteed(),e},r.all=function(t){return new w(t).promise()},r.cast=function(t){var e=k(t);return e instanceof r||(e=new r(m),e._captureStackTrace(),e._setFulfilled(),e._rejectionHandler0=t),e},r.resolve=r.fulfilled=r.cast,r.reject=r.rejected=function(t){var e=new r(m);return e._captureStackTrace(),e._rejectCallback(t,!0),e},r.setScheduler=function(t){if("function"!=typeof t)throw new y("expecting a function but got "+f.classString(t));return d.setScheduler(t)},r.prototype._then=function(t,e,n,i,o){var a=void 0!==o,c=a?o:new r(m),l=this._target(),u=l._bitField;a||(c._propagateFrom(this,3),
+c._captureStackTrace(),void 0===i&&0!==(2097152&this._bitField)&&(i=0!==(50397184&u)?this._boundValue():l===this?void 0:this._boundTo),this._fireEvent("promiseChained",this,c));var p=s();if(0!==(50397184&u)){var f,h,_=l._settlePromiseCtx;0!==(33554432&u)?(h=l._rejectionHandler0,f=t):0!==(16777216&u)?(h=l._fulfillmentHandler0,f=e,l._unsetRejectionIsUnhandled()):(_=l._settlePromiseLateCancellationObserver,h=new g("late cancellation observer"),l._attachExtraTrace(h),f=e),d.invoke(_,l,{handler:null===p?f:"function"==typeof f&&p.bind(f),promise:c,receiver:i,value:h})}else l._addCallbacks(t,e,c,i,p);return c},r.prototype._length=function(){return 65535&this._bitField},r.prototype._isFateSealed=function(){return 0!==(117506048&this._bitField)},r.prototype._isFollowing=function(){return 67108864===(67108864&this._bitField)},r.prototype._setLength=function(t){this._bitField=-65536&this._bitField|65535&t},r.prototype._setFulfilled=function(){this._bitField=33554432|this._bitField,this._fireEvent("promiseFulfilled",this)},r.prototype._setRejected=function(){this._bitField=16777216|this._bitField,this._fireEvent("promiseRejected",this)},r.prototype._setFollowing=function(){this._bitField=67108864|this._bitField,this._fireEvent("promiseResolved",this)},r.prototype._setIsFinal=function(){this._bitField=4194304|this._bitField},r.prototype._isFinal=function(){return(4194304&this._bitField)>0},r.prototype._unsetCancelled=function(){this._bitField=-65537&this._bitField},r.prototype._setCancelled=function(){this._bitField=65536|this._bitField,this._fireEvent("promiseCancelled",this)},r.prototype._setAsyncGuaranteed=function(){d.hasCustomScheduler()||(this._bitField=134217728|this._bitField)},r.prototype._receiverAt=function(t){var e=0===t?this._receiver0:this[4*t-4+3];return e===p?void 0:void 0===e&&this._isBound()?this._boundValue():e},r.prototype._promiseAt=function(t){return this[4*t-4+2]},r.prototype._fulfillmentHandlerAt=function(t){return this[4*t-4+0]},r.prototype._rejectionHandlerAt=function(t){return this[4*t-4+1]},r.prototype._boundValue=function(){},r.prototype._migrateCallback0=function(t){var e=(t._bitField,t._fulfillmentHandler0),n=t._rejectionHandler0,r=t._promise0,i=t._receiverAt(0);void 0===i&&(i=p),this._addCallbacks(e,n,r,i,null)},r.prototype._migrateCallbackAt=function(t,e){var n=t._fulfillmentHandlerAt(e),r=t._rejectionHandlerAt(e),i=t._promiseAt(e),o=t._receiverAt(e);void 0===o&&(o=p),this._addCallbacks(n,r,i,o,null)},r.prototype._addCallbacks=function(t,e,n,r,i){var o=this._length();if(o>=65531&&(o=0,this._setLength(0)),0===o)this._promise0=n,this._receiver0=r,"function"==typeof t&&(this._fulfillmentHandler0=null===i?t:i.bind(t)),"function"==typeof e&&(this._rejectionHandler0=null===i?e:i.bind(e));else{var a=4*o-4;this[a+2]=n,this[a+3]=r,"function"==typeof t&&(this[a+0]=null===i?t:i.bind(t)),"function"==typeof e&&(this[a+1]=null===i?e:i.bind(e))}return this._setLength(o+1),o},r.prototype._proxy=function(t,e){this._addCallbacks(void 0,void 0,e,t,null)},r.prototype._resolveCallback=function(t,e){if(0===(117506048&this._bitField)){if(t===this)return this._rejectCallback(c(),!1);var n=k(t,this);if(!(n instanceof r))return this._fulfill(t);e&&this._propagateFrom(n,2);var i=n._target();if(i===this)return void this._reject(c());var o=i._bitField;if(0===(50397184&o)){var a=this._length();a>0&&i._migrateCallback0(this);for(var s=1;a>s;++s)i._migrateCallbackAt(this,s);this._setFollowing(),this._setLength(0),this._setFollowee(i)}else if(0!==(33554432&o))this._fulfill(i._value());else if(0!==(16777216&o))this._reject(i._reason());else{var l=new g("late cancellation observer");i._attachExtraTrace(l),this._reject(l)}}},r.prototype._rejectCallback=function(t,e,n){var r=f.ensureErrorObject(t),i=r===t;if(!i&&!n&&j.warnings()){var o="a promise was rejected with a non-error: "+f.classString(t);this._warn(o,!0)}this._attachExtraTrace(r,e?i:!1),this._reject(t)},r.prototype._resolveFromExecutor=function(t){var e=this;this._captureStackTrace(),this._pushContext();var n=!0,r=this._execute(t,function(t){e._resolveCallback(t)},function(t){e._rejectCallback(t,n)});n=!1,this._popContext(),void 0!==r&&e._rejectCallback(r,!0)},r.prototype._settlePromiseFromHandler=function(t,e,n,r){var i=r._bitField;if(0===(65536&i)){r._pushContext();var o;e===b?n&&"number"==typeof n.length?o=R(t).apply(this._boundValue(),n):(o=P,o.e=new y("cannot .spread() a non-array: "+f.classString(n))):o=R(t).call(e,n);var a=r._popContext();i=r._bitField,0===(65536&i)&&(o===C?r._reject(n):o===P?r._rejectCallback(o.e,!1):(j.checkForgottenReturns(o,a,"",r,this),r._resolveCallback(o)))}},r.prototype._target=function(){for(var t=this;t._isFollowing();)t=t._followee();return t},r.prototype._followee=function(){return this._rejectionHandler0},r.prototype._setFollowee=function(t){this._rejectionHandler0=t},r.prototype._settlePromise=function(t,n,i,o){var a=t instanceof r,s=this._bitField,c=0!==(134217728&s);0!==(65536&s)?(a&&t._invokeInternalOnCancel(),i instanceof F&&i.isFinallyHandler()?(i.cancelPromise=t,R(n).call(i,o)===P&&t._reject(P.e)):n===l?t._fulfill(l.call(i)):i instanceof e?i._promiseCancelled(t):a||t instanceof w?t._cancel():i.cancel()):"function"==typeof n?a?(c&&t._setAsyncGuaranteed(),this._settlePromiseFromHandler(n,i,o,t)):n.call(i,o,t):i instanceof e?i._isResolved()||(0!==(33554432&s)?i._promiseFulfilled(o,t):i._promiseRejected(o,t)):a&&(c&&t._setAsyncGuaranteed(),0!==(33554432&s)?t._fulfill(o):t._reject(o))},r.prototype._settlePromiseLateCancellationObserver=function(t){var e=t.handler,n=t.promise,i=t.receiver,o=t.value;"function"==typeof e?n instanceof r?this._settlePromiseFromHandler(e,i,o,n):e.call(i,o,n):n instanceof r&&n._reject(o)},r.prototype._settlePromiseCtx=function(t){this._settlePromise(t.promise,t.handler,t.receiver,t.value)},r.prototype._settlePromise0=function(t,e,n){var r=this._promise0,i=this._receiverAt(0);this._promise0=void 0,this._receiver0=void 0,this._settlePromise(r,t,i,e)},r.prototype._clearCallbackDataAtIndex=function(t){var e=4*t-4;this[e+2]=this[e+3]=this[e+0]=this[e+1]=void 0},r.prototype._fulfill=function(t){var e=this._bitField;if(!((117506048&e)>>>16)){if(t===this){var n=c();return this._attachExtraTrace(n),this._reject(n)}this._setFulfilled(),this._rejectionHandler0=t,(65535&e)>0&&(0!==(134217728&e)?this._settlePromises():d.settlePromises(this))}},r.prototype._reject=function(t){var e=this._bitField;if(!((117506048&e)>>>16))return this._setRejected(),this._fulfillmentHandler0=t,this._isFinal()?d.fatalError(t,f.isNode):void((65535&e)>0?d.settlePromises(this):this._ensurePossibleRejectionHandled())},r.prototype._fulfillPromises=function(t,e){for(var n=1;t>n;n++){var r=this._fulfillmentHandlerAt(n),i=this._promiseAt(n),o=this._receiverAt(n);this._clearCallbackDataAtIndex(n),this._settlePromise(i,r,o,e)}},r.prototype._rejectPromises=function(t,e){for(var n=1;t>n;n++){var r=this._rejectionHandlerAt(n),i=this._promiseAt(n),o=this._receiverAt(n);this._clearCallbackDataAtIndex(n),this._settlePromise(i,r,o,e)}},r.prototype._settlePromises=function(){var t=this._bitField,e=65535&t;if(e>0){if(0!==(16842752&t)){var n=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,n,t),this._rejectPromises(e,n)}else{var r=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,r,t),this._fulfillPromises(e,r)}this._setLength(0)}this._clearCancellationData()},r.prototype._settledValue=function(){var t=this._bitField;return 0!==(33554432&t)?this._rejectionHandler0:0!==(16777216&t)?this._fulfillmentHandler0:void 0},r.defer=r.pending=function(){j.deprecated("Promise.defer","new Promise");var t=new r(m);return{promise:t,resolve:i,reject:o}},f.notEnumerableProp(r,"_makeSelfResolutionError",c),t("./method")(r,m,k,u,j),t("./bind")(r,m,k,j),t("./cancel")(r,w,u,j),t("./direct_resolve")(r),t("./synchronous_inspection")(r),t("./join")(r,w,k,m,j),r.Promise=r,f.toFastProperties(r),f.toFastProperties(r.prototype),a({a:1}),a({b:2}),a({c:3}),a(1),a(function(){}),a(void 0),a(!1),a(new r(m)),j.setBounds(_.firstLineError,f.lastLineError),r}},{"./async":1,"./bind":2,"./cancel":4,"./catch_filter":5,"./context":6,"./debuggability":7,"./direct_resolve":8,"./errors":9,"./es5":10,"./finally":11,"./join":12,"./method":13,"./nodeback":14,"./promise_array":16,"./synchronous_inspection":19,"./thenables":20,"./util":21}],16:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o){function a(t){switch(t){case-2:return[];case-3:return{}}}function s(t){var r=this._promise=new e(n);t instanceof e&&r._propagateFrom(t,3),r._setOnCancel(this),this._values=t,this._length=0,this._totalResolved=0,this._init(void 0,-2)}var c=t("./util");c.isArray;return c.inherits(s,o),s.prototype.length=function(){return this._length},s.prototype.promise=function(){return this._promise},s.prototype._init=function l(t,n){var o=r(this._values,this._promise);if(o instanceof e){o=o._target();var s=o._bitField;if(this._values=o,0===(50397184&s))return this._promise._setAsyncGuaranteed(),o._then(l,this._reject,void 0,this,n);if(0===(33554432&s))return 0!==(16777216&s)?this._reject(o._reason()):this._cancel();o=o._value()}if(o=c.asArray(o),null===o){var u=i("expecting an array or an iterable object but got "+c.classString(o)).reason();return void this._promise._rejectCallback(u,!1)}return 0===o.length?void(-5===n?this._resolveEmptyArray():this._resolve(a(n))):void this._iterate(o)},s.prototype._iterate=function(t){var n=this.getActualLength(t.length);this._length=n,this._values=this.shouldCopyValues()?new Array(n):this._values;for(var i=this._promise,o=!1,a=null,s=0;n>s;++s){var c=r(t[s],i);c instanceof e?(c=c._target(),a=c._bitField):a=null,o?null!==a&&c.suppressUnhandledRejections():null!==a?0===(50397184&a)?(c._proxy(this,s),this._values[s]=c):o=0!==(33554432&a)?this._promiseFulfilled(c._value(),s):0!==(16777216&a)?this._promiseRejected(c._reason(),s):this._promiseCancelled(s):o=this._promiseFulfilled(c,s)}o||i._setAsyncGuaranteed()},s.prototype._isResolved=function(){return null===this._values},s.prototype._resolve=function(t){this._values=null,this._promise._fulfill(t)},s.prototype._cancel=function(){!this._isResolved()&&this._promise.isCancellable()&&(this._values=null,this._promise._cancel())},s.prototype._reject=function(t){this._values=null,this._promise._rejectCallback(t,!1)},s.prototype._promiseFulfilled=function(t,e){this._values[e]=t;var n=++this._totalResolved;return n>=this._length?(this._resolve(this._values),!0):!1},s.prototype._promiseCancelled=function(){return this._cancel(),!0},s.prototype._promiseRejected=function(t){return this._totalResolved++,this._reject(t),!0},s.prototype._resultCancelled=function(){if(!this._isResolved()){var t=this._values;if(this._cancel(),t instanceof e)t.cancel();else for(var n=0;n<t.length;++n)t[n]instanceof e&&t[n].cancel()}},s.prototype.shouldCopyValues=function(){return!0},s.prototype.getActualLength=function(t){return t},s}},{"./util":21}],17:[function(t,e,n){"use strict";function r(t,e,n,r,i){for(var o=0;i>o;++o)n[o+r]=t[o+e],t[o+e]=void 0}function i(t){this._capacity=t,this._length=0,this._front=0}i.prototype._willBeOverCapacity=function(t){return this._capacity<t},i.prototype._pushOne=function(t){var e=this.length();this._checkCapacity(e+1);var n=this._front+e&this._capacity-1;this[n]=t,this._length=e+1},i.prototype._unshiftOne=function(t){var e=this._capacity;this._checkCapacity(this.length()+1);var n=this._front,r=(n-1&e-1^e)-e;this[r]=t,this._front=r,this._length=this.length()+1},i.prototype.unshift=function(t,e,n){this._unshiftOne(n),this._unshiftOne(e),this._unshiftOne(t)},i.prototype.push=function(t,e,n){var r=this.length()+3;if(this._willBeOverCapacity(r))return this._pushOne(t),this._pushOne(e),void this._pushOne(n);var i=this._front+r-3;this._checkCapacity(r);var o=this._capacity-1;this[i+0&o]=t,this[i+1&o]=e,this[i+2&o]=n,this._length=r},i.prototype.shift=function(){var t=this._front,e=this[t];return this[t]=void 0,this._front=t+1&this._capacity-1,this._length--,e},i.prototype.length=function(){return this._length},i.prototype._checkCapacity=function(t){this._capacity<t&&this._resizeTo(this._capacity<<1)},i.prototype._resizeTo=function(t){var e=this._capacity;this._capacity=t;var n=this._front,i=this._length,o=n+i&e-1;r(this,0,this,e,o)},e.exports=i},{}],18:[function(t,e,n){"use strict";var r,i=t("./util"),o=function(){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")},a=i.getNativePromise();if(i.isNode&&"undefined"==typeof MutationObserver){var s=global.setImmediate,c=process.nextTick;r=i.isRecentNode?function(t){s.call(global,t)}:function(t){c.call(process,t)}}else if("function"==typeof a){var l=a.resolve();r=function(t){l.then(t)}}else r="undefined"==typeof MutationObserver||"undefined"!=typeof window&&window.navigator&&window.navigator.standalone?"undefined"!=typeof setImmediate?function(t){setImmediate(t)}:"undefined"!=typeof setTimeout?function(t){setTimeout(t,0)}:o:function(){var t=document.createElement("div"),e={attributes:!0},n=!1,r=document.createElement("div"),i=new MutationObserver(function(){t.classList.toggle("foo"),n=!1});i.observe(r,e);var o=function(){n||(n=!0,r.classList.toggle("foo"))};return function(n){var r=new MutationObserver(function(){r.disconnect(),n()});r.observe(t,e),o()}}();e.exports=r},{"./util":21}],19:[function(t,e,n){"use strict";e.exports=function(t){function e(t){void 0!==t?(t=t._target(),this._bitField=t._bitField,this._settledValueField=t._isFateSealed()?t._settledValue():void 0):(this._bitField=0,this._settledValueField=void 0)}e.prototype._settledValue=function(){return this._settledValueField};var n=e.prototype.value=function(){if(!this.isFulfilled())throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},r=e.prototype.error=e.prototype.reason=function(){if(!this.isRejected())throw new TypeError("cannot get rejection reason of a non-rejected promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},i=e.prototype.isFulfilled=function(){return 0!==(33554432&this._bitField)},o=e.prototype.isRejected=function(){return 0!==(16777216&this._bitField)},a=e.prototype.isPending=function(){return 0===(50397184&this._bitField)},s=e.prototype.isResolved=function(){return 0!==(50331648&this._bitField)};e.prototype.isCancelled=t.prototype._isCancelled=function(){return 65536===(65536&this._bitField)},t.prototype.isCancelled=function(){return this._target()._isCancelled()},t.prototype.isPending=function(){return a.call(this._target())},t.prototype.isRejected=function(){return o.call(this._target())},t.prototype.isFulfilled=function(){return i.call(this._target())},t.prototype.isResolved=function(){return s.call(this._target())},t.prototype.value=function(){return n.call(this._target())},t.prototype.reason=function(){var t=this._target();return t._unsetRejectionIsUnhandled(),r.call(t)},t.prototype._value=function(){return this._settledValue()},t.prototype._reason=function(){return this._unsetRejectionIsUnhandled(),this._settledValue()},t.PromiseInspection=e}},{}],20:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,r){if(u(t)){if(t instanceof e)return t;var i=o(t);if(i===l){r&&r._pushContext();var c=e.reject(i.e);return r&&r._popContext(),c}if("function"==typeof i){if(a(t)){var c=new e(n);return t._then(c._fulfill,c._reject,void 0,c,null),c}return s(t,i,r)}}return t}function i(t){return t.then}function o(t){try{return i(t)}catch(e){return l.e=e,l}}function a(t){return p.call(t,"_promise0")}function s(t,r,i){function o(t){s&&(s._resolveCallback(t),s=null)}function a(t){s&&(s._rejectCallback(t,p,!0),s=null)}var s=new e(n),u=s;i&&i._pushContext(),s._captureStackTrace(),i&&i._popContext();var p=!0,f=c.tryCatch(r).call(t,o,a);return p=!1,s&&f===l&&(s._rejectCallback(f.e,!0,!0),s=null),u}var c=t("./util"),l=c.errorObj,u=c.isObject,p={}.hasOwnProperty;return r}},{"./util":21}],21:[function(t,e,n){"use strict";function r(){try{var t=O;return O=null,t.apply(this,arguments)}catch(e){return T.e=e,T}}function i(t){return O=t,r}function o(t){return null==t||t===!0||t===!1||"string"==typeof t||"number"==typeof t}function a(t){return"function"==typeof t||"object"==typeof t&&null!==t}function s(t){return o(t)?new Error(v(t)):t}function c(t,e){var n,r=t.length,i=new Array(r+1);for(n=0;r>n;++n)i[n]=t[n];return i[n]=e,i}function l(t,e,n){if(!j.isES5)return{}.hasOwnProperty.call(t,e)?t[e]:void 0;var r=Object.getOwnPropertyDescriptor(t,e);return null!=r?null==r.get&&null==r.set?r.value:n:void 0}function u(t,e,n){if(o(t))return t;var r={value:n,configurable:!0,enumerable:!1,writable:!0};return j.defineProperty(t,e,r),t}function p(t){throw t}function f(t){try{if("function"==typeof t){var e=j.names(t.prototype),n=j.isES5&&e.length>1,r=e.length>0&&!(1===e.length&&"constructor"===e[0]),i=x.test(t+"")&&j.names(t).length>0;if(n||r||i)return!0}return!1}catch(o){return!1}}function h(t){function e(){}e.prototype=t;for(var n=8;n--;)new e;return t}function _(t){return A.test(t)}function d(t,e,n){for(var r=new Array(t),i=0;t>i;++i)r[i]=e+i+n;return r}function v(t){try{return t+""}catch(e){return"[no string representation]"}}function y(t){return null!==t&&"object"==typeof t&&"string"==typeof t.message&&"string"==typeof t.name}function g(t){try{u(t,"isOperational",!0)}catch(e){}}function m(t){return null==t?!1:t instanceof Error.__BluebirdErrorTypes__.OperationalError||t.isOperational===!0}function b(t){return y(t)&&j.propertyIsWritable(t,"stack")}function C(t){return{}.toString.call(t)}function k(t,e,n){for(var r=j.names(t),i=0;i<r.length;++i){var o=r[i];if(n(o))try{j.defineProperty(e,o,j.getDescriptor(t,o))}catch(a){}}}function w(t,e){return U?process.env[t]:e}function E(){if("function"==typeof Promise)try{var t=new Promise(function(){});if("[object Promise]"==={}.toString.call(t))return Promise}catch(e){}}var j=t("./es5"),F="undefined"==typeof navigator,T={e:{}},O,P="undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:void 0!==this?this:null,R=function(t,e){function n(){this.constructor=t,this.constructor$=e;for(var n in e.prototype)r.call(e.prototype,n)&&"$"!==n.charAt(n.length-1)&&(this[n+"$"]=e.prototype[n])}var r={}.hasOwnProperty;return n.prototype=e.prototype,t.prototype=new n,t.prototype},S=function(){var t=[Array.prototype,Object.prototype,Function.prototype],e=function(e){for(var n=0;n<t.length;++n)if(t[n]===e)return!0;return!1};if(j.isES5){var n=Object.getOwnPropertyNames;return function(t){for(var r=[],i=Object.create(null);null!=t&&!e(t);){var o;try{o=n(t)}catch(a){return r}for(var s=0;s<o.length;++s){var c=o[s];if(!i[c]){i[c]=!0;var l=Object.getOwnPropertyDescriptor(t,c);null!=l&&null==l.get&&null==l.set&&r.push(c)}}t=j.getPrototypeOf(t)}return r}}var r={}.hasOwnProperty;return function(n){if(e(n))return[];var i=[];t:for(var o in n)if(r.call(n,o))i.push(o);else{for(var a=0;a<t.length;++a)if(r.call(t[a],o))continue t;i.push(o)}return i}}(),x=/this\s*\.\s*\S+\s*=/,A=/^[a-z$_][a-z$_0-9]*$/i,N=function(){return"stack"in new Error?function(t){return b(t)?t:new Error(v(t))}:function(t){if(b(t))return t;try{throw new Error(v(t))}catch(e){return e}}}(),L=function(t){return j.isArray(t)?t:null};if("undefined"!=typeof Symbol&&Symbol.iterator){var I="function"==typeof Array.from?function(t){return Array.from(t)}:function(t){for(var e,n=[],r=t[Symbol.iterator]();!(e=r.next()).done;)n.push(e.value);return n};L=function(t){return j.isArray(t)?t:null!=t&&"function"==typeof t[Symbol.iterator]?I(t):null}}var U="undefined"!=typeof process&&"[object process]"===C(process).toLowerCase(),H={isClass:f,isIdentifier:_,inheritedDataKeys:S,getDataPropertyOrDefault:l,thrower:p,isArray:j.isArray,asArray:L,notEnumerableProp:u,isPrimitive:o,isObject:a,isError:y,canEvaluate:F,errorObj:T,tryCatch:i,inherits:R,withAppended:c,maybeWrapAsError:s,toFastProperties:h,filledRange:d,toString:v,canAttachTrace:b,ensureErrorObject:N,originatesFromRejection:m,markAsOriginatingFromRejection:g,classString:C,copyDescriptors:k,hasDevTools:"undefined"!=typeof chrome&&chrome&&"function"==typeof chrome.loadTimes,isNode:U,env:w,global:P,getNativePromise:E};H.isRecentNode=H.isNode&&function(){var t=process.versions.node.split(".").map(Number);return 0===t[0]&&t[1]>10||t[0]>0}(),H.isNode&&H.toFastProperties(process);try{throw new Error}catch(B){H.lastLineError=B}e.exports=H},{"./es5":10}]},{},[3])(3)}),"undefined"!=typeof window&&null!==window?window.P=window.Promise:"undefined"!=typeof self&&null!==self&&(self.P=self.Promise); \ No newline at end of file
diff --git a/tools/eslint/node_modules/bluebird/js/browser/bluebird.js b/tools/eslint/node_modules/bluebird/js/browser/bluebird.js
index d073a99856..25ac9b32dd 100644
--- a/tools/eslint/node_modules/bluebird/js/browser/bluebird.js
+++ b/tools/eslint/node_modules/bluebird/js/browser/bluebird.js
@@ -1,18 +1,18 @@
/* @preserve
* The MIT License (MIT)
- *
+ *
* Copyright (c) 2013-2015 Petka Antonov
- *
+ *
* 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
@@ -20,10 +20,10 @@
* 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.
- *
+ *
*/
/**
- * bluebird build version 3.3.4
+ * bluebird build version 3.3.5
* Features enabled: core, race, call_get, generators, map, nodeify, promisify, props, reduce, settle, some, using, timers, filter, any, each
*/
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var f;"undefined"!=typeof window?f=window:"undefined"!=typeof global?f=global:"undefined"!=typeof self&&(f=self),f.Promise=e()}}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof _dereq_=="function"&&_dereq_;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 _dereq_=="function"&&_dereq_;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
@@ -58,6 +58,7 @@ var Queue = _dereq_("./queue");
var util = _dereq_("./util");
function Async() {
+ this._customScheduler = false;
this._isTickUsed = false;
this._lateQueue = new Queue(16);
this._normalQueue = new Queue(16);
@@ -70,6 +71,17 @@ function Async() {
this._schedule = schedule;
}
+Async.prototype.setScheduler = function(fn) {
+ var prev = this._schedule;
+ this._schedule = fn;
+ this._customScheduler = true;
+ return prev;
+};
+
+Async.prototype.hasCustomScheduler = function() {
+ return this._customScheduler;
+};
+
Async.prototype.enableTrampoline = function() {
this._trampolineEnabled = true;
};
@@ -1048,8 +1060,7 @@ function checkForgottenReturns(returnValue, promiseCreated, name, promise,
if (returnValue === undefined && promiseCreated !== null &&
wForgottenReturn) {
if (parent !== undefined && parent._returnedNonUndefined()) return;
- var bitField = promise._bitField;
- if ((bitField & 65535) === 0) return;
+ if ((promise._bitField & 65535) === 0) return;
if (name) name = name + " ";
var msg = "a promise was created in a " + name +
@@ -1951,9 +1962,18 @@ function promiseFromYieldHandler(value, yieldHandlers, traceParent) {
}
function PromiseSpawn(generatorFunction, receiver, yieldHandler, stack) {
- var promise = this._promise = new Promise(INTERNAL);
- promise._captureStackTrace();
- promise._setOnCancel(this);
+ if (debug.cancellation()) {
+ var internal = new Promise(INTERNAL);
+ var _finallyPromise = this._finallyPromise = new Promise(INTERNAL);
+ this._promise = internal.lastly(function() {
+ return _finallyPromise;
+ });
+ internal._captureStackTrace();
+ internal._setOnCancel(this);
+ } else {
+ var promise = this._promise = new Promise(INTERNAL);
+ promise._captureStackTrace();
+ }
this._stack = stack;
this._generatorFunction = generatorFunction;
this._receiver = receiver;
@@ -1962,6 +1982,7 @@ function PromiseSpawn(generatorFunction, receiver, yieldHandler, stack) {
? [yieldHandler].concat(yieldHandlers)
: yieldHandlers;
this._yieldedPromise = null;
+ this._cancellationPhase = false;
}
util.inherits(PromiseSpawn, Proxyable);
@@ -1971,6 +1992,10 @@ PromiseSpawn.prototype._isResolved = function() {
PromiseSpawn.prototype._cleanup = function() {
this._promise = this._generator = null;
+ if (debug.cancellation() && this._finallyPromise !== null) {
+ this._finallyPromise._fulfill();
+ this._finallyPromise = null;
+ }
};
PromiseSpawn.prototype._promiseCancelled = function() {
@@ -1987,22 +2012,15 @@ PromiseSpawn.prototype._promiseCancelled = function() {
result = tryCatch(this._generator["throw"]).call(this._generator,
reason);
this._promise._popContext();
- if (result === errorObj && result.e === reason) {
- result = null;
- }
} else {
this._promise._pushContext();
result = tryCatch(this._generator["return"]).call(this._generator,
undefined);
this._promise._popContext();
}
- var promise = this._promise;
- this._cleanup();
- if (result === errorObj) {
- promise._rejectCallback(result.e, false);
- } else {
- promise.cancel();
- }
+ this._cancellationPhase = true;
+ this._yieldedPromise = null;
+ this._continue(result);
};
PromiseSpawn.prototype._promiseFulfilled = function(value) {
@@ -2027,7 +2045,6 @@ PromiseSpawn.prototype._resultCancelled = function() {
if (this._yieldedPromise instanceof Promise) {
var promise = this._yieldedPromise;
this._yieldedPromise = null;
- this._promiseCancelled();
promise.cancel();
}
};
@@ -2047,13 +2064,21 @@ PromiseSpawn.prototype._continue = function (result) {
var promise = this._promise;
if (result === errorObj) {
this._cleanup();
- return promise._rejectCallback(result.e, false);
+ if (this._cancellationPhase) {
+ return promise.cancel();
+ } else {
+ return promise._rejectCallback(result.e, false);
+ }
}
var value = result.value;
if (result.done === true) {
this._cleanup();
- return promise._resolveCallback(value);
+ if (this._cancellationPhase) {
+ return promise.cancel();
+ } else {
+ return promise._resolveCallback(value);
+ }
} else {
var maybePromise = tryConvertToPromise(value, this._promise);
if (!(maybePromise instanceof Promise)) {
@@ -2811,9 +2836,7 @@ Promise.setScheduler = function(fn) {
if (typeof fn !== "function") {
throw new TypeError("expecting a function but got " + util.classString(fn));
}
- var prev = async._schedule;
- async._schedule = fn;
- return prev;
+ return async.setScheduler(fn);
};
Promise.prototype._then = function (
@@ -2922,6 +2945,7 @@ Promise.prototype._setCancelled = function() {
};
Promise.prototype._setAsyncGuaranteed = function() {
+ if (async.hasCustomScheduler()) return;
this._bitField = this._bitField | 134217728;
};
@@ -3327,42 +3351,42 @@ _dereq_("./join")(
Promise, PromiseArray, tryConvertToPromise, INTERNAL, debug);
Promise.Promise = Promise;
_dereq_('./map.js')(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug);
+_dereq_('./call_get.js')(Promise);
_dereq_('./using.js')(Promise, apiRejection, tryConvertToPromise, createContext, INTERNAL, debug);
_dereq_('./timers.js')(Promise, INTERNAL, debug);
_dereq_('./generators.js')(Promise, apiRejection, INTERNAL, tryConvertToPromise, Proxyable, debug);
_dereq_('./nodeify.js')(Promise);
-_dereq_('./call_get.js')(Promise);
+_dereq_('./promisify.js')(Promise, INTERNAL);
_dereq_('./props.js')(Promise, PromiseArray, tryConvertToPromise, apiRejection);
_dereq_('./race.js')(Promise, INTERNAL, tryConvertToPromise, apiRejection);
_dereq_('./reduce.js')(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug);
_dereq_('./settle.js')(Promise, PromiseArray, debug);
_dereq_('./some.js')(Promise, PromiseArray, apiRejection);
-_dereq_('./promisify.js')(Promise, INTERNAL);
-_dereq_('./any.js')(Promise);
-_dereq_('./each.js')(Promise, INTERNAL);
_dereq_('./filter.js')(Promise, INTERNAL);
-
- util.toFastProperties(Promise);
- util.toFastProperties(Promise.prototype);
- function fillTypes(value) {
- var p = new Promise(INTERNAL);
- p._fulfillmentHandler0 = value;
- p._rejectionHandler0 = value;
- p._promise0 = value;
- p._receiver0 = value;
- }
- // Complete slack tracking, opt out of field-type tracking and
- // stabilize map
- fillTypes({a: 1});
- fillTypes({b: 2});
- fillTypes({c: 3});
- fillTypes(1);
- fillTypes(function(){});
- fillTypes(undefined);
- fillTypes(false);
- fillTypes(new Promise(INTERNAL));
- debug.setBounds(Async.firstLineError, util.lastLineError);
- return Promise;
+_dereq_('./each.js')(Promise, INTERNAL);
+_dereq_('./any.js')(Promise);
+
+ util.toFastProperties(Promise);
+ util.toFastProperties(Promise.prototype);
+ function fillTypes(value) {
+ var p = new Promise(INTERNAL);
+ p._fulfillmentHandler0 = value;
+ p._rejectionHandler0 = value;
+ p._promise0 = value;
+ p._receiver0 = value;
+ }
+ // Complete slack tracking, opt out of field-type tracking and
+ // stabilize map
+ fillTypes({a: 1});
+ fillTypes({b: 2});
+ fillTypes({c: 3});
+ fillTypes(1);
+ fillTypes(function(){});
+ fillTypes(undefined);
+ fillTypes(false);
+ fillTypes(new Promise(INTERNAL));
+ debug.setBounds(Async.firstLineError, util.lastLineError);
+ return Promise;
};
@@ -4302,12 +4326,18 @@ var schedule;
var noAsyncScheduler = function() {
throw new Error("No async scheduler available\u000a\u000a See http://goo.gl/MqrFmX\u000a");
};
+var NativePromise = util.getNativePromise();
if (util.isNode && typeof MutationObserver === "undefined") {
var GlobalSetImmediate = global.setImmediate;
var ProcessNextTick = process.nextTick;
schedule = util.isRecentNode
? function(fn) { GlobalSetImmediate.call(global, fn); }
: function(fn) { ProcessNextTick.call(process, fn); };
+} else if (typeof NativePromise === "function") {
+ var nativePromise = NativePromise.resolve();
+ schedule = function(fn) {
+ nativePromise.then(fn);
+ };
} else if ((typeof MutationObserver !== "undefined") &&
!(typeof window !== "undefined" &&
window.navigator &&
@@ -4319,23 +4349,23 @@ if (util.isNode && typeof MutationObserver === "undefined") {
var div2 = document.createElement("div");
var o2 = new MutationObserver(function() {
div.classList.toggle("foo");
- toggleScheduled = false;
+ toggleScheduled = false;
});
o2.observe(div2, opts);
var scheduleToggle = function() {
if (toggleScheduled) return;
- toggleScheduled = true;
- div2.classList.toggle("foo");
- };
+ toggleScheduled = true;
+ div2.classList.toggle("foo");
+ };
- return function schedule(fn) {
- var o = new MutationObserver(function() {
- o.disconnect();
- fn();
- });
- o.observe(div, opts);
- scheduleToggle();
+ return function schedule(fn) {
+ var o = new MutationObserver(function() {
+ o.disconnect();
+ fn();
+ });
+ o.observe(div, opts);
+ scheduleToggle();
};
})();
} else if (typeof setImmediate !== "undefined") {
@@ -5366,6 +5396,17 @@ function env(key, def) {
return isNode ? process.env[key] : def;
}
+function getNativePromise() {
+ if (typeof Promise === "function") {
+ try {
+ var promise = new Promise(function(){});
+ if ({}.toString.call(promise) === "[object Promise]") {
+ return Promise;
+ }
+ } catch (e) {}
+ }
+}
+
var ret = {
isClass: isClass,
isIdentifier: isIdentifier,
@@ -5397,7 +5438,8 @@ var ret = {
typeof chrome.loadTimes === "function",
isNode: isNode,
env: env,
- global: globalObject
+ global: globalObject,
+ getNativePromise: getNativePromise
};
ret.isRecentNode = ret.isNode && (function() {
var version = process.versions.node.split(".").map(Number);
diff --git a/tools/eslint/node_modules/bluebird/js/browser/bluebird.min.js b/tools/eslint/node_modules/bluebird/js/browser/bluebird.min.js
index 682ca26e71..fc35327f2f 100644
--- a/tools/eslint/node_modules/bluebird/js/browser/bluebird.min.js
+++ b/tools/eslint/node_modules/bluebird/js/browser/bluebird.min.js
@@ -1,18 +1,18 @@
/* @preserve
* The MIT License (MIT)
- *
+ *
* Copyright (c) 2013-2015 Petka Antonov
- *
+ *
* 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
@@ -20,12 +20,12 @@
* 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.
- *
+ *
*/
/**
- * bluebird build version 3.3.4
+ * bluebird build version 3.3.5
* Features enabled: core, race, call_get, generators, map, nodeify, promisify, props, reduce, settle, some, using, timers, filter, any, each
*/
-!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.Promise=t()}}(function(){var t,e,n;return function r(t,e,n){function i(s,a){if(!e[s]){if(!t[s]){var c="function"==typeof _dereq_&&_dereq_;if(!a&&c)return c(s,!0);if(o)return o(s,!0);var l=new Error("Cannot find module '"+s+"'");throw l.code="MODULE_NOT_FOUND",l}var u=e[s]={exports:{}};t[s][0].call(u.exports,function(e){var n=t[s][1][e];return i(n?n:e)},u,u.exports,r,t,e,n)}return e[s].exports}for(var o="function"==typeof _dereq_&&_dereq_,s=0;s<n.length;s++)i(n[s]);return i}({1:[function(t,e,n){"use strict";e.exports=function(t){function e(t){var e=new n(t),r=e.promise();return e.setHowMany(1),e.setUnwrap(),e.init(),r}var n=t._SomePromiseArray;t.any=function(t){return e(t)},t.prototype.any=function(){return e(this)}}},{}],2:[function(t,e,n){"use strict";function r(){this._isTickUsed=!1,this._lateQueue=new u(16),this._normalQueue=new u(16),this._haveDrainedQueues=!1,this._trampolineEnabled=!0;var t=this;this.drainQueues=function(){t._drainQueues()},this._schedule=l}function i(t,e,n){this._lateQueue.push(t,e,n),this._queueTick()}function o(t,e,n){this._normalQueue.push(t,e,n),this._queueTick()}function s(t){this._normalQueue._pushOne(t),this._queueTick()}var a;try{throw new Error}catch(c){a=c}var l=t("./schedule"),u=t("./queue"),p=t("./util");r.prototype.enableTrampoline=function(){this._trampolineEnabled=!0},r.prototype.disableTrampolineIfNecessary=function(){p.hasDevTools&&(this._trampolineEnabled=!1)},r.prototype.haveItemsQueued=function(){return this._isTickUsed||this._haveDrainedQueues},r.prototype.fatalError=function(t,e){e?(process.stderr.write("Fatal "+(t instanceof Error?t.stack:t)+"\n"),process.exit(2)):this.throwLater(t)},r.prototype.throwLater=function(t,e){if(1===arguments.length&&(e=t,t=function(){throw e}),"undefined"!=typeof setTimeout)setTimeout(function(){t(e)},0);else try{this._schedule(function(){t(e)})}catch(n){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")}},p.hasDevTools?(r.prototype.invokeLater=function(t,e,n){this._trampolineEnabled?i.call(this,t,e,n):this._schedule(function(){setTimeout(function(){t.call(e,n)},100)})},r.prototype.invoke=function(t,e,n){this._trampolineEnabled?o.call(this,t,e,n):this._schedule(function(){t.call(e,n)})},r.prototype.settlePromises=function(t){this._trampolineEnabled?s.call(this,t):this._schedule(function(){t._settlePromises()})}):(r.prototype.invokeLater=i,r.prototype.invoke=o,r.prototype.settlePromises=s),r.prototype.invokeFirst=function(t,e,n){this._normalQueue.unshift(t,e,n),this._queueTick()},r.prototype._drainQueue=function(t){for(;t.length()>0;){var e=t.shift();if("function"==typeof e){var n=t.shift(),r=t.shift();e.call(n,r)}else e._settlePromises()}},r.prototype._drainQueues=function(){this._drainQueue(this._normalQueue),this._reset(),this._haveDrainedQueues=!0,this._drainQueue(this._lateQueue)},r.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},r.prototype._reset=function(){this._isTickUsed=!1},e.exports=r,e.exports.firstLineError=a},{"./queue":26,"./schedule":29,"./util":36}],3:[function(t,e,n){"use strict";e.exports=function(t,e,n,r){var i=!1,o=function(t,e){this._reject(e)},s=function(t,e){e.promiseRejectionQueued=!0,e.bindingPromise._then(o,o,null,this,t)},a=function(t,e){0===(50397184&this._bitField)&&this._resolveCallback(e.target)},c=function(t,e){e.promiseRejectionQueued||this._reject(t)};t.prototype.bind=function(o){i||(i=!0,t.prototype._propagateFrom=r.propagateFromFunction(),t.prototype._boundValue=r.boundValueFunction());var l=n(o),u=new t(e);u._propagateFrom(this,1);var p=this._target();if(u._setBoundTo(l),l instanceof t){var h={promiseRejectionQueued:!1,promise:u,target:p,bindingPromise:l};p._then(e,s,void 0,u,h),l._then(a,c,void 0,u,h),u._setOnCancel(l)}else u._resolveCallback(p);return u},t.prototype._setBoundTo=function(t){void 0!==t?(this._bitField=2097152|this._bitField,this._boundTo=t):this._bitField=-2097153&this._bitField},t.prototype._isBound=function(){return 2097152===(2097152&this._bitField)},t.bind=function(e,n){return t.resolve(n).bind(e)}}},{}],4:[function(t,e,n){"use strict";function r(){try{Promise===o&&(Promise=i)}catch(t){}return o}var i;"undefined"!=typeof Promise&&(i=Promise);var o=t("./promise")();o.noConflict=r,e.exports=o},{"./promise":22}],5:[function(t,e,n){"use strict";var r=Object.create;if(r){var i=r(null),o=r(null);i[" size"]=o[" size"]=0}e.exports=function(e){function n(t,n){var r;if(null!=t&&(r=t[n]),"function"!=typeof r){var i="Object "+a.classString(t)+" has no method '"+a.toString(n)+"'";throw new e.TypeError(i)}return r}function r(t){var e=this.pop(),r=n(t,e);return r.apply(t,this)}function i(t){return t[this]}function o(t){var e=+this;return 0>e&&(e=Math.max(0,e+t.length)),t[e]}var s,a=t("./util"),c=a.canEvaluate;a.isIdentifier;e.prototype.call=function(t){var e=[].slice.call(arguments,1);return e.push(t),this._then(r,void 0,void 0,e,void 0)},e.prototype.get=function(t){var e,n="number"==typeof t;if(n)e=o;else if(c){var r=s(t);e=null!==r?r:i}else e=i;return this._then(e,void 0,void 0,t,void 0)}}},{"./util":36}],6:[function(t,e,n){"use strict";e.exports=function(e,n,r,i){var o=t("./util"),s=o.tryCatch,a=o.errorObj,c=e._async;e.prototype["break"]=e.prototype.cancel=function(){if(!i.cancellation())return this._warn("cancellation is disabled");for(var t=this,e=t;t.isCancellable();){if(!t._cancelBy(e)){e._isFollowing()?e._followee().cancel():e._cancelBranched();break}var n=t._cancellationParent;if(null==n||!n.isCancellable()){t._isFollowing()?t._followee().cancel():t._cancelBranched();break}t._isFollowing()&&t._followee().cancel(),e=t,t=n}},e.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--},e.prototype._enoughBranchesHaveCancelled=function(){return void 0===this._branchesRemainingToCancel||this._branchesRemainingToCancel<=0},e.prototype._cancelBy=function(t){return t===this?(this._branchesRemainingToCancel=0,this._invokeOnCancel(),!0):(this._branchHasCancelled(),this._enoughBranchesHaveCancelled()?(this._invokeOnCancel(),!0):!1)},e.prototype._cancelBranched=function(){this._enoughBranchesHaveCancelled()&&this._cancel()},e.prototype._cancel=function(){this.isCancellable()&&(this._setCancelled(),c.invoke(this._cancelPromises,this,void 0))},e.prototype._cancelPromises=function(){this._length()>0&&this._settlePromises()},e.prototype._unsetOnCancel=function(){this._onCancelField=void 0},e.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()},e.prototype._doInvokeOnCancel=function(t,e){if(o.isArray(t))for(var n=0;n<t.length;++n)this._doInvokeOnCancel(t[n],e);else if(void 0!==t)if("function"==typeof t){if(!e){var r=s(t).call(this._boundValue());r===a&&(this._attachExtraTrace(r.e),c.throwLater(r.e))}}else t._resultCancelled(this)},e.prototype._invokeOnCancel=function(){var t=this._onCancel();this._unsetOnCancel(),c.invoke(this._doInvokeOnCancel,this,t)},e.prototype._invokeInternalOnCancel=function(){this.isCancellable()&&(this._doInvokeOnCancel(this._onCancel(),!0),this._unsetOnCancel())},e.prototype._resultCancelled=function(){this.cancel()}}},{"./util":36}],7:[function(t,e,n){"use strict";e.exports=function(e){function n(t,n,a){return function(c){var l=a._boundValue();t:for(var u=0;u<t.length;++u){var p=t[u];if(p===Error||null!=p&&p.prototype instanceof Error){if(c instanceof p)return o(n).call(l,c)}else if("function"==typeof p){var h=o(p).call(l,c);if(h===s)return h;if(h)return o(n).call(l,c)}else if(r.isObject(c)){for(var f=i(p),_=0;_<f.length;++_){var d=f[_];if(p[d]!=c[d])continue t}return o(n).call(l,c)}}return e}}var r=t("./util"),i=t("./es5").keys,o=r.tryCatch,s=r.errorObj;return n}},{"./es5":13,"./util":36}],8:[function(t,e,n){"use strict";e.exports=function(t){function e(){this._trace=new e.CapturedTrace(r())}function n(){return i?new e:void 0}function r(){var t=o.length-1;return t>=0?o[t]:void 0}var i=!1,o=[];return t.prototype._promiseCreated=function(){},t.prototype._pushContext=function(){},t.prototype._popContext=function(){return null},t._peekContext=t.prototype._peekContext=function(){},e.prototype._pushContext=function(){void 0!==this._trace&&(this._trace._promiseCreated=null,o.push(this._trace))},e.prototype._popContext=function(){if(void 0!==this._trace){var t=o.pop(),e=t._promiseCreated;return t._promiseCreated=null,e}return null},e.CapturedTrace=null,e.create=n,e.deactivateLongStackTraces=function(){},e.activateLongStackTraces=function(){var n=t.prototype._pushContext,o=t.prototype._popContext,s=t._peekContext,a=t.prototype._peekContext,c=t.prototype._promiseCreated;e.deactivateLongStackTraces=function(){t.prototype._pushContext=n,t.prototype._popContext=o,t._peekContext=s,t.prototype._peekContext=a,t.prototype._promiseCreated=c,i=!1},i=!0,t.prototype._pushContext=e.prototype._pushContext,t.prototype._popContext=e.prototype._popContext,t._peekContext=t.prototype._peekContext=r,t.prototype._promiseCreated=function(){var t=this._peekContext();t&&null==t._promiseCreated&&(t._promiseCreated=this)}},e}},{}],9:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,e){return{promise:e}}function i(){return!1}function o(t,e,n){var r=this;try{t(e,n,function(t){if("function"!=typeof t)throw new TypeError("onCancel must be a function, got: "+H.toString(t));r._attachCancellationCallback(t)})}catch(i){return i}}function s(t){if(!this.isCancellable())return this;var e=this._onCancel();void 0!==e?H.isArray(e)?e.push(t):this._setOnCancel([e,t]):this._setOnCancel(t)}function a(){return this._onCancelField}function c(t){this._onCancelField=t}function l(){this._cancellationParent=void 0,this._onCancelField=void 0}function u(t,e){if(0!==(1&e)){this._cancellationParent=t;var n=t._branchesRemainingToCancel;void 0===n&&(n=0),t._branchesRemainingToCancel=n+1}0!==(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function p(t,e){0!==(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function h(){var t=this._boundTo;return void 0!==t&&t instanceof e?t.isFulfilled()?t.value():void 0:t}function f(){this._trace=new O(this._peekContext())}function _(t,e){if(N(t)){var n=this._trace;if(void 0!==n&&e&&(n=n._parent),void 0!==n)n.attachExtraTrace(t);else if(!t.__stackCleaned__){var r=j(t);H.notEnumerableProp(t,"stack",r.message+"\n"+r.stack.join("\n")),H.notEnumerableProp(t,"__stackCleaned__",!0)}}}function d(t,e,n,r,i){if(void 0===t&&null!==e&&z){if(void 0!==i&&i._returnedNonUndefined())return;var o=r._bitField;if(0===(65535&o))return;n&&(n+=" ");var s="a promise was created in a "+n+"handler but was not returned from it";r._warn(s,!0,e)}}function v(t,e){var n=t+" is deprecated and will be removed in a future version.";return e&&(n+=" Use "+e+" instead."),y(n)}function y(t,n,r){if(rt.warnings){var i,o=new L(t);if(n)r._attachExtraTrace(o);else if(rt.longStackTraces&&(i=e._peekContext()))i.attachExtraTrace(o);else{var s=j(o);o.stack=s.message+"\n"+s.stack.join("\n")}Y("warning",o)||k(o,"",!0)}}function g(t,e){for(var n=0;n<e.length-1;++n)e[n].push("From previous event:"),e[n]=e[n].join("\n");return n<e.length&&(e[n]=e[n].join("\n")),t+"\n"+e.join("\n")}function m(t){for(var e=0;e<t.length;++e)(0===t[e].length||e+1<t.length&&t[e][0]===t[e+1][0])&&(t.splice(e,1),e--)}function b(t){for(var e=t[0],n=1;n<t.length;++n){for(var r=t[n],i=e.length-1,o=e[i],s=-1,a=r.length-1;a>=0;--a)if(r[a]===o){s=a;break}for(var a=s;a>=0;--a){var c=r[a];if(e[i]!==c)break;e.pop(),i--}e=r}}function w(t){for(var e=[],n=0;n<t.length;++n){var r=t[n],i=" (No stack trace)"===r||B.test(r),o=i&&tt(r);i&&!o&&(q&&" "!==r.charAt(0)&&(r=" "+r),e.push(r))}return e}function C(t){for(var e=t.stack.replace(/\s+$/g,"").split("\n"),n=0;n<e.length;++n){var r=e[n];if(" (No stack trace)"===r||B.test(r))break}return n>0&&(e=e.slice(n)),e}function j(t){var e=t.stack,n=t.toString();return e="string"==typeof e&&e.length>0?C(t):[" (No stack trace)"],{message:n,stack:w(e)}}function k(t,e,n){if("undefined"!=typeof console){var r;if(H.isObject(t)){var i=t.stack;r=e+M(i,t)}else r=e+String(t);"function"==typeof D?D(r,n):("function"==typeof console.log||"object"==typeof console.log)&&console.log(r)}}function E(t,e,n,r){var i=!1;try{"function"==typeof e&&(i=!0,"rejectionHandled"===t?e(r):e(n,r))}catch(o){I.throwLater(o)}"unhandledRejection"===t?Y(t,n,r)||i||k(n,"Unhandled rejection "):Y(t,r)}function F(t){var e;if("function"==typeof t)e="[function "+(t.name||"anonymous")+"]";else{e=t&&"function"==typeof t.toString?t.toString():H.toString(t);var n=/\[object [a-zA-Z0-9$_]+\]/;if(n.test(e))try{var r=JSON.stringify(t);e=r}catch(i){}0===e.length&&(e="(empty array)")}return"(<"+x(e)+">, no stack trace)"}function x(t){var e=41;return t.length<e?t:t.substr(0,e-3)+"..."}function T(){return"function"==typeof nt}function R(t){var e=t.match(et);return e?{fileName:e[1],line:parseInt(e[2],10)}:void 0}function P(t,e){if(T()){for(var n,r,i=t.stack.split("\n"),o=e.stack.split("\n"),s=-1,a=-1,c=0;c<i.length;++c){var l=R(i[c]);if(l){n=l.fileName,s=l.line;break}}for(var c=0;c<o.length;++c){var l=R(o[c]);if(l){r=l.fileName,a=l.line;break}}0>s||0>a||!n||!r||n!==r||s>=a||(tt=function(t){if(U.test(t))return!0;var e=R(t);return e&&e.fileName===n&&s<=e.line&&e.line<=a?!0:!1})}}function O(t){this._parent=t,this._promisesCreated=0;var e=this._length=1+(void 0===t?0:t._length);nt(this,O),e>32&&this.uncycle()}var S,A,D,V=e._getDomain,I=e._async,L=t("./errors").Warning,H=t("./util"),N=H.canAttachTrace,U=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/,B=null,M=null,q=!1,Q=!(0==H.env("BLUEBIRD_DEBUG")||!H.env("BLUEBIRD_DEBUG")&&"development"!==H.env("NODE_ENV")),$=!(0==H.env("BLUEBIRD_WARNINGS")||!Q&&!H.env("BLUEBIRD_WARNINGS")),G=!(0==H.env("BLUEBIRD_LONG_STACK_TRACES")||!Q&&!H.env("BLUEBIRD_LONG_STACK_TRACES")),z=0!=H.env("BLUEBIRD_W_FORGOTTEN_RETURN")&&($||!!H.env("BLUEBIRD_W_FORGOTTEN_RETURN"));e.prototype.suppressUnhandledRejections=function(){var t=this._target();t._bitField=-1048577&t._bitField|524288},e.prototype._ensurePossibleRejectionHandled=function(){0===(524288&this._bitField)&&(this._setRejectionIsUnhandled(),I.invokeLater(this._notifyUnhandledRejection,this,void 0))},e.prototype._notifyUnhandledRejectionIsHandled=function(){E("rejectionHandled",S,void 0,this)},e.prototype._setReturnedNonUndefined=function(){this._bitField=268435456|this._bitField},e.prototype._returnedNonUndefined=function(){return 0!==(268435456&this._bitField)},e.prototype._notifyUnhandledRejection=function(){if(this._isRejectionUnhandled()){var t=this._settledValue();this._setUnhandledRejectionIsNotified(),E("unhandledRejection",A,t,this)}},e.prototype._setUnhandledRejectionIsNotified=function(){this._bitField=262144|this._bitField},e.prototype._unsetUnhandledRejectionIsNotified=function(){this._bitField=-262145&this._bitField},e.prototype._isUnhandledRejectionNotified=function(){return(262144&this._bitField)>0},e.prototype._setRejectionIsUnhandled=function(){this._bitField=1048576|this._bitField},e.prototype._unsetRejectionIsUnhandled=function(){this._bitField=-1048577&this._bitField,this._isUnhandledRejectionNotified()&&(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},e.prototype._isRejectionUnhandled=function(){return(1048576&this._bitField)>0},e.prototype._warn=function(t,e,n){return y(t,e,n||this)},e.onPossiblyUnhandledRejection=function(t){var e=V();A="function"==typeof t?null===e?t:e.bind(t):void 0},e.onUnhandledRejectionHandled=function(t){var e=V();S="function"==typeof t?null===e?t:e.bind(t):void 0};var X=function(){};e.longStackTraces=function(){if(I.haveItemsQueued()&&!rt.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");if(!rt.longStackTraces&&T()){var t=e.prototype._captureStackTrace,r=e.prototype._attachExtraTrace;rt.longStackTraces=!0,X=function(){if(I.haveItemsQueued()&&!rt.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");e.prototype._captureStackTrace=t,e.prototype._attachExtraTrace=r,n.deactivateLongStackTraces(),I.enableTrampoline(),rt.longStackTraces=!1},e.prototype._captureStackTrace=f,e.prototype._attachExtraTrace=_,n.activateLongStackTraces(),I.disableTrampolineIfNecessary()}},e.hasLongStackTraces=function(){return rt.longStackTraces&&T()};var W=function(){try{var t=document.createEvent("CustomEvent");return t.initCustomEvent("testingtheevent",!1,!0,{}),H.global.dispatchEvent(t),function(t,e){var n=document.createEvent("CustomEvent");return n.initCustomEvent(t.toLowerCase(),!1,!0,e),!H.global.dispatchEvent(n)}}catch(e){}return function(){return!1}}(),K=function(){return H.isNode?function(){return process.emit.apply(process,arguments)}:H.global?function(t){var e="on"+t.toLowerCase(),n=H.global[e];return n?(n.apply(H.global,[].slice.call(arguments,1)),!0):!1}:function(){return!1}}(),J={promiseCreated:r,promiseFulfilled:r,promiseRejected:r,promiseResolved:r,promiseCancelled:r,promiseChained:function(t,e,n){return{promise:e,child:n}},warning:function(t,e){return{warning:e}},unhandledRejection:function(t,e,n){return{reason:e,promise:n}},rejectionHandled:r},Y=function(t){var e=!1;try{e=K.apply(null,arguments)}catch(n){I.throwLater(n),e=!0}var r=!1;try{r=W(t,J[t].apply(null,arguments))}catch(n){I.throwLater(n),r=!0}return r||e};e.config=function(t){if(t=Object(t),"longStackTraces"in t&&(t.longStackTraces?e.longStackTraces():!t.longStackTraces&&e.hasLongStackTraces()&&X()),"warnings"in t){var n=t.warnings;rt.warnings=!!n,z=rt.warnings,H.isObject(n)&&"wForgottenReturn"in n&&(z=!!n.wForgottenReturn)}if("cancellation"in t&&t.cancellation&&!rt.cancellation){if(I.haveItemsQueued())throw new Error("cannot enable cancellation after promises are in use");e.prototype._clearCancellationData=l,e.prototype._propagateFrom=u,e.prototype._onCancel=a,e.prototype._setOnCancel=c,e.prototype._attachCancellationCallback=s,e.prototype._execute=o,Z=u,rt.cancellation=!0}"monitoring"in t&&(t.monitoring&&!rt.monitoring?(rt.monitoring=!0,e.prototype._fireEvent=Y):!t.monitoring&&rt.monitoring&&(rt.monitoring=!1,e.prototype._fireEvent=i))},e.prototype._fireEvent=i,e.prototype._execute=function(t,e,n){try{t(e,n)}catch(r){return r}},e.prototype._onCancel=function(){},e.prototype._setOnCancel=function(t){},e.prototype._attachCancellationCallback=function(t){},e.prototype._captureStackTrace=function(){},e.prototype._attachExtraTrace=function(){},e.prototype._clearCancellationData=function(){},e.prototype._propagateFrom=function(t,e){};var Z=p,tt=function(){return!1},et=/[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/;H.inherits(O,Error),n.CapturedTrace=O,O.prototype.uncycle=function(){var t=this._length;if(!(2>t)){for(var e=[],n={},r=0,i=this;void 0!==i;++r)e.push(i),i=i._parent;t=this._length=r;for(var r=t-1;r>=0;--r){var o=e[r].stack;void 0===n[o]&&(n[o]=r)}for(var r=0;t>r;++r){var s=e[r].stack,a=n[s];if(void 0!==a&&a!==r){a>0&&(e[a-1]._parent=void 0,e[a-1]._length=1),e[r]._parent=void 0,e[r]._length=1;var c=r>0?e[r-1]:this;t-1>a?(c._parent=e[a+1],c._parent.uncycle(),c._length=c._parent._length+1):(c._parent=void 0,c._length=1);for(var l=c._length+1,u=r-2;u>=0;--u)e[u]._length=l,l++;return}}}},O.prototype.attachExtraTrace=function(t){if(!t.__stackCleaned__){this.uncycle();for(var e=j(t),n=e.message,r=[e.stack],i=this;void 0!==i;)r.push(w(i.stack.split("\n"))),i=i._parent;b(r),m(r),H.notEnumerableProp(t,"stack",g(n,r)),H.notEnumerableProp(t,"__stackCleaned__",!0)}};var nt=function(){var t=/^\s*at\s*/,e=function(t,e){return"string"==typeof t?t:void 0!==e.name&&void 0!==e.message?e.toString():F(e)};if("number"==typeof Error.stackTraceLimit&&"function"==typeof Error.captureStackTrace){Error.stackTraceLimit+=6,B=t,M=e;var n=Error.captureStackTrace;return tt=function(t){return U.test(t)},function(t,e){Error.stackTraceLimit+=6,n(t,e),Error.stackTraceLimit-=6}}var r=new Error;if("string"==typeof r.stack&&r.stack.split("\n")[0].indexOf("stackDetection@")>=0)return B=/@/,M=e,q=!0,function(t){t.stack=(new Error).stack};var i;try{throw new Error}catch(o){i="stack"in o}return"stack"in r||!i||"number"!=typeof Error.stackTraceLimit?(M=function(t,e){return"string"==typeof t?t:"object"!=typeof e&&"function"!=typeof e||void 0===e.name||void 0===e.message?F(e):e.toString()},null):(B=t,M=e,function(t){Error.stackTraceLimit+=6;try{throw new Error}catch(e){t.stack=e.stack}Error.stackTraceLimit-=6})}([]);"undefined"!=typeof console&&"undefined"!=typeof console.warn&&(D=function(t){console.warn(t)},H.isNode&&process.stderr.isTTY?D=function(t,e){var n=e?"":"";console.warn(n+t+"\n")}:H.isNode||"string"!=typeof(new Error).stack||(D=function(t,e){console.warn("%c"+t,e?"color: darkorange":"color: red")}));var rt={warnings:$,longStackTraces:!1,cancellation:!1,monitoring:!1};return G&&e.longStackTraces(),{longStackTraces:function(){return rt.longStackTraces},warnings:function(){return rt.warnings},cancellation:function(){return rt.cancellation},monitoring:function(){return rt.monitoring},propagateFromFunction:function(){return Z},boundValueFunction:function(){return h},checkForgottenReturns:d,setBounds:P,warn:y,deprecated:v,CapturedTrace:O,fireDomEvent:W,fireGlobalEvent:K}}},{"./errors":12,"./util":36}],10:[function(t,e,n){"use strict";e.exports=function(t){function e(){return this.value}function n(){throw this.reason}t.prototype["return"]=t.prototype.thenReturn=function(n){return n instanceof t&&n.suppressUnhandledRejections(),this._then(e,void 0,void 0,{value:n},void 0)},t.prototype["throw"]=t.prototype.thenThrow=function(t){return this._then(n,void 0,void 0,{reason:t},void 0)},t.prototype.catchThrow=function(t){if(arguments.length<=1)return this._then(void 0,n,void 0,{reason:t},void 0);var e=arguments[1],r=function(){throw e};return this.caught(t,r)},t.prototype.catchReturn=function(n){if(arguments.length<=1)return n instanceof t&&n.suppressUnhandledRejections(),this._then(void 0,e,void 0,{value:n},void 0);var r=arguments[1];r instanceof t&&r.suppressUnhandledRejections();var i=function(){return r};return this.caught(n,i)}}},{}],11:[function(t,e,n){"use strict";e.exports=function(t,e){function n(){return o(this)}function r(t,n){return i(t,n,e,e)}var i=t.reduce,o=t.all;t.prototype.each=function(t){return this.mapSeries(t)._then(n,void 0,void 0,this,void 0)},t.prototype.mapSeries=function(t){return i(this,t,e,e)},t.each=function(t,e){return r(t,e)._then(n,void 0,void 0,t,void 0)},t.mapSeries=r}},{}],12:[function(t,e,n){"use strict";function r(t,e){function n(r){return this instanceof n?(p(this,"message","string"==typeof r?r:e),p(this,"name",t),void(Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):Error.call(this))):new n(r)}return u(n,Error),n}function i(t){return this instanceof i?(p(this,"name","OperationalError"),p(this,"message",t),this.cause=t,this.isOperational=!0,void(t instanceof Error?(p(this,"message",t.message),p(this,"stack",t.stack)):Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor))):new i(t)}var o,s,a=t("./es5"),c=a.freeze,l=t("./util"),u=l.inherits,p=l.notEnumerableProp,h=r("Warning","warning"),f=r("CancellationError","cancellation error"),_=r("TimeoutError","timeout error"),d=r("AggregateError","aggregate error");try{o=TypeError,s=RangeError}catch(v){o=r("TypeError","type error"),s=r("RangeError","range error")}for(var y="join pop push shift unshift slice filter forEach some every map indexOf lastIndexOf reduce reduceRight sort reverse".split(" "),g=0;g<y.length;++g)"function"==typeof Array.prototype[y[g]]&&(d.prototype[y[g]]=Array.prototype[y[g]]);a.defineProperty(d.prototype,"length",{value:0,configurable:!1,writable:!0,enumerable:!0}),d.prototype.isOperational=!0;var m=0;d.prototype.toString=function(){var t=Array(4*m+1).join(" "),e="\n"+t+"AggregateError of:\n";m++,t=Array(4*m+1).join(" ");for(var n=0;n<this.length;++n){for(var r=this[n]===this?"[Circular AggregateError]":this[n]+"",i=r.split("\n"),o=0;o<i.length;++o)i[o]=t+i[o];r=i.join("\n"),e+=r+"\n"}return m--,e},u(i,Error);var b=Error.__BluebirdErrorTypes__;b||(b=c({CancellationError:f,TimeoutError:_,OperationalError:i,RejectionError:i,AggregateError:d}),a.defineProperty(Error,"__BluebirdErrorTypes__",{value:b,writable:!1,enumerable:!1,configurable:!1})),e.exports={Error:Error,TypeError:o,RangeError:s,CancellationError:b.CancellationError,OperationalError:b.OperationalError,TimeoutError:b.TimeoutError,AggregateError:b.AggregateError,Warning:h}},{"./es5":13,"./util":36}],13:[function(t,e,n){var r=function(){"use strict";return void 0===this}();if(r)e.exports={freeze:Object.freeze,defineProperty:Object.defineProperty,getDescriptor:Object.getOwnPropertyDescriptor,keys:Object.keys,names:Object.getOwnPropertyNames,getPrototypeOf:Object.getPrototypeOf,isArray:Array.isArray,isES5:r,propertyIsWritable:function(t,e){var n=Object.getOwnPropertyDescriptor(t,e);return!(n&&!n.writable&&!n.set)}};else{var i={}.hasOwnProperty,o={}.toString,s={}.constructor.prototype,a=function(t){var e=[];for(var n in t)i.call(t,n)&&e.push(n);return e},c=function(t,e){return{value:t[e]}},l=function(t,e,n){return t[e]=n.value,t},u=function(t){return t},p=function(t){try{return Object(t).constructor.prototype}catch(e){return s}},h=function(t){try{return"[object Array]"===o.call(t)}catch(e){return!1}};e.exports={isArray:h,keys:a,names:a,defineProperty:l,getDescriptor:c,freeze:u,getPrototypeOf:p,isES5:r,propertyIsWritable:function(){return!0}}}},{}],14:[function(t,e,n){"use strict";e.exports=function(t,e){var n=t.map;t.prototype.filter=function(t,r){return n(this,t,r,e)},t.filter=function(t,r,i){return n(t,r,i,e)}}},{}],15:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,e,n){this.promise=t,this.type=e,this.handler=n,this.called=!1,this.cancelPromise=null}function i(t){this.finallyHandler=t}function o(t,e){return null!=t.cancelPromise?(arguments.length>1?t.cancelPromise._reject(e):t.cancelPromise._cancel(),t.cancelPromise=null,!0):!1}function s(){return c.call(this,this.promise._target()._settledValue())}function a(t){return o(this,t)?void 0:(p.e=t,p)}function c(t){var r=this.promise,c=this.handler;if(!this.called){this.called=!0;var l=this.isFinallyHandler()?c.call(r._boundValue()):c.call(r._boundValue(),t);if(void 0!==l){r._setReturnedNonUndefined();var h=n(l,r);if(h instanceof e){if(null!=this.cancelPromise){if(h.isCancelled()){var f=new u("late cancellation observer");return r._attachExtraTrace(f),p.e=f,p}h.isPending()&&h._attachCancellationCallback(new i(this))}return h._then(s,a,void 0,this,void 0)}}}return r.isRejected()?(o(this),p.e=t,p):(o(this),t)}var l=t("./util"),u=e.CancellationError,p=l.errorObj;return r.prototype.isFinallyHandler=function(){return 0===this.type},i.prototype._resultCancelled=function(){o(this.finallyHandler)},e.prototype._passThrough=function(t,e,n,i){return"function"!=typeof t?this.then():this._then(n,i,void 0,new r(this,e,t),void 0)},e.prototype.lastly=e.prototype["finally"]=function(t){return this._passThrough(t,0,c,c)},e.prototype.tap=function(t){return this._passThrough(t,1,c)},r}},{"./util":36}],16:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t,n,r){for(var o=0;o<n.length;++o){r._pushContext();var s=f(n[o])(t);if(r._popContext(),s===h){r._pushContext();var a=e.reject(h.e);return r._popContext(),a}var c=i(s,r);if(c instanceof e)return c}return null}function c(t,n,i,o){var s=this._promise=new e(r);s._captureStackTrace(),s._setOnCancel(this),this._stack=o,this._generatorFunction=t,this._receiver=n,this._generator=void 0,this._yieldHandlers="function"==typeof i?[i].concat(_):_,this._yieldedPromise=null}var l=t("./errors"),u=l.TypeError,p=t("./util"),h=p.errorObj,f=p.tryCatch,_=[];p.inherits(c,o),c.prototype._isResolved=function(){return null===this._promise},c.prototype._cleanup=function(){this._promise=this._generator=null},c.prototype._promiseCancelled=function(){if(!this._isResolved()){var t,n="undefined"!=typeof this._generator["return"];if(n)this._promise._pushContext(),t=f(this._generator["return"]).call(this._generator,void 0),this._promise._popContext();else{var r=new e.CancellationError("generator .return() sentinel");e.coroutine.returnSentinel=r,this._promise._attachExtraTrace(r),this._promise._pushContext(),t=f(this._generator["throw"]).call(this._generator,r),this._promise._popContext(),t===h&&t.e===r&&(t=null)}var i=this._promise;this._cleanup(),t===h?i._rejectCallback(t.e,!1):i.cancel()}},c.prototype._promiseFulfilled=function(t){this._yieldedPromise=null,this._promise._pushContext();var e=f(this._generator.next).call(this._generator,t);this._promise._popContext(),this._continue(e)},c.prototype._promiseRejected=function(t){this._yieldedPromise=null,this._promise._attachExtraTrace(t),this._promise._pushContext();var e=f(this._generator["throw"]).call(this._generator,t);this._promise._popContext(),this._continue(e)},c.prototype._resultCancelled=function(){if(this._yieldedPromise instanceof e){var t=this._yieldedPromise;this._yieldedPromise=null,this._promiseCancelled(),t.cancel()}},c.prototype.promise=function(){return this._promise},c.prototype._run=function(){this._generator=this._generatorFunction.call(this._receiver),this._receiver=this._generatorFunction=void 0,this._promiseFulfilled(void 0)},c.prototype._continue=function(t){var n=this._promise;if(t===h)return this._cleanup(),n._rejectCallback(t.e,!1);var r=t.value;if(t.done===!0)return this._cleanup(),n._resolveCallback(r);var o=i(r,this._promise);if(!(o instanceof e)&&(o=a(o,this._yieldHandlers,this._promise),null===o))return void this._promiseRejected(new u("A value %s was yielded that could not be treated as a promise\n\n See http://goo.gl/MqrFmX\n\n".replace("%s",r)+"From coroutine:\n"+this._stack.split("\n").slice(1,-7).join("\n")));o=o._target();var s=o._bitField;0===(50397184&s)?(this._yieldedPromise=o,o._proxy(this,null)):0!==(33554432&s)?this._promiseFulfilled(o._value()):0!==(16777216&s)?this._promiseRejected(o._reason()):this._promiseCancelled()},e.coroutine=function(t,e){if("function"!=typeof t)throw new u("generatorFunction must be a function\n\n See http://goo.gl/MqrFmX\n");var n=Object(e).yieldHandler,r=c,i=(new Error).stack;return function(){var e=t.apply(this,arguments),o=new r(void 0,void 0,n,i),s=o.promise();return o._generator=e,o._promiseFulfilled(void 0),s}},e.coroutine.addYieldHandler=function(t){if("function"!=typeof t)throw new u("expecting a function but got "+p.classString(t));_.push(t)},e.spawn=function(t){if(s.deprecated("Promise.spawn()","Promise.coroutine()"),"function"!=typeof t)return n("generatorFunction must be a function\n\n See http://goo.gl/MqrFmX\n");var r=new c(t,this),i=r.promise();return r._run(e.spawn),i}}},{"./errors":12,"./util":36}],17:[function(t,e,n){"use strict";e.exports=function(e,n,r,i){var o=t("./util");o.canEvaluate,o.tryCatch,o.errorObj;e.join=function(){var t,e=arguments.length-1;if(e>0&&"function"==typeof arguments[e]){t=arguments[e];var r}var i=[].slice.call(arguments);t&&i.pop();var r=new n(i).promise();return void 0!==t?r.spread(t):r}}},{"./util":36}],18:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t,e,n,r){this.constructor$(t),this._promise._captureStackTrace();var i=l();this._callback=null===i?e:i.bind(e),this._preservedValues=r===o?new Array(this.length()):null,this._limit=n,this._inFlight=0,this._queue=n>=1?[]:f,this._init$(void 0,-2)}function c(t,e,n,i){if("function"!=typeof e)return r("expecting a function but got "+u.classString(e));var o="object"==typeof n&&null!==n?n.concurrency:0;return o="number"==typeof o&&isFinite(o)&&o>=1?o:0,new a(t,e,o,i).promise()}var l=e._getDomain,u=t("./util"),p=u.tryCatch,h=u.errorObj,f=[];u.inherits(a,n),a.prototype._init=function(){},a.prototype._promiseFulfilled=function(t,n){
-var r=this._values,o=this.length(),a=this._preservedValues,c=this._limit;if(0>n){if(n=-1*n-1,r[n]=t,c>=1&&(this._inFlight--,this._drainQueue(),this._isResolved()))return!0}else{if(c>=1&&this._inFlight>=c)return r[n]=t,this._queue.push(n),!1;null!==a&&(a[n]=t);var l=this._promise,u=this._callback,f=l._boundValue();l._pushContext();var _=p(u).call(f,t,n,o),d=l._popContext();if(s.checkForgottenReturns(_,d,null!==a?"Promise.filter":"Promise.map",l),_===h)return this._reject(_.e),!0;var v=i(_,this._promise);if(v instanceof e){v=v._target();var y=v._bitField;if(0===(50397184&y))return c>=1&&this._inFlight++,r[n]=v,v._proxy(this,-1*(n+1)),!1;if(0===(33554432&y))return 0!==(16777216&y)?(this._reject(v._reason()),!0):(this._cancel(),!0);_=v._value()}r[n]=_}var g=++this._totalResolved;return g>=o?(null!==a?this._filter(r,a):this._resolve(r),!0):!1},a.prototype._drainQueue=function(){for(var t=this._queue,e=this._limit,n=this._values;t.length>0&&this._inFlight<e;){if(this._isResolved())return;var r=t.pop();this._promiseFulfilled(n[r],r)}},a.prototype._filter=function(t,e){for(var n=e.length,r=new Array(n),i=0,o=0;n>o;++o)t[o]&&(r[i++]=e[o]);r.length=i,this._resolve(r)},a.prototype.preservedValues=function(){return this._preservedValues},e.prototype.map=function(t,e){return c(this,t,e,null)},e.map=function(t,e,n,r){return c(t,e,n,r)}}},{"./util":36}],19:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o){var s=t("./util"),a=s.tryCatch;e.method=function(t){if("function"!=typeof t)throw new e.TypeError("expecting a function but got "+s.classString(t));return function(){var r=new e(n);r._captureStackTrace(),r._pushContext();var i=a(t).apply(this,arguments),s=r._popContext();return o.checkForgottenReturns(i,s,"Promise.method",r),r._resolveFromSyncValue(i),r}},e.attempt=e["try"]=function(t){if("function"!=typeof t)return i("expecting a function but got "+s.classString(t));var r=new e(n);r._captureStackTrace(),r._pushContext();var c;if(arguments.length>1){o.deprecated("calling Promise.try with more than 1 argument");var l=arguments[1],u=arguments[2];c=s.isArray(l)?a(t).apply(u,l):a(t).call(u,l)}else c=a(t)();var p=r._popContext();return o.checkForgottenReturns(c,p,"Promise.try",r),r._resolveFromSyncValue(c),r},e.prototype._resolveFromSyncValue=function(t){t===s.errorObj?this._rejectCallback(t.e,!1):this._resolveCallback(t,!0)}}},{"./util":36}],20:[function(t,e,n){"use strict";function r(t){return t instanceof Error&&u.getPrototypeOf(t)===Error.prototype}function i(t){var e;if(r(t)){e=new l(t),e.name=t.name,e.message=t.message,e.stack=t.stack;for(var n=u.keys(t),i=0;i<n.length;++i){var o=n[i];p.test(o)||(e[o]=t[o])}return e}return s.markAsOriginatingFromRejection(t),t}function o(t,e){return function(n,r){if(null!==t){if(n){var o=i(a(n));t._attachExtraTrace(o),t._reject(o)}else if(e){var s=[].slice.call(arguments,1);t._fulfill(s)}else t._fulfill(r);t=null}}}var s=t("./util"),a=s.maybeWrapAsError,c=t("./errors"),l=c.OperationalError,u=t("./es5"),p=/^(?:name|message|stack|cause)$/;e.exports=o},{"./errors":12,"./es5":13,"./util":36}],21:[function(t,e,n){"use strict";e.exports=function(e){function n(t,e){var n=this;if(!o.isArray(t))return r.call(n,t,e);var i=a(e).apply(n._boundValue(),[null].concat(t));i===c&&s.throwLater(i.e)}function r(t,e){var n=this,r=n._boundValue(),i=void 0===t?a(e).call(r,null):a(e).call(r,null,t);i===c&&s.throwLater(i.e)}function i(t,e){var n=this;if(!t){var r=new Error(t+"");r.cause=t,t=r}var i=a(e).call(n._boundValue(),t);i===c&&s.throwLater(i.e)}var o=t("./util"),s=e._async,a=o.tryCatch,c=o.errorObj;e.prototype.asCallback=e.prototype.nodeify=function(t,e){if("function"==typeof t){var o=r;void 0!==e&&Object(e).spread&&(o=n),this._then(o,i,void 0,this,t)}return this}}},{"./util":36}],22:[function(t,e,n){"use strict";e.exports=function(){function e(){}function n(t,e){if("function"!=typeof e)throw new y("expecting a function but got "+h.classString(e));if(t.constructor!==r)throw new y("the promise constructor cannot be invoked directly\n\n See http://goo.gl/MqrFmX\n")}function r(t){this._bitField=0,this._fulfillmentHandler0=void 0,this._rejectionHandler0=void 0,this._promise0=void 0,this._receiver0=void 0,t!==m&&(n(this,t),this._resolveFromExecutor(t)),this._promiseCreated(),this._fireEvent("promiseCreated",this)}function i(t){this.promise._resolveCallback(t)}function o(t){this.promise._rejectCallback(t,!1)}function s(t){var e=new r(m);e._fulfillmentHandler0=t,e._rejectionHandler0=t,e._promise0=t,e._receiver0=t}var a,c=function(){return new y("circular promise resolution chain\n\n See http://goo.gl/MqrFmX\n")},l=function(){return new r.PromiseInspection(this._target())},u=function(t){return r.reject(new y(t))},p={},h=t("./util");a=h.isNode?function(){var t=process.domain;return void 0===t&&(t=null),t}:function(){return null},h.notEnumerableProp(r,"_getDomain",a);var f=t("./es5"),_=t("./async"),d=new _;f.defineProperty(r,"_async",{value:d});var v=t("./errors"),y=r.TypeError=v.TypeError;r.RangeError=v.RangeError;var g=r.CancellationError=v.CancellationError;r.TimeoutError=v.TimeoutError,r.OperationalError=v.OperationalError,r.RejectionError=v.OperationalError,r.AggregateError=v.AggregateError;var m=function(){},b={},w={},C=t("./thenables")(r,m),j=t("./promise_array")(r,m,C,u,e),k=t("./context")(r),E=k.create,F=t("./debuggability")(r,k),x=(F.CapturedTrace,t("./finally")(r,C)),T=t("./catch_filter")(w),R=t("./nodeback"),P=h.errorObj,O=h.tryCatch;return r.prototype.toString=function(){return"[object Promise]"},r.prototype.caught=r.prototype["catch"]=function(t){var e=arguments.length;if(e>1){var n,r=new Array(e-1),i=0;for(n=0;e-1>n;++n){var o=arguments[n];if(!h.isObject(o))return u("expecting an object but got "+h.classString(o));r[i++]=o}return r.length=i,t=arguments[n],this.then(void 0,T(r,t,this))}return this.then(void 0,t)},r.prototype.reflect=function(){return this._then(l,l,void 0,this,void 0)},r.prototype.then=function(t,e){if(F.warnings()&&arguments.length>0&&"function"!=typeof t&&"function"!=typeof e){var n=".then() only accepts functions but was passed: "+h.classString(t);arguments.length>1&&(n+=", "+h.classString(e)),this._warn(n)}return this._then(t,e,void 0,void 0,void 0)},r.prototype.done=function(t,e){var n=this._then(t,e,void 0,void 0,void 0);n._setIsFinal()},r.prototype.spread=function(t){return"function"!=typeof t?u("expecting a function but got "+h.classString(t)):this.all()._then(t,void 0,void 0,b,void 0)},r.prototype.toJSON=function(){var t={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(t.fulfillmentValue=this.value(),t.isFulfilled=!0):this.isRejected()&&(t.rejectionReason=this.reason(),t.isRejected=!0),t},r.prototype.all=function(){return arguments.length>0&&this._warn(".all() was passed arguments but it does not take any"),new j(this).promise()},r.prototype.error=function(t){return this.caught(h.originatesFromRejection,t)},r.is=function(t){return t instanceof r},r.fromNode=r.fromCallback=function(t){var e=new r(m);e._captureStackTrace();var n=arguments.length>1?!!Object(arguments[1]).multiArgs:!1,i=O(t)(R(e,n));return i===P&&e._rejectCallback(i.e,!0),e._isFateSealed()||e._setAsyncGuaranteed(),e},r.all=function(t){return new j(t).promise()},r.cast=function(t){var e=C(t);return e instanceof r||(e=new r(m),e._captureStackTrace(),e._setFulfilled(),e._rejectionHandler0=t),e},r.resolve=r.fulfilled=r.cast,r.reject=r.rejected=function(t){var e=new r(m);return e._captureStackTrace(),e._rejectCallback(t,!0),e},r.setScheduler=function(t){if("function"!=typeof t)throw new y("expecting a function but got "+h.classString(t));var e=d._schedule;return d._schedule=t,e},r.prototype._then=function(t,e,n,i,o){var s=void 0!==o,c=s?o:new r(m),l=this._target(),u=l._bitField;s||(c._propagateFrom(this,3),c._captureStackTrace(),void 0===i&&0!==(2097152&this._bitField)&&(i=0!==(50397184&u)?this._boundValue():l===this?void 0:this._boundTo),this._fireEvent("promiseChained",this,c));var p=a();if(0!==(50397184&u)){var h,f,_=l._settlePromiseCtx;0!==(33554432&u)?(f=l._rejectionHandler0,h=t):0!==(16777216&u)?(f=l._fulfillmentHandler0,h=e,l._unsetRejectionIsUnhandled()):(_=l._settlePromiseLateCancellationObserver,f=new g("late cancellation observer"),l._attachExtraTrace(f),h=e),d.invoke(_,l,{handler:null===p?h:"function"==typeof h&&p.bind(h),promise:c,receiver:i,value:f})}else l._addCallbacks(t,e,c,i,p);return c},r.prototype._length=function(){return 65535&this._bitField},r.prototype._isFateSealed=function(){return 0!==(117506048&this._bitField)},r.prototype._isFollowing=function(){return 67108864===(67108864&this._bitField)},r.prototype._setLength=function(t){this._bitField=-65536&this._bitField|65535&t},r.prototype._setFulfilled=function(){this._bitField=33554432|this._bitField,this._fireEvent("promiseFulfilled",this)},r.prototype._setRejected=function(){this._bitField=16777216|this._bitField,this._fireEvent("promiseRejected",this)},r.prototype._setFollowing=function(){this._bitField=67108864|this._bitField,this._fireEvent("promiseResolved",this)},r.prototype._setIsFinal=function(){this._bitField=4194304|this._bitField},r.prototype._isFinal=function(){return(4194304&this._bitField)>0},r.prototype._unsetCancelled=function(){this._bitField=-65537&this._bitField},r.prototype._setCancelled=function(){this._bitField=65536|this._bitField,this._fireEvent("promiseCancelled",this)},r.prototype._setAsyncGuaranteed=function(){this._bitField=134217728|this._bitField},r.prototype._receiverAt=function(t){var e=0===t?this._receiver0:this[4*t-4+3];return e===p?void 0:void 0===e&&this._isBound()?this._boundValue():e},r.prototype._promiseAt=function(t){return this[4*t-4+2]},r.prototype._fulfillmentHandlerAt=function(t){return this[4*t-4+0]},r.prototype._rejectionHandlerAt=function(t){return this[4*t-4+1]},r.prototype._boundValue=function(){},r.prototype._migrateCallback0=function(t){var e=(t._bitField,t._fulfillmentHandler0),n=t._rejectionHandler0,r=t._promise0,i=t._receiverAt(0);void 0===i&&(i=p),this._addCallbacks(e,n,r,i,null)},r.prototype._migrateCallbackAt=function(t,e){var n=t._fulfillmentHandlerAt(e),r=t._rejectionHandlerAt(e),i=t._promiseAt(e),o=t._receiverAt(e);void 0===o&&(o=p),this._addCallbacks(n,r,i,o,null)},r.prototype._addCallbacks=function(t,e,n,r,i){var o=this._length();if(o>=65531&&(o=0,this._setLength(0)),0===o)this._promise0=n,this._receiver0=r,"function"==typeof t&&(this._fulfillmentHandler0=null===i?t:i.bind(t)),"function"==typeof e&&(this._rejectionHandler0=null===i?e:i.bind(e));else{var s=4*o-4;this[s+2]=n,this[s+3]=r,"function"==typeof t&&(this[s+0]=null===i?t:i.bind(t)),"function"==typeof e&&(this[s+1]=null===i?e:i.bind(e))}return this._setLength(o+1),o},r.prototype._proxy=function(t,e){this._addCallbacks(void 0,void 0,e,t,null)},r.prototype._resolveCallback=function(t,e){if(0===(117506048&this._bitField)){if(t===this)return this._rejectCallback(c(),!1);var n=C(t,this);if(!(n instanceof r))return this._fulfill(t);e&&this._propagateFrom(n,2);var i=n._target();if(i===this)return void this._reject(c());var o=i._bitField;if(0===(50397184&o)){var s=this._length();s>0&&i._migrateCallback0(this);for(var a=1;s>a;++a)i._migrateCallbackAt(this,a);this._setFollowing(),this._setLength(0),this._setFollowee(i)}else if(0!==(33554432&o))this._fulfill(i._value());else if(0!==(16777216&o))this._reject(i._reason());else{var l=new g("late cancellation observer");i._attachExtraTrace(l),this._reject(l)}}},r.prototype._rejectCallback=function(t,e,n){var r=h.ensureErrorObject(t),i=r===t;if(!i&&!n&&F.warnings()){var o="a promise was rejected with a non-error: "+h.classString(t);this._warn(o,!0)}this._attachExtraTrace(r,e?i:!1),this._reject(t)},r.prototype._resolveFromExecutor=function(t){var e=this;this._captureStackTrace(),this._pushContext();var n=!0,r=this._execute(t,function(t){e._resolveCallback(t)},function(t){e._rejectCallback(t,n)});n=!1,this._popContext(),void 0!==r&&e._rejectCallback(r,!0)},r.prototype._settlePromiseFromHandler=function(t,e,n,r){var i=r._bitField;if(0===(65536&i)){r._pushContext();var o;e===b?n&&"number"==typeof n.length?o=O(t).apply(this._boundValue(),n):(o=P,o.e=new y("cannot .spread() a non-array: "+h.classString(n))):o=O(t).call(e,n);var s=r._popContext();i=r._bitField,0===(65536&i)&&(o===w?r._reject(n):o===P?r._rejectCallback(o.e,!1):(F.checkForgottenReturns(o,s,"",r,this),r._resolveCallback(o)))}},r.prototype._target=function(){for(var t=this;t._isFollowing();)t=t._followee();return t},r.prototype._followee=function(){return this._rejectionHandler0},r.prototype._setFollowee=function(t){this._rejectionHandler0=t},r.prototype._settlePromise=function(t,n,i,o){var s=t instanceof r,a=this._bitField,c=0!==(134217728&a);0!==(65536&a)?(s&&t._invokeInternalOnCancel(),i instanceof x&&i.isFinallyHandler()?(i.cancelPromise=t,O(n).call(i,o)===P&&t._reject(P.e)):n===l?t._fulfill(l.call(i)):i instanceof e?i._promiseCancelled(t):s||t instanceof j?t._cancel():i.cancel()):"function"==typeof n?s?(c&&t._setAsyncGuaranteed(),this._settlePromiseFromHandler(n,i,o,t)):n.call(i,o,t):i instanceof e?i._isResolved()||(0!==(33554432&a)?i._promiseFulfilled(o,t):i._promiseRejected(o,t)):s&&(c&&t._setAsyncGuaranteed(),0!==(33554432&a)?t._fulfill(o):t._reject(o))},r.prototype._settlePromiseLateCancellationObserver=function(t){var e=t.handler,n=t.promise,i=t.receiver,o=t.value;"function"==typeof e?n instanceof r?this._settlePromiseFromHandler(e,i,o,n):e.call(i,o,n):n instanceof r&&n._reject(o)},r.prototype._settlePromiseCtx=function(t){this._settlePromise(t.promise,t.handler,t.receiver,t.value)},r.prototype._settlePromise0=function(t,e,n){var r=this._promise0,i=this._receiverAt(0);this._promise0=void 0,this._receiver0=void 0,this._settlePromise(r,t,i,e)},r.prototype._clearCallbackDataAtIndex=function(t){var e=4*t-4;this[e+2]=this[e+3]=this[e+0]=this[e+1]=void 0},r.prototype._fulfill=function(t){var e=this._bitField;if(!((117506048&e)>>>16)){if(t===this){var n=c();return this._attachExtraTrace(n),this._reject(n)}this._setFulfilled(),this._rejectionHandler0=t,(65535&e)>0&&(0!==(134217728&e)?this._settlePromises():d.settlePromises(this))}},r.prototype._reject=function(t){var e=this._bitField;if(!((117506048&e)>>>16))return this._setRejected(),this._fulfillmentHandler0=t,this._isFinal()?d.fatalError(t,h.isNode):void((65535&e)>0?d.settlePromises(this):this._ensurePossibleRejectionHandled())},r.prototype._fulfillPromises=function(t,e){for(var n=1;t>n;n++){var r=this._fulfillmentHandlerAt(n),i=this._promiseAt(n),o=this._receiverAt(n);this._clearCallbackDataAtIndex(n),this._settlePromise(i,r,o,e)}},r.prototype._rejectPromises=function(t,e){for(var n=1;t>n;n++){var r=this._rejectionHandlerAt(n),i=this._promiseAt(n),o=this._receiverAt(n);this._clearCallbackDataAtIndex(n),this._settlePromise(i,r,o,e)}},r.prototype._settlePromises=function(){var t=this._bitField,e=65535&t;if(e>0){if(0!==(16842752&t)){var n=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,n,t),this._rejectPromises(e,n)}else{var r=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,r,t),this._fulfillPromises(e,r)}this._setLength(0)}this._clearCancellationData()},r.prototype._settledValue=function(){var t=this._bitField;return 0!==(33554432&t)?this._rejectionHandler0:0!==(16777216&t)?this._fulfillmentHandler0:void 0},r.defer=r.pending=function(){F.deprecated("Promise.defer","new Promise");var t=new r(m);return{promise:t,resolve:i,reject:o}},h.notEnumerableProp(r,"_makeSelfResolutionError",c),t("./method")(r,m,C,u,F),t("./bind")(r,m,C,F),t("./cancel")(r,j,u,F),t("./direct_resolve")(r),t("./synchronous_inspection")(r),t("./join")(r,j,C,m,F),r.Promise=r,t("./map.js")(r,j,u,C,m,F),t("./using.js")(r,u,C,E,m,F),t("./timers.js")(r,m,F),t("./generators.js")(r,u,m,C,e,F),t("./nodeify.js")(r),t("./call_get.js")(r),t("./props.js")(r,j,C,u),t("./race.js")(r,m,C,u),t("./reduce.js")(r,j,u,C,m,F),t("./settle.js")(r,j,F),t("./some.js")(r,j,u),t("./promisify.js")(r,m),t("./any.js")(r),t("./each.js")(r,m),t("./filter.js")(r,m),h.toFastProperties(r),h.toFastProperties(r.prototype),s({a:1}),s({b:2}),s({c:3}),s(1),s(function(){}),s(void 0),s(!1),s(new r(m)),F.setBounds(_.firstLineError,h.lastLineError),r}},{"./any.js":1,"./async":2,"./bind":3,"./call_get.js":5,"./cancel":6,"./catch_filter":7,"./context":8,"./debuggability":9,"./direct_resolve":10,"./each.js":11,"./errors":12,"./es5":13,"./filter.js":14,"./finally":15,"./generators.js":16,"./join":17,"./map.js":18,"./method":19,"./nodeback":20,"./nodeify.js":21,"./promise_array":23,"./promisify.js":24,"./props.js":25,"./race.js":27,"./reduce.js":28,"./settle.js":30,"./some.js":31,"./synchronous_inspection":32,"./thenables":33,"./timers.js":34,"./using.js":35,"./util":36}],23:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o){function s(t){switch(t){case-2:return[];case-3:return{}}}function a(t){var r=this._promise=new e(n);t instanceof e&&r._propagateFrom(t,3),r._setOnCancel(this),this._values=t,this._length=0,this._totalResolved=0,this._init(void 0,-2)}var c=t("./util");c.isArray;return c.inherits(a,o),a.prototype.length=function(){return this._length},a.prototype.promise=function(){return this._promise},a.prototype._init=function l(t,n){var o=r(this._values,this._promise);if(o instanceof e){o=o._target();var a=o._bitField;if(this._values=o,0===(50397184&a))return this._promise._setAsyncGuaranteed(),o._then(l,this._reject,void 0,this,n);if(0===(33554432&a))return 0!==(16777216&a)?this._reject(o._reason()):this._cancel();o=o._value()}if(o=c.asArray(o),null===o){var u=i("expecting an array or an iterable object but got "+c.classString(o)).reason();return void this._promise._rejectCallback(u,!1)}return 0===o.length?void(-5===n?this._resolveEmptyArray():this._resolve(s(n))):void this._iterate(o)},a.prototype._iterate=function(t){var n=this.getActualLength(t.length);this._length=n,this._values=this.shouldCopyValues()?new Array(n):this._values;for(var i=this._promise,o=!1,s=null,a=0;n>a;++a){var c=r(t[a],i);c instanceof e?(c=c._target(),s=c._bitField):s=null,o?null!==s&&c.suppressUnhandledRejections():null!==s?0===(50397184&s)?(c._proxy(this,a),this._values[a]=c):o=0!==(33554432&s)?this._promiseFulfilled(c._value(),a):0!==(16777216&s)?this._promiseRejected(c._reason(),a):this._promiseCancelled(a):o=this._promiseFulfilled(c,a)}o||i._setAsyncGuaranteed()},a.prototype._isResolved=function(){return null===this._values},a.prototype._resolve=function(t){this._values=null,this._promise._fulfill(t)},a.prototype._cancel=function(){!this._isResolved()&&this._promise.isCancellable()&&(this._values=null,this._promise._cancel())},a.prototype._reject=function(t){this._values=null,this._promise._rejectCallback(t,!1)},a.prototype._promiseFulfilled=function(t,e){this._values[e]=t;var n=++this._totalResolved;return n>=this._length?(this._resolve(this._values),!0):!1},a.prototype._promiseCancelled=function(){return this._cancel(),!0},a.prototype._promiseRejected=function(t){return this._totalResolved++,this._reject(t),!0},a.prototype._resultCancelled=function(){if(!this._isResolved()){var t=this._values;if(this._cancel(),t instanceof e)t.cancel();else for(var n=0;n<t.length;++n)t[n]instanceof e&&t[n].cancel()}},a.prototype.shouldCopyValues=function(){return!0},a.prototype.getActualLength=function(t){return t},a}},{"./util":36}],24:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t){return!C.test(t)}function i(t){try{return t.__isPromisified__===!0}catch(e){return!1}}function o(t,e,n){var r=f.getDataPropertyOrDefault(t,e+n,b);return r?i(r):!1}function s(t,e,n){for(var r=0;r<t.length;r+=2){var i=t[r];if(n.test(i))for(var o=i.replace(n,""),s=0;s<t.length;s+=2)if(t[s]===o)throw new g("Cannot promisify an API that has normal methods with '%s'-suffix\n\n See http://goo.gl/MqrFmX\n".replace("%s",e))}}function a(t,e,n,r){for(var a=f.inheritedDataKeys(t),c=[],l=0;l<a.length;++l){var u=a[l],p=t[u],h=r===j?!0:j(u,p,t);"function"!=typeof p||i(p)||o(t,u,e)||!r(u,p,t,h)||c.push(u,p)}return s(c,e,n),c}function c(t,r,i,o,s,a){function c(){var i=r;r===h&&(i=this);var o=new e(n);o._captureStackTrace();var s="string"==typeof u&&this!==l?this[u]:t,c=_(o,a);try{s.apply(i,d(arguments,c))}catch(p){o._rejectCallback(v(p),!0,!0)}return o._isFateSealed()||o._setAsyncGuaranteed(),o}var l=function(){return this}(),u=t;return"string"==typeof u&&(t=o),f.notEnumerableProp(c,"__isPromisified__",!0),c}function l(t,e,n,r,i){for(var o=new RegExp(k(e)+"$"),s=a(t,e,o,n),c=0,l=s.length;l>c;c+=2){var u=s[c],p=s[c+1],_=u+e;if(r===E)t[_]=E(u,h,u,p,e,i);else{var d=r(p,function(){return E(u,h,u,p,e,i)});f.notEnumerableProp(d,"__isPromisified__",!0),t[_]=d}}return f.toFastProperties(t),t}function u(t,e,n){return E(t,e,void 0,t,null,n)}var p,h={},f=t("./util"),_=t("./nodeback"),d=f.withAppended,v=f.maybeWrapAsError,y=f.canEvaluate,g=t("./errors").TypeError,m="Async",b={__isPromisified__:!0},w=["arity","length","name","arguments","caller","callee","prototype","__isPromisified__"],C=new RegExp("^(?:"+w.join("|")+")$"),j=function(t){return f.isIdentifier(t)&&"_"!==t.charAt(0)&&"constructor"!==t},k=function(t){return t.replace(/([$])/,"\\$")},E=y?p:c;e.promisify=function(t,e){if("function"!=typeof t)throw new g("expecting a function but got "+f.classString(t));if(i(t))return t;e=Object(e);var n=void 0===e.context?h:e.context,o=!!e.multiArgs,s=u(t,n,o);return f.copyDescriptors(t,s,r),s},e.promisifyAll=function(t,e){if("function"!=typeof t&&"object"!=typeof t)throw new g("the target of promisifyAll must be an object or a function\n\n See http://goo.gl/MqrFmX\n");e=Object(e);var n=!!e.multiArgs,r=e.suffix;"string"!=typeof r&&(r=m);var i=e.filter;"function"!=typeof i&&(i=j);var o=e.promisifier;if("function"!=typeof o&&(o=E),!f.isIdentifier(r))throw new RangeError("suffix must be a valid identifier\n\n See http://goo.gl/MqrFmX\n");for(var s=f.inheritedDataKeys(t),a=0;a<s.length;++a){var c=t[s[a]];"constructor"!==s[a]&&f.isClass(c)&&(l(c.prototype,r,i,o,n),l(c,r,i,o,n))}return l(t,r,i,o,n)}}},{"./errors":12,"./nodeback":20,"./util":36}],25:[function(t,e,n){"use strict";e.exports=function(e,n,r,i){function o(t){var e,n=!1;if(void 0!==a&&t instanceof a)e=p(t),n=!0;else{var r=u.keys(t),i=r.length;e=new Array(2*i);for(var o=0;i>o;++o){var s=r[o];e[o]=t[s],e[o+i]=s}}this.constructor$(e),this._isMap=n,this._init$(void 0,-3)}function s(t){var n,s=r(t);return l(s)?(n=s instanceof e?s._then(e.props,void 0,void 0,void 0,void 0):new o(s).promise(),s instanceof e&&n._propagateFrom(s,2),n):i("cannot await properties of a non-object\n\n See http://goo.gl/MqrFmX\n")}var a,c=t("./util"),l=c.isObject,u=t("./es5");"function"==typeof Map&&(a=Map);var p=function(){function t(t,r){this[e]=t,this[e+n]=r,e++}var e=0,n=0;return function(r){n=r.size,e=0;var i=new Array(2*r.size);return r.forEach(t,i),i}}(),h=function(t){for(var e=new a,n=t.length/2|0,r=0;n>r;++r){var i=t[n+r],o=t[r];e.set(i,o)}return e};c.inherits(o,n),o.prototype._init=function(){},o.prototype._promiseFulfilled=function(t,e){this._values[e]=t;var n=++this._totalResolved;if(n>=this._length){var r;if(this._isMap)r=h(this._values);else{r={};for(var i=this.length(),o=0,s=this.length();s>o;++o)r[this._values[o+i]]=this._values[o]}return this._resolve(r),!0}return!1},o.prototype.shouldCopyValues=function(){return!1},o.prototype.getActualLength=function(t){return t>>1},e.prototype.props=function(){return s(this)},e.props=function(t){return s(t)}}},{"./es5":13,"./util":36}],26:[function(t,e,n){"use strict";function r(t,e,n,r,i){for(var o=0;i>o;++o)n[o+r]=t[o+e],t[o+e]=void 0}function i(t){this._capacity=t,this._length=0,this._front=0}i.prototype._willBeOverCapacity=function(t){return this._capacity<t},i.prototype._pushOne=function(t){var e=this.length();this._checkCapacity(e+1);var n=this._front+e&this._capacity-1;this[n]=t,this._length=e+1},i.prototype._unshiftOne=function(t){var e=this._capacity;this._checkCapacity(this.length()+1);var n=this._front,r=(n-1&e-1^e)-e;this[r]=t,this._front=r,this._length=this.length()+1},i.prototype.unshift=function(t,e,n){this._unshiftOne(n),this._unshiftOne(e),this._unshiftOne(t)},i.prototype.push=function(t,e,n){var r=this.length()+3;if(this._willBeOverCapacity(r))return this._pushOne(t),this._pushOne(e),void this._pushOne(n);var i=this._front+r-3;this._checkCapacity(r);var o=this._capacity-1;this[i+0&o]=t,this[i+1&o]=e,this[i+2&o]=n,this._length=r},i.prototype.shift=function(){var t=this._front,e=this[t];return this[t]=void 0,this._front=t+1&this._capacity-1,this._length--,e},i.prototype.length=function(){return this._length},i.prototype._checkCapacity=function(t){this._capacity<t&&this._resizeTo(this._capacity<<1)},i.prototype._resizeTo=function(t){var e=this._capacity;this._capacity=t;var n=this._front,i=this._length,o=n+i&e-1;r(this,0,this,e,o)},e.exports=i},{}],27:[function(t,e,n){"use strict";e.exports=function(e,n,r,i){function o(t,o){var c=r(t);if(c instanceof e)return a(c);if(t=s.asArray(t),null===t)return i("expecting an array or an iterable object but got "+s.classString(t));var l=new e(n);void 0!==o&&l._propagateFrom(o,3);for(var u=l._fulfill,p=l._reject,h=0,f=t.length;f>h;++h){var _=t[h];(void 0!==_||h in t)&&e.cast(_)._then(u,p,void 0,l,null)}return l}var s=t("./util"),a=function(t){return t.then(function(e){return o(e,t)})};e.race=function(t){return o(t,void 0)},e.prototype.race=function(){return o(this,void 0)}}},{"./util":36}],28:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t,n,r,i){this.constructor$(t);var s=h();this._fn=null===s?n:s.bind(n),void 0!==r&&(r=e.resolve(r),r._attachCancellationCallback(this)),this._initialValue=r,this._currentCancellable=null,this._eachValues=i===o?[]:void 0,this._promise._captureStackTrace(),this._init$(void 0,-5)}function c(t,e){this.isFulfilled()?e._resolve(t):e._reject(t)}function l(t,e,n,i){if("function"!=typeof e)return r("expecting a function but got "+f.classString(e));var o=new a(t,e,n,i);return o.promise()}function u(t){this.accum=t,this.array._gotAccum(t);var n=i(this.value,this.array._promise);return n instanceof e?(this.array._currentCancellable=n,n._then(p,void 0,void 0,this,void 0)):p.call(this,n)}function p(t){var n=this.array,r=n._promise,i=_(n._fn);r._pushContext();var o;o=void 0!==n._eachValues?i.call(r._boundValue(),t,this.index,this.length):i.call(r._boundValue(),this.accum,t,this.index,this.length),o instanceof e&&(n._currentCancellable=o);var a=r._popContext();return s.checkForgottenReturns(o,a,void 0!==n._eachValues?"Promise.each":"Promise.reduce",r),o}var h=e._getDomain,f=t("./util"),_=f.tryCatch;f.inherits(a,n),a.prototype._gotAccum=function(t){void 0!==this._eachValues&&t!==o&&this._eachValues.push(t)},a.prototype._eachComplete=function(t){return this._eachValues.push(t),this._eachValues},a.prototype._init=function(){},a.prototype._resolveEmptyArray=function(){this._resolve(void 0!==this._eachValues?this._eachValues:this._initialValue)},a.prototype.shouldCopyValues=function(){return!1},a.prototype._resolve=function(t){this._promise._resolveCallback(t),this._values=null},a.prototype._resultCancelled=function(t){return t===this._initialValue?this._cancel():void(this._isResolved()||(this._resultCancelled$(),this._currentCancellable instanceof e&&this._currentCancellable.cancel(),this._initialValue instanceof e&&this._initialValue.cancel()))},a.prototype._iterate=function(t){this._values=t;var n,r,i=t.length;if(void 0!==this._initialValue?(n=this._initialValue,r=0):(n=e.resolve(t[0]),r=1),this._currentCancellable=n,!n.isRejected())for(;i>r;++r){var o={accum:null,value:t[r],index:r,length:i,array:this};n=n._then(u,void 0,void 0,o,void 0)}void 0!==this._eachValues&&(n=n._then(this._eachComplete,void 0,void 0,this,void 0)),n._then(c,c,void 0,n,this)},e.prototype.reduce=function(t,e){return l(this,t,e,null)},e.reduce=function(t,e,n,r){return l(t,e,n,r)}}},{"./util":36}],29:[function(t,e,n){"use strict";var r,i=t("./util"),o=function(){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")};if(i.isNode&&"undefined"==typeof MutationObserver){var s=global.setImmediate,a=process.nextTick;r=i.isRecentNode?function(t){s.call(global,t)}:function(t){a.call(process,t)}}else r="undefined"==typeof MutationObserver||"undefined"!=typeof window&&window.navigator&&window.navigator.standalone?"undefined"!=typeof setImmediate?function(t){setImmediate(t)}:"undefined"!=typeof setTimeout?function(t){setTimeout(t,0)}:o:function(){var t=document.createElement("div"),e={attributes:!0},n=!1,r=document.createElement("div"),i=new MutationObserver(function(){t.classList.toggle("foo"),n=!1});i.observe(r,e);var o=function(){n||(n=!0,r.classList.toggle("foo"))};return function(n){var r=new MutationObserver(function(){r.disconnect(),n()});r.observe(t,e),o()}}();e.exports=r},{"./util":36}],30:[function(t,e,n){"use strict";e.exports=function(e,n,r){function i(t){this.constructor$(t)}var o=e.PromiseInspection,s=t("./util");s.inherits(i,n),i.prototype._promiseResolved=function(t,e){this._values[t]=e;var n=++this._totalResolved;return n>=this._length?(this._resolve(this._values),!0):!1},i.prototype._promiseFulfilled=function(t,e){var n=new o;return n._bitField=33554432,n._settledValueField=t,this._promiseResolved(e,n)},i.prototype._promiseRejected=function(t,e){var n=new o;return n._bitField=16777216,n._settledValueField=t,this._promiseResolved(e,n)},e.settle=function(t){return r.deprecated(".settle()",".reflect()"),new i(t).promise()},e.prototype.settle=function(){return e.settle(this)}}},{"./util":36}],31:[function(t,e,n){"use strict";e.exports=function(e,n,r){function i(t){this.constructor$(t),this._howMany=0,this._unwrap=!1,this._initialized=!1}function o(t,e){if((0|e)!==e||0>e)return r("expecting a positive integer\n\n See http://goo.gl/MqrFmX\n");var n=new i(t),o=n.promise();return n.setHowMany(e),n.init(),o}var s=t("./util"),a=t("./errors").RangeError,c=t("./errors").AggregateError,l=s.isArray,u={};s.inherits(i,n),i.prototype._init=function(){if(this._initialized){if(0===this._howMany)return void this._resolve([]);this._init$(void 0,-5);var t=l(this._values);!this._isResolved()&&t&&this._howMany>this._canPossiblyFulfill()&&this._reject(this._getRangeError(this.length()))}},i.prototype.init=function(){this._initialized=!0,this._init()},i.prototype.setUnwrap=function(){this._unwrap=!0},i.prototype.howMany=function(){return this._howMany},i.prototype.setHowMany=function(t){this._howMany=t},i.prototype._promiseFulfilled=function(t){return this._addFulfilled(t),this._fulfilled()===this.howMany()?(this._values.length=this.howMany(),1===this.howMany()&&this._unwrap?this._resolve(this._values[0]):this._resolve(this._values),!0):!1},i.prototype._promiseRejected=function(t){return this._addRejected(t),this._checkOutcome()},i.prototype._promiseCancelled=function(){return this._values instanceof e||null==this._values?this._cancel():(this._addRejected(u),this._checkOutcome())},i.prototype._checkOutcome=function(){if(this.howMany()>this._canPossiblyFulfill()){for(var t=new c,e=this.length();e<this._values.length;++e)this._values[e]!==u&&t.push(this._values[e]);return t.length>0?this._reject(t):this._cancel(),!0}return!1},i.prototype._fulfilled=function(){return this._totalResolved},i.prototype._rejected=function(){return this._values.length-this.length()},i.prototype._addRejected=function(t){this._values.push(t)},i.prototype._addFulfilled=function(t){this._values[this._totalResolved++]=t},i.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()},i.prototype._getRangeError=function(t){var e="Input array must contain at least "+this._howMany+" items but contains only "+t+" items";return new a(e)},i.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))},e.some=function(t,e){return o(t,e)},e.prototype.some=function(t){return o(this,t)},e._SomePromiseArray=i}},{"./errors":12,"./util":36}],32:[function(t,e,n){"use strict";e.exports=function(t){function e(t){void 0!==t?(t=t._target(),
-this._bitField=t._bitField,this._settledValueField=t._isFateSealed()?t._settledValue():void 0):(this._bitField=0,this._settledValueField=void 0)}e.prototype._settledValue=function(){return this._settledValueField};var n=e.prototype.value=function(){if(!this.isFulfilled())throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},r=e.prototype.error=e.prototype.reason=function(){if(!this.isRejected())throw new TypeError("cannot get rejection reason of a non-rejected promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},i=e.prototype.isFulfilled=function(){return 0!==(33554432&this._bitField)},o=e.prototype.isRejected=function(){return 0!==(16777216&this._bitField)},s=e.prototype.isPending=function(){return 0===(50397184&this._bitField)},a=e.prototype.isResolved=function(){return 0!==(50331648&this._bitField)};e.prototype.isCancelled=t.prototype._isCancelled=function(){return 65536===(65536&this._bitField)},t.prototype.isCancelled=function(){return this._target()._isCancelled()},t.prototype.isPending=function(){return s.call(this._target())},t.prototype.isRejected=function(){return o.call(this._target())},t.prototype.isFulfilled=function(){return i.call(this._target())},t.prototype.isResolved=function(){return a.call(this._target())},t.prototype.value=function(){return n.call(this._target())},t.prototype.reason=function(){var t=this._target();return t._unsetRejectionIsUnhandled(),r.call(t)},t.prototype._value=function(){return this._settledValue()},t.prototype._reason=function(){return this._unsetRejectionIsUnhandled(),this._settledValue()},t.PromiseInspection=e}},{}],33:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,r){if(u(t)){if(t instanceof e)return t;var i=o(t);if(i===l){r&&r._pushContext();var c=e.reject(i.e);return r&&r._popContext(),c}if("function"==typeof i){if(s(t)){var c=new e(n);return t._then(c._fulfill,c._reject,void 0,c,null),c}return a(t,i,r)}}return t}function i(t){return t.then}function o(t){try{return i(t)}catch(e){return l.e=e,l}}function s(t){return p.call(t,"_promise0")}function a(t,r,i){function o(t){a&&(a._resolveCallback(t),a=null)}function s(t){a&&(a._rejectCallback(t,p,!0),a=null)}var a=new e(n),u=a;i&&i._pushContext(),a._captureStackTrace(),i&&i._popContext();var p=!0,h=c.tryCatch(r).call(t,o,s);return p=!1,a&&h===l&&(a._rejectCallback(h.e,!0,!0),a=null),u}var c=t("./util"),l=c.errorObj,u=c.isObject,p={}.hasOwnProperty;return r}},{"./util":36}],34:[function(t,e,n){"use strict";e.exports=function(e,n,r){function i(t){this.handle=t}function o(t){return clearTimeout(this.handle),t}function s(t){throw clearTimeout(this.handle),t}var a=t("./util"),c=e.TimeoutError;i.prototype._resultCancelled=function(){clearTimeout(this.handle)};var l=function(t){return u(+this).thenReturn(t)},u=e.delay=function(t,o){var s,a;return void 0!==o?(s=e.resolve(o)._then(l,null,null,t,void 0),r.cancellation()&&o instanceof e&&s._setOnCancel(o)):(s=new e(n),a=setTimeout(function(){s._fulfill()},+t),r.cancellation()&&s._setOnCancel(new i(a))),s._setAsyncGuaranteed(),s};e.prototype.delay=function(t){return u(t,this)};var p=function(t,e,n){var r;r="string"!=typeof e?e instanceof Error?e:new c("operation timed out"):new c(e),a.markAsOriginatingFromRejection(r),t._attachExtraTrace(r),t._reject(r),null!=n&&n.cancel()};e.prototype.timeout=function(t,e){t=+t;var n,a,c=new i(setTimeout(function(){n.isPending()&&p(n,e,a)},t));return r.cancellation()?(a=this.then(),n=a._then(o,s,void 0,c,void 0),n._setOnCancel(c)):n=this._then(o,s,void 0,c,void 0),n}}},{"./util":36}],35:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t){setTimeout(function(){throw t},0)}function c(t){var e=r(t);return e!==t&&"function"==typeof t._isDisposable&&"function"==typeof t._getDisposer&&t._isDisposable()&&e._setDisposable(t._getDisposer()),e}function l(t,n){function i(){if(s>=l)return u._fulfill();var o=c(t[s++]);if(o instanceof e&&o._isDisposable()){try{o=r(o._getDisposer().tryDispose(n),t.promise)}catch(p){return a(p)}if(o instanceof e)return o._then(i,a,null,null,null)}i()}var s=0,l=t.length,u=new e(o);return i(),u}function u(t,e,n){this._data=t,this._promise=e,this._context=n}function p(t,e,n){this.constructor$(t,e,n)}function h(t){return u.isDisposer(t)?(this.resources[this.index]._setDisposable(t),t.promise()):t}function f(t){this.length=t,this.promise=null,this[t-1]=null}var _=t("./util"),d=t("./errors").TypeError,v=t("./util").inherits,y=_.errorObj,g=_.tryCatch;u.prototype.data=function(){return this._data},u.prototype.promise=function(){return this._promise},u.prototype.resource=function(){return this.promise().isFulfilled()?this.promise().value():null},u.prototype.tryDispose=function(t){var e=this.resource(),n=this._context;void 0!==n&&n._pushContext();var r=null!==e?this.doDispose(e,t):null;return void 0!==n&&n._popContext(),this._promise._unsetDisposable(),this._data=null,r},u.isDisposer=function(t){return null!=t&&"function"==typeof t.resource&&"function"==typeof t.tryDispose},v(p,u),p.prototype.doDispose=function(t,e){var n=this.data();return n.call(t,t,e)},f.prototype._resultCancelled=function(){for(var t=this.length,n=0;t>n;++n){var r=this[n];r instanceof e&&r.cancel()}},e.using=function(){var t=arguments.length;if(2>t)return n("you must pass at least 2 arguments to Promise.using");var i=arguments[t-1];if("function"!=typeof i)return n("expecting a function but got "+_.classString(i));var o,a=!0;2===t&&Array.isArray(arguments[0])?(o=arguments[0],t=o.length,a=!1):(o=arguments,t--);for(var c=new f(t),p=0;t>p;++p){var d=o[p];if(u.isDisposer(d)){var v=d;d=d.promise(),d._setDisposable(v)}else{var m=r(d);m instanceof e&&(d=m._then(h,null,null,{resources:c,index:p},void 0))}c[p]=d}for(var b=new Array(c.length),p=0;p<b.length;++p)b[p]=e.resolve(c[p]).reflect();var w=e.all(b).then(function(t){for(var e=0;e<t.length;++e){var n=t[e];if(n.isRejected())return y.e=n.error(),y;if(!n.isFulfilled())return void w.cancel();t[e]=n.value()}C._pushContext(),i=g(i);var r=a?i.apply(void 0,t):i(t),o=C._popContext();return s.checkForgottenReturns(r,o,"Promise.using",C),r}),C=w.lastly(function(){var t=new e.PromiseInspection(w);return l(c,t)});return c.promise=C,C._setOnCancel(c),C},e.prototype._setDisposable=function(t){this._bitField=131072|this._bitField,this._disposer=t},e.prototype._isDisposable=function(){return(131072&this._bitField)>0},e.prototype._getDisposer=function(){return this._disposer},e.prototype._unsetDisposable=function(){this._bitField=-131073&this._bitField,this._disposer=void 0},e.prototype.disposer=function(t){if("function"==typeof t)return new p(t,this,i());throw new d}}},{"./errors":12,"./util":36}],36:[function(t,e,n){"use strict";function r(){try{var t=x;return x=null,t.apply(this,arguments)}catch(e){return F.e=e,F}}function i(t){return x=t,r}function o(t){return null==t||t===!0||t===!1||"string"==typeof t||"number"==typeof t}function s(t){return"function"==typeof t||"object"==typeof t&&null!==t}function a(t){return o(t)?new Error(v(t)):t}function c(t,e){var n,r=t.length,i=new Array(r+1);for(n=0;r>n;++n)i[n]=t[n];return i[n]=e,i}function l(t,e,n){if(!k.isES5)return{}.hasOwnProperty.call(t,e)?t[e]:void 0;var r=Object.getOwnPropertyDescriptor(t,e);return null!=r?null==r.get&&null==r.set?r.value:n:void 0}function u(t,e,n){if(o(t))return t;var r={value:n,configurable:!0,enumerable:!1,writable:!0};return k.defineProperty(t,e,r),t}function p(t){throw t}function h(t){try{if("function"==typeof t){var e=k.names(t.prototype),n=k.isES5&&e.length>1,r=e.length>0&&!(1===e.length&&"constructor"===e[0]),i=O.test(t+"")&&k.names(t).length>0;if(n||r||i)return!0}return!1}catch(o){return!1}}function f(t){function e(){}e.prototype=t;for(var n=8;n--;)new e;return t}function _(t){return S.test(t)}function d(t,e,n){for(var r=new Array(t),i=0;t>i;++i)r[i]=e+i+n;return r}function v(t){try{return t+""}catch(e){return"[no string representation]"}}function y(t){return null!==t&&"object"==typeof t&&"string"==typeof t.message&&"string"==typeof t.name}function g(t){try{u(t,"isOperational",!0)}catch(e){}}function m(t){return null==t?!1:t instanceof Error.__BluebirdErrorTypes__.OperationalError||t.isOperational===!0}function b(t){return y(t)&&k.propertyIsWritable(t,"stack")}function w(t){return{}.toString.call(t)}function C(t,e,n){for(var r=k.names(t),i=0;i<r.length;++i){var o=r[i];if(n(o))try{k.defineProperty(e,o,k.getDescriptor(t,o))}catch(s){}}}function j(t,e){return I?process.env[t]:e}var k=t("./es5"),E="undefined"==typeof navigator,F={e:{}},x,T="undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:void 0!==this?this:null,R=function(t,e){function n(){this.constructor=t,this.constructor$=e;for(var n in e.prototype)r.call(e.prototype,n)&&"$"!==n.charAt(n.length-1)&&(this[n+"$"]=e.prototype[n])}var r={}.hasOwnProperty;return n.prototype=e.prototype,t.prototype=new n,t.prototype},P=function(){var t=[Array.prototype,Object.prototype,Function.prototype],e=function(e){for(var n=0;n<t.length;++n)if(t[n]===e)return!0;return!1};if(k.isES5){var n=Object.getOwnPropertyNames;return function(t){for(var r=[],i=Object.create(null);null!=t&&!e(t);){var o;try{o=n(t)}catch(s){return r}for(var a=0;a<o.length;++a){var c=o[a];if(!i[c]){i[c]=!0;var l=Object.getOwnPropertyDescriptor(t,c);null!=l&&null==l.get&&null==l.set&&r.push(c)}}t=k.getPrototypeOf(t)}return r}}var r={}.hasOwnProperty;return function(n){if(e(n))return[];var i=[];t:for(var o in n)if(r.call(n,o))i.push(o);else{for(var s=0;s<t.length;++s)if(r.call(t[s],o))continue t;i.push(o)}return i}}(),O=/this\s*\.\s*\S+\s*=/,S=/^[a-z$_][a-z$_0-9]*$/i,A=function(){return"stack"in new Error?function(t){return b(t)?t:new Error(v(t))}:function(t){if(b(t))return t;try{throw new Error(v(t))}catch(e){return e}}}(),D=function(t){return k.isArray(t)?t:null};if("undefined"!=typeof Symbol&&Symbol.iterator){var V="function"==typeof Array.from?function(t){return Array.from(t)}:function(t){for(var e,n=[],r=t[Symbol.iterator]();!(e=r.next()).done;)n.push(e.value);return n};D=function(t){return k.isArray(t)?t:null!=t&&"function"==typeof t[Symbol.iterator]?V(t):null}}var I="undefined"!=typeof process&&"[object process]"===w(process).toLowerCase(),L={isClass:h,isIdentifier:_,inheritedDataKeys:P,getDataPropertyOrDefault:l,thrower:p,isArray:k.isArray,asArray:D,notEnumerableProp:u,isPrimitive:o,isObject:s,isError:y,canEvaluate:E,errorObj:F,tryCatch:i,inherits:R,withAppended:c,maybeWrapAsError:a,toFastProperties:f,filledRange:d,toString:v,canAttachTrace:b,ensureErrorObject:A,originatesFromRejection:m,markAsOriginatingFromRejection:g,classString:w,copyDescriptors:C,hasDevTools:"undefined"!=typeof chrome&&chrome&&"function"==typeof chrome.loadTimes,isNode:I,env:j,global:T};L.isRecentNode=L.isNode&&function(){var t=process.versions.node.split(".").map(Number);return 0===t[0]&&t[1]>10||t[0]>0}(),L.isNode&&L.toFastProperties(process);try{throw new Error}catch(H){L.lastLineError=H}e.exports=L},{"./es5":13}]},{},[4])(4)}),"undefined"!=typeof window&&null!==window?window.P=window.Promise:"undefined"!=typeof self&&null!==self&&(self.P=self.Promise); \ No newline at end of file
+!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.Promise=t()}}(function(){var t,e,n;return function r(t,e,n){function i(s,a){if(!e[s]){if(!t[s]){var c="function"==typeof _dereq_&&_dereq_;if(!a&&c)return c(s,!0);if(o)return o(s,!0);var l=new Error("Cannot find module '"+s+"'");throw l.code="MODULE_NOT_FOUND",l}var u=e[s]={exports:{}};t[s][0].call(u.exports,function(e){var n=t[s][1][e];return i(n?n:e)},u,u.exports,r,t,e,n)}return e[s].exports}for(var o="function"==typeof _dereq_&&_dereq_,s=0;s<n.length;s++)i(n[s]);return i}({1:[function(t,e,n){"use strict";e.exports=function(t){function e(t){var e=new n(t),r=e.promise();return e.setHowMany(1),e.setUnwrap(),e.init(),r}var n=t._SomePromiseArray;t.any=function(t){return e(t)},t.prototype.any=function(){return e(this)}}},{}],2:[function(t,e,n){"use strict";function r(){this._customScheduler=!1,this._isTickUsed=!1,this._lateQueue=new u(16),this._normalQueue=new u(16),this._haveDrainedQueues=!1,this._trampolineEnabled=!0;var t=this;this.drainQueues=function(){t._drainQueues()},this._schedule=l}function i(t,e,n){this._lateQueue.push(t,e,n),this._queueTick()}function o(t,e,n){this._normalQueue.push(t,e,n),this._queueTick()}function s(t){this._normalQueue._pushOne(t),this._queueTick()}var a;try{throw new Error}catch(c){a=c}var l=t("./schedule"),u=t("./queue"),p=t("./util");r.prototype.setScheduler=function(t){var e=this._schedule;return this._schedule=t,this._customScheduler=!0,e},r.prototype.hasCustomScheduler=function(){return this._customScheduler},r.prototype.enableTrampoline=function(){this._trampolineEnabled=!0},r.prototype.disableTrampolineIfNecessary=function(){p.hasDevTools&&(this._trampolineEnabled=!1)},r.prototype.haveItemsQueued=function(){return this._isTickUsed||this._haveDrainedQueues},r.prototype.fatalError=function(t,e){e?(process.stderr.write("Fatal "+(t instanceof Error?t.stack:t)+"\n"),process.exit(2)):this.throwLater(t)},r.prototype.throwLater=function(t,e){if(1===arguments.length&&(e=t,t=function(){throw e}),"undefined"!=typeof setTimeout)setTimeout(function(){t(e)},0);else try{this._schedule(function(){t(e)})}catch(n){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")}},p.hasDevTools?(r.prototype.invokeLater=function(t,e,n){this._trampolineEnabled?i.call(this,t,e,n):this._schedule(function(){setTimeout(function(){t.call(e,n)},100)})},r.prototype.invoke=function(t,e,n){this._trampolineEnabled?o.call(this,t,e,n):this._schedule(function(){t.call(e,n)})},r.prototype.settlePromises=function(t){this._trampolineEnabled?s.call(this,t):this._schedule(function(){t._settlePromises()})}):(r.prototype.invokeLater=i,r.prototype.invoke=o,r.prototype.settlePromises=s),r.prototype.invokeFirst=function(t,e,n){this._normalQueue.unshift(t,e,n),this._queueTick()},r.prototype._drainQueue=function(t){for(;t.length()>0;){var e=t.shift();if("function"==typeof e){var n=t.shift(),r=t.shift();e.call(n,r)}else e._settlePromises()}},r.prototype._drainQueues=function(){this._drainQueue(this._normalQueue),this._reset(),this._haveDrainedQueues=!0,this._drainQueue(this._lateQueue)},r.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},r.prototype._reset=function(){this._isTickUsed=!1},e.exports=r,e.exports.firstLineError=a},{"./queue":26,"./schedule":29,"./util":36}],3:[function(t,e,n){"use strict";e.exports=function(t,e,n,r){var i=!1,o=function(t,e){this._reject(e)},s=function(t,e){e.promiseRejectionQueued=!0,e.bindingPromise._then(o,o,null,this,t)},a=function(t,e){0===(50397184&this._bitField)&&this._resolveCallback(e.target)},c=function(t,e){e.promiseRejectionQueued||this._reject(t)};t.prototype.bind=function(o){i||(i=!0,t.prototype._propagateFrom=r.propagateFromFunction(),t.prototype._boundValue=r.boundValueFunction());var l=n(o),u=new t(e);u._propagateFrom(this,1);var p=this._target();if(u._setBoundTo(l),l instanceof t){var h={promiseRejectionQueued:!1,promise:u,target:p,bindingPromise:l};p._then(e,s,void 0,u,h),l._then(a,c,void 0,u,h),u._setOnCancel(l)}else u._resolveCallback(p);return u},t.prototype._setBoundTo=function(t){void 0!==t?(this._bitField=2097152|this._bitField,this._boundTo=t):this._bitField=-2097153&this._bitField},t.prototype._isBound=function(){return 2097152===(2097152&this._bitField)},t.bind=function(e,n){return t.resolve(n).bind(e)}}},{}],4:[function(t,e,n){"use strict";function r(){try{Promise===o&&(Promise=i)}catch(t){}return o}var i;"undefined"!=typeof Promise&&(i=Promise);var o=t("./promise")();o.noConflict=r,e.exports=o},{"./promise":22}],5:[function(t,e,n){"use strict";var r=Object.create;if(r){var i=r(null),o=r(null);i[" size"]=o[" size"]=0}e.exports=function(e){function n(t,n){var r;if(null!=t&&(r=t[n]),"function"!=typeof r){var i="Object "+a.classString(t)+" has no method '"+a.toString(n)+"'";throw new e.TypeError(i)}return r}function r(t){var e=this.pop(),r=n(t,e);return r.apply(t,this)}function i(t){return t[this]}function o(t){var e=+this;return 0>e&&(e=Math.max(0,e+t.length)),t[e]}var s,a=t("./util"),c=a.canEvaluate;a.isIdentifier;e.prototype.call=function(t){var e=[].slice.call(arguments,1);return e.push(t),this._then(r,void 0,void 0,e,void 0)},e.prototype.get=function(t){var e,n="number"==typeof t;if(n)e=o;else if(c){var r=s(t);e=null!==r?r:i}else e=i;return this._then(e,void 0,void 0,t,void 0)}}},{"./util":36}],6:[function(t,e,n){"use strict";e.exports=function(e,n,r,i){var o=t("./util"),s=o.tryCatch,a=o.errorObj,c=e._async;e.prototype["break"]=e.prototype.cancel=function(){if(!i.cancellation())return this._warn("cancellation is disabled");for(var t=this,e=t;t.isCancellable();){if(!t._cancelBy(e)){e._isFollowing()?e._followee().cancel():e._cancelBranched();break}var n=t._cancellationParent;if(null==n||!n.isCancellable()){t._isFollowing()?t._followee().cancel():t._cancelBranched();break}t._isFollowing()&&t._followee().cancel(),e=t,t=n}},e.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--},e.prototype._enoughBranchesHaveCancelled=function(){return void 0===this._branchesRemainingToCancel||this._branchesRemainingToCancel<=0},e.prototype._cancelBy=function(t){return t===this?(this._branchesRemainingToCancel=0,this._invokeOnCancel(),!0):(this._branchHasCancelled(),this._enoughBranchesHaveCancelled()?(this._invokeOnCancel(),!0):!1)},e.prototype._cancelBranched=function(){this._enoughBranchesHaveCancelled()&&this._cancel()},e.prototype._cancel=function(){this.isCancellable()&&(this._setCancelled(),c.invoke(this._cancelPromises,this,void 0))},e.prototype._cancelPromises=function(){this._length()>0&&this._settlePromises()},e.prototype._unsetOnCancel=function(){this._onCancelField=void 0},e.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()},e.prototype._doInvokeOnCancel=function(t,e){if(o.isArray(t))for(var n=0;n<t.length;++n)this._doInvokeOnCancel(t[n],e);else if(void 0!==t)if("function"==typeof t){if(!e){var r=s(t).call(this._boundValue());r===a&&(this._attachExtraTrace(r.e),c.throwLater(r.e))}}else t._resultCancelled(this)},e.prototype._invokeOnCancel=function(){var t=this._onCancel();this._unsetOnCancel(),c.invoke(this._doInvokeOnCancel,this,t)},e.prototype._invokeInternalOnCancel=function(){this.isCancellable()&&(this._doInvokeOnCancel(this._onCancel(),!0),this._unsetOnCancel())},e.prototype._resultCancelled=function(){this.cancel()}}},{"./util":36}],7:[function(t,e,n){"use strict";e.exports=function(e){function n(t,n,a){return function(c){var l=a._boundValue();t:for(var u=0;u<t.length;++u){var p=t[u];if(p===Error||null!=p&&p.prototype instanceof Error){if(c instanceof p)return o(n).call(l,c)}else if("function"==typeof p){var h=o(p).call(l,c);if(h===s)return h;if(h)return o(n).call(l,c)}else if(r.isObject(c)){for(var f=i(p),_=0;_<f.length;++_){var d=f[_];if(p[d]!=c[d])continue t}return o(n).call(l,c)}}return e}}var r=t("./util"),i=t("./es5").keys,o=r.tryCatch,s=r.errorObj;return n}},{"./es5":13,"./util":36}],8:[function(t,e,n){"use strict";e.exports=function(t){function e(){this._trace=new e.CapturedTrace(r())}function n(){return i?new e:void 0}function r(){var t=o.length-1;return t>=0?o[t]:void 0}var i=!1,o=[];return t.prototype._promiseCreated=function(){},t.prototype._pushContext=function(){},t.prototype._popContext=function(){return null},t._peekContext=t.prototype._peekContext=function(){},e.prototype._pushContext=function(){void 0!==this._trace&&(this._trace._promiseCreated=null,o.push(this._trace))},e.prototype._popContext=function(){if(void 0!==this._trace){var t=o.pop(),e=t._promiseCreated;return t._promiseCreated=null,e}return null},e.CapturedTrace=null,e.create=n,e.deactivateLongStackTraces=function(){},e.activateLongStackTraces=function(){var n=t.prototype._pushContext,o=t.prototype._popContext,s=t._peekContext,a=t.prototype._peekContext,c=t.prototype._promiseCreated;e.deactivateLongStackTraces=function(){t.prototype._pushContext=n,t.prototype._popContext=o,t._peekContext=s,t.prototype._peekContext=a,t.prototype._promiseCreated=c,i=!1},i=!0,t.prototype._pushContext=e.prototype._pushContext,t.prototype._popContext=e.prototype._popContext,t._peekContext=t.prototype._peekContext=r,t.prototype._promiseCreated=function(){var t=this._peekContext();t&&null==t._promiseCreated&&(t._promiseCreated=this)}},e}},{}],9:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,e){return{promise:e}}function i(){return!1}function o(t,e,n){var r=this;try{t(e,n,function(t){if("function"!=typeof t)throw new TypeError("onCancel must be a function, got: "+H.toString(t));r._attachCancellationCallback(t)})}catch(i){return i}}function s(t){if(!this.isCancellable())return this;var e=this._onCancel();void 0!==e?H.isArray(e)?e.push(t):this._setOnCancel([e,t]):this._setOnCancel(t)}function a(){return this._onCancelField}function c(t){this._onCancelField=t}function l(){this._cancellationParent=void 0,this._onCancelField=void 0}function u(t,e){if(0!==(1&e)){this._cancellationParent=t;var n=t._branchesRemainingToCancel;void 0===n&&(n=0),t._branchesRemainingToCancel=n+1}0!==(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function p(t,e){0!==(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function h(){var t=this._boundTo;return void 0!==t&&t instanceof e?t.isFulfilled()?t.value():void 0:t}function f(){this._trace=new S(this._peekContext())}function _(t,e){if(N(t)){var n=this._trace;if(void 0!==n&&e&&(n=n._parent),void 0!==n)n.attachExtraTrace(t);else if(!t.__stackCleaned__){var r=j(t);H.notEnumerableProp(t,"stack",r.message+"\n"+r.stack.join("\n")),H.notEnumerableProp(t,"__stackCleaned__",!0)}}}function d(t,e,n,r,i){if(void 0===t&&null!==e&&z){if(void 0!==i&&i._returnedNonUndefined())return;if(0===(65535&r._bitField))return;n&&(n+=" ");var o="a promise was created in a "+n+"handler but was not returned from it";r._warn(o,!0,e)}}function v(t,e){var n=t+" is deprecated and will be removed in a future version.";return e&&(n+=" Use "+e+" instead."),y(n)}function y(t,n,r){if(rt.warnings){var i,o=new L(t);if(n)r._attachExtraTrace(o);else if(rt.longStackTraces&&(i=e._peekContext()))i.attachExtraTrace(o);else{var s=j(o);o.stack=s.message+"\n"+s.stack.join("\n")}Y("warning",o)||k(o,"",!0)}}function m(t,e){for(var n=0;n<e.length-1;++n)e[n].push("From previous event:"),e[n]=e[n].join("\n");return n<e.length&&(e[n]=e[n].join("\n")),t+"\n"+e.join("\n")}function g(t){for(var e=0;e<t.length;++e)(0===t[e].length||e+1<t.length&&t[e][0]===t[e+1][0])&&(t.splice(e,1),e--)}function b(t){for(var e=t[0],n=1;n<t.length;++n){for(var r=t[n],i=e.length-1,o=e[i],s=-1,a=r.length-1;a>=0;--a)if(r[a]===o){s=a;break}for(var a=s;a>=0;--a){var c=r[a];if(e[i]!==c)break;e.pop(),i--}e=r}}function w(t){for(var e=[],n=0;n<t.length;++n){var r=t[n],i=" (No stack trace)"===r||B.test(r),o=i&&tt(r);i&&!o&&(q&&" "!==r.charAt(0)&&(r=" "+r),e.push(r))}return e}function C(t){for(var e=t.stack.replace(/\s+$/g,"").split("\n"),n=0;n<e.length;++n){var r=e[n];if(" (No stack trace)"===r||B.test(r))break}return n>0&&(e=e.slice(n)),e}function j(t){var e=t.stack,n=t.toString();return e="string"==typeof e&&e.length>0?C(t):[" (No stack trace)"],{message:n,stack:w(e)}}function k(t,e,n){if("undefined"!=typeof console){var r;if(H.isObject(t)){var i=t.stack;r=e+M(i,t)}else r=e+String(t);"function"==typeof D?D(r,n):("function"==typeof console.log||"object"==typeof console.log)&&console.log(r)}}function E(t,e,n,r){var i=!1;try{"function"==typeof e&&(i=!0,"rejectionHandled"===t?e(r):e(n,r))}catch(o){I.throwLater(o)}"unhandledRejection"===t?Y(t,n,r)||i||k(n,"Unhandled rejection "):Y(t,r)}function F(t){var e;if("function"==typeof t)e="[function "+(t.name||"anonymous")+"]";else{e=t&&"function"==typeof t.toString?t.toString():H.toString(t);var n=/\[object [a-zA-Z0-9$_]+\]/;if(n.test(e))try{var r=JSON.stringify(t);e=r}catch(i){}0===e.length&&(e="(empty array)")}return"(<"+x(e)+">, no stack trace)"}function x(t){var e=41;return t.length<e?t:t.substr(0,e-3)+"..."}function T(){return"function"==typeof nt}function P(t){var e=t.match(et);return e?{fileName:e[1],line:parseInt(e[2],10)}:void 0}function R(t,e){if(T()){for(var n,r,i=t.stack.split("\n"),o=e.stack.split("\n"),s=-1,a=-1,c=0;c<i.length;++c){var l=P(i[c]);if(l){n=l.fileName,s=l.line;break}}for(var c=0;c<o.length;++c){var l=P(o[c]);if(l){r=l.fileName,a=l.line;break}}0>s||0>a||!n||!r||n!==r||s>=a||(tt=function(t){if(U.test(t))return!0;var e=P(t);return e&&e.fileName===n&&s<=e.line&&e.line<=a?!0:!1})}}function S(t){this._parent=t,this._promisesCreated=0;var e=this._length=1+(void 0===t?0:t._length);nt(this,S),e>32&&this.uncycle()}var O,A,D,V=e._getDomain,I=e._async,L=t("./errors").Warning,H=t("./util"),N=H.canAttachTrace,U=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/,B=null,M=null,q=!1,Q=!(0==H.env("BLUEBIRD_DEBUG")||!H.env("BLUEBIRD_DEBUG")&&"development"!==H.env("NODE_ENV")),$=!(0==H.env("BLUEBIRD_WARNINGS")||!Q&&!H.env("BLUEBIRD_WARNINGS")),G=!(0==H.env("BLUEBIRD_LONG_STACK_TRACES")||!Q&&!H.env("BLUEBIRD_LONG_STACK_TRACES")),z=0!=H.env("BLUEBIRD_W_FORGOTTEN_RETURN")&&($||!!H.env("BLUEBIRD_W_FORGOTTEN_RETURN"));e.prototype.suppressUnhandledRejections=function(){var t=this._target();t._bitField=-1048577&t._bitField|524288},e.prototype._ensurePossibleRejectionHandled=function(){0===(524288&this._bitField)&&(this._setRejectionIsUnhandled(),I.invokeLater(this._notifyUnhandledRejection,this,void 0))},e.prototype._notifyUnhandledRejectionIsHandled=function(){E("rejectionHandled",O,void 0,this)},e.prototype._setReturnedNonUndefined=function(){this._bitField=268435456|this._bitField},e.prototype._returnedNonUndefined=function(){return 0!==(268435456&this._bitField)},e.prototype._notifyUnhandledRejection=function(){if(this._isRejectionUnhandled()){var t=this._settledValue();this._setUnhandledRejectionIsNotified(),E("unhandledRejection",A,t,this)}},e.prototype._setUnhandledRejectionIsNotified=function(){this._bitField=262144|this._bitField},e.prototype._unsetUnhandledRejectionIsNotified=function(){this._bitField=-262145&this._bitField},e.prototype._isUnhandledRejectionNotified=function(){return(262144&this._bitField)>0},e.prototype._setRejectionIsUnhandled=function(){this._bitField=1048576|this._bitField},e.prototype._unsetRejectionIsUnhandled=function(){this._bitField=-1048577&this._bitField,this._isUnhandledRejectionNotified()&&(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},e.prototype._isRejectionUnhandled=function(){return(1048576&this._bitField)>0},e.prototype._warn=function(t,e,n){return y(t,e,n||this)},e.onPossiblyUnhandledRejection=function(t){var e=V();A="function"==typeof t?null===e?t:e.bind(t):void 0},e.onUnhandledRejectionHandled=function(t){var e=V();O="function"==typeof t?null===e?t:e.bind(t):void 0};var X=function(){};e.longStackTraces=function(){if(I.haveItemsQueued()&&!rt.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");if(!rt.longStackTraces&&T()){var t=e.prototype._captureStackTrace,r=e.prototype._attachExtraTrace;rt.longStackTraces=!0,X=function(){if(I.haveItemsQueued()&&!rt.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");e.prototype._captureStackTrace=t,e.prototype._attachExtraTrace=r,n.deactivateLongStackTraces(),I.enableTrampoline(),rt.longStackTraces=!1},e.prototype._captureStackTrace=f,e.prototype._attachExtraTrace=_,n.activateLongStackTraces(),I.disableTrampolineIfNecessary()}},e.hasLongStackTraces=function(){return rt.longStackTraces&&T()};var W=function(){try{var t=document.createEvent("CustomEvent");return t.initCustomEvent("testingtheevent",!1,!0,{}),H.global.dispatchEvent(t),function(t,e){var n=document.createEvent("CustomEvent");return n.initCustomEvent(t.toLowerCase(),!1,!0,e),!H.global.dispatchEvent(n)}}catch(e){}return function(){return!1}}(),K=function(){return H.isNode?function(){return process.emit.apply(process,arguments)}:H.global?function(t){var e="on"+t.toLowerCase(),n=H.global[e];return n?(n.apply(H.global,[].slice.call(arguments,1)),!0):!1}:function(){return!1}}(),J={promiseCreated:r,promiseFulfilled:r,promiseRejected:r,promiseResolved:r,promiseCancelled:r,promiseChained:function(t,e,n){return{promise:e,child:n}},warning:function(t,e){return{warning:e}},unhandledRejection:function(t,e,n){return{reason:e,promise:n}},rejectionHandled:r},Y=function(t){var e=!1;try{e=K.apply(null,arguments)}catch(n){I.throwLater(n),e=!0}var r=!1;try{r=W(t,J[t].apply(null,arguments))}catch(n){I.throwLater(n),r=!0}return r||e};e.config=function(t){if(t=Object(t),"longStackTraces"in t&&(t.longStackTraces?e.longStackTraces():!t.longStackTraces&&e.hasLongStackTraces()&&X()),"warnings"in t){var n=t.warnings;rt.warnings=!!n,z=rt.warnings,H.isObject(n)&&"wForgottenReturn"in n&&(z=!!n.wForgottenReturn)}if("cancellation"in t&&t.cancellation&&!rt.cancellation){if(I.haveItemsQueued())throw new Error("cannot enable cancellation after promises are in use");e.prototype._clearCancellationData=l,e.prototype._propagateFrom=u,e.prototype._onCancel=a,e.prototype._setOnCancel=c,e.prototype._attachCancellationCallback=s,e.prototype._execute=o,Z=u,rt.cancellation=!0}"monitoring"in t&&(t.monitoring&&!rt.monitoring?(rt.monitoring=!0,e.prototype._fireEvent=Y):!t.monitoring&&rt.monitoring&&(rt.monitoring=!1,e.prototype._fireEvent=i))},e.prototype._fireEvent=i,e.prototype._execute=function(t,e,n){try{t(e,n)}catch(r){return r}},e.prototype._onCancel=function(){},e.prototype._setOnCancel=function(t){},e.prototype._attachCancellationCallback=function(t){},e.prototype._captureStackTrace=function(){},e.prototype._attachExtraTrace=function(){},e.prototype._clearCancellationData=function(){},e.prototype._propagateFrom=function(t,e){};var Z=p,tt=function(){return!1},et=/[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/;H.inherits(S,Error),n.CapturedTrace=S,S.prototype.uncycle=function(){var t=this._length;if(!(2>t)){for(var e=[],n={},r=0,i=this;void 0!==i;++r)e.push(i),i=i._parent;t=this._length=r;for(var r=t-1;r>=0;--r){var o=e[r].stack;void 0===n[o]&&(n[o]=r)}for(var r=0;t>r;++r){var s=e[r].stack,a=n[s];if(void 0!==a&&a!==r){a>0&&(e[a-1]._parent=void 0,e[a-1]._length=1),e[r]._parent=void 0,e[r]._length=1;var c=r>0?e[r-1]:this;t-1>a?(c._parent=e[a+1],c._parent.uncycle(),c._length=c._parent._length+1):(c._parent=void 0,c._length=1);for(var l=c._length+1,u=r-2;u>=0;--u)e[u]._length=l,l++;return}}}},S.prototype.attachExtraTrace=function(t){if(!t.__stackCleaned__){this.uncycle();for(var e=j(t),n=e.message,r=[e.stack],i=this;void 0!==i;)r.push(w(i.stack.split("\n"))),i=i._parent;b(r),g(r),H.notEnumerableProp(t,"stack",m(n,r)),H.notEnumerableProp(t,"__stackCleaned__",!0)}};var nt=function(){var t=/^\s*at\s*/,e=function(t,e){return"string"==typeof t?t:void 0!==e.name&&void 0!==e.message?e.toString():F(e)};if("number"==typeof Error.stackTraceLimit&&"function"==typeof Error.captureStackTrace){Error.stackTraceLimit+=6,B=t,M=e;var n=Error.captureStackTrace;return tt=function(t){return U.test(t)},function(t,e){Error.stackTraceLimit+=6,n(t,e),Error.stackTraceLimit-=6}}var r=new Error;if("string"==typeof r.stack&&r.stack.split("\n")[0].indexOf("stackDetection@")>=0)return B=/@/,M=e,q=!0,function(t){t.stack=(new Error).stack};var i;try{throw new Error}catch(o){i="stack"in o}return"stack"in r||!i||"number"!=typeof Error.stackTraceLimit?(M=function(t,e){return"string"==typeof t?t:"object"!=typeof e&&"function"!=typeof e||void 0===e.name||void 0===e.message?F(e):e.toString()},null):(B=t,M=e,function(t){Error.stackTraceLimit+=6;try{throw new Error}catch(e){t.stack=e.stack}Error.stackTraceLimit-=6})}([]);"undefined"!=typeof console&&"undefined"!=typeof console.warn&&(D=function(t){console.warn(t)},H.isNode&&process.stderr.isTTY?D=function(t,e){var n=e?"":"";console.warn(n+t+"\n")}:H.isNode||"string"!=typeof(new Error).stack||(D=function(t,e){console.warn("%c"+t,e?"color: darkorange":"color: red")}));var rt={warnings:$,longStackTraces:!1,cancellation:!1,monitoring:!1};return G&&e.longStackTraces(),{longStackTraces:function(){return rt.longStackTraces},warnings:function(){return rt.warnings},cancellation:function(){return rt.cancellation},monitoring:function(){return rt.monitoring},propagateFromFunction:function(){return Z},boundValueFunction:function(){return h},checkForgottenReturns:d,setBounds:R,warn:y,deprecated:v,CapturedTrace:S,fireDomEvent:W,fireGlobalEvent:K}}},{"./errors":12,"./util":36}],10:[function(t,e,n){"use strict";e.exports=function(t){function e(){return this.value}function n(){throw this.reason}t.prototype["return"]=t.prototype.thenReturn=function(n){return n instanceof t&&n.suppressUnhandledRejections(),this._then(e,void 0,void 0,{value:n},void 0)},t.prototype["throw"]=t.prototype.thenThrow=function(t){return this._then(n,void 0,void 0,{reason:t},void 0)},t.prototype.catchThrow=function(t){if(arguments.length<=1)return this._then(void 0,n,void 0,{reason:t},void 0);var e=arguments[1],r=function(){throw e};return this.caught(t,r)},t.prototype.catchReturn=function(n){if(arguments.length<=1)return n instanceof t&&n.suppressUnhandledRejections(),this._then(void 0,e,void 0,{value:n},void 0);var r=arguments[1];r instanceof t&&r.suppressUnhandledRejections();var i=function(){return r};return this.caught(n,i)}}},{}],11:[function(t,e,n){"use strict";e.exports=function(t,e){function n(){return o(this)}function r(t,n){return i(t,n,e,e)}var i=t.reduce,o=t.all;t.prototype.each=function(t){return this.mapSeries(t)._then(n,void 0,void 0,this,void 0)},t.prototype.mapSeries=function(t){return i(this,t,e,e)},t.each=function(t,e){return r(t,e)._then(n,void 0,void 0,t,void 0)},t.mapSeries=r}},{}],12:[function(t,e,n){"use strict";function r(t,e){function n(r){return this instanceof n?(p(this,"message","string"==typeof r?r:e),p(this,"name",t),void(Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):Error.call(this))):new n(r)}return u(n,Error),n}function i(t){return this instanceof i?(p(this,"name","OperationalError"),p(this,"message",t),this.cause=t,this.isOperational=!0,void(t instanceof Error?(p(this,"message",t.message),p(this,"stack",t.stack)):Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor))):new i(t)}var o,s,a=t("./es5"),c=a.freeze,l=t("./util"),u=l.inherits,p=l.notEnumerableProp,h=r("Warning","warning"),f=r("CancellationError","cancellation error"),_=r("TimeoutError","timeout error"),d=r("AggregateError","aggregate error");try{o=TypeError,s=RangeError}catch(v){o=r("TypeError","type error"),s=r("RangeError","range error")}for(var y="join pop push shift unshift slice filter forEach some every map indexOf lastIndexOf reduce reduceRight sort reverse".split(" "),m=0;m<y.length;++m)"function"==typeof Array.prototype[y[m]]&&(d.prototype[y[m]]=Array.prototype[y[m]]);a.defineProperty(d.prototype,"length",{value:0,configurable:!1,writable:!0,enumerable:!0}),d.prototype.isOperational=!0;var g=0;d.prototype.toString=function(){var t=Array(4*g+1).join(" "),e="\n"+t+"AggregateError of:\n";g++,t=Array(4*g+1).join(" ");for(var n=0;n<this.length;++n){for(var r=this[n]===this?"[Circular AggregateError]":this[n]+"",i=r.split("\n"),o=0;o<i.length;++o)i[o]=t+i[o];r=i.join("\n"),e+=r+"\n"}return g--,e},u(i,Error);var b=Error.__BluebirdErrorTypes__;b||(b=c({CancellationError:f,TimeoutError:_,OperationalError:i,RejectionError:i,AggregateError:d}),a.defineProperty(Error,"__BluebirdErrorTypes__",{value:b,writable:!1,enumerable:!1,configurable:!1})),e.exports={Error:Error,TypeError:o,RangeError:s,CancellationError:b.CancellationError,OperationalError:b.OperationalError,TimeoutError:b.TimeoutError,AggregateError:b.AggregateError,Warning:h}},{"./es5":13,"./util":36}],13:[function(t,e,n){var r=function(){"use strict";return void 0===this}();if(r)e.exports={freeze:Object.freeze,defineProperty:Object.defineProperty,getDescriptor:Object.getOwnPropertyDescriptor,keys:Object.keys,names:Object.getOwnPropertyNames,getPrototypeOf:Object.getPrototypeOf,isArray:Array.isArray,isES5:r,propertyIsWritable:function(t,e){var n=Object.getOwnPropertyDescriptor(t,e);return!(n&&!n.writable&&!n.set)}};else{var i={}.hasOwnProperty,o={}.toString,s={}.constructor.prototype,a=function(t){var e=[];for(var n in t)i.call(t,n)&&e.push(n);return e},c=function(t,e){return{value:t[e]}},l=function(t,e,n){return t[e]=n.value,t},u=function(t){return t},p=function(t){try{return Object(t).constructor.prototype}catch(e){return s}},h=function(t){try{return"[object Array]"===o.call(t)}catch(e){return!1}};e.exports={isArray:h,keys:a,names:a,defineProperty:l,getDescriptor:c,freeze:u,getPrototypeOf:p,isES5:r,propertyIsWritable:function(){return!0}}}},{}],14:[function(t,e,n){"use strict";e.exports=function(t,e){var n=t.map;t.prototype.filter=function(t,r){return n(this,t,r,e)},t.filter=function(t,r,i){return n(t,r,i,e)}}},{}],15:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,e,n){this.promise=t,this.type=e,this.handler=n,this.called=!1,this.cancelPromise=null}function i(t){this.finallyHandler=t}function o(t,e){return null!=t.cancelPromise?(arguments.length>1?t.cancelPromise._reject(e):t.cancelPromise._cancel(),t.cancelPromise=null,!0):!1}function s(){return c.call(this,this.promise._target()._settledValue())}function a(t){return o(this,t)?void 0:(p.e=t,p)}function c(t){var r=this.promise,c=this.handler;if(!this.called){this.called=!0;var l=this.isFinallyHandler()?c.call(r._boundValue()):c.call(r._boundValue(),t);if(void 0!==l){r._setReturnedNonUndefined();var h=n(l,r);if(h instanceof e){if(null!=this.cancelPromise){if(h.isCancelled()){var f=new u("late cancellation observer");return r._attachExtraTrace(f),p.e=f,p}h.isPending()&&h._attachCancellationCallback(new i(this))}return h._then(s,a,void 0,this,void 0)}}}return r.isRejected()?(o(this),p.e=t,p):(o(this),t)}var l=t("./util"),u=e.CancellationError,p=l.errorObj;return r.prototype.isFinallyHandler=function(){return 0===this.type},i.prototype._resultCancelled=function(){o(this.finallyHandler)},e.prototype._passThrough=function(t,e,n,i){return"function"!=typeof t?this.then():this._then(n,i,void 0,new r(this,e,t),void 0)},e.prototype.lastly=e.prototype["finally"]=function(t){return this._passThrough(t,0,c,c)},e.prototype.tap=function(t){return this._passThrough(t,1,c)},r}},{"./util":36}],16:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t,n,r){for(var o=0;o<n.length;++o){r._pushContext();var s=f(n[o])(t);if(r._popContext(),s===h){r._pushContext();var a=e.reject(h.e);return r._popContext(),a}var c=i(s,r);if(c instanceof e)return c}return null}function c(t,n,i,o){if(s.cancellation()){var a=new e(r),c=this._finallyPromise=new e(r);this._promise=a.lastly(function(){return c}),a._captureStackTrace(),a._setOnCancel(this)}else{var l=this._promise=new e(r);l._captureStackTrace()}this._stack=o,this._generatorFunction=t,this._receiver=n,this._generator=void 0,this._yieldHandlers="function"==typeof i?[i].concat(_):_,this._yieldedPromise=null,this._cancellationPhase=!1}var l=t("./errors"),u=l.TypeError,p=t("./util"),h=p.errorObj,f=p.tryCatch,_=[];p.inherits(c,o),c.prototype._isResolved=function(){return null===this._promise},c.prototype._cleanup=function(){this._promise=this._generator=null,s.cancellation()&&null!==this._finallyPromise&&(this._finallyPromise._fulfill(),this._finallyPromise=null)},c.prototype._promiseCancelled=function(){if(!this._isResolved()){var t,n="undefined"!=typeof this._generator["return"];if(n)this._promise._pushContext(),t=f(this._generator["return"]).call(this._generator,void 0),this._promise._popContext();else{var r=new e.CancellationError("generator .return() sentinel");e.coroutine.returnSentinel=r,this._promise._attachExtraTrace(r),this._promise._pushContext(),t=f(this._generator["throw"]).call(this._generator,r),this._promise._popContext()}this._cancellationPhase=!0,this._yieldedPromise=null,this._continue(t)}},c.prototype._promiseFulfilled=function(t){this._yieldedPromise=null,this._promise._pushContext();var e=f(this._generator.next).call(this._generator,t);this._promise._popContext(),this._continue(e)},c.prototype._promiseRejected=function(t){this._yieldedPromise=null,this._promise._attachExtraTrace(t),this._promise._pushContext();var e=f(this._generator["throw"]).call(this._generator,t);this._promise._popContext(),this._continue(e)},c.prototype._resultCancelled=function(){if(this._yieldedPromise instanceof e){var t=this._yieldedPromise;this._yieldedPromise=null,t.cancel()}},c.prototype.promise=function(){return this._promise},c.prototype._run=function(){this._generator=this._generatorFunction.call(this._receiver),this._receiver=this._generatorFunction=void 0,this._promiseFulfilled(void 0)},c.prototype._continue=function(t){var n=this._promise;if(t===h)return this._cleanup(),this._cancellationPhase?n.cancel():n._rejectCallback(t.e,!1);var r=t.value;if(t.done===!0)return this._cleanup(),this._cancellationPhase?n.cancel():n._resolveCallback(r);var o=i(r,this._promise);if(!(o instanceof e)&&(o=a(o,this._yieldHandlers,this._promise),null===o))return void this._promiseRejected(new u("A value %s was yielded that could not be treated as a promise\n\n See http://goo.gl/MqrFmX\n\n".replace("%s",r)+"From coroutine:\n"+this._stack.split("\n").slice(1,-7).join("\n")));o=o._target();var s=o._bitField;0===(50397184&s)?(this._yieldedPromise=o,o._proxy(this,null)):0!==(33554432&s)?this._promiseFulfilled(o._value()):0!==(16777216&s)?this._promiseRejected(o._reason()):this._promiseCancelled()},e.coroutine=function(t,e){if("function"!=typeof t)throw new u("generatorFunction must be a function\n\n See http://goo.gl/MqrFmX\n");var n=Object(e).yieldHandler,r=c,i=(new Error).stack;return function(){var e=t.apply(this,arguments),o=new r(void 0,void 0,n,i),s=o.promise();return o._generator=e,o._promiseFulfilled(void 0),s}},e.coroutine.addYieldHandler=function(t){if("function"!=typeof t)throw new u("expecting a function but got "+p.classString(t));_.push(t)},e.spawn=function(t){if(s.deprecated("Promise.spawn()","Promise.coroutine()"),"function"!=typeof t)return n("generatorFunction must be a function\n\n See http://goo.gl/MqrFmX\n");var r=new c(t,this),i=r.promise();return r._run(e.spawn),i}}},{"./errors":12,"./util":36}],17:[function(t,e,n){"use strict";e.exports=function(e,n,r,i){var o=t("./util");o.canEvaluate,o.tryCatch,o.errorObj;e.join=function(){var t,e=arguments.length-1;if(e>0&&"function"==typeof arguments[e]){t=arguments[e];var r}var i=[].slice.call(arguments);t&&i.pop();var r=new n(i).promise();return void 0!==t?r.spread(t):r}}},{"./util":36}],18:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t,e,n,r){this.constructor$(t),this._promise._captureStackTrace();var i=l();this._callback=null===i?e:i.bind(e),
+this._preservedValues=r===o?new Array(this.length()):null,this._limit=n,this._inFlight=0,this._queue=n>=1?[]:f,this._init$(void 0,-2)}function c(t,e,n,i){if("function"!=typeof e)return r("expecting a function but got "+u.classString(e));var o="object"==typeof n&&null!==n?n.concurrency:0;return o="number"==typeof o&&isFinite(o)&&o>=1?o:0,new a(t,e,o,i).promise()}var l=e._getDomain,u=t("./util"),p=u.tryCatch,h=u.errorObj,f=[];u.inherits(a,n),a.prototype._init=function(){},a.prototype._promiseFulfilled=function(t,n){var r=this._values,o=this.length(),a=this._preservedValues,c=this._limit;if(0>n){if(n=-1*n-1,r[n]=t,c>=1&&(this._inFlight--,this._drainQueue(),this._isResolved()))return!0}else{if(c>=1&&this._inFlight>=c)return r[n]=t,this._queue.push(n),!1;null!==a&&(a[n]=t);var l=this._promise,u=this._callback,f=l._boundValue();l._pushContext();var _=p(u).call(f,t,n,o),d=l._popContext();if(s.checkForgottenReturns(_,d,null!==a?"Promise.filter":"Promise.map",l),_===h)return this._reject(_.e),!0;var v=i(_,this._promise);if(v instanceof e){v=v._target();var y=v._bitField;if(0===(50397184&y))return c>=1&&this._inFlight++,r[n]=v,v._proxy(this,-1*(n+1)),!1;if(0===(33554432&y))return 0!==(16777216&y)?(this._reject(v._reason()),!0):(this._cancel(),!0);_=v._value()}r[n]=_}var m=++this._totalResolved;return m>=o?(null!==a?this._filter(r,a):this._resolve(r),!0):!1},a.prototype._drainQueue=function(){for(var t=this._queue,e=this._limit,n=this._values;t.length>0&&this._inFlight<e;){if(this._isResolved())return;var r=t.pop();this._promiseFulfilled(n[r],r)}},a.prototype._filter=function(t,e){for(var n=e.length,r=new Array(n),i=0,o=0;n>o;++o)t[o]&&(r[i++]=e[o]);r.length=i,this._resolve(r)},a.prototype.preservedValues=function(){return this._preservedValues},e.prototype.map=function(t,e){return c(this,t,e,null)},e.map=function(t,e,n,r){return c(t,e,n,r)}}},{"./util":36}],19:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o){var s=t("./util"),a=s.tryCatch;e.method=function(t){if("function"!=typeof t)throw new e.TypeError("expecting a function but got "+s.classString(t));return function(){var r=new e(n);r._captureStackTrace(),r._pushContext();var i=a(t).apply(this,arguments),s=r._popContext();return o.checkForgottenReturns(i,s,"Promise.method",r),r._resolveFromSyncValue(i),r}},e.attempt=e["try"]=function(t){if("function"!=typeof t)return i("expecting a function but got "+s.classString(t));var r=new e(n);r._captureStackTrace(),r._pushContext();var c;if(arguments.length>1){o.deprecated("calling Promise.try with more than 1 argument");var l=arguments[1],u=arguments[2];c=s.isArray(l)?a(t).apply(u,l):a(t).call(u,l)}else c=a(t)();var p=r._popContext();return o.checkForgottenReturns(c,p,"Promise.try",r),r._resolveFromSyncValue(c),r},e.prototype._resolveFromSyncValue=function(t){t===s.errorObj?this._rejectCallback(t.e,!1):this._resolveCallback(t,!0)}}},{"./util":36}],20:[function(t,e,n){"use strict";function r(t){return t instanceof Error&&u.getPrototypeOf(t)===Error.prototype}function i(t){var e;if(r(t)){e=new l(t),e.name=t.name,e.message=t.message,e.stack=t.stack;for(var n=u.keys(t),i=0;i<n.length;++i){var o=n[i];p.test(o)||(e[o]=t[o])}return e}return s.markAsOriginatingFromRejection(t),t}function o(t,e){return function(n,r){if(null!==t){if(n){var o=i(a(n));t._attachExtraTrace(o),t._reject(o)}else if(e){var s=[].slice.call(arguments,1);t._fulfill(s)}else t._fulfill(r);t=null}}}var s=t("./util"),a=s.maybeWrapAsError,c=t("./errors"),l=c.OperationalError,u=t("./es5"),p=/^(?:name|message|stack|cause)$/;e.exports=o},{"./errors":12,"./es5":13,"./util":36}],21:[function(t,e,n){"use strict";e.exports=function(e){function n(t,e){var n=this;if(!o.isArray(t))return r.call(n,t,e);var i=a(e).apply(n._boundValue(),[null].concat(t));i===c&&s.throwLater(i.e)}function r(t,e){var n=this,r=n._boundValue(),i=void 0===t?a(e).call(r,null):a(e).call(r,null,t);i===c&&s.throwLater(i.e)}function i(t,e){var n=this;if(!t){var r=new Error(t+"");r.cause=t,t=r}var i=a(e).call(n._boundValue(),t);i===c&&s.throwLater(i.e)}var o=t("./util"),s=e._async,a=o.tryCatch,c=o.errorObj;e.prototype.asCallback=e.prototype.nodeify=function(t,e){if("function"==typeof t){var o=r;void 0!==e&&Object(e).spread&&(o=n),this._then(o,i,void 0,this,t)}return this}}},{"./util":36}],22:[function(t,e,n){"use strict";e.exports=function(){function e(){}function n(t,e){if("function"!=typeof e)throw new y("expecting a function but got "+h.classString(e));if(t.constructor!==r)throw new y("the promise constructor cannot be invoked directly\n\n See http://goo.gl/MqrFmX\n")}function r(t){this._bitField=0,this._fulfillmentHandler0=void 0,this._rejectionHandler0=void 0,this._promise0=void 0,this._receiver0=void 0,t!==g&&(n(this,t),this._resolveFromExecutor(t)),this._promiseCreated(),this._fireEvent("promiseCreated",this)}function i(t){this.promise._resolveCallback(t)}function o(t){this.promise._rejectCallback(t,!1)}function s(t){var e=new r(g);e._fulfillmentHandler0=t,e._rejectionHandler0=t,e._promise0=t,e._receiver0=t}var a,c=function(){return new y("circular promise resolution chain\n\n See http://goo.gl/MqrFmX\n")},l=function(){return new r.PromiseInspection(this._target())},u=function(t){return r.reject(new y(t))},p={},h=t("./util");a=h.isNode?function(){var t=process.domain;return void 0===t&&(t=null),t}:function(){return null},h.notEnumerableProp(r,"_getDomain",a);var f=t("./es5"),_=t("./async"),d=new _;f.defineProperty(r,"_async",{value:d});var v=t("./errors"),y=r.TypeError=v.TypeError;r.RangeError=v.RangeError;var m=r.CancellationError=v.CancellationError;r.TimeoutError=v.TimeoutError,r.OperationalError=v.OperationalError,r.RejectionError=v.OperationalError,r.AggregateError=v.AggregateError;var g=function(){},b={},w={},C=t("./thenables")(r,g),j=t("./promise_array")(r,g,C,u,e),k=t("./context")(r),E=k.create,F=t("./debuggability")(r,k),x=(F.CapturedTrace,t("./finally")(r,C)),T=t("./catch_filter")(w),P=t("./nodeback"),R=h.errorObj,S=h.tryCatch;return r.prototype.toString=function(){return"[object Promise]"},r.prototype.caught=r.prototype["catch"]=function(t){var e=arguments.length;if(e>1){var n,r=new Array(e-1),i=0;for(n=0;e-1>n;++n){var o=arguments[n];if(!h.isObject(o))return u("expecting an object but got "+h.classString(o));r[i++]=o}return r.length=i,t=arguments[n],this.then(void 0,T(r,t,this))}return this.then(void 0,t)},r.prototype.reflect=function(){return this._then(l,l,void 0,this,void 0)},r.prototype.then=function(t,e){if(F.warnings()&&arguments.length>0&&"function"!=typeof t&&"function"!=typeof e){var n=".then() only accepts functions but was passed: "+h.classString(t);arguments.length>1&&(n+=", "+h.classString(e)),this._warn(n)}return this._then(t,e,void 0,void 0,void 0)},r.prototype.done=function(t,e){var n=this._then(t,e,void 0,void 0,void 0);n._setIsFinal()},r.prototype.spread=function(t){return"function"!=typeof t?u("expecting a function but got "+h.classString(t)):this.all()._then(t,void 0,void 0,b,void 0)},r.prototype.toJSON=function(){var t={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(t.fulfillmentValue=this.value(),t.isFulfilled=!0):this.isRejected()&&(t.rejectionReason=this.reason(),t.isRejected=!0),t},r.prototype.all=function(){return arguments.length>0&&this._warn(".all() was passed arguments but it does not take any"),new j(this).promise()},r.prototype.error=function(t){return this.caught(h.originatesFromRejection,t)},r.is=function(t){return t instanceof r},r.fromNode=r.fromCallback=function(t){var e=new r(g);e._captureStackTrace();var n=arguments.length>1?!!Object(arguments[1]).multiArgs:!1,i=S(t)(P(e,n));return i===R&&e._rejectCallback(i.e,!0),e._isFateSealed()||e._setAsyncGuaranteed(),e},r.all=function(t){return new j(t).promise()},r.cast=function(t){var e=C(t);return e instanceof r||(e=new r(g),e._captureStackTrace(),e._setFulfilled(),e._rejectionHandler0=t),e},r.resolve=r.fulfilled=r.cast,r.reject=r.rejected=function(t){var e=new r(g);return e._captureStackTrace(),e._rejectCallback(t,!0),e},r.setScheduler=function(t){if("function"!=typeof t)throw new y("expecting a function but got "+h.classString(t));return d.setScheduler(t)},r.prototype._then=function(t,e,n,i,o){var s=void 0!==o,c=s?o:new r(g),l=this._target(),u=l._bitField;s||(c._propagateFrom(this,3),c._captureStackTrace(),void 0===i&&0!==(2097152&this._bitField)&&(i=0!==(50397184&u)?this._boundValue():l===this?void 0:this._boundTo),this._fireEvent("promiseChained",this,c));var p=a();if(0!==(50397184&u)){var h,f,_=l._settlePromiseCtx;0!==(33554432&u)?(f=l._rejectionHandler0,h=t):0!==(16777216&u)?(f=l._fulfillmentHandler0,h=e,l._unsetRejectionIsUnhandled()):(_=l._settlePromiseLateCancellationObserver,f=new m("late cancellation observer"),l._attachExtraTrace(f),h=e),d.invoke(_,l,{handler:null===p?h:"function"==typeof h&&p.bind(h),promise:c,receiver:i,value:f})}else l._addCallbacks(t,e,c,i,p);return c},r.prototype._length=function(){return 65535&this._bitField},r.prototype._isFateSealed=function(){return 0!==(117506048&this._bitField)},r.prototype._isFollowing=function(){return 67108864===(67108864&this._bitField)},r.prototype._setLength=function(t){this._bitField=-65536&this._bitField|65535&t},r.prototype._setFulfilled=function(){this._bitField=33554432|this._bitField,this._fireEvent("promiseFulfilled",this)},r.prototype._setRejected=function(){this._bitField=16777216|this._bitField,this._fireEvent("promiseRejected",this)},r.prototype._setFollowing=function(){this._bitField=67108864|this._bitField,this._fireEvent("promiseResolved",this)},r.prototype._setIsFinal=function(){this._bitField=4194304|this._bitField},r.prototype._isFinal=function(){return(4194304&this._bitField)>0},r.prototype._unsetCancelled=function(){this._bitField=-65537&this._bitField},r.prototype._setCancelled=function(){this._bitField=65536|this._bitField,this._fireEvent("promiseCancelled",this)},r.prototype._setAsyncGuaranteed=function(){d.hasCustomScheduler()||(this._bitField=134217728|this._bitField)},r.prototype._receiverAt=function(t){var e=0===t?this._receiver0:this[4*t-4+3];return e===p?void 0:void 0===e&&this._isBound()?this._boundValue():e},r.prototype._promiseAt=function(t){return this[4*t-4+2]},r.prototype._fulfillmentHandlerAt=function(t){return this[4*t-4+0]},r.prototype._rejectionHandlerAt=function(t){return this[4*t-4+1]},r.prototype._boundValue=function(){},r.prototype._migrateCallback0=function(t){var e=(t._bitField,t._fulfillmentHandler0),n=t._rejectionHandler0,r=t._promise0,i=t._receiverAt(0);void 0===i&&(i=p),this._addCallbacks(e,n,r,i,null)},r.prototype._migrateCallbackAt=function(t,e){var n=t._fulfillmentHandlerAt(e),r=t._rejectionHandlerAt(e),i=t._promiseAt(e),o=t._receiverAt(e);void 0===o&&(o=p),this._addCallbacks(n,r,i,o,null)},r.prototype._addCallbacks=function(t,e,n,r,i){var o=this._length();if(o>=65531&&(o=0,this._setLength(0)),0===o)this._promise0=n,this._receiver0=r,"function"==typeof t&&(this._fulfillmentHandler0=null===i?t:i.bind(t)),"function"==typeof e&&(this._rejectionHandler0=null===i?e:i.bind(e));else{var s=4*o-4;this[s+2]=n,this[s+3]=r,"function"==typeof t&&(this[s+0]=null===i?t:i.bind(t)),"function"==typeof e&&(this[s+1]=null===i?e:i.bind(e))}return this._setLength(o+1),o},r.prototype._proxy=function(t,e){this._addCallbacks(void 0,void 0,e,t,null)},r.prototype._resolveCallback=function(t,e){if(0===(117506048&this._bitField)){if(t===this)return this._rejectCallback(c(),!1);var n=C(t,this);if(!(n instanceof r))return this._fulfill(t);e&&this._propagateFrom(n,2);var i=n._target();if(i===this)return void this._reject(c());var o=i._bitField;if(0===(50397184&o)){var s=this._length();s>0&&i._migrateCallback0(this);for(var a=1;s>a;++a)i._migrateCallbackAt(this,a);this._setFollowing(),this._setLength(0),this._setFollowee(i)}else if(0!==(33554432&o))this._fulfill(i._value());else if(0!==(16777216&o))this._reject(i._reason());else{var l=new m("late cancellation observer");i._attachExtraTrace(l),this._reject(l)}}},r.prototype._rejectCallback=function(t,e,n){var r=h.ensureErrorObject(t),i=r===t;if(!i&&!n&&F.warnings()){var o="a promise was rejected with a non-error: "+h.classString(t);this._warn(o,!0)}this._attachExtraTrace(r,e?i:!1),this._reject(t)},r.prototype._resolveFromExecutor=function(t){var e=this;this._captureStackTrace(),this._pushContext();var n=!0,r=this._execute(t,function(t){e._resolveCallback(t)},function(t){e._rejectCallback(t,n)});n=!1,this._popContext(),void 0!==r&&e._rejectCallback(r,!0)},r.prototype._settlePromiseFromHandler=function(t,e,n,r){var i=r._bitField;if(0===(65536&i)){r._pushContext();var o;e===b?n&&"number"==typeof n.length?o=S(t).apply(this._boundValue(),n):(o=R,o.e=new y("cannot .spread() a non-array: "+h.classString(n))):o=S(t).call(e,n);var s=r._popContext();i=r._bitField,0===(65536&i)&&(o===w?r._reject(n):o===R?r._rejectCallback(o.e,!1):(F.checkForgottenReturns(o,s,"",r,this),r._resolveCallback(o)))}},r.prototype._target=function(){for(var t=this;t._isFollowing();)t=t._followee();return t},r.prototype._followee=function(){return this._rejectionHandler0},r.prototype._setFollowee=function(t){this._rejectionHandler0=t},r.prototype._settlePromise=function(t,n,i,o){var s=t instanceof r,a=this._bitField,c=0!==(134217728&a);0!==(65536&a)?(s&&t._invokeInternalOnCancel(),i instanceof x&&i.isFinallyHandler()?(i.cancelPromise=t,S(n).call(i,o)===R&&t._reject(R.e)):n===l?t._fulfill(l.call(i)):i instanceof e?i._promiseCancelled(t):s||t instanceof j?t._cancel():i.cancel()):"function"==typeof n?s?(c&&t._setAsyncGuaranteed(),this._settlePromiseFromHandler(n,i,o,t)):n.call(i,o,t):i instanceof e?i._isResolved()||(0!==(33554432&a)?i._promiseFulfilled(o,t):i._promiseRejected(o,t)):s&&(c&&t._setAsyncGuaranteed(),0!==(33554432&a)?t._fulfill(o):t._reject(o))},r.prototype._settlePromiseLateCancellationObserver=function(t){var e=t.handler,n=t.promise,i=t.receiver,o=t.value;"function"==typeof e?n instanceof r?this._settlePromiseFromHandler(e,i,o,n):e.call(i,o,n):n instanceof r&&n._reject(o)},r.prototype._settlePromiseCtx=function(t){this._settlePromise(t.promise,t.handler,t.receiver,t.value)},r.prototype._settlePromise0=function(t,e,n){var r=this._promise0,i=this._receiverAt(0);this._promise0=void 0,this._receiver0=void 0,this._settlePromise(r,t,i,e)},r.prototype._clearCallbackDataAtIndex=function(t){var e=4*t-4;this[e+2]=this[e+3]=this[e+0]=this[e+1]=void 0},r.prototype._fulfill=function(t){var e=this._bitField;if(!((117506048&e)>>>16)){if(t===this){var n=c();return this._attachExtraTrace(n),this._reject(n)}this._setFulfilled(),this._rejectionHandler0=t,(65535&e)>0&&(0!==(134217728&e)?this._settlePromises():d.settlePromises(this))}},r.prototype._reject=function(t){var e=this._bitField;if(!((117506048&e)>>>16))return this._setRejected(),this._fulfillmentHandler0=t,this._isFinal()?d.fatalError(t,h.isNode):void((65535&e)>0?d.settlePromises(this):this._ensurePossibleRejectionHandled())},r.prototype._fulfillPromises=function(t,e){for(var n=1;t>n;n++){var r=this._fulfillmentHandlerAt(n),i=this._promiseAt(n),o=this._receiverAt(n);this._clearCallbackDataAtIndex(n),this._settlePromise(i,r,o,e)}},r.prototype._rejectPromises=function(t,e){for(var n=1;t>n;n++){var r=this._rejectionHandlerAt(n),i=this._promiseAt(n),o=this._receiverAt(n);this._clearCallbackDataAtIndex(n),this._settlePromise(i,r,o,e)}},r.prototype._settlePromises=function(){var t=this._bitField,e=65535&t;if(e>0){if(0!==(16842752&t)){var n=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,n,t),this._rejectPromises(e,n)}else{var r=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,r,t),this._fulfillPromises(e,r)}this._setLength(0)}this._clearCancellationData()},r.prototype._settledValue=function(){var t=this._bitField;return 0!==(33554432&t)?this._rejectionHandler0:0!==(16777216&t)?this._fulfillmentHandler0:void 0},r.defer=r.pending=function(){F.deprecated("Promise.defer","new Promise");var t=new r(g);return{promise:t,resolve:i,reject:o}},h.notEnumerableProp(r,"_makeSelfResolutionError",c),t("./method")(r,g,C,u,F),t("./bind")(r,g,C,F),t("./cancel")(r,j,u,F),t("./direct_resolve")(r),t("./synchronous_inspection")(r),t("./join")(r,j,C,g,F),r.Promise=r,t("./map.js")(r,j,u,C,g,F),t("./call_get.js")(r),t("./using.js")(r,u,C,E,g,F),t("./timers.js")(r,g,F),t("./generators.js")(r,u,g,C,e,F),t("./nodeify.js")(r),t("./promisify.js")(r,g),t("./props.js")(r,j,C,u),t("./race.js")(r,g,C,u),t("./reduce.js")(r,j,u,C,g,F),t("./settle.js")(r,j,F),t("./some.js")(r,j,u),t("./filter.js")(r,g),t("./each.js")(r,g),t("./any.js")(r),h.toFastProperties(r),h.toFastProperties(r.prototype),s({a:1}),s({b:2}),s({c:3}),s(1),s(function(){}),s(void 0),s(!1),s(new r(g)),F.setBounds(_.firstLineError,h.lastLineError),r}},{"./any.js":1,"./async":2,"./bind":3,"./call_get.js":5,"./cancel":6,"./catch_filter":7,"./context":8,"./debuggability":9,"./direct_resolve":10,"./each.js":11,"./errors":12,"./es5":13,"./filter.js":14,"./finally":15,"./generators.js":16,"./join":17,"./map.js":18,"./method":19,"./nodeback":20,"./nodeify.js":21,"./promise_array":23,"./promisify.js":24,"./props.js":25,"./race.js":27,"./reduce.js":28,"./settle.js":30,"./some.js":31,"./synchronous_inspection":32,"./thenables":33,"./timers.js":34,"./using.js":35,"./util":36}],23:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o){function s(t){switch(t){case-2:return[];case-3:return{}}}function a(t){var r=this._promise=new e(n);t instanceof e&&r._propagateFrom(t,3),r._setOnCancel(this),this._values=t,this._length=0,this._totalResolved=0,this._init(void 0,-2)}var c=t("./util");c.isArray;return c.inherits(a,o),a.prototype.length=function(){return this._length},a.prototype.promise=function(){return this._promise},a.prototype._init=function l(t,n){var o=r(this._values,this._promise);if(o instanceof e){o=o._target();var a=o._bitField;if(this._values=o,0===(50397184&a))return this._promise._setAsyncGuaranteed(),o._then(l,this._reject,void 0,this,n);if(0===(33554432&a))return 0!==(16777216&a)?this._reject(o._reason()):this._cancel();o=o._value()}if(o=c.asArray(o),null===o){var u=i("expecting an array or an iterable object but got "+c.classString(o)).reason();return void this._promise._rejectCallback(u,!1)}return 0===o.length?void(-5===n?this._resolveEmptyArray():this._resolve(s(n))):void this._iterate(o)},a.prototype._iterate=function(t){var n=this.getActualLength(t.length);this._length=n,this._values=this.shouldCopyValues()?new Array(n):this._values;for(var i=this._promise,o=!1,s=null,a=0;n>a;++a){var c=r(t[a],i);c instanceof e?(c=c._target(),s=c._bitField):s=null,o?null!==s&&c.suppressUnhandledRejections():null!==s?0===(50397184&s)?(c._proxy(this,a),this._values[a]=c):o=0!==(33554432&s)?this._promiseFulfilled(c._value(),a):0!==(16777216&s)?this._promiseRejected(c._reason(),a):this._promiseCancelled(a):o=this._promiseFulfilled(c,a)}o||i._setAsyncGuaranteed()},a.prototype._isResolved=function(){return null===this._values},a.prototype._resolve=function(t){this._values=null,this._promise._fulfill(t)},a.prototype._cancel=function(){!this._isResolved()&&this._promise.isCancellable()&&(this._values=null,this._promise._cancel())},a.prototype._reject=function(t){this._values=null,this._promise._rejectCallback(t,!1)},a.prototype._promiseFulfilled=function(t,e){this._values[e]=t;var n=++this._totalResolved;return n>=this._length?(this._resolve(this._values),!0):!1},a.prototype._promiseCancelled=function(){return this._cancel(),!0},a.prototype._promiseRejected=function(t){return this._totalResolved++,this._reject(t),!0},a.prototype._resultCancelled=function(){if(!this._isResolved()){var t=this._values;if(this._cancel(),t instanceof e)t.cancel();else for(var n=0;n<t.length;++n)t[n]instanceof e&&t[n].cancel()}},a.prototype.shouldCopyValues=function(){return!0},a.prototype.getActualLength=function(t){return t},a}},{"./util":36}],24:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t){return!C.test(t)}function i(t){try{return t.__isPromisified__===!0}catch(e){return!1}}function o(t,e,n){var r=f.getDataPropertyOrDefault(t,e+n,b);return r?i(r):!1}function s(t,e,n){for(var r=0;r<t.length;r+=2){var i=t[r];if(n.test(i))for(var o=i.replace(n,""),s=0;s<t.length;s+=2)if(t[s]===o)throw new m("Cannot promisify an API that has normal methods with '%s'-suffix\n\n See http://goo.gl/MqrFmX\n".replace("%s",e))}}function a(t,e,n,r){for(var a=f.inheritedDataKeys(t),c=[],l=0;l<a.length;++l){var u=a[l],p=t[u],h=r===j?!0:j(u,p,t);"function"!=typeof p||i(p)||o(t,u,e)||!r(u,p,t,h)||c.push(u,p)}return s(c,e,n),c}function c(t,r,i,o,s,a){function c(){var i=r;r===h&&(i=this);var o=new e(n);o._captureStackTrace();var s="string"==typeof u&&this!==l?this[u]:t,c=_(o,a);try{s.apply(i,d(arguments,c))}catch(p){o._rejectCallback(v(p),!0,!0)}return o._isFateSealed()||o._setAsyncGuaranteed(),o}var l=function(){return this}(),u=t;return"string"==typeof u&&(t=o),f.notEnumerableProp(c,"__isPromisified__",!0),c}function l(t,e,n,r,i){for(var o=new RegExp(k(e)+"$"),s=a(t,e,o,n),c=0,l=s.length;l>c;c+=2){var u=s[c],p=s[c+1],_=u+e;if(r===E)t[_]=E(u,h,u,p,e,i);else{var d=r(p,function(){return E(u,h,u,p,e,i)});f.notEnumerableProp(d,"__isPromisified__",!0),t[_]=d}}return f.toFastProperties(t),t}function u(t,e,n){return E(t,e,void 0,t,null,n)}var p,h={},f=t("./util"),_=t("./nodeback"),d=f.withAppended,v=f.maybeWrapAsError,y=f.canEvaluate,m=t("./errors").TypeError,g="Async",b={__isPromisified__:!0},w=["arity","length","name","arguments","caller","callee","prototype","__isPromisified__"],C=new RegExp("^(?:"+w.join("|")+")$"),j=function(t){return f.isIdentifier(t)&&"_"!==t.charAt(0)&&"constructor"!==t},k=function(t){return t.replace(/([$])/,"\\$")},E=y?p:c;e.promisify=function(t,e){if("function"!=typeof t)throw new m("expecting a function but got "+f.classString(t));if(i(t))return t;e=Object(e);var n=void 0===e.context?h:e.context,o=!!e.multiArgs,s=u(t,n,o);return f.copyDescriptors(t,s,r),s},e.promisifyAll=function(t,e){if("function"!=typeof t&&"object"!=typeof t)throw new m("the target of promisifyAll must be an object or a function\n\n See http://goo.gl/MqrFmX\n");e=Object(e);var n=!!e.multiArgs,r=e.suffix;"string"!=typeof r&&(r=g);var i=e.filter;"function"!=typeof i&&(i=j);var o=e.promisifier;if("function"!=typeof o&&(o=E),!f.isIdentifier(r))throw new RangeError("suffix must be a valid identifier\n\n See http://goo.gl/MqrFmX\n");for(var s=f.inheritedDataKeys(t),a=0;a<s.length;++a){var c=t[s[a]];"constructor"!==s[a]&&f.isClass(c)&&(l(c.prototype,r,i,o,n),l(c,r,i,o,n))}return l(t,r,i,o,n)}}},{"./errors":12,"./nodeback":20,"./util":36}],25:[function(t,e,n){"use strict";e.exports=function(e,n,r,i){function o(t){var e,n=!1;if(void 0!==a&&t instanceof a)e=p(t),n=!0;else{var r=u.keys(t),i=r.length;e=new Array(2*i);for(var o=0;i>o;++o){var s=r[o];e[o]=t[s],e[o+i]=s}}this.constructor$(e),this._isMap=n,this._init$(void 0,-3)}function s(t){var n,s=r(t);return l(s)?(n=s instanceof e?s._then(e.props,void 0,void 0,void 0,void 0):new o(s).promise(),s instanceof e&&n._propagateFrom(s,2),n):i("cannot await properties of a non-object\n\n See http://goo.gl/MqrFmX\n")}var a,c=t("./util"),l=c.isObject,u=t("./es5");"function"==typeof Map&&(a=Map);var p=function(){function t(t,r){this[e]=t,this[e+n]=r,e++}var e=0,n=0;return function(r){n=r.size,e=0;var i=new Array(2*r.size);return r.forEach(t,i),i}}(),h=function(t){for(var e=new a,n=t.length/2|0,r=0;n>r;++r){var i=t[n+r],o=t[r];e.set(i,o)}return e};c.inherits(o,n),o.prototype._init=function(){},o.prototype._promiseFulfilled=function(t,e){this._values[e]=t;var n=++this._totalResolved;if(n>=this._length){var r;if(this._isMap)r=h(this._values);else{r={};for(var i=this.length(),o=0,s=this.length();s>o;++o)r[this._values[o+i]]=this._values[o]}return this._resolve(r),!0}return!1},o.prototype.shouldCopyValues=function(){return!1},o.prototype.getActualLength=function(t){return t>>1},e.prototype.props=function(){return s(this)},e.props=function(t){return s(t)}}},{"./es5":13,"./util":36}],26:[function(t,e,n){"use strict";function r(t,e,n,r,i){for(var o=0;i>o;++o)n[o+r]=t[o+e],t[o+e]=void 0}function i(t){this._capacity=t,this._length=0,this._front=0}i.prototype._willBeOverCapacity=function(t){return this._capacity<t},i.prototype._pushOne=function(t){var e=this.length();this._checkCapacity(e+1);var n=this._front+e&this._capacity-1;this[n]=t,this._length=e+1},i.prototype._unshiftOne=function(t){var e=this._capacity;this._checkCapacity(this.length()+1);var n=this._front,r=(n-1&e-1^e)-e;this[r]=t,this._front=r,this._length=this.length()+1},i.prototype.unshift=function(t,e,n){this._unshiftOne(n),this._unshiftOne(e),this._unshiftOne(t)},i.prototype.push=function(t,e,n){var r=this.length()+3;if(this._willBeOverCapacity(r))return this._pushOne(t),this._pushOne(e),void this._pushOne(n);var i=this._front+r-3;this._checkCapacity(r);var o=this._capacity-1;this[i+0&o]=t,this[i+1&o]=e,this[i+2&o]=n,this._length=r},i.prototype.shift=function(){var t=this._front,e=this[t];return this[t]=void 0,this._front=t+1&this._capacity-1,this._length--,e},i.prototype.length=function(){return this._length},i.prototype._checkCapacity=function(t){this._capacity<t&&this._resizeTo(this._capacity<<1)},i.prototype._resizeTo=function(t){var e=this._capacity;this._capacity=t;var n=this._front,i=this._length,o=n+i&e-1;r(this,0,this,e,o)},e.exports=i},{}],27:[function(t,e,n){"use strict";e.exports=function(e,n,r,i){function o(t,o){var c=r(t);if(c instanceof e)return a(c);if(t=s.asArray(t),null===t)return i("expecting an array or an iterable object but got "+s.classString(t));var l=new e(n);void 0!==o&&l._propagateFrom(o,3);for(var u=l._fulfill,p=l._reject,h=0,f=t.length;f>h;++h){var _=t[h];(void 0!==_||h in t)&&e.cast(_)._then(u,p,void 0,l,null)}return l}var s=t("./util"),a=function(t){return t.then(function(e){return o(e,t)})};e.race=function(t){return o(t,void 0)},e.prototype.race=function(){return o(this,void 0)}}},{"./util":36}],28:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t,n,r,i){this.constructor$(t);var s=h();this._fn=null===s?n:s.bind(n),void 0!==r&&(r=e.resolve(r),r._attachCancellationCallback(this)),this._initialValue=r,this._currentCancellable=null,this._eachValues=i===o?[]:void 0,this._promise._captureStackTrace(),this._init$(void 0,-5)}function c(t,e){this.isFulfilled()?e._resolve(t):e._reject(t)}function l(t,e,n,i){if("function"!=typeof e)return r("expecting a function but got "+f.classString(e));var o=new a(t,e,n,i);return o.promise()}function u(t){this.accum=t,this.array._gotAccum(t);var n=i(this.value,this.array._promise);return n instanceof e?(this.array._currentCancellable=n,n._then(p,void 0,void 0,this,void 0)):p.call(this,n)}function p(t){var n=this.array,r=n._promise,i=_(n._fn);r._pushContext();var o;o=void 0!==n._eachValues?i.call(r._boundValue(),t,this.index,this.length):i.call(r._boundValue(),this.accum,t,this.index,this.length),o instanceof e&&(n._currentCancellable=o);var a=r._popContext();return s.checkForgottenReturns(o,a,void 0!==n._eachValues?"Promise.each":"Promise.reduce",r),o}var h=e._getDomain,f=t("./util"),_=f.tryCatch;f.inherits(a,n),a.prototype._gotAccum=function(t){void 0!==this._eachValues&&t!==o&&this._eachValues.push(t)},a.prototype._eachComplete=function(t){return this._eachValues.push(t),this._eachValues},a.prototype._init=function(){},a.prototype._resolveEmptyArray=function(){this._resolve(void 0!==this._eachValues?this._eachValues:this._initialValue)},a.prototype.shouldCopyValues=function(){return!1},a.prototype._resolve=function(t){this._promise._resolveCallback(t),this._values=null},a.prototype._resultCancelled=function(t){return t===this._initialValue?this._cancel():void(this._isResolved()||(this._resultCancelled$(),this._currentCancellable instanceof e&&this._currentCancellable.cancel(),this._initialValue instanceof e&&this._initialValue.cancel()))},a.prototype._iterate=function(t){this._values=t;var n,r,i=t.length;if(void 0!==this._initialValue?(n=this._initialValue,r=0):(n=e.resolve(t[0]),r=1),this._currentCancellable=n,!n.isRejected())for(;i>r;++r){var o={accum:null,value:t[r],index:r,length:i,array:this};n=n._then(u,void 0,void 0,o,void 0)}void 0!==this._eachValues&&(n=n._then(this._eachComplete,void 0,void 0,this,void 0)),n._then(c,c,void 0,n,this)},e.prototype.reduce=function(t,e){return l(this,t,e,null)},e.reduce=function(t,e,n,r){return l(t,e,n,r)}}},{"./util":36}],29:[function(t,e,n){"use strict";var r,i=t("./util"),o=function(){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")},s=i.getNativePromise();if(i.isNode&&"undefined"==typeof MutationObserver){var a=global.setImmediate,c=process.nextTick;r=i.isRecentNode?function(t){a.call(global,t)}:function(t){c.call(process,t)}}else if("function"==typeof s){var l=s.resolve();r=function(t){l.then(t)}}else r="undefined"==typeof MutationObserver||"undefined"!=typeof window&&window.navigator&&window.navigator.standalone?"undefined"!=typeof setImmediate?function(t){setImmediate(t)}:"undefined"!=typeof setTimeout?function(t){setTimeout(t,0)}:o:function(){var t=document.createElement("div"),e={attributes:!0},n=!1,r=document.createElement("div"),i=new MutationObserver(function(){t.classList.toggle("foo"),n=!1});i.observe(r,e);var o=function(){n||(n=!0,r.classList.toggle("foo"))};return function(n){var r=new MutationObserver(function(){r.disconnect(),n()});r.observe(t,e),o()}}();e.exports=r},{"./util":36}],30:[function(t,e,n){"use strict";e.exports=function(e,n,r){function i(t){this.constructor$(t)}var o=e.PromiseInspection,s=t("./util");s.inherits(i,n),i.prototype._promiseResolved=function(t,e){this._values[t]=e;var n=++this._totalResolved;return n>=this._length?(this._resolve(this._values),!0):!1},i.prototype._promiseFulfilled=function(t,e){var n=new o;return n._bitField=33554432,n._settledValueField=t,this._promiseResolved(e,n)},i.prototype._promiseRejected=function(t,e){var n=new o;return n._bitField=16777216,n._settledValueField=t,this._promiseResolved(e,n)},e.settle=function(t){return r.deprecated(".settle()",".reflect()"),new i(t).promise()},e.prototype.settle=function(){return e.settle(this)}}},{"./util":36}],31:[function(t,e,n){"use strict";e.exports=function(e,n,r){function i(t){this.constructor$(t),this._howMany=0,this._unwrap=!1,this._initialized=!1}function o(t,e){if((0|e)!==e||0>e)return r("expecting a positive integer\n\n See http://goo.gl/MqrFmX\n");var n=new i(t),o=n.promise();return n.setHowMany(e),n.init(),o}var s=t("./util"),a=t("./errors").RangeError,c=t("./errors").AggregateError,l=s.isArray,u={};s.inherits(i,n),i.prototype._init=function(){if(this._initialized){if(0===this._howMany)return void this._resolve([]);this._init$(void 0,-5);var t=l(this._values);!this._isResolved()&&t&&this._howMany>this._canPossiblyFulfill()&&this._reject(this._getRangeError(this.length()))}},i.prototype.init=function(){this._initialized=!0,this._init()},i.prototype.setUnwrap=function(){this._unwrap=!0},i.prototype.howMany=function(){return this._howMany},i.prototype.setHowMany=function(t){this._howMany=t},i.prototype._promiseFulfilled=function(t){return this._addFulfilled(t),this._fulfilled()===this.howMany()?(this._values.length=this.howMany(),1===this.howMany()&&this._unwrap?this._resolve(this._values[0]):this._resolve(this._values),!0):!1},i.prototype._promiseRejected=function(t){return this._addRejected(t),this._checkOutcome()},i.prototype._promiseCancelled=function(){return this._values instanceof e||null==this._values?this._cancel():(this._addRejected(u),this._checkOutcome())},i.prototype._checkOutcome=function(){if(this.howMany()>this._canPossiblyFulfill()){for(var t=new c,e=this.length();e<this._values.length;++e)this._values[e]!==u&&t.push(this._values[e]);return t.length>0?this._reject(t):this._cancel(),!0}return!1},i.prototype._fulfilled=function(){return this._totalResolved},i.prototype._rejected=function(){return this._values.length-this.length()},i.prototype._addRejected=function(t){this._values.push(t);
+},i.prototype._addFulfilled=function(t){this._values[this._totalResolved++]=t},i.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()},i.prototype._getRangeError=function(t){var e="Input array must contain at least "+this._howMany+" items but contains only "+t+" items";return new a(e)},i.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))},e.some=function(t,e){return o(t,e)},e.prototype.some=function(t){return o(this,t)},e._SomePromiseArray=i}},{"./errors":12,"./util":36}],32:[function(t,e,n){"use strict";e.exports=function(t){function e(t){void 0!==t?(t=t._target(),this._bitField=t._bitField,this._settledValueField=t._isFateSealed()?t._settledValue():void 0):(this._bitField=0,this._settledValueField=void 0)}e.prototype._settledValue=function(){return this._settledValueField};var n=e.prototype.value=function(){if(!this.isFulfilled())throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},r=e.prototype.error=e.prototype.reason=function(){if(!this.isRejected())throw new TypeError("cannot get rejection reason of a non-rejected promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},i=e.prototype.isFulfilled=function(){return 0!==(33554432&this._bitField)},o=e.prototype.isRejected=function(){return 0!==(16777216&this._bitField)},s=e.prototype.isPending=function(){return 0===(50397184&this._bitField)},a=e.prototype.isResolved=function(){return 0!==(50331648&this._bitField)};e.prototype.isCancelled=t.prototype._isCancelled=function(){return 65536===(65536&this._bitField)},t.prototype.isCancelled=function(){return this._target()._isCancelled()},t.prototype.isPending=function(){return s.call(this._target())},t.prototype.isRejected=function(){return o.call(this._target())},t.prototype.isFulfilled=function(){return i.call(this._target())},t.prototype.isResolved=function(){return a.call(this._target())},t.prototype.value=function(){return n.call(this._target())},t.prototype.reason=function(){var t=this._target();return t._unsetRejectionIsUnhandled(),r.call(t)},t.prototype._value=function(){return this._settledValue()},t.prototype._reason=function(){return this._unsetRejectionIsUnhandled(),this._settledValue()},t.PromiseInspection=e}},{}],33:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,r){if(u(t)){if(t instanceof e)return t;var i=o(t);if(i===l){r&&r._pushContext();var c=e.reject(i.e);return r&&r._popContext(),c}if("function"==typeof i){if(s(t)){var c=new e(n);return t._then(c._fulfill,c._reject,void 0,c,null),c}return a(t,i,r)}}return t}function i(t){return t.then}function o(t){try{return i(t)}catch(e){return l.e=e,l}}function s(t){return p.call(t,"_promise0")}function a(t,r,i){function o(t){a&&(a._resolveCallback(t),a=null)}function s(t){a&&(a._rejectCallback(t,p,!0),a=null)}var a=new e(n),u=a;i&&i._pushContext(),a._captureStackTrace(),i&&i._popContext();var p=!0,h=c.tryCatch(r).call(t,o,s);return p=!1,a&&h===l&&(a._rejectCallback(h.e,!0,!0),a=null),u}var c=t("./util"),l=c.errorObj,u=c.isObject,p={}.hasOwnProperty;return r}},{"./util":36}],34:[function(t,e,n){"use strict";e.exports=function(e,n,r){function i(t){this.handle=t}function o(t){return clearTimeout(this.handle),t}function s(t){throw clearTimeout(this.handle),t}var a=t("./util"),c=e.TimeoutError;i.prototype._resultCancelled=function(){clearTimeout(this.handle)};var l=function(t){return u(+this).thenReturn(t)},u=e.delay=function(t,o){var s,a;return void 0!==o?(s=e.resolve(o)._then(l,null,null,t,void 0),r.cancellation()&&o instanceof e&&s._setOnCancel(o)):(s=new e(n),a=setTimeout(function(){s._fulfill()},+t),r.cancellation()&&s._setOnCancel(new i(a))),s._setAsyncGuaranteed(),s};e.prototype.delay=function(t){return u(t,this)};var p=function(t,e,n){var r;r="string"!=typeof e?e instanceof Error?e:new c("operation timed out"):new c(e),a.markAsOriginatingFromRejection(r),t._attachExtraTrace(r),t._reject(r),null!=n&&n.cancel()};e.prototype.timeout=function(t,e){t=+t;var n,a,c=new i(setTimeout(function(){n.isPending()&&p(n,e,a)},t));return r.cancellation()?(a=this.then(),n=a._then(o,s,void 0,c,void 0),n._setOnCancel(c)):n=this._then(o,s,void 0,c,void 0),n}}},{"./util":36}],35:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t){setTimeout(function(){throw t},0)}function c(t){var e=r(t);return e!==t&&"function"==typeof t._isDisposable&&"function"==typeof t._getDisposer&&t._isDisposable()&&e._setDisposable(t._getDisposer()),e}function l(t,n){function i(){if(s>=l)return u._fulfill();var o=c(t[s++]);if(o instanceof e&&o._isDisposable()){try{o=r(o._getDisposer().tryDispose(n),t.promise)}catch(p){return a(p)}if(o instanceof e)return o._then(i,a,null,null,null)}i()}var s=0,l=t.length,u=new e(o);return i(),u}function u(t,e,n){this._data=t,this._promise=e,this._context=n}function p(t,e,n){this.constructor$(t,e,n)}function h(t){return u.isDisposer(t)?(this.resources[this.index]._setDisposable(t),t.promise()):t}function f(t){this.length=t,this.promise=null,this[t-1]=null}var _=t("./util"),d=t("./errors").TypeError,v=t("./util").inherits,y=_.errorObj,m=_.tryCatch;u.prototype.data=function(){return this._data},u.prototype.promise=function(){return this._promise},u.prototype.resource=function(){return this.promise().isFulfilled()?this.promise().value():null},u.prototype.tryDispose=function(t){var e=this.resource(),n=this._context;void 0!==n&&n._pushContext();var r=null!==e?this.doDispose(e,t):null;return void 0!==n&&n._popContext(),this._promise._unsetDisposable(),this._data=null,r},u.isDisposer=function(t){return null!=t&&"function"==typeof t.resource&&"function"==typeof t.tryDispose},v(p,u),p.prototype.doDispose=function(t,e){var n=this.data();return n.call(t,t,e)},f.prototype._resultCancelled=function(){for(var t=this.length,n=0;t>n;++n){var r=this[n];r instanceof e&&r.cancel()}},e.using=function(){var t=arguments.length;if(2>t)return n("you must pass at least 2 arguments to Promise.using");var i=arguments[t-1];if("function"!=typeof i)return n("expecting a function but got "+_.classString(i));var o,a=!0;2===t&&Array.isArray(arguments[0])?(o=arguments[0],t=o.length,a=!1):(o=arguments,t--);for(var c=new f(t),p=0;t>p;++p){var d=o[p];if(u.isDisposer(d)){var v=d;d=d.promise(),d._setDisposable(v)}else{var g=r(d);g instanceof e&&(d=g._then(h,null,null,{resources:c,index:p},void 0))}c[p]=d}for(var b=new Array(c.length),p=0;p<b.length;++p)b[p]=e.resolve(c[p]).reflect();var w=e.all(b).then(function(t){for(var e=0;e<t.length;++e){var n=t[e];if(n.isRejected())return y.e=n.error(),y;if(!n.isFulfilled())return void w.cancel();t[e]=n.value()}C._pushContext(),i=m(i);var r=a?i.apply(void 0,t):i(t),o=C._popContext();return s.checkForgottenReturns(r,o,"Promise.using",C),r}),C=w.lastly(function(){var t=new e.PromiseInspection(w);return l(c,t)});return c.promise=C,C._setOnCancel(c),C},e.prototype._setDisposable=function(t){this._bitField=131072|this._bitField,this._disposer=t},e.prototype._isDisposable=function(){return(131072&this._bitField)>0},e.prototype._getDisposer=function(){return this._disposer},e.prototype._unsetDisposable=function(){this._bitField=-131073&this._bitField,this._disposer=void 0},e.prototype.disposer=function(t){if("function"==typeof t)return new p(t,this,i());throw new d}}},{"./errors":12,"./util":36}],36:[function(t,e,n){"use strict";function r(){try{var t=T;return T=null,t.apply(this,arguments)}catch(e){return x.e=e,x}}function i(t){return T=t,r}function o(t){return null==t||t===!0||t===!1||"string"==typeof t||"number"==typeof t}function s(t){return"function"==typeof t||"object"==typeof t&&null!==t}function a(t){return o(t)?new Error(v(t)):t}function c(t,e){var n,r=t.length,i=new Array(r+1);for(n=0;r>n;++n)i[n]=t[n];return i[n]=e,i}function l(t,e,n){if(!E.isES5)return{}.hasOwnProperty.call(t,e)?t[e]:void 0;var r=Object.getOwnPropertyDescriptor(t,e);return null!=r?null==r.get&&null==r.set?r.value:n:void 0}function u(t,e,n){if(o(t))return t;var r={value:n,configurable:!0,enumerable:!1,writable:!0};return E.defineProperty(t,e,r),t}function p(t){throw t}function h(t){try{if("function"==typeof t){var e=E.names(t.prototype),n=E.isES5&&e.length>1,r=e.length>0&&!(1===e.length&&"constructor"===e[0]),i=O.test(t+"")&&E.names(t).length>0;if(n||r||i)return!0}return!1}catch(o){return!1}}function f(t){function e(){}e.prototype=t;for(var n=8;n--;)new e;return t}function _(t){return A.test(t)}function d(t,e,n){for(var r=new Array(t),i=0;t>i;++i)r[i]=e+i+n;return r}function v(t){try{return t+""}catch(e){return"[no string representation]"}}function y(t){return null!==t&&"object"==typeof t&&"string"==typeof t.message&&"string"==typeof t.name}function m(t){try{u(t,"isOperational",!0)}catch(e){}}function g(t){return null==t?!1:t instanceof Error.__BluebirdErrorTypes__.OperationalError||t.isOperational===!0}function b(t){return y(t)&&E.propertyIsWritable(t,"stack")}function w(t){return{}.toString.call(t)}function C(t,e,n){for(var r=E.names(t),i=0;i<r.length;++i){var o=r[i];if(n(o))try{E.defineProperty(e,o,E.getDescriptor(t,o))}catch(s){}}}function j(t,e){return L?process.env[t]:e}function k(){if("function"==typeof Promise)try{var t=new Promise(function(){});if("[object Promise]"==={}.toString.call(t))return Promise}catch(e){}}var E=t("./es5"),F="undefined"==typeof navigator,x={e:{}},T,P="undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:void 0!==this?this:null,R=function(t,e){function n(){this.constructor=t,this.constructor$=e;for(var n in e.prototype)r.call(e.prototype,n)&&"$"!==n.charAt(n.length-1)&&(this[n+"$"]=e.prototype[n])}var r={}.hasOwnProperty;return n.prototype=e.prototype,t.prototype=new n,t.prototype},S=function(){var t=[Array.prototype,Object.prototype,Function.prototype],e=function(e){for(var n=0;n<t.length;++n)if(t[n]===e)return!0;return!1};if(E.isES5){var n=Object.getOwnPropertyNames;return function(t){for(var r=[],i=Object.create(null);null!=t&&!e(t);){var o;try{o=n(t)}catch(s){return r}for(var a=0;a<o.length;++a){var c=o[a];if(!i[c]){i[c]=!0;var l=Object.getOwnPropertyDescriptor(t,c);null!=l&&null==l.get&&null==l.set&&r.push(c)}}t=E.getPrototypeOf(t)}return r}}var r={}.hasOwnProperty;return function(n){if(e(n))return[];var i=[];t:for(var o in n)if(r.call(n,o))i.push(o);else{for(var s=0;s<t.length;++s)if(r.call(t[s],o))continue t;i.push(o)}return i}}(),O=/this\s*\.\s*\S+\s*=/,A=/^[a-z$_][a-z$_0-9]*$/i,D=function(){return"stack"in new Error?function(t){return b(t)?t:new Error(v(t))}:function(t){if(b(t))return t;try{throw new Error(v(t))}catch(e){return e}}}(),V=function(t){return E.isArray(t)?t:null};if("undefined"!=typeof Symbol&&Symbol.iterator){var I="function"==typeof Array.from?function(t){return Array.from(t)}:function(t){for(var e,n=[],r=t[Symbol.iterator]();!(e=r.next()).done;)n.push(e.value);return n};V=function(t){return E.isArray(t)?t:null!=t&&"function"==typeof t[Symbol.iterator]?I(t):null}}var L="undefined"!=typeof process&&"[object process]"===w(process).toLowerCase(),H={isClass:h,isIdentifier:_,inheritedDataKeys:S,getDataPropertyOrDefault:l,thrower:p,isArray:E.isArray,asArray:V,notEnumerableProp:u,isPrimitive:o,isObject:s,isError:y,canEvaluate:F,errorObj:x,tryCatch:i,inherits:R,withAppended:c,maybeWrapAsError:a,toFastProperties:f,filledRange:d,toString:v,canAttachTrace:b,ensureErrorObject:D,originatesFromRejection:g,markAsOriginatingFromRejection:m,classString:w,copyDescriptors:C,hasDevTools:"undefined"!=typeof chrome&&chrome&&"function"==typeof chrome.loadTimes,isNode:L,env:j,global:P,getNativePromise:k};H.isRecentNode=H.isNode&&function(){var t=process.versions.node.split(".").map(Number);return 0===t[0]&&t[1]>10||t[0]>0}(),H.isNode&&H.toFastProperties(process);try{throw new Error}catch(N){H.lastLineError=N}e.exports=H},{"./es5":13}]},{},[4])(4)}),"undefined"!=typeof window&&null!==window?window.P=window.Promise:"undefined"!=typeof self&&null!==self&&(self.P=self.Promise); \ No newline at end of file
diff --git a/tools/eslint/node_modules/bluebird/package.json b/tools/eslint/node_modules/bluebird/package.json
index c30c330902..e6ee6404c4 100644
--- a/tools/eslint/node_modules/bluebird/package.json
+++ b/tools/eslint/node_modules/bluebird/package.json
@@ -2,18 +2,18 @@
"_args": [
[
"bluebird@^3.1.1",
- "/Users/silverwind/git/node/tools/package/package/node_modules/table"
+ "/Users/trott/io.js/tools/node_modules/table"
]
],
"_from": "bluebird@>=3.1.1 <4.0.0",
- "_id": "bluebird@3.3.4",
+ "_id": "bluebird@3.3.5",
"_inCache": true,
"_installable": true,
"_location": "/bluebird",
"_nodeVersion": "5.6.0",
"_npmOperationalInternal": {
- "host": "packages-13-west.internal.npmjs.com",
- "tmp": "tmp/bluebird-3.3.4.tgz_1457387262336_0.6375562972389162"
+ "host": "packages-12-west.internal.npmjs.com",
+ "tmp": "tmp/bluebird-3.3.5.tgz_1460492125062_0.2224250645376742"
},
"_npmUser": {
"email": "petka_antonov@hotmail.com",
@@ -32,11 +32,11 @@
"_requiredBy": [
"/table"
],
- "_resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.3.4.tgz",
- "_shasum": "f780fe43e1a7a6510f67abd7d0d79533a40ddde6",
+ "_resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.3.5.tgz",
+ "_shasum": "5ee747f1c7bd967658b683936430aee753955a34",
"_shrinkwrap": null,
"_spec": "bluebird@^3.1.1",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/table",
+ "_where": "/Users/trott/io.js/tools/node_modules/table",
"author": {
"email": "petka_antonov@hotmail.com",
"name": "Petka Antonov",
@@ -76,37 +76,37 @@
},
"directories": {},
"dist": {
- "shasum": "f780fe43e1a7a6510f67abd7d0d79533a40ddde6",
- "tarball": "https://registry.npmjs.org/bluebird/-/bluebird-3.3.4.tgz"
+ "shasum": "5ee747f1c7bd967658b683936430aee753955a34",
+ "tarball": "https://registry.npmjs.org/bluebird/-/bluebird-3.3.5.tgz"
},
"files": [
- "LICENSE",
"js/browser",
- "js/release"
+ "js/release",
+ "LICENSE"
],
- "gitHead": "ddba7842e6a2a91854cd8859447103d364d4032d",
+ "gitHead": "ee247f1a04b5ab7cc8a283bedd13d2e83d28f936",
"homepage": "https://github.com/petkaantonov/bluebird",
"keywords": [
+ "promise",
+ "performance",
+ "promises",
+ "promises-a",
+ "promises-aplus",
"async",
"await",
"deferred",
"deferreds",
- "dsl",
- "flow control",
- "fluent interface",
"future",
- "performance",
- "promise",
- "promises",
- "promises-a",
- "promises-aplus"
+ "flow control",
+ "dsl",
+ "fluent interface"
],
"license": "MIT",
"main": "./js/release/bluebird.js",
"maintainers": [
{
- "name": "esailija",
- "email": "petka_antonov@hotmail.com"
+ "email": "petka_antonov@hotmail.com",
+ "name": "esailija"
}
],
"name": "bluebird",
@@ -124,5 +124,5 @@
"prepublish": "npm run generate-browser-core && npm run generate-browser-full",
"test": "node tools/test.js"
},
- "version": "3.3.4"
+ "version": "3.3.5"
}
diff --git a/tools/eslint/node_modules/brace-expansion/README.md b/tools/eslint/node_modules/brace-expansion/README.md
index b0d793ed5d..179392978d 100644
--- a/tools/eslint/node_modules/brace-expansion/README.md
+++ b/tools/eslint/node_modules/brace-expansion/README.md
@@ -1,6 +1,6 @@
# brace-expansion
-[Brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html),
+[Brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html),
as known from sh/bash, in JavaScript.
[![build status](https://secure.travis-ci.org/juliangruber/brace-expansion.svg)](http://travis-ci.org/juliangruber/brace-expansion)
diff --git a/tools/eslint/node_modules/brace-expansion/example.js b/tools/eslint/node_modules/brace-expansion/example.js
index 36cde4de5c..60ecfc74d4 100644
--- a/tools/eslint/node_modules/brace-expansion/example.js
+++ b/tools/eslint/node_modules/brace-expansion/example.js
@@ -5,3 +5,4 @@ console.log(expand('http://www.numericals.com/file{1..100..10}.txt'));
console.log(expand('http://www.letters.com/file{a..z..2}.txt'));
console.log(expand('mkdir /usr/local/src/bash/{old,new,dist,bugs}'));
console.log(expand('chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}'));
+
diff --git a/tools/eslint/node_modules/brace-expansion/index.js b/tools/eslint/node_modules/brace-expansion/index.js
index abe535df32..932718f928 100644
--- a/tools/eslint/node_modules/brace-expansion/index.js
+++ b/tools/eslint/node_modules/brace-expansion/index.js
@@ -188,3 +188,4 @@ function expand(str, isTop) {
return expansions;
}
+
diff --git a/tools/eslint/node_modules/brace-expansion/package.json b/tools/eslint/node_modules/brace-expansion/package.json
index 808e39d007..de15a744c8 100644
--- a/tools/eslint/node_modules/brace-expansion/package.json
+++ b/tools/eslint/node_modules/brace-expansion/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"brace-expansion@^1.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/minimatch"
+ "/Users/trott/io.js/tools/node_modules/minimatch"
]
],
"_from": "brace-expansion@>=1.0.0 <2.0.0",
@@ -36,7 +36,7 @@
"_shasum": "46bff50115d47fc9ab89854abb87d98078a10991",
"_shrinkwrap": null,
"_spec": "brace-expansion@^1.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/minimatch",
+ "_where": "/Users/trott/io.js/tools/node_modules/minimatch",
"author": {
"email": "mail@juliangruber.com",
"name": "Julian Gruber",
@@ -65,12 +65,12 @@
"main": "index.js",
"maintainers": [
{
- "name": "juliangruber",
- "email": "julian@juliangruber.com"
+ "email": "julian@juliangruber.com",
+ "name": "juliangruber"
},
{
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
+ "email": "isaacs@npmjs.com",
+ "name": "isaacs"
}
],
"name": "brace-expansion",
@@ -86,17 +86,17 @@
},
"testling": {
"browsers": [
- "android-browser/4.2..latest",
- "chrome/25..latest",
- "chrome/canary",
+ "ie/8..latest",
"firefox/20..latest",
"firefox/nightly",
- "ie/8..latest",
- "ipad/6.0..latest",
- "iphone/6.0..latest",
+ "chrome/25..latest",
+ "chrome/canary",
"opera/12..latest",
"opera/next",
- "safari/5.1..latest"
+ "safari/5.1..latest",
+ "ipad/6.0..latest",
+ "iphone/6.0..latest",
+ "android-browser/4.2..latest"
],
"files": "test/*.js"
},
diff --git a/tools/eslint/node_modules/caller-path/package.json b/tools/eslint/node_modules/caller-path/package.json
index f352e62dfc..b58a29e666 100644
--- a/tools/eslint/node_modules/caller-path/package.json
+++ b/tools/eslint/node_modules/caller-path/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"caller-path@^0.1.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/require-uncached"
+ "/Users/trott/io.js/tools/node_modules/require-uncached"
]
],
"_from": "caller-path@>=0.1.0 <0.2.0",
@@ -31,7 +31,7 @@
"_shasum": "94085ef63581ecd3daa92444a8fe94e82577751f",
"_shrinkwrap": null,
"_spec": "caller-path@^0.1.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/require-uncached",
+ "_where": "/Users/trott/io.js/tools/node_modules/require-uncached",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -50,7 +50,7 @@
"directories": {},
"dist": {
"shasum": "94085ef63581ecd3daa92444a8fe94e82577751f",
- "tarball": "http://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz"
+ "tarball": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz"
},
"engines": {
"node": ">=0.10.0"
@@ -62,22 +62,22 @@
"keywords": [
"caller",
"calling",
- "callsite",
- "callsites",
- "file",
- "function",
"module",
- "parent",
"path",
- "stack",
+ "parent",
+ "callsites",
+ "callsite",
"stacktrace",
- "trace"
+ "stack",
+ "trace",
+ "function",
+ "file"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "caller-path",
diff --git a/tools/eslint/node_modules/callsites/package.json b/tools/eslint/node_modules/callsites/package.json
index 207bd5473d..e6476010de 100644
--- a/tools/eslint/node_modules/callsites/package.json
+++ b/tools/eslint/node_modules/callsites/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"callsites@^0.2.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/caller-path"
+ "/Users/trott/io.js/tools/node_modules/caller-path"
]
],
"_from": "callsites@>=0.2.0 <0.3.0",
@@ -31,7 +31,7 @@
"_shasum": "afab96262910a7f33c19a5775825c69f34e350ca",
"_shrinkwrap": null,
"_spec": "callsites@^0.2.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/caller-path",
+ "_where": "/Users/trott/io.js/tools/node_modules/caller-path",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -58,22 +58,22 @@
],
"homepage": "https://github.com/sindresorhus/callsites",
"keywords": [
- "callsite",
"callsites",
- "debug",
- "file",
- "function",
- "line",
- "stack",
+ "callsite",
+ "v8",
"stacktrace",
+ "stack",
"trace",
- "v8"
+ "function",
+ "file",
+ "line",
+ "debug"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "callsites",
diff --git a/tools/eslint/node_modules/chalk/package.json b/tools/eslint/node_modules/chalk/package.json
index 503b4b0598..310c22ce48 100644
--- a/tools/eslint/node_modules/chalk/package.json
+++ b/tools/eslint/node_modules/chalk/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"chalk@^1.1.3",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "chalk@>=1.1.3 <2.0.0",
@@ -30,7 +30,7 @@
"type": "range"
},
"_requiredBy": [
- "/",
+ "/eslint",
"/inquirer",
"/table"
],
@@ -38,7 +38,7 @@
"_shasum": "a8115c55e4a702fe4d150abd3872822a7e09fc98",
"_shrinkwrap": null,
"_spec": "chalk@^1.1.3",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"bugs": {
"url": "https://github.com/chalk/chalk/issues"
},
@@ -74,41 +74,41 @@
"gitHead": "0d8d8c204eb87a4038219131ad4d8369c9f59d24",
"homepage": "https://github.com/chalk/chalk#readme",
"keywords": [
- "256",
- "ansi",
- "cli",
"color",
- "colors",
"colour",
- "command-line",
+ "colors",
+ "terminal",
"console",
- "formatting",
- "log",
- "logging",
- "rgb",
- "shell",
- "str",
+ "cli",
"string",
+ "str",
+ "ansi",
"style",
"styles",
- "terminal",
- "text",
"tty",
- "xterm"
+ "formatting",
+ "rgb",
+ "256",
+ "shell",
+ "xterm",
+ "log",
+ "logging",
+ "command-line",
+ "text"
],
"license": "MIT",
"maintainers": [
{
- "name": "qix",
- "email": "i.am.qix@gmail.com"
+ "email": "i.am.qix@gmail.com",
+ "name": "qix"
},
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
},
{
- "name": "unicorn",
- "email": "sindresorhus+unicorn@gmail.com"
+ "email": "sindresorhus+unicorn@gmail.com",
+ "name": "unicorn"
}
],
"name": "chalk",
@@ -127,8 +127,8 @@
"version": "1.1.3",
"xo": {
"envs": [
- "mocha",
- "node"
+ "node",
+ "mocha"
]
}
}
diff --git a/tools/eslint/node_modules/cli-cursor/package.json b/tools/eslint/node_modules/cli-cursor/package.json
index 422bbfed0e..ecc6fe50e5 100644
--- a/tools/eslint/node_modules/cli-cursor/package.json
+++ b/tools/eslint/node_modules/cli-cursor/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"cli-cursor@^1.0.1",
- "/Users/silverwind/git/node/tools/package/package/node_modules/inquirer"
+ "/Users/trott/io.js/tools/node_modules/inquirer"
]
],
"_from": "cli-cursor@>=1.0.1 <2.0.0",
@@ -32,7 +32,7 @@
"_shasum": "64da3f7d56a54412e59794bd62dc35295e8f2987",
"_shrinkwrap": null,
"_spec": "cli-cursor@^1.0.1",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/inquirer",
+ "_where": "/Users/trott/io.js/tools/node_modules/inquirer",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -63,25 +63,25 @@
"gitHead": "6be5a384d90278c66aa30db5ecdec8dc68f17d4f",
"homepage": "https://github.com/sindresorhus/cli-cursor#readme",
"keywords": [
- "ansi",
"cli",
- "command-line",
- "console",
"cursor",
+ "ansi",
+ "toggle",
"display",
- "hide",
- "shell",
"show",
+ "hide",
"term",
"terminal",
- "toggle",
- "tty"
+ "console",
+ "tty",
+ "shell",
+ "command-line"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "cli-cursor",
diff --git a/tools/eslint/node_modules/cli-width/package.json b/tools/eslint/node_modules/cli-width/package.json
index cfe7285c91..6a65191c26 100644
--- a/tools/eslint/node_modules/cli-width/package.json
+++ b/tools/eslint/node_modules/cli-width/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"cli-width@^2.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/inquirer"
+ "/Users/trott/io.js/tools/node_modules/inquirer"
]
],
"_from": "cli-width@>=2.0.0 <3.0.0",
@@ -36,7 +36,7 @@
"_shasum": "b234ca209b29ef66fc518d9b98d5847b00edf00a",
"_shrinkwrap": null,
"_spec": "cli-width@^2.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/inquirer",
+ "_where": "/Users/trott/io.js/tools/node_modules/inquirer",
"author": {
"email": "ilya@burstcreations.com",
"name": "Ilya Radchenko"
@@ -64,8 +64,8 @@
"main": "index.js",
"maintainers": [
{
- "name": "knownasilya",
- "email": "ilya@burstcreations.com"
+ "email": "ilya@burstcreations.com",
+ "name": "knownasilya"
}
],
"name": "cli-width",
diff --git a/tools/eslint/node_modules/code-point-at/package.json b/tools/eslint/node_modules/code-point-at/package.json
index e07626f4aa..7ee3617543 100644
--- a/tools/eslint/node_modules/code-point-at/package.json
+++ b/tools/eslint/node_modules/code-point-at/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"code-point-at@^1.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/readline2"
+ "/Users/trott/io.js/tools/node_modules/readline2"
]
],
"_from": "code-point-at@>=1.0.0 <2.0.0",
@@ -33,7 +33,7 @@
"_shasum": "f69b192d3f7d91e382e4b71bddb77878619ab0c6",
"_shrinkwrap": null,
"_spec": "code-point-at@^1.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/readline2",
+ "_where": "/Users/trott/io.js/tools/node_modules/readline2",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -63,24 +63,24 @@
"gitHead": "c2ffa4064718b37c84c73a633abeeed5b486a469",
"homepage": "https://github.com/sindresorhus/code-point-at",
"keywords": [
- "at",
- "code",
- "codepoint",
"es2015",
"es6",
- "point",
- "polyfill",
"ponyfill",
+ "polyfill",
"shim",
- "str",
"string",
+ "str",
+ "code",
+ "point",
+ "at",
+ "codepoint",
"unicode"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "code-point-at",
diff --git a/tools/eslint/node_modules/concat-map/package.json b/tools/eslint/node_modules/concat-map/package.json
index 85e7e28292..26be345465 100644
--- a/tools/eslint/node_modules/concat-map/package.json
+++ b/tools/eslint/node_modules/concat-map/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"concat-map@0.0.1",
- "/Users/silverwind/git/node/tools/package/package/node_modules/brace-expansion"
+ "/Users/trott/io.js/tools/node_modules/brace-expansion"
]
],
"_from": "concat-map@0.0.1",
@@ -31,7 +31,7 @@
"_shasum": "d8a96bd77fd68df7793a73036a3ba0d5405d477b",
"_shrinkwrap": null,
"_spec": "concat-map@0.0.1",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/brace-expansion",
+ "_where": "/Users/trott/io.js/tools/node_modules/brace-expansion",
"author": {
"email": "mail@substack.net",
"name": "James Halliday",
@@ -57,16 +57,16 @@
"keywords": [
"concat",
"concatMap",
+ "map",
"functional",
- "higher-order",
- "map"
+ "higher-order"
],
"license": "MIT",
"main": "index.js",
"maintainers": [
{
- "name": "substack",
- "email": "mail@substack.net"
+ "email": "mail@substack.net",
+ "name": "substack"
}
],
"name": "concat-map",
@@ -86,9 +86,9 @@
22
],
"ff": [
+ 3.5,
10,
- 15,
- 3.5
+ 15
],
"ie": [
6,
diff --git a/tools/eslint/node_modules/concat-stream/package.json b/tools/eslint/node_modules/concat-stream/package.json
index 7a377b67e5..99e9fe9a96 100644
--- a/tools/eslint/node_modules/concat-stream/package.json
+++ b/tools/eslint/node_modules/concat-stream/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"concat-stream@^1.4.6",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "concat-stream@>=1.4.6 <2.0.0",
@@ -26,13 +26,13 @@
"type": "range"
},
"_requiredBy": [
- "/"
+ "/eslint"
],
"_resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.1.tgz",
"_shasum": "f3b80acf9e1f48e3875c0688b41b6c31602eea1c",
"_shrinkwrap": null,
"_spec": "concat-stream@^1.4.6",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"author": {
"email": "max@maxogden.com",
"name": "Max Ogden"
@@ -66,8 +66,8 @@
"main": "index.js",
"maintainers": [
{
- "name": "maxogden",
- "email": "max@maxogden.com"
+ "email": "max@maxogden.com",
+ "name": "maxogden"
}
],
"name": "concat-stream",
@@ -81,24 +81,24 @@
"test": "tape test/*.js test/server/*.js"
},
"tags": [
- "simple",
"stream",
+ "simple",
"util",
"utility"
],
"testling": {
"browsers": [
- "android-browser/4.2..latest",
- "chrome/22..latest",
- "chrome/canary",
+ "ie/8..latest",
"firefox/17..latest",
"firefox/nightly",
- "ie/8..latest",
- "ipad/6.0..latest",
- "iphone/6.0..latest",
+ "chrome/22..latest",
+ "chrome/canary",
"opera/12..latest",
"opera/next",
- "safari/5.1..latest"
+ "safari/5.1..latest",
+ "ipad/6.0..latest",
+ "iphone/6.0..latest",
+ "android-browser/4.2..latest"
],
"files": "test/*.js"
},
diff --git a/tools/eslint/node_modules/core-util-is/package.json b/tools/eslint/node_modules/core-util-is/package.json
index 586ac59398..3679efaaa9 100644
--- a/tools/eslint/node_modules/core-util-is/package.json
+++ b/tools/eslint/node_modules/core-util-is/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"core-util-is@~1.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/readable-stream"
+ "/Users/trott/io.js/tools/node_modules/readable-stream"
]
],
"_from": "core-util-is@>=1.0.0 <1.1.0",
@@ -32,7 +32,7 @@
"_shasum": "b5fd54220aa2bc5ab57aab7140c940754503c1a7",
"_shrinkwrap": null,
"_spec": "core-util-is@~1.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/readable-stream",
+ "_where": "/Users/trott/io.js/tools/node_modules/readable-stream",
"author": {
"email": "i@izs.me",
"name": "Isaac Z. Schlueter",
@@ -54,22 +54,22 @@
"gitHead": "a177da234df5638b363ddc15fa324619a38577c8",
"homepage": "https://github.com/isaacs/core-util-is#readme",
"keywords": [
- "isArray",
+ "util",
"isBuffer",
+ "isArray",
"isNumber",
- "isRegExp",
"isString",
- "isThat",
+ "isRegExp",
"isThis",
- "polyfill",
- "util"
+ "isThat",
+ "polyfill"
],
"license": "MIT",
"main": "lib/util.js",
"maintainers": [
{
- "name": "isaacs",
- "email": "i@izs.me"
+ "email": "i@izs.me",
+ "name": "isaacs"
}
],
"name": "core-util-is",
diff --git a/tools/eslint/node_modules/d/package.json b/tools/eslint/node_modules/d/package.json
index f5b006a296..af2dea007f 100644
--- a/tools/eslint/node_modules/d/package.json
+++ b/tools/eslint/node_modules/d/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"d@~0.1.1",
- "/Users/silverwind/git/node/tools/package/package/node_modules/es6-map"
+ "/Users/trott/io.js/tools/node_modules/es6-map"
]
],
"_from": "d@>=0.1.1 <0.2.0",
@@ -36,7 +36,7 @@
"_shasum": "da184c535d18d8ee7ba2aa229b914009fae11309",
"_shrinkwrap": null,
"_spec": "d@~0.1.1",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/es6-map",
+ "_where": "/Users/trott/io.js/tools/node_modules/es6-map",
"author": {
"email": "medyk@medikoo.com",
"name": "Mariusz Nowak",
@@ -60,19 +60,19 @@
"homepage": "https://github.com/medikoo/d",
"keywords": [
"descriptor",
- "descriptors",
- "ecma",
- "ecmascript",
"es",
+ "ecmascript",
+ "ecma",
+ "property",
+ "descriptors",
"meta",
- "properties",
- "property"
+ "properties"
],
"license": "MIT",
"maintainers": [
{
- "name": "medikoo",
- "email": "medikoo+npm@medikoo.com"
+ "email": "medikoo+npm@medikoo.com",
+ "name": "medikoo"
}
],
"name": "d",
diff --git a/tools/eslint/node_modules/debug/package.json b/tools/eslint/node_modules/debug/package.json
index 3679ef340a..cfa74e368b 100644
--- a/tools/eslint/node_modules/debug/package.json
+++ b/tools/eslint/node_modules/debug/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"debug@^2.1.1",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "debug@>=2.1.1 <3.0.0",
@@ -26,13 +26,13 @@
"type": "range"
},
"_requiredBy": [
- "/"
+ "/eslint"
],
"_resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"_shasum": "f87057e995b1a1f6ae6a4960664137bc56f039da",
"_shrinkwrap": null,
"_spec": "debug@^2.1.1",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"author": {
"email": "tj@vision-media.ca",
"name": "TJ Holowaychuk"
@@ -49,8 +49,8 @@
},
"contributors": [
{
- "name": "Nathan Rajlich",
"email": "nathan@tootallnate.net",
+ "name": "Nathan Rajlich",
"url": "http://n8.io"
}
],
@@ -71,19 +71,19 @@
"homepage": "https://github.com/visionmedia/debug",
"keywords": [
"debug",
- "debugger",
- "log"
+ "log",
+ "debugger"
],
"license": "MIT",
"main": "./node.js",
"maintainers": [
{
- "name": "tjholowaychuk",
- "email": "tj@vision-media.ca"
+ "email": "tj@vision-media.ca",
+ "name": "tjholowaychuk"
},
{
- "name": "tootallnate",
- "email": "nathan@tootallnate.net"
+ "email": "nathan@tootallnate.net",
+ "name": "tootallnate"
}
],
"name": "debug",
diff --git a/tools/eslint/node_modules/deep-is/package.json b/tools/eslint/node_modules/deep-is/package.json
index 2f22a3fb5a..d7b59dca22 100644
--- a/tools/eslint/node_modules/deep-is/package.json
+++ b/tools/eslint/node_modules/deep-is/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"deep-is@~0.1.3",
- "/Users/silverwind/git/node/tools/package/package/node_modules/optionator"
+ "/Users/trott/io.js/tools/node_modules/optionator"
]
],
"_from": "deep-is@>=0.1.3 <0.2.0",
@@ -31,7 +31,7 @@
"_shasum": "b369d6fb5dbc13eecf524f91b070feedc357cf34",
"_shrinkwrap": null,
"_spec": "deep-is@~0.1.3",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/optionator",
+ "_where": "/Users/trott/io.js/tools/node_modules/optionator",
"author": {
"email": "thlorenz@gmx.de",
"name": "Thorsten Lorenz",
@@ -57,9 +57,9 @@
"gitHead": "f126057628423458636dec9df3d621843b9ac55e",
"homepage": "https://github.com/thlorenz/deep-is",
"keywords": [
- "compare",
+ "equality",
"equal",
- "equality"
+ "compare"
],
"license": {
"type": "MIT",
@@ -68,8 +68,8 @@
"main": "index.js",
"maintainers": [
{
- "name": "thlorenz",
- "email": "thlorenz@gmx.de"
+ "email": "thlorenz@gmx.de",
+ "name": "thlorenz"
}
],
"name": "deep-is",
@@ -89,9 +89,9 @@
22
],
"ff": [
+ 3.5,
10,
- 15,
- 3.5
+ 15
],
"ie": [
6,
diff --git a/tools/eslint/node_modules/del/package.json b/tools/eslint/node_modules/del/package.json
index 8e37d5b8d9..a86ecbd0e1 100644
--- a/tools/eslint/node_modules/del/package.json
+++ b/tools/eslint/node_modules/del/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"del@^2.0.2",
- "/Users/silverwind/git/node/tools/package/package/node_modules/flat-cache"
+ "/Users/trott/io.js/tools/node_modules/flat-cache"
]
],
"_from": "del@>=2.0.2 <3.0.0",
@@ -32,7 +32,7 @@
"_shasum": "9a50f04bf37325e283b4f44e985336c252456bd5",
"_shrinkwrap": null,
"_spec": "del@^2.0.2",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/flat-cache",
+ "_where": "/Users/trott/io.js/tools/node_modules/flat-cache",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -71,34 +71,34 @@
"gitHead": "f364db4622f69856d9b7d26c8830335e607924fe",
"homepage": "https://github.com/sindresorhus/del",
"keywords": [
+ "delete",
+ "del",
+ "remove",
+ "destroy",
+ "trash",
+ "unlink",
"clean",
"cleaning",
"cleanup",
- "del",
- "delete",
- "destroy",
- "dir",
- "directory",
+ "rm",
+ "rmrf",
+ "rimraf",
+ "rmdir",
+ "glob",
+ "gulpfriendly",
"file",
"files",
- "filesystem",
"folder",
+ "dir",
+ "directory",
"fs",
- "glob",
- "gulpfriendly",
- "remove",
- "rimraf",
- "rm",
- "rmdir",
- "rmrf",
- "trash",
- "unlink"
+ "filesystem"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "del",
@@ -114,8 +114,8 @@
"version": "2.2.0",
"xo": {
"envs": [
- "mocha",
- "node"
+ "node",
+ "mocha"
]
}
}
diff --git a/tools/eslint/node_modules/del/readme.md b/tools/eslint/node_modules/del/readme.md
index c4a64ee25e..fe22ccb5a6 100644
--- a/tools/eslint/node_modules/del/readme.md
+++ b/tools/eslint/node_modules/del/readme.md
@@ -69,14 +69,14 @@ See the `node-glob` [options](https://github.com/isaacs/node-glob#options).
##### force
-Type: `boolean`
+Type: `boolean`
Default: `false`
Allow deleting the current working directory and files/folders outside it.
##### dryRun
-Type: `boolean`
+Type: `boolean`
Default: `false`
See what would be deleted.
diff --git a/tools/eslint/node_modules/doctrine/node_modules/esutils/package.json b/tools/eslint/node_modules/doctrine/node_modules/esutils/package.json
index 7be2470755..53a9b85a62 100644
--- a/tools/eslint/node_modules/doctrine/node_modules/esutils/package.json
+++ b/tools/eslint/node_modules/doctrine/node_modules/esutils/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"esutils@^1.1.6",
- "/Users/silverwind/git/node/tools/package/package/node_modules/doctrine"
+ "/Users/trott/io.js/tools/node_modules/doctrine"
]
],
"_from": "esutils@>=1.1.6 <2.0.0",
@@ -31,7 +31,7 @@
"_shasum": "c01ccaa9ae4b897c6d0c3e210ae52f3c7a844375",
"_shrinkwrap": null,
"_spec": "esutils@^1.1.6",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/doctrine",
+ "_where": "/Users/trott/io.js/tools/node_modules/doctrine",
"bugs": {
"url": "https://github.com/Constellation/esutils/issues"
},
@@ -71,8 +71,8 @@
"main": "lib/utils.js",
"maintainers": [
{
- "name": "constellation",
- "email": "utatane.tea@gmail.com"
+ "email": "utatane.tea@gmail.com",
+ "name": "constellation"
}
],
"name": "esutils",
diff --git a/tools/eslint/node_modules/doctrine/package.json b/tools/eslint/node_modules/doctrine/package.json
index 79835fa71b..a0f2745e42 100644
--- a/tools/eslint/node_modules/doctrine/package.json
+++ b/tools/eslint/node_modules/doctrine/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"doctrine@^1.2.1",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "doctrine@>=1.2.1 <2.0.0",
@@ -30,13 +30,13 @@
"type": "range"
},
"_requiredBy": [
- "/"
+ "/eslint"
],
"_resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.2.1.tgz",
"_shasum": "ac0c649d70b9501e16e97acb7ec4e27168f746a3",
"_shrinkwrap": null,
"_spec": "doctrine@^1.2.1",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"bugs": {
"url": "https://github.com/eslint/doctrine/issues"
},
@@ -64,17 +64,17 @@
},
"dist": {
"shasum": "ac0c649d70b9501e16e97acb7ec4e27168f746a3",
- "tarball": "https://registry.npmjs.org/doctrine/-/doctrine-1.2.1.tgz"
+ "tarball": "http://registry.npmjs.org/doctrine/-/doctrine-1.2.1.tgz"
},
"engines": {
"node": ">=0.10.0"
},
"files": [
+ "lib",
"LICENSE.BSD",
"LICENSE.closure-compiler",
"LICENSE.esprima",
- "README.md",
- "lib"
+ "README.md"
],
"gitHead": "18dba10454f17acbc49ae3c0628119734cb34952",
"homepage": "https://github.com/eslint/doctrine",
@@ -87,12 +87,12 @@
"main": "lib/doctrine.js",
"maintainers": [
{
- "name": "constellation",
- "email": "utatane.tea@gmail.com"
+ "email": "utatane.tea@gmail.com",
+ "name": "constellation"
},
{
- "name": "nzakas",
- "email": "nicholas@nczconsulting.com"
+ "email": "nicholas@nczconsulting.com",
+ "name": "nzakas"
}
],
"name": "doctrine",
diff --git a/tools/eslint/node_modules/es5-ext/README.md b/tools/eslint/node_modules/es5-ext/README.md
index ad09fe2317..11d8a343d5 100644
--- a/tools/eslint/node_modules/es5-ext/README.md
+++ b/tools/eslint/node_modules/es5-ext/README.md
@@ -11,7 +11,7 @@ When used in ECMAScript 6 environment, native implementation (if valid) takes pr
### Installation
$ npm install es5-ext
-
+
To port it to Browser or any other (non CJS) environment, use your favorite CJS bundler. No favorite yet? Try: [Browserify](http://browserify.org/), [Webmake](https://github.com/medikoo/modules-webmake) or [Webpack](http://webpack.github.io/)
### Usage
@@ -114,7 +114,7 @@ Object.defineProperty(String.prototype, 'capitalize', { value: require('es5-ext/
configurable: true, enumerable: false, writable: true });
```
-See [es5-extend](https://github.com/wookieb/es5-extend#es5-extend), a great utility that automatically will extend natives for you.
+See [es5-extend](https://github.com/wookieb/es5-extend#es5-extend), a great utility that automatically will extend natives for you.
__Important:__ Remember to __not__ extend natives in scope of generic reusable packages (e.g. ones you intend to publish to npm). Extending natives is fine __only__ if you're the _owner_ of the global scope, so e.g. in final project you lead development of.
@@ -162,7 +162,7 @@ Object that represents global scope
#### from(arrayLike[, mapFn[, thisArg]]) _(es5-ext/array/from)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.from).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.from).
Returns array representation of _iterable_ or _arrayLike_. If _arrayLike_ is an instance of array, its copy is returned.
#### generate([length[, …fill]]) _(es5-ext/array/generate)_
@@ -175,7 +175,7 @@ Returns true if object is plain array (not instance of one of the Array's extens
#### of([…items]) _(es5-ext/array/of)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.of).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.of).
Create an array from given arguments.
#### toArray(obj) _(es5-ext/array/to-array)_
@@ -190,7 +190,7 @@ Returns `obj` if it's an array, otherwise throws `TypeError`
#### arr.binarySearch(compareFn) _(es5-ext/array/#/binary-search)_
-In __sorted__ list search for index of item for which _compareFn_ returns value closest to _0_.
+In __sorted__ list search for index of item for which _compareFn_ returns value closest to _0_.
It's variant of binary search algorithm
#### arr.clear() _(es5-ext/array/#/clear)_
@@ -203,7 +203,7 @@ Returns a copy of the context with all non-values (`null` or `undefined`) remove
#### arr.concat() _(es5-ext/array/#/concat)_
-[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype.concat).
+[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype.concat).
ES6's version of `concat`. Supports `isConcatSpreadable` symbol, and returns array of same type as the context.
#### arr.contains(searchElement[, position]) _(es5-ext/array/#/contains)_
@@ -212,7 +212,7 @@ Whether list contains the given value.
#### arr.copyWithin(target, start[, end]) _(es5-ext/array/#/copy-within)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.copywithin).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.copywithin).
#### arr.diff(other) _(es5-ext/array/#/diff)_
@@ -228,7 +228,7 @@ _egal_ version of `lastIndexOf` method. [_SameValueZero_](http://people.mozilla.
#### arr.entries() _(es5-ext/array/#/entries)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype.entries).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype.entries).
Returns iterator object, which traverses the array. Each value is represented with an array, where first value is an index and second is corresponding to index value.
#### arr.exclusion([…lists]]) _(es5-ext/array/#/exclusion)_
@@ -237,21 +237,21 @@ Returns the array of elements that are found only in one of the lists (either co
#### arr.fill(value[, start, end]) _(es5-ext/array/#/fill)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.fill).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.fill).
#### arr.filter(callback[, thisArg]) _(es5-ext/array/#/filter)_
-[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.filter).
+[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.filter).
ES6's version of `filter`, returns array of same type as the context.
#### arr.find(predicate[, thisArg]) _(es5-ext/array/#/find)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.find).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.find).
Return first element for which given function returns true
#### arr.findIndex(predicate[, thisArg]) _(es5-ext/array/#/find-index)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.findindex).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.findindex).
Return first index for which given function returns true
#### arr.first() _(es5-ext/array/#/first)_
@@ -292,7 +292,7 @@ Returns true if all values in array are unique
#### arr.keys() _(es5-ext/array/#/keys)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype.keys).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype.keys).
Returns iterator object, which traverses all array indexes.
#### arr.last() _(es5-ext/array/#/last)_
@@ -305,7 +305,7 @@ Returns last defined index of the array
#### arr.map(callback[, thisArg]) _(es5-ext/array/#/map)_
-[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.map).
+[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.map).
ES6's version of `map`, returns array of same type as the context.
#### arr.remove(value[, …valuen]) _(es5-ext/array/#/remove)_
@@ -318,7 +318,7 @@ Returns array with items separated with `sep` value
#### arr.slice(callback[, thisArg]) _(es5-ext/array/#/slice)_
-[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.slice).
+[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.slice).
ES6's version of `slice`, returns array of same type as the context.
#### arr.someRight(cb[, thisArg]) _(es5-ext/array/#/someRight)_
@@ -327,7 +327,7 @@ ES6's version of `slice`, returns array of same type as the context.
#### arr.splice(callback[, thisArg]) _(es5-ext/array/#/splice)_
-[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.splice).
+[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.splice).
ES6's version of `splice`, returns array of same type as the context.
#### arr.uniq() _(es5-ext/array/#/uniq)_
@@ -336,12 +336,12 @@ Returns duplicate-free version of the array
#### arr.values() _(es5-ext/array/#/values)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype.values).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype.values).
Returns iterator object which traverses all array values.
#### arr[@@iterator] _(es5-ext/array/#/@@iterator)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype-@@iterator).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype-@@iterator).
Returns iterator object which traverses all array values.
### Boolean Constructor extensions
@@ -399,11 +399,11 @@ Formats date up to given string. Supported patterns:
#### custom(message/*, code, ext*/) _(es5-ext/error/custom)_
-Creates custom error object, optinally extended with `code` and other extension properties (provided with `ext` object)
+Creates custom error object, optinally extended with `code` and other extension properties (provided with `ext` object)
#### isError(x) _(es5-ext/error/is-error)_
-Whether value is an error (instance of `Error`).
+Whether value is an error (instance of `Error`).
#### validError(x) _(es5-ext/error/valid-error)_
@@ -434,7 +434,7 @@ _i(x) =def x_
#### invoke(name[, …args]) _(es5-ext/function/invoke)_
Returns a function that takes an object as an argument, and applies object's
-_name_ method to arguments.
+_name_ method to arguments.
_name_ can be name of the method or method itself.
_invoke(name, …args)(object, …args2) =def object\[name\]\(…args, …args2\)_
@@ -478,7 +478,7 @@ Produces copy of given function
#### fn.curry([n]) _(es5-ext/function/#/curry)_
-Invoking the function returned by this function only _n_ arguments are passed to the underlying function. If the underlying function is not saturated, the result is a function that passes all its arguments to the underlying function.
+Invoking the function returned by this function only _n_ arguments are passed to the underlying function. If the underlying function is not saturated, the result is a function that passes all its arguments to the underlying function.
If _n_ is not provided then it defaults to context function length
_f.curry(4)(arg1, arg2)(arg3)(arg4) =def f(arg1, args2, arg3, arg4)_
@@ -517,93 +517,93 @@ Serializes function into two (arguments and body) string tokens. Result is plain
#### acosh(x) _(es5-ext/math/acosh)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.acosh).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.acosh).
#### asinh(x) _(es5-ext/math/asinh)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.asinh).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.asinh).
#### atanh(x) _(es5-ext/math/atanh)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.atanh).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.atanh).
#### cbrt(x) _(es5-ext/math/cbrt)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.cbrt).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.cbrt).
#### clz32(x) _(es5-ext/math/clz32)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.clz32).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.clz32).
#### cosh(x) _(es5-ext/math/cosh)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.cosh).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.cosh).
#### expm1(x) _(es5-ext/math/expm1)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.expm1).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.expm1).
#### fround(x) _(es5-ext/math/fround)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.fround).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.fround).
#### hypot([…values]) _(es5-ext/math/hypot)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.hypot).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.hypot).
#### imul(x, y) _(es5-ext/math/imul)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.imul).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.imul).
#### log1p(x) _(es5-ext/math/log1p)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.log1p).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.log1p).
#### log2(x) _(es5-ext/math/log2)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.log2).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.log2).
#### log10(x) _(es5-ext/math/log10)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.log10).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.log10).
#### sign(x) _(es5-ext/math/sign)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.sign).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.sign).
#### sinh(x) _(es5-ext/math/sinh)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.sinh).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.sinh).
#### tanh(x) _(es5-ext/math/tanh)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.tanh).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.tanh).
#### trunc(x) _(es5-ext/math/trunc)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.trunc).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.trunc).
### Number Constructor extensions
#### EPSILON _(es5-ext/number/epsilon)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.epsilon).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.epsilon).
The difference between 1 and the smallest value greater than 1 that is representable as a Number value, which is approximately 2.2204460492503130808472633361816 x 10-16.
#### isFinite(x) _(es5-ext/number/is-finite)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.isfinite).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.isfinite).
Whether value is finite. Differs from global isNaN that it doesn't do type coercion.
#### isInteger(x) _(es5-ext/number/is-integer)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.isinteger).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.isinteger).
Whether value is integer.
#### isNaN(x) _(es5-ext/number/is-nan)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.isnan).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.isnan).
Whether value is NaN. Differs from global isNaN that it doesn't do type coercion.
#### isNumber(x) _(es5-ext/number/is-number)_
@@ -612,16 +612,16 @@ Whether given value is number
#### isSafeInteger(x) _(es5-ext/number/is-safe-integer)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.issafeinteger).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.issafeinteger).
#### MAX_SAFE_INTEGER _(es5-ext/number/max-safe-integer)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.maxsafeinteger).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.maxsafeinteger).
The value of Number.MAX_SAFE_INTEGER is 9007199254740991.
#### MIN_SAFE_INTEGER _(es5-ext/number/min-safe-integer)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.minsafeinteger).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.minsafeinteger).
The value of Number.MIN_SAFE_INTEGER is -9007199254740991 (253-1).
#### toInteger(x) _(es5-ext/number/to-integer)_
@@ -647,7 +647,7 @@ Pad given number with zeros. Returns string
#### assign(target, source[, …sourcen]) _(es5-ext/object/assign)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.assign).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.assign).
Extend _target_ by enumerable own properties of other objects. If properties are already set on target object, they will be overwritten.
#### clear(obj) _(es5-ext/object/clear)_
@@ -690,7 +690,7 @@ Whether two values are equal, using [_SameValueZero_](http://people.mozilla.org/
#### every(obj, cb[, thisArg[, compareFn]]) _(es5-ext/object/every)_
-Analogous to Array.prototype.every. Returns true if every key-value pair in this object satisfies the provided testing function.
+Analogous to Array.prototype.every. Returns true if every key-value pair in this object satisfies the provided testing function.
Optionally _compareFn_ can be provided which assures that keys are tested in given order. If provided _compareFn_ is equal to `true`, then order is alphabetical (by key).
#### filter(obj, cb[, thisArg]) _(es5-ext/object/filter)_
@@ -750,7 +750,7 @@ Search object for value
#### keys(obj) _(es5-ext/object/keys)_
-[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.keys).
+[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.keys).
ES6's version of `keys`, doesn't throw on primitive input
#### map(obj, cb[, thisArg]) _(es5-ext/object/map)_
@@ -773,7 +773,7 @@ Useful as an alternative for `setPrototypeOf` in environments in which it cannot
#### normalizeOptions(options) _(es5-ext/object/normalize-options)_
-Normalizes options object into flat plain object.
+Normalizes options object into flat plain object.
Useful for functions in which we either need to keep options object for future reference or need to modify it for internal use.
@@ -795,18 +795,18 @@ Serialize value into string. Differs from [JSON.stringify](https://developer.moz
#### setPrototypeOf(object, proto) _(es5-ext/object/set-prototype-of)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.setprototypeof).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.setprototypeof).
If native version is not provided, it depends on existence of `__proto__` functionality, if it's missing, `null` instead of function is exposed.
#### some(obj, cb[, thisArg[, compareFn]]) _(es5-ext/object/some)_
Analogous to Array.prototype.some Returns true if any key-value pair satisfies the provided
-testing function.
+testing function.
Optionally _compareFn_ can be provided which assures that keys are tested in given order. If provided _compareFn_ is equal to `true`, then order is alphabetical (by key).
#### toArray(obj[, cb[, thisArg[, compareFn]]]) _(es5-ext/object/to-array)_
-Creates an array of results of calling a provided function on every key-value pair in this object.
+Creates an array of results of calling a provided function on every key-value pair in this object.
Optionally _compareFn_ can be provided which assures that results are added in given order. If provided _compareFn_ is equal to `true`, then order is alphabetical (by key).
#### unserialize(str) _(es5-ext/object/unserialize)_
@@ -855,28 +855,28 @@ It's to be used as counterpart to [regExp.unicode](http://people.mozilla.org/~jo
#### re.match(string) _(es5-ext/reg-exp/#/match)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.match).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.match).
#### re.replace(string, replaceValue) _(es5-ext/reg-exp/#/replace)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.replace).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.replace).
#### re.search(string) _(es5-ext/reg-exp/#/search)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.search).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.search).
#### re.split(string) _(es5-ext/reg-exp/#/search)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.split).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.split).
#### re.sticky _(es5-ext/reg-exp/#/sticky/implement)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.sticky).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.sticky).
It's a getter, so only `implement` and `is-implemented` modules are provided.
#### re.unicode _(es5-ext/reg-exp/#/unicode/implement)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.unicode).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.unicode).
It's a getter, so only `implement` and `is-implemented` modules are provided.
### String Constructor extensions
@@ -937,7 +937,7 @@ Whether string contains given string.
#### str.endsWith(searchString[, endPosition]) _(es5-ext/string/#/ends-with)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.endswith).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.endswith).
Whether strings ends with given string
#### str.hyphenToCamel() _(es5-ext/string/#/hyphen-to-camel)_
@@ -955,8 +955,8 @@ Return last character
#### str.normalize([form]) _(es5-ext/string/#/normalize)_
-[_Introduced with ECMAScript 6_](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize).
-Returns the Unicode Normalization Form of a given string.
+[_Introduced with ECMAScript 6_](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize).
+Returns the Unicode Normalization Form of a given string.
Based on Matsuza's version. Code used for integrated shim can be found at [github.com/walling/unorm](https://github.com/walling/unorm/blob/master/lib/unorm.js)
#### str.pad(fill[, length]) _(es5-ext/string/#/pad)_
@@ -967,7 +967,7 @@ If _length_ is negative then pad is applied from right.
#### str.repeat(n) _(es5-ext/string/#/repeat)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.repeat).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.repeat).
Repeat given string _n_ times
#### str.plainReplace(search, replace) _(es5-ext/string/#/plain-replace)_
@@ -980,12 +980,12 @@ Simple `replace` version. Doesn't support regular expressions. Replaces all occu
#### str.startsWith(searchString[, position]) _(es5-ext/string/#/starts-with)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.startswith).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.startswith).
Whether strings starts with given string
#### str[@@iterator] _(es5-ext/string/#/@@iterator)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype-@@iterator).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype-@@iterator).
Returns iterator object which traverses all string characters (with respect to unicode symbols)
### Tests [![Build Status](https://travis-ci.org/medikoo/es5-ext.png)](https://travis-ci.org/medikoo/es5-ext)
diff --git a/tools/eslint/node_modules/es5-ext/package.json b/tools/eslint/node_modules/es5-ext/package.json
index 6a36f4f0df..26b8c4e057 100644
--- a/tools/eslint/node_modules/es5-ext/package.json
+++ b/tools/eslint/node_modules/es5-ext/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"es5-ext@~0.10.8",
- "/Users/silverwind/git/node/tools/package/package/node_modules/es6-map"
+ "/Users/trott/io.js/tools/node_modules/es6-map"
]
],
"_from": "es5-ext@>=0.10.8 <0.11.0",
@@ -38,7 +38,7 @@
"_shasum": "8184c3e705a820948c2dbe043849379b1dbd0c45",
"_shrinkwrap": null,
"_spec": "es5-ext@~0.10.8",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/es6-map",
+ "_where": "/Users/trott/io.js/tools/node_modules/es6-map",
"author": {
"email": "medyk@medikoo.com",
"name": "Mariusz Nowak",
@@ -65,28 +65,28 @@
"gitHead": "aba94140a6bf79ce1a448a2db8834e8c1842b527",
"homepage": "https://github.com/medikoo/es5-ext#readme",
"keywords": [
- "addons",
"ecmascript",
"ecmascript5",
"ecmascript6",
"es5",
"es6",
- "ext",
"extensions",
+ "ext",
+ "addons",
"extras",
"harmony",
"javascript",
"polyfill",
"shim",
"util",
- "utilities",
- "utils"
+ "utils",
+ "utilities"
],
"license": "MIT",
"maintainers": [
{
- "name": "medikoo",
- "email": "medikoo+npm@medikoo.com"
+ "email": "medikoo+npm@medikoo.com",
+ "name": "medikoo"
}
],
"name": "es5-ext",
diff --git a/tools/eslint/node_modules/es6-iterator/README.md b/tools/eslint/node_modules/es6-iterator/README.md
index 30faa82bba..288373da7a 100644
--- a/tools/eslint/node_modules/es6-iterator/README.md
+++ b/tools/eslint/node_modules/es6-iterator/README.md
@@ -4,7 +4,7 @@
### Installation
$ npm install es6-iterator
-
+
To port it to Browser or any other (non CJS) environment, use your favorite CJS bundler. No favorite yet? Try: [Browserify](http://browserify.org/), [Webmake](https://github.com/medikoo/modules-webmake) or [Webpack](http://webpack.github.io/)
## API
@@ -63,7 +63,7 @@ May also be used for _arguments_ objects:
#### StringIterator(str) _(es6-iterator/string)_
-Assures proper iteration over unicode symbols.
+Assures proper iteration over unicode symbols.
See: http://mathiasbynens.be/notes/javascript-unicode
```javascript
diff --git a/tools/eslint/node_modules/es6-iterator/package.json b/tools/eslint/node_modules/es6-iterator/package.json
index 71fee1b0ff..87b8fcf5ac 100644
--- a/tools/eslint/node_modules/es6-iterator/package.json
+++ b/tools/eslint/node_modules/es6-iterator/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"es6-iterator@2",
- "/Users/silverwind/git/node/tools/package/package/node_modules/es6-map"
+ "/Users/trott/io.js/tools/node_modules/es6-map"
]
],
"_from": "es6-iterator@>=2.0.0 <3.0.0",
@@ -35,7 +35,7 @@
"_shasum": "bd968567d61635e33c0b80727613c9cb4b096bac",
"_shrinkwrap": null,
"_spec": "es6-iterator@2",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/es6-map",
+ "_where": "/Users/trott/io.js/tools/node_modules/es6-map",
"author": {
"email": "medyk@medikoo.com",
"name": "Mariusz Nowak",
@@ -64,18 +64,18 @@
"gitHead": "4d9445834e87780ab373b14d6791e860899e2d31",
"homepage": "https://github.com/medikoo/es6-iterator#readme",
"keywords": [
- "array",
- "generator",
"iterator",
+ "array",
"list",
+ "set",
"map",
- "set"
+ "generator"
],
"license": "MIT",
"maintainers": [
{
- "name": "medikoo",
- "email": "medikoo+npm@medikoo.com"
+ "email": "medikoo+npm@medikoo.com",
+ "name": "medikoo"
}
],
"name": "es6-iterator",
diff --git a/tools/eslint/node_modules/es6-map/README.md b/tools/eslint/node_modules/es6-map/README.md
index f1a2d95d4f..387eb1a145 100644
--- a/tools/eslint/node_modules/es6-map/README.md
+++ b/tools/eslint/node_modules/es6-map/README.md
@@ -24,7 +24,7 @@ var Map = require('es6-map/polyfill');
### Installation
$ npm install es6-map
-
+
To port it to Browser or any other (non CJS) environment, use your favorite CJS bundler. No favorite yet? Try: [Browserify](http://browserify.org/), [Webmake](https://github.com/medikoo/modules-webmake) or [Webpack](http://webpack.github.io/)
#### API
diff --git a/tools/eslint/node_modules/es6-map/package.json b/tools/eslint/node_modules/es6-map/package.json
index c9a149d28d..0a564043a3 100644
--- a/tools/eslint/node_modules/es6-map/package.json
+++ b/tools/eslint/node_modules/es6-map/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"es6-map@^0.1.3",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "es6-map@>=0.1.3 <0.2.0",
@@ -26,14 +26,14 @@
"type": "range"
},
"_requiredBy": [
- "/",
- "/escope"
+ "/escope",
+ "/eslint"
],
"_resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.3.tgz",
"_shasum": "fe58c6654c6acd54e4397cdb72379d59b6ad5894",
"_shrinkwrap": null,
"_spec": "es6-map@^0.1.3",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"author": {
"email": "medyk@medikoo.com",
"name": "Mariusz Nowak",
@@ -65,21 +65,21 @@
"homepage": "https://github.com/medikoo/es6-map#readme",
"keywords": [
"collection",
- "ecmascript",
"es6",
+ "shim",
"harmony",
- "hash",
"list",
+ "hash",
"map",
"polyfill",
"ponyfill",
- "shim"
+ "ecmascript"
],
"license": "MIT",
"maintainers": [
{
- "name": "medikoo",
- "email": "medikoo+npm@medikoo.com"
+ "email": "medikoo+npm@medikoo.com",
+ "name": "medikoo"
}
],
"name": "es6-map",
diff --git a/tools/eslint/node_modules/es6-set/package.json b/tools/eslint/node_modules/es6-set/package.json
index 4dd0a16b31..9717f130ec 100644
--- a/tools/eslint/node_modules/es6-set/package.json
+++ b/tools/eslint/node_modules/es6-set/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"es6-set@~0.1.3",
- "/Users/silverwind/git/node/tools/package/package/node_modules/es6-map"
+ "/Users/trott/io.js/tools/node_modules/es6-map"
]
],
"_from": "es6-set@>=0.1.3 <0.2.0",
@@ -32,7 +32,7 @@
"_shasum": "9516b6761c2964b92ff479456233a247dc707ce8",
"_shrinkwrap": null,
"_spec": "es6-set@~0.1.3",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/es6-map",
+ "_where": "/Users/trott/io.js/tools/node_modules/es6-map",
"author": {
"email": "medyk@medikoo.com",
"name": "Mariusz Nowak",
@@ -57,23 +57,23 @@
"directories": {},
"dist": {
"shasum": "9516b6761c2964b92ff479456233a247dc707ce8",
- "tarball": "http://registry.npmjs.org/es6-set/-/es6-set-0.1.4.tgz"
+ "tarball": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.4.tgz"
},
"gitHead": "89717f1b294382ca28e9070e644f768ff240dc71",
"homepage": "https://github.com/medikoo/es6-set#readme",
"keywords": [
+ "set",
"collection",
"es6",
"harmony",
- "hash",
"list",
- "set"
+ "hash"
],
"license": "MIT",
"maintainers": [
{
- "name": "medikoo",
- "email": "medikoo+npm@medikoo.com"
+ "email": "medikoo+npm@medikoo.com",
+ "name": "medikoo"
}
],
"name": "es6-set",
diff --git a/tools/eslint/node_modules/es6-symbol/package.json b/tools/eslint/node_modules/es6-symbol/package.json
index b3723ba6d7..3036cdb35f 100644
--- a/tools/eslint/node_modules/es6-symbol/package.json
+++ b/tools/eslint/node_modules/es6-symbol/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"es6-symbol@~3.0.1",
- "/Users/silverwind/git/node/tools/package/package/node_modules/es6-map"
+ "/Users/trott/io.js/tools/node_modules/es6-map"
]
],
"_from": "es6-symbol@>=3.0.1 <3.1.0",
@@ -36,7 +36,7 @@
"_shasum": "1e928878c6f5e63541625b4bb4df4af07d154219",
"_shrinkwrap": null,
"_spec": "es6-symbol@~3.0.1",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/es6-map",
+ "_where": "/Users/trott/io.js/tools/node_modules/es6-map",
"author": {
"email": "medyk@medikoo.com",
"name": "Mariusz Nowak",
@@ -63,20 +63,20 @@
"gitHead": "b7da6b926c44e3745de69b17c98c00a5c84b4ebe",
"homepage": "https://github.com/medikoo/es6-symbol#readme",
"keywords": [
- "ecmascript",
+ "symbol",
+ "private",
+ "property",
"es6",
+ "ecmascript",
"harmony",
- "polyfill",
"ponyfill",
- "private",
- "property",
- "symbol"
+ "polyfill"
],
"license": "MIT",
"maintainers": [
{
- "name": "medikoo",
- "email": "medikoo+npm@medikoo.com"
+ "email": "medikoo+npm@medikoo.com",
+ "name": "medikoo"
}
],
"name": "es6-symbol",
diff --git a/tools/eslint/node_modules/es6-weak-map/package.json b/tools/eslint/node_modules/es6-weak-map/package.json
index a686d4bda6..af1aa49eef 100644
--- a/tools/eslint/node_modules/es6-weak-map/package.json
+++ b/tools/eslint/node_modules/es6-weak-map/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"es6-weak-map@^2.0.1",
- "/Users/silverwind/git/node/tools/package/package/node_modules/escope"
+ "/Users/trott/io.js/tools/node_modules/escope"
]
],
"_from": "es6-weak-map@>=2.0.1 <3.0.0",
@@ -32,7 +32,7 @@
"_shasum": "0d2bbd8827eb5fb4ba8f97fbfea50d43db21ea81",
"_shrinkwrap": null,
"_spec": "es6-weak-map@^2.0.1",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/escope",
+ "_where": "/Users/trott/io.js/tools/node_modules/escope",
"author": {
"email": "medyk@medikoo.com",
"name": "Mariusz Nowak",
@@ -61,21 +61,21 @@
"gitHead": "b8b62d44e3b9f8134095c8fb6a5697e371b36867",
"homepage": "https://github.com/medikoo/es6-weak-map#readme",
"keywords": [
+ "map",
+ "weakmap",
"collection",
"es6",
- "gc",
"harmony",
- "hash",
"list",
- "map",
- "ponyfill",
- "weakmap"
+ "hash",
+ "gc",
+ "ponyfill"
],
"license": "MIT",
"maintainers": [
{
- "name": "medikoo",
- "email": "medikoo+npm@medikoo.com"
+ "email": "medikoo+npm@medikoo.com",
+ "name": "medikoo"
}
],
"name": "es6-weak-map",
diff --git a/tools/eslint/node_modules/escape-string-regexp/package.json b/tools/eslint/node_modules/escape-string-regexp/package.json
index 64096da993..9a9088035f 100644
--- a/tools/eslint/node_modules/escape-string-regexp/package.json
+++ b/tools/eslint/node_modules/escape-string-regexp/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"escape-string-regexp@^1.0.2",
- "/Users/silverwind/git/node/tools/package/package/node_modules/chalk"
+ "/Users/trott/io.js/tools/node_modules/chalk"
]
],
"_from": "escape-string-regexp@>=1.0.2 <2.0.0",
@@ -36,7 +36,7 @@
"_shasum": "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4",
"_shrinkwrap": null,
"_spec": "escape-string-regexp@^1.0.2",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/chalk",
+ "_where": "/Users/trott/io.js/tools/node_modules/chalk",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -54,7 +54,7 @@
"directories": {},
"dist": {
"shasum": "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4",
- "tarball": "http://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
+ "tarball": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
},
"engines": {
"node": ">=0.8.0"
@@ -65,26 +65,26 @@
"gitHead": "db124a3e1aae9d692c4899e42a5c6c3e329eaa20",
"homepage": "https://github.com/sindresorhus/escape-string-regexp",
"keywords": [
- "characters",
"escape",
- "expression",
- "re",
"regex",
"regexp",
+ "re",
"regular",
- "special",
+ "expression",
+ "string",
"str",
- "string"
+ "special",
+ "characters"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
},
{
- "name": "jbnicolai",
- "email": "jappelman@xebia.com"
+ "email": "jappelman@xebia.com",
+ "name": "jbnicolai"
}
],
"name": "escape-string-regexp",
diff --git a/tools/eslint/node_modules/escope/README.md b/tools/eslint/node_modules/escope/README.md
index a2bfeb72f8..02b3a3e7dc 100644
--- a/tools/eslint/node_modules/escope/README.md
+++ b/tools/eslint/node_modules/escope/README.md
@@ -19,7 +19,7 @@ var currentScope = scopeManager.acquire(ast); // global scope
estraverse.traverse(ast, {
enter: function(node, parent) {
// do stuff
-
+
if (/Function/.test(node.type)) {
currentScope = scopeManager.acquire(node); // get current function scope
}
@@ -28,7 +28,7 @@ estraverse.traverse(ast, {
if (/Function/.test(node.type)) {
currentScope = currentScope.upper; // set to parent scope
}
-
+
// do stuff
}
});
diff --git a/tools/eslint/node_modules/escope/lib/definition.js b/tools/eslint/node_modules/escope/lib/definition.js
index 7becdde829..d6fa778ceb 100644
--- a/tools/eslint/node_modules/escope/lib/definition.js
+++ b/tools/eslint/node_modules/escope/lib/definition.js
@@ -17,16 +17,16 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } /*
Copyright (C) 2015 Yusuke Suzuki <utatane.tea@gmail.com>
-
+
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.
-
+
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
diff --git a/tools/eslint/node_modules/escope/lib/index.js b/tools/eslint/node_modules/escope/lib/index.js
index 59cfcb1723..16e6478b44 100644
--- a/tools/eslint/node_modules/escope/lib/index.js
+++ b/tools/eslint/node_modules/escope/lib/index.js
@@ -9,16 +9,16 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol
Copyright (C) 2012-2014 Yusuke Suzuki <utatane.tea@gmail.com>
Copyright (C) 2013 Alex Seville <hi@alexanderseville.com>
Copyright (C) 2014 Thiago de Arruda <tpadilha84@gmail.com>
-
+
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.
-
+
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
diff --git a/tools/eslint/node_modules/escope/lib/pattern-visitor.js b/tools/eslint/node_modules/escope/lib/pattern-visitor.js
index 909344aeb0..e67f3e0f3f 100644
--- a/tools/eslint/node_modules/escope/lib/pattern-visitor.js
+++ b/tools/eslint/node_modules/escope/lib/pattern-visitor.js
@@ -20,16 +20,16 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /*
Copyright (C) 2015 Yusuke Suzuki <utatane.tea@gmail.com>
-
+
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.
-
+
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
diff --git a/tools/eslint/node_modules/escope/lib/referencer.js b/tools/eslint/node_modules/escope/lib/referencer.js
index ca04eaa451..ae40161556 100644
--- a/tools/eslint/node_modules/escope/lib/referencer.js
+++ b/tools/eslint/node_modules/escope/lib/referencer.js
@@ -38,16 +38,16 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /*
Copyright (C) 2015 Yusuke Suzuki <utatane.tea@gmail.com>
-
+
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.
-
+
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
diff --git a/tools/eslint/node_modules/escope/lib/scope-manager.js b/tools/eslint/node_modules/escope/lib/scope-manager.js
index 22a4c113ff..66b37c94f7 100644
--- a/tools/eslint/node_modules/escope/lib/scope-manager.js
+++ b/tools/eslint/node_modules/escope/lib/scope-manager.js
@@ -6,16 +6,16 @@ Object.defineProperty(exports, "__esModule", {
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; }; }(); /*
Copyright (C) 2015 Yusuke Suzuki <utatane.tea@gmail.com>
-
+
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.
-
+
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
diff --git a/tools/eslint/node_modules/escope/lib/scope.js b/tools/eslint/node_modules/escope/lib/scope.js
index eb150cb494..88ded9c827 100644
--- a/tools/eslint/node_modules/escope/lib/scope.js
+++ b/tools/eslint/node_modules/escope/lib/scope.js
@@ -9,16 +9,16 @@ var _get = function get(object, property, receiver) { if (object === null) objec
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; }; }(); /*
Copyright (C) 2015 Yusuke Suzuki <utatane.tea@gmail.com>
-
+
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.
-
+
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
diff --git a/tools/eslint/node_modules/escope/package.json b/tools/eslint/node_modules/escope/package.json
index 4270054c00..aaa6ddd9e4 100644
--- a/tools/eslint/node_modules/escope/package.json
+++ b/tools/eslint/node_modules/escope/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"escope@^3.6.0",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "escope@>=3.6.0 <4.0.0",
@@ -30,13 +30,13 @@
"type": "range"
},
"_requiredBy": [
- "/"
+ "/eslint"
],
"_resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz",
"_shasum": "e01975e812781a163a6dadfdd80398dc64c889c3",
"_shrinkwrap": null,
"_spec": "escope@^3.6.0",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"bugs": {
"url": "https://github.com/estools/escope/issues"
},
@@ -84,16 +84,16 @@
"main": "lib/index.js",
"maintainers": [
{
- "name": "constellation",
- "email": "utatane.tea@gmail.com"
+ "email": "utatane.tea@gmail.com",
+ "name": "constellation"
},
{
- "name": "michaelficarra",
- "email": "npm@michael.ficarra.me"
+ "email": "npm@michael.ficarra.me",
+ "name": "michaelficarra"
},
{
- "name": "nzakas",
- "email": "nicholas@nczconsulting.com"
+ "email": "nicholas@nczconsulting.com",
+ "name": "nzakas"
}
],
"name": "escope",
diff --git a/tools/eslint/node_modules/espree/LICENSE b/tools/eslint/node_modules/espree/LICENSE
new file mode 100644
index 0000000000..b5cef0004d
--- /dev/null
+++ b/tools/eslint/node_modules/espree/LICENSE
@@ -0,0 +1,22 @@
+Espree
+Copyright jQuery Foundation and other contributors, https://jquery.org/
+
+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.
+
+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 <COPYRIGHT HOLDER> 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/tools/eslint/node_modules/espree/espree.js b/tools/eslint/node_modules/espree/espree.js
index 581475ede0..9ad6e2e78c 100644
--- a/tools/eslint/node_modules/espree/espree.js
+++ b/tools/eslint/node_modules/espree/espree.js
@@ -1,6 +1,5 @@
/**
* @fileoverview Main Espree file that converts Acorn into Esprima output.
- * Copyright 2015 Nicholas C. Zakas. All rights reserved.
*
* This file contains code from the following MIT-licensed projects:
* 1. Acorn
diff --git a/tools/eslint/node_modules/espree/lib/ast-node-types.js b/tools/eslint/node_modules/espree/lib/ast-node-types.js
index ec9eaa1fbe..18ee3551ad 100644
--- a/tools/eslint/node_modules/espree/lib/ast-node-types.js
+++ b/tools/eslint/node_modules/espree/lib/ast-node-types.js
@@ -1,28 +1,6 @@
/**
* @fileoverview The AST node types produced by the parser.
* @author Nicholas C. Zakas
- * @copyright 2014 Nicholas C. Zakas. All rights reserved.
- * @copyright 2011-2013 Ariya Hidayat <ariya.hidayat@gmail.com>
- *
- * 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.
- *
- * 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 <COPYRIGHT HOLDER> 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.
*/
"use strict";
diff --git a/tools/eslint/node_modules/espree/lib/comment-attachment.js b/tools/eslint/node_modules/espree/lib/comment-attachment.js
index 7d12270f8e..b82b5f1cd3 100644
--- a/tools/eslint/node_modules/espree/lib/comment-attachment.js
+++ b/tools/eslint/node_modules/espree/lib/comment-attachment.js
@@ -1,28 +1,6 @@
/**
* @fileoverview Attaches comments to the AST.
* @author Nicholas C. Zakas
- * @copyright 2015 Nicholas C. Zakas. All rights reserved.
- * @copyright 2011-2013 Ariya Hidayat <ariya.hidayat@gmail.com>
- *
- * 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.
- *
- * 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 <COPYRIGHT HOLDER> 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.
*/
"use strict";
@@ -40,43 +18,10 @@ var astNodeTypes = require("./ast-node-types");
var extra = {
trailingComments: [],
leadingComments: [],
- bottomRightStack: []
+ bottomRightStack: [],
+ previousNode: null
};
-/** Recursively remove leading comments that are incorrectly added when no
- * expression exists between comment and the current node
- * @param {node} node to recursively check
- * @returns {void}
- */
-function removeExtraLeadingComments(node) {
- var i, j;
-
- if (!node.body) {
- return;
- }
-
- if (Array.isArray(node.body)) {
- // i must start at 0 so that we can check all indices recursively
- for (i = 0; i < node.body.length; i++) {
- // i must be greater than 0 to perform the check on the previous node
- if (i > 0 && node.body[i].leadingComments) {
- for (j = 0; j < node.body[i].leadingComments.length; j++) {
- if (node.body[i].leadingComments[j].range[1] < node.body[i - 1].range[1]) {
- node.body[i].leadingComments.splice(j, 1);
- }
- }
-
- if (node.body[i].leadingComments.length === 0) {
- delete node.body[i].leadingComments;
- }
- }
- removeExtraLeadingComments(node.body[i]);
- }
- } else {
- removeExtraLeadingComments(node.body);
- }
-}
-
//------------------------------------------------------------------------------
// Public
//------------------------------------------------------------------------------
@@ -87,6 +32,7 @@ module.exports = {
extra.trailingComments = [];
extra.leadingComments = [];
extra.bottomRightStack = [];
+ extra.previousNode = null;
},
addComment: function(comment) {
@@ -97,11 +43,10 @@ module.exports = {
processComment: function(node) {
var lastChild,
trailingComments,
- i;
+ i,
+ j;
if (node.type === astNodeTypes.Program) {
- removeExtraLeadingComments(node);
-
if (node.body.length > 0) {
return;
}
@@ -162,10 +107,19 @@ module.exports = {
}
}
} else if (extra.leadingComments.length > 0) {
-
if (extra.leadingComments[extra.leadingComments.length - 1].range[1] <= node.range[0]) {
- node.leadingComments = extra.leadingComments;
- extra.leadingComments = [];
+ if (extra.previousNode) {
+ for (j = 0; j < extra.leadingComments.length; j++) {
+ if (extra.leadingComments[j].end < extra.previousNode.end) {
+ extra.leadingComments.splice(j, 1);
+ j--;
+ }
+ }
+ }
+ if (extra.leadingComments.length > 0) {
+ node.leadingComments = extra.leadingComments;
+ extra.leadingComments = [];
+ }
} else {
// https://github.com/eslint/espree/issues/2
@@ -209,6 +163,8 @@ module.exports = {
}
}
+ extra.previousNode = node;
+
if (trailingComments) {
node.trailingComments = trailingComments;
}
diff --git a/tools/eslint/node_modules/espree/lib/features.js b/tools/eslint/node_modules/espree/lib/features.js
index aa2a6e48b6..774f8e5e58 100644
--- a/tools/eslint/node_modules/espree/lib/features.js
+++ b/tools/eslint/node_modules/espree/lib/features.js
@@ -2,28 +2,6 @@
* @fileoverview The list of feature flags supported by the parser and their default
* settings.
* @author Nicholas C. Zakas
- * @copyright 2015 Fred K. Schott. All rights reserved.
- * @copyright 2014 Nicholas C. Zakas. 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.
- *
- * 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 <COPYRIGHT HOLDER> 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.
*/
"use strict";
diff --git a/tools/eslint/node_modules/espree/lib/token-translator.js b/tools/eslint/node_modules/espree/lib/token-translator.js
index 3c094ab866..857c18eefa 100644
--- a/tools/eslint/node_modules/espree/lib/token-translator.js
+++ b/tools/eslint/node_modules/espree/lib/token-translator.js
@@ -1,27 +1,6 @@
/**
* @fileoverview Translates tokens between Acorn format and Esprima format.
* @author Nicholas C. Zakas
- * @copyright 2015 Nicholas C. Zakas. 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.
- *
- * 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 <COPYRIGHT HOLDER> 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.
*/
/* eslint no-underscore-dangle: 0 */
diff --git a/tools/eslint/node_modules/espree/lib/visitor-keys.js b/tools/eslint/node_modules/espree/lib/visitor-keys.js
index 6934dfd265..d1efeb7afc 100644
--- a/tools/eslint/node_modules/espree/lib/visitor-keys.js
+++ b/tools/eslint/node_modules/espree/lib/visitor-keys.js
@@ -1,30 +1,8 @@
/**
* @fileoverview The visitor keys for the node types Espree supports
* @author Nicholas C. Zakas
- * @copyright 2015 Nicholas C. Zakas. All rights reserved.
- * @copyright 2012-2013 Yusuke Suzuki (twitter: @Constellation) and other contributors.
*
- * 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.
- *
- * 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 <COPYRIGHT HOLDER> 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.
- *
- * Contains code from estraverse-fb.
+ * This file contains code from estraverse-fb.
*
* The MIT license. Copyright (c) 2014 Ingvar Stepanyan
*
diff --git a/tools/eslint/node_modules/espree/package.json b/tools/eslint/node_modules/espree/package.json
index ad58d12498..3afa735062 100644
--- a/tools/eslint/node_modules/espree/package.json
+++ b/tools/eslint/node_modules/espree/package.json
@@ -1,41 +1,42 @@
{
"_args": [
[
- "espree@3.1.3",
- "/Users/silverwind/git/node/tools/package/package"
+ "espree@3.1.4",
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
- "_from": "espree@3.1.3",
- "_id": "espree@3.1.3",
+ "_from": "espree@3.1.4",
+ "_id": "espree@3.1.4",
"_inCache": true,
"_installable": true,
"_location": "/espree",
+ "_nodeVersion": "4.4.2",
"_npmOperationalInternal": {
- "host": "packages-12-west.internal.npmjs.com",
- "tmp": "tmp/espree-3.1.3.tgz_1458322183008_0.931681108660996"
+ "host": "packages-16-east.internal.npmjs.com",
+ "tmp": "tmp/espree-3.1.4.tgz_1461264685938_0.4520344687625766"
},
"_npmUser": {
"email": "nicholas@nczconsulting.com",
"name": "nzakas"
},
- "_npmVersion": "1.4.10",
+ "_npmVersion": "2.15.0",
"_phantomChildren": {},
"_requested": {
"name": "espree",
- "raw": "espree@3.1.3",
- "rawSpec": "3.1.3",
+ "raw": "espree@3.1.4",
+ "rawSpec": "3.1.4",
"scope": null,
- "spec": "3.1.3",
+ "spec": "3.1.4",
"type": "version"
},
"_requiredBy": [
- "/"
+ "/eslint"
],
- "_resolved": "https://registry.npmjs.org/espree/-/espree-3.1.3.tgz",
- "_shasum": "a77ca630986c19b74d95541b845298cd6faa228c",
+ "_resolved": "https://registry.npmjs.org/espree/-/espree-3.1.4.tgz",
+ "_shasum": "0726d7ac83af97a7c8498da9b363a3609d2a68a1",
"_shrinkwrap": null,
- "_spec": "espree@3.1.3",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_spec": "espree@3.1.4",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"author": {
"email": "nicholas+npm@nczconsulting.com",
"name": "Nicholas C. Zakas"
@@ -44,8 +45,8 @@
"url": "http://github.com/eslint/espree.git"
},
"dependencies": {
- "acorn": "^3.0.4",
- "acorn-jsx": "^2.0.1"
+ "acorn": "^3.1.0",
+ "acorn-jsx": "^3.0.0"
},
"description": "An Esprima-compatible JavaScript parser built on Acorn",
"devDependencies": {
@@ -60,7 +61,6 @@
"json-diff": "~0.3.1",
"leche": "^1.0.1",
"mocha": "^2.0.1",
- "optimist": "~0.6.0",
"regenerate": "~0.5.4",
"shelljs": "^0.3.0",
"shelljs-nodecli": "^0.1.1",
@@ -68,31 +68,32 @@
},
"directories": {},
"dist": {
- "shasum": "a77ca630986c19b74d95541b845298cd6faa228c",
- "tarball": "https://registry.npmjs.org/espree/-/espree-3.1.3.tgz"
+ "shasum": "0726d7ac83af97a7c8498da9b363a3609d2a68a1",
+ "tarball": "https://registry.npmjs.org/espree/-/espree-3.1.4.tgz"
},
"engines": {
"node": ">=0.10.0"
},
"files": [
- "espree.js",
- "lib"
+ "lib",
+ "espree.js"
],
+ "gitHead": "72ef3f4a332d6f8bfb32a55573eacb06f65e7f11",
"homepage": "https://github.com/eslint/espree",
"keywords": [
- "acorn",
"ast",
"ecmascript",
"javascript",
"parser",
- "syntax"
+ "syntax",
+ "acorn"
],
"license": "BSD-2-Clause",
"main": "espree.js",
"maintainers": [
{
- "name": "nzakas",
- "email": "nicholas@nczconsulting.com"
+ "email": "nicholas@nczconsulting.com",
+ "name": "nzakas"
}
],
"name": "espree",
@@ -111,5 +112,5 @@
"release": "eslint-release",
"test": "npm run-script lint && node Makefile.js test"
},
- "version": "3.1.3"
+ "version": "3.1.4"
}
diff --git a/tools/eslint/node_modules/esprima/package.json b/tools/eslint/node_modules/esprima/package.json
index 8746bd43a0..332d87e6d8 100644
--- a/tools/eslint/node_modules/esprima/package.json
+++ b/tools/eslint/node_modules/esprima/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"esprima@^2.6.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/js-yaml"
+ "/Users/trott/io.js/tools/node_modules/js-yaml"
]
],
"_from": "esprima@>=2.6.0 <3.0.0",
@@ -36,7 +36,7 @@
"_shasum": "f43be543609984eae44c933ac63352a6af35f339",
"_shrinkwrap": null,
"_spec": "esprima@^2.6.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/js-yaml",
+ "_where": "/Users/trott/io.js/tools/node_modules/js-yaml",
"author": {
"email": "ariya.hidayat@gmail.com",
"name": "Ariya Hidayat"
@@ -84,8 +84,8 @@
},
"files": [
"bin",
- "esprima.js",
- "unit-tests.js"
+ "unit-tests.js",
+ "esprima.js"
],
"gitHead": "eb05a03b18b8433ab1ebeabea635a949219cd75e",
"homepage": "http://esprima.org",
@@ -100,8 +100,8 @@
"main": "esprima.js",
"maintainers": [
{
- "name": "ariya",
- "email": "ariya.hidayat@gmail.com"
+ "email": "ariya.hidayat@gmail.com",
+ "name": "ariya"
}
],
"name": "esprima",
diff --git a/tools/eslint/node_modules/esrecurse/node_modules/estraverse/package.json b/tools/eslint/node_modules/esrecurse/node_modules/estraverse/package.json
index 29cb591629..14d3332460 100644
--- a/tools/eslint/node_modules/esrecurse/node_modules/estraverse/package.json
+++ b/tools/eslint/node_modules/esrecurse/node_modules/estraverse/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"estraverse@~4.1.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/esrecurse"
+ "/Users/trott/io.js/tools/node_modules/esrecurse"
]
],
"_from": "estraverse@>=4.1.0 <4.2.0",
@@ -32,7 +32,7 @@
"_shasum": "f6caca728933a850ef90661d0e17982ba47111a2",
"_shrinkwrap": null,
"_spec": "estraverse@~4.1.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/esrecurse",
+ "_where": "/Users/trott/io.js/tools/node_modules/esrecurse",
"bugs": {
"url": "https://github.com/estools/estraverse/issues"
},
@@ -64,16 +64,16 @@
"main": "estraverse.js",
"maintainers": [
{
- "name": "constellation",
- "email": "utatane.tea@gmail.com"
+ "email": "utatane.tea@gmail.com",
+ "name": "constellation"
},
{
- "name": "michaelficarra",
- "email": "npm@michael.ficarra.me"
+ "email": "npm@michael.ficarra.me",
+ "name": "michaelficarra"
},
{
- "name": "nzakas",
- "email": "nicholas@nczconsulting.com"
+ "email": "nicholas@nczconsulting.com",
+ "name": "nzakas"
}
],
"name": "estraverse",
diff --git a/tools/eslint/node_modules/esrecurse/package.json b/tools/eslint/node_modules/esrecurse/package.json
index ad0ce09c24..cffe502c11 100644
--- a/tools/eslint/node_modules/esrecurse/package.json
+++ b/tools/eslint/node_modules/esrecurse/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"esrecurse@^4.1.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/escope"
+ "/Users/trott/io.js/tools/node_modules/escope"
]
],
"_from": "esrecurse@>=4.1.0 <5.0.0",
@@ -36,7 +36,7 @@
"_shasum": "4713b6536adf7f2ac4f327d559e7756bff648220",
"_shrinkwrap": null,
"_spec": "esrecurse@^4.1.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/escope",
+ "_where": "/Users/trott/io.js/tools/node_modules/escope",
"bugs": {
"url": "https://github.com/estools/esrecurse/issues"
},
@@ -73,16 +73,16 @@
"main": "esrecurse.js",
"maintainers": [
{
- "name": "constellation",
- "email": "utatane.tea@gmail.com"
+ "email": "utatane.tea@gmail.com",
+ "name": "constellation"
},
{
- "name": "michaelficarra",
- "email": "npm@michael.ficarra.me"
+ "email": "npm@michael.ficarra.me",
+ "name": "michaelficarra"
},
{
- "name": "nzakas",
- "email": "nicholas@nczconsulting.com"
+ "email": "nicholas@nczconsulting.com",
+ "name": "nzakas"
}
],
"name": "esrecurse",
diff --git a/tools/eslint/node_modules/estraverse/package.json b/tools/eslint/node_modules/estraverse/package.json
index 91c7179f8d..20ae6912b0 100644
--- a/tools/eslint/node_modules/estraverse/package.json
+++ b/tools/eslint/node_modules/estraverse/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"estraverse@^4.2.0",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "estraverse@>=4.2.0 <5.0.0",
@@ -30,14 +30,14 @@
"type": "range"
},
"_requiredBy": [
- "/",
- "/escope"
+ "/escope",
+ "/eslint"
],
"_resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
"_shasum": "0dee3fed31fcd469618ce7342099fc1afa0bdb13",
"_shrinkwrap": null,
"_spec": "estraverse@^4.2.0",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"bugs": {
"url": "https://github.com/estools/estraverse/issues"
},
@@ -70,16 +70,16 @@
"main": "estraverse.js",
"maintainers": [
{
- "name": "constellation",
- "email": "utatane.tea@gmail.com"
+ "email": "utatane.tea@gmail.com",
+ "name": "constellation"
},
{
- "name": "michaelficarra",
- "email": "npm@michael.ficarra.me"
+ "email": "npm@michael.ficarra.me",
+ "name": "michaelficarra"
},
{
- "name": "nzakas",
- "email": "nicholas@nczconsulting.com"
+ "email": "nicholas@nczconsulting.com",
+ "name": "nzakas"
}
],
"name": "estraverse",
diff --git a/tools/eslint/node_modules/esutils/package.json b/tools/eslint/node_modules/esutils/package.json
index 74b5ae3f36..990e438b2a 100644
--- a/tools/eslint/node_modules/esutils/package.json
+++ b/tools/eslint/node_modules/esutils/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"esutils@^2.0.2",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "esutils@>=2.0.2 <3.0.0",
@@ -26,13 +26,13 @@
"type": "range"
},
"_requiredBy": [
- "/"
+ "/eslint"
],
"_resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
"_shasum": "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b",
"_shrinkwrap": null,
"_spec": "esutils@^2.0.2",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"bugs": {
"url": "https://github.com/estools/esutils/issues"
},
@@ -72,12 +72,12 @@
"main": "lib/utils.js",
"maintainers": [
{
- "name": "constellation",
- "email": "utatane.tea@gmail.com"
+ "email": "utatane.tea@gmail.com",
+ "name": "constellation"
},
{
- "name": "michaelficarra",
- "email": "npm@michael.ficarra.me"
+ "email": "npm@michael.ficarra.me",
+ "name": "michaelficarra"
}
],
"name": "esutils",
diff --git a/tools/eslint/node_modules/event-emitter/README.md b/tools/eslint/node_modules/event-emitter/README.md
index 5ad489c0f0..17f4524fd7 100644
--- a/tools/eslint/node_modules/event-emitter/README.md
+++ b/tools/eslint/node_modules/event-emitter/README.md
@@ -4,7 +4,7 @@
### Installation
$ npm install event-emitter
-
+
To port it to Browser or any other (non CJS) environment, use your favorite CJS bundler. No favorite yet? Try: [Browserify](http://browserify.org/), [Webmake](https://github.com/medikoo/modules-webmake) or [Webpack](http://webpack.github.io/)
### Usage
@@ -57,13 +57,13 @@ hasListeners(emitter, 'foo'); // false
#### pipe(source, target[, emitMethodName]) _(event-emitter/pipe)_
-Pipes all events from _source_ emitter onto _target_ emitter (all events from _source_ emitter will be emitted also on _target_ emitter, but not other way).
-Returns _pipe_ object which exposes `pipe.close` function. Invoke it to close configured _pipe_.
+Pipes all events from _source_ emitter onto _target_ emitter (all events from _source_ emitter will be emitted also on _target_ emitter, but not other way).
+Returns _pipe_ object which exposes `pipe.close` function. Invoke it to close configured _pipe_.
It works internally by redefinition of `emit` method, if in your interface this method is referenced differently, provide its name (or symbol) with third argument.
#### unify(emitter1, emitter2) _(event-emitter/unify)_
-Unifies event handling for two objects. Events emitted on _emitter1_ would be also emitter on _emitter2_, and other way back.
+Unifies event handling for two objects. Events emitted on _emitter1_ would be also emitter on _emitter2_, and other way back.
Non reversible.
```javascript
diff --git a/tools/eslint/node_modules/event-emitter/package.json b/tools/eslint/node_modules/event-emitter/package.json
index bb1914b8c4..29b02cc8e8 100644
--- a/tools/eslint/node_modules/event-emitter/package.json
+++ b/tools/eslint/node_modules/event-emitter/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"event-emitter@~0.3.4",
- "/Users/silverwind/git/node/tools/package/package/node_modules/es6-map"
+ "/Users/trott/io.js/tools/node_modules/es6-map"
]
],
"_from": "event-emitter@>=0.3.4 <0.4.0",
@@ -33,7 +33,7 @@
"_shasum": "8d63ddfb4cfe1fae3b32ca265c4c720222080bb5",
"_shrinkwrap": null,
"_spec": "event-emitter@~0.3.4",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/es6-map",
+ "_where": "/Users/trott/io.js/tools/node_modules/es6-map",
"author": {
"email": "medyk@medikoo.com",
"name": "Mariusz Nowak",
@@ -60,19 +60,19 @@
"gitHead": "adc27b543a53528b9af8a82f7c88db3292f0faa0",
"homepage": "https://github.com/medikoo/event-emitter#readme",
"keywords": [
- "emitter",
"event",
"events",
- "listener",
+ "trigger",
"observer",
- "pubsub",
- "trigger"
+ "listener",
+ "emitter",
+ "pubsub"
],
"license": "MIT",
"maintainers": [
{
- "name": "medikoo",
- "email": "medikoo+npm@medikoo.com"
+ "email": "medikoo+npm@medikoo.com",
+ "name": "medikoo"
}
],
"name": "event-emitter",
diff --git a/tools/eslint/node_modules/exit-hook/package.json b/tools/eslint/node_modules/exit-hook/package.json
index ebf49d5d5e..5169705168 100644
--- a/tools/eslint/node_modules/exit-hook/package.json
+++ b/tools/eslint/node_modules/exit-hook/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"exit-hook@^1.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/restore-cursor"
+ "/Users/trott/io.js/tools/node_modules/restore-cursor"
]
],
"_from": "exit-hook@>=1.0.0 <2.0.0",
@@ -31,7 +31,7 @@
"_shasum": "f05ca233b48c05d54fff07765df8507e95c02ff8",
"_shrinkwrap": null,
"_spec": "exit-hook@^1.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/restore-cursor",
+ "_where": "/Users/trott/io.js/tools/node_modules/restore-cursor",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -58,25 +58,25 @@
],
"homepage": "https://github.com/sindresorhus/exit-hook",
"keywords": [
- "event",
"exit",
+ "quit",
+ "process",
+ "hook",
"graceful",
"handler",
- "hook",
- "kill",
- "process",
- "quit",
"shutdown",
- "sigint",
"sigterm",
+ "sigint",
+ "terminate",
+ "kill",
"stop",
- "terminate"
+ "event"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "exit-hook",
diff --git a/tools/eslint/node_modules/fast-levenshtein/LICENSE.md b/tools/eslint/node_modules/fast-levenshtein/LICENSE.md
index 79b8669264..6212406b41 100644
--- a/tools/eslint/node_modules/fast-levenshtein/LICENSE.md
+++ b/tools/eslint/node_modules/fast-levenshtein/LICENSE.md
@@ -22,3 +22,4 @@ 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/tools/eslint/node_modules/fast-levenshtein/levenshtein.js b/tools/eslint/node_modules/fast-levenshtein/levenshtein.js
index 9d8cdc87f7..850626de68 100644
--- a/tools/eslint/node_modules/fast-levenshtein/levenshtein.js
+++ b/tools/eslint/node_modules/fast-levenshtein/levenshtein.js
@@ -208,3 +208,4 @@
window.Levenshtein = Levenshtein;
}
}());
+
diff --git a/tools/eslint/node_modules/fast-levenshtein/package.json b/tools/eslint/node_modules/fast-levenshtein/package.json
index 7425a2655d..c0e13d4e2c 100644
--- a/tools/eslint/node_modules/fast-levenshtein/package.json
+++ b/tools/eslint/node_modules/fast-levenshtein/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"fast-levenshtein@^1.1.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/optionator"
+ "/Users/trott/io.js/tools/node_modules/optionator"
]
],
"_from": "fast-levenshtein@>=1.1.0 <2.0.0",
@@ -32,7 +32,7 @@
"_shasum": "2ae7b32abc1e612da48a4e13849b888a2f61e7e9",
"_shrinkwrap": null,
"_spec": "fast-levenshtein@^1.1.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/optionator",
+ "_where": "/Users/trott/io.js/tools/node_modules/optionator",
"author": {
"email": "ram@hiddentao.com",
"name": "Ramesh Nair",
@@ -66,16 +66,16 @@
"gitHead": "bce911eb885fb52e37b1be793c22cfaf88d580d2",
"homepage": "https://github.com/hiddentao/fast-levenshtein#readme",
"keywords": [
- "distance",
"levenshtein",
+ "distance",
"string"
],
"license": "MIT",
"main": "levenshtein.js",
"maintainers": [
{
- "name": "hiddentao",
- "email": "ram@hiddentao.com"
+ "email": "ram@hiddentao.com",
+ "name": "hiddentao"
}
],
"name": "fast-levenshtein",
diff --git a/tools/eslint/node_modules/figures/package.json b/tools/eslint/node_modules/figures/package.json
index 2ddb1377bb..94c00cb4e0 100644
--- a/tools/eslint/node_modules/figures/package.json
+++ b/tools/eslint/node_modules/figures/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"figures@^1.3.5",
- "/Users/silverwind/git/node/tools/package/package/node_modules/inquirer"
+ "/Users/trott/io.js/tools/node_modules/inquirer"
]
],
"_from": "figures@>=1.3.5 <2.0.0",
@@ -36,7 +36,7 @@
"_shasum": "56d8a0949c19643af764d573a648d384218da737",
"_shrinkwrap": null,
"_spec": "figures@^1.3.5",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/inquirer",
+ "_where": "/Users/trott/io.js/tools/node_modules/inquirer",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -65,23 +65,23 @@
"gitHead": "0f0ec0620de08ed4e1b1ab7073cb2e1104c246e8",
"homepage": "https://github.com/sindresorhus/figures#readme",
"keywords": [
- "char",
- "characters",
+ "unicode",
"cli",
"cmd",
"command-line",
- "fallback",
- "figure",
- "figures",
+ "characters",
+ "char",
"symbol",
"symbols",
- "unicode"
+ "figure",
+ "figures",
+ "fallback"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "figures",
diff --git a/tools/eslint/node_modules/file-entry-cache/LICENSE b/tools/eslint/node_modules/file-entry-cache/LICENSE
index 7394b8ff84..c58c339631 100644
--- a/tools/eslint/node_modules/file-entry-cache/LICENSE
+++ b/tools/eslint/node_modules/file-entry-cache/LICENSE
@@ -19,3 +19,4 @@ 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/tools/eslint/node_modules/file-entry-cache/README.md b/tools/eslint/node_modules/file-entry-cache/README.md
index 842ef1e158..0ea7e7a092 100644
--- a/tools/eslint/node_modules/file-entry-cache/README.md
+++ b/tools/eslint/node_modules/file-entry-cache/README.md
@@ -1,5 +1,5 @@
# file-entry-cache
-> Super simple cache for file metadata, useful for process that work o a given series of files
+> Super simple cache for file metadata, useful for process that work o a given series of files
> and that only need to repeat the job on the changed ones since the previous run of the process — Edit
[![NPM Version](http://img.shields.io/npm/v/file-entry-cache.svg?style=flat)](https://npmjs.org/package/file-entry-cache)
@@ -14,7 +14,7 @@ npm i --save file-entry-cache
## Usage
```js
-// loads the cache, if one does not exists for the given
+// loads the cache, if one does not exists for the given
// Id a new one will be prepared to be created
var fileEntryCache = require('file-entry-cache');
@@ -25,18 +25,18 @@ var files = expand('../fixtures/*.txt');
// the first time this method is called, will return all the files
var oFiles = cache.getUpdatedFiles(files);
-// this will persist this to disk checking each file stats and
+// this will persist this to disk checking each file stats and
// updating the meta attributes `size` and `mtime`.
// custom fields could also be added to the meta object and will be persisted
// in order to retrieve them later
-cache.reconcile();
+cache.reconcile();
// on a second run
var cache2 = fileEntryCache.create('testCache');
// will return now only the files that were modified or none
// if no files were modified previous to the execution of this function
-var oFiles = cache.getUpdatedFiles(files);
+var oFiles = cache.getUpdatedFiles(files);
// if you want to prevent a file from being considered non modified
// something useful if a file failed some sort of validation
@@ -64,21 +64,21 @@ entry = {
## Motivation for this module
-I needed a super simple and dumb **in-memory cache** with optional disk persistence (write-back cache) in order to make
+I needed a super simple and dumb **in-memory cache** with optional disk persistence (write-back cache) in order to make
a script that will beautify files with `esformatter` to execute only on the files that were changed since the last run.
In doing so the process of beautifying files was reduced from several seconds to a small fraction of a second.
-This module uses [flat-cache](https://www.npmjs.com/package/flat-cache) a super simple `key/value` cache storage with
+This module uses [flat-cache](https://www.npmjs.com/package/flat-cache) a super simple `key/value` cache storage with
optional file persistance.
-The main idea is to read the files when the task begins, apply the transforms required, and if the process succeed,
-then store the new state of the files. The next time this module request for `getChangedFiles` will return only
+The main idea is to read the files when the task begins, apply the transforms required, and if the process succeed,
+then store the new state of the files. The next time this module request for `getChangedFiles` will return only
the files that were modified. Making the process to end faster.
This module could also be used by processes that modify the files applying a transform, in that case the result of the
-transform could be stored in the `meta` field, of the entries. Anything added to the meta field will be persisted.
-Those processes won't need to call `getChangedFiles` they will instead call `normalizeEntries` that will return the
+transform could be stored in the `meta` field, of the entries. Anything added to the meta field will be persisted.
+Those processes won't need to call `getChangedFiles` they will instead call `normalizeEntries` that will return the
entries with a `changed` field that can be used to determine if the file was changed or not. If it was not changed
the transformed stored data could be used instead of actually applying the transformation, saving time in case of only
a few files changed.
@@ -89,6 +89,8 @@ In the worst case scenario all the files will be processed. In the best case sce
- The values set on the meta attribute of the entries should be `stringify-able` ones, meaning no circular references
- All the changes to the cache state are done to memory first and only persisted after reconcile
-## License
+## License
MIT
+
+
diff --git a/tools/eslint/node_modules/file-entry-cache/changelog.md b/tools/eslint/node_modules/file-entry-cache/changelog.md
index 46fcd57bc8..8cc876141e 100644
--- a/tools/eslint/node_modules/file-entry-cache/changelog.md
+++ b/tools/eslint/node_modules/file-entry-cache/changelog.md
@@ -4,54 +4,56 @@
- **Enhancements**
- Expose the flat-cache instance - [f34c557]( https://github.com/royriojas/file-entry-cache/commit/f34c557 ), [royriojas](https://github.com/royriojas), 23/09/2015 20:26:33
-
+
## v1.2.3
- **Build Scripts Changes**
- update flat-cache dep - [cc7b9ce]( https://github.com/royriojas/file-entry-cache/commit/cc7b9ce ), [royriojas](https://github.com/royriojas), 11/09/2015 18:04:44
-
+
## v1.2.2
- **Build Scripts Changes**
- Add changelogx section to package.json - [a3916ff]( https://github.com/royriojas/file-entry-cache/commit/a3916ff ), [royriojas](https://github.com/royriojas), 11/09/2015 18:00:26
-
+
## v1.2.1
- **Build Scripts Changes**
- update flat-cache dep - [e49b0d4]( https://github.com/royriojas/file-entry-cache/commit/e49b0d4 ), [royriojas](https://github.com/royriojas), 11/09/2015 17:55:25
-
+
- **Other changes**
- Update dependencies Replaced lodash.assign with smaller object-assign Fixed tests for windows - [0ad3000]( https://github.com/royriojas/file-entry-cache/commit/0ad3000 ), [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 11/09/2015 17:44:18
-
+
## v1.2.0
- **Features**
- analyzeFiles now returns also the files that were removed - [6ac2431]( https://github.com/royriojas/file-entry-cache/commit/6ac2431 ), [royriojas](https://github.com/royriojas), 04/09/2015 14:40:53
-
+
## v1.1.1
- **Features**
- Add method to check if a file hasChanged - [3640e2b]( https://github.com/royriojas/file-entry-cache/commit/3640e2b ), [Roy Riojas](https://github.com/Roy Riojas), 30/08/2015 07:33:32
-
+
## v1.1.0
- **Features**
- Create the cache directly from a file path - [a23de61]( https://github.com/royriojas/file-entry-cache/commit/a23de61 ), [Roy Riojas](https://github.com/Roy Riojas), 30/08/2015 06:41:33
-
+
- Add a method to remove an entry from the filecache - [7af29fc]( https://github.com/royriojas/file-entry-cache/commit/7af29fc ), [Roy Riojas](https://github.com/Roy Riojas), 03/03/2015 02:25:32
-
+
- cache module finished - [1f95544]( https://github.com/royriojas/file-entry-cache/commit/1f95544 ), [Roy Riojas](https://github.com/Roy Riojas), 02/03/2015 04:08:08
-
+
- **Build Scripts Changes**
- set the version for the first release - [7472eaa]( https://github.com/royriojas/file-entry-cache/commit/7472eaa ), [Roy Riojas](https://github.com/Roy Riojas), 02/03/2015 04:29:54
-
+
- **Documentation**
- Updated documentation - [557358f]( https://github.com/royriojas/file-entry-cache/commit/557358f ), [Roy Riojas](https://github.com/Roy Riojas), 02/03/2015 04:29:29
-
+
- **Other changes**
- Initial commit - [3d5f42b]( https://github.com/royriojas/file-entry-cache/commit/3d5f42b ), [Roy Riojas](https://github.com/Roy Riojas), 02/03/2015 00:58:29
+
+
diff --git a/tools/eslint/node_modules/file-entry-cache/package.json b/tools/eslint/node_modules/file-entry-cache/package.json
index fda420abc1..0d28ea6c72 100644
--- a/tools/eslint/node_modules/file-entry-cache/package.json
+++ b/tools/eslint/node_modules/file-entry-cache/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"file-entry-cache@^1.1.1",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "file-entry-cache@>=1.1.1 <2.0.0",
@@ -26,13 +26,13 @@
"type": "range"
},
"_requiredBy": [
- "/"
+ "/eslint"
],
"_resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-1.2.4.tgz",
"_shasum": "9a586072c69365a7ef7ec72a7c2b9046de091e9c",
"_shrinkwrap": null,
"_spec": "file-entry-cache@^1.1.1",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"author": {
"name": "Roy Riojas",
"url": "http://royriojas.com"
@@ -90,19 +90,19 @@
"gitHead": "3ca70d84f97822df7f769409f49ecf22c8908412",
"homepage": "https://github.com/royriojas/file-entry-cache#readme",
"keywords": [
- "cache",
"file cache",
+ "task cache files",
"file cache",
"key par",
"key value",
- "task cache files"
+ "cache"
],
"license": "MIT",
"main": "cache.js",
"maintainers": [
{
- "name": "royriojas",
- "email": "royriojas@gmail.com"
+ "email": "royriojas@gmail.com",
+ "name": "royriojas"
}
],
"name": "file-entry-cache",
diff --git a/tools/eslint/node_modules/flat-cache/LICENSE b/tools/eslint/node_modules/flat-cache/LICENSE
index 7394b8ff84..c58c339631 100644
--- a/tools/eslint/node_modules/flat-cache/LICENSE
+++ b/tools/eslint/node_modules/flat-cache/LICENSE
@@ -19,3 +19,4 @@ 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/tools/eslint/node_modules/flat-cache/README.md b/tools/eslint/node_modules/flat-cache/README.md
index d0eddf2e9c..33a315fb34 100644
--- a/tools/eslint/node_modules/flat-cache/README.md
+++ b/tools/eslint/node_modules/flat-cache/README.md
@@ -65,3 +65,4 @@ MIT
## Changelog
[changelog](./changelog.md)
+
diff --git a/tools/eslint/node_modules/flat-cache/changelog.md b/tools/eslint/node_modules/flat-cache/changelog.md
index 571757c9d9..6ba9ef745c 100644
--- a/tools/eslint/node_modules/flat-cache/changelog.md
+++ b/tools/eslint/node_modules/flat-cache/changelog.md
@@ -4,69 +4,71 @@
- **Build Scripts Changes**
- add eslint-fix task - [fd29e52]( https://github.com/royriojas/flat-cache/commit/fd29e52 ), [royriojas](https://github.com/royriojas), 01/11/2015 18:04:08
-
+
- make sure the test script also verify beautification and linting of files before running tests - [e94e176]( https://github.com/royriojas/flat-cache/commit/e94e176 ), [royriojas](https://github.com/royriojas), 01/11/2015 14:54:48
-
+
- **Other changes**
- add clearAll for cacheDir - [97383d9]( https://github.com/royriojas/flat-cache/commit/97383d9 ), [xieyaowu](https://github.com/xieyaowu), 31/10/2015 23:02:18
-
+
## v1.0.9
- **Bug Fixes**
- wrong default values for changelogx user repo name - [7bb52d1]( https://github.com/royriojas/flat-cache/commit/7bb52d1 ), [royriojas](https://github.com/royriojas), 11/09/2015 17:59:30
-
+
## v1.0.8
- **Build Scripts Changes**
- test against node 4 - [c395b66]( https://github.com/royriojas/flat-cache/commit/c395b66 ), [royriojas](https://github.com/royriojas), 11/09/2015 17:51:39
-
+
## v1.0.7
- **Other changes**
- Move dependencies into devDep - [7e47099]( https://github.com/royriojas/flat-cache/commit/7e47099 ), [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 11/09/2015 17:10:57
-
+
- **Documentation**
- Add missing changelog link - [f51197a]( https://github.com/royriojas/flat-cache/commit/f51197a ), [royriojas](https://github.com/royriojas), 11/09/2015 16:48:05
-
+
## v1.0.6
- **Build Scripts Changes**
- Add helpers/code check scripts - [bdb82f3]( https://github.com/royriojas/flat-cache/commit/bdb82f3 ), [royriojas](https://github.com/royriojas), 11/09/2015 16:44:31
-
+
## v1.0.5
- **Documentation**
- better description for the module - [436817f]( https://github.com/royriojas/flat-cache/commit/436817f ), [royriojas](https://github.com/royriojas), 11/09/2015 16:35:33
-
+
- **Other changes**
- Update dependencies - [be88aa3]( https://github.com/royriojas/flat-cache/commit/be88aa3 ), [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 11/09/2015 15:47:41
-
+
## v1.0.4
- **Refactoring**
- load a cache file using the full filepath - [b8f68c2]( https://github.com/royriojas/flat-cache/commit/b8f68c2 ), [Roy Riojas](https://github.com/Roy Riojas), 30/08/2015 06:19:14
-
+
- **Documentation**
- Add documentation about `clearAll` and `clearCacheById` - [13947c1]( https://github.com/royriojas/flat-cache/commit/13947c1 ), [Roy Riojas](https://github.com/Roy Riojas), 02/03/2015 02:44:05
-
+
- **Features**
- Add methods to remove the cache documents created - [af40443]( https://github.com/royriojas/flat-cache/commit/af40443 ), [Roy Riojas](https://github.com/Roy Riojas), 02/03/2015 02:39:27
-
+
## v1.0.1
- **Other changes**
- Update README.md - [c2b6805]( https://github.com/royriojas/flat-cache/commit/c2b6805 ), [Roy Riojas](https://github.com/Roy Riojas), 26/02/2015 07:28:07
-
+
## v1.0.0
- **Refactoring**
- flat-cache v.1.0.0 - [c984274]( https://github.com/royriojas/flat-cache/commit/c984274 ), [Roy Riojas](https://github.com/Roy Riojas), 26/02/2015 07:11:50
-
+
- **Other changes**
- Initial commit - [d43cccf]( https://github.com/royriojas/flat-cache/commit/d43cccf ), [Roy Riojas](https://github.com/Roy Riojas), 26/02/2015 04:12:16
+
+
diff --git a/tools/eslint/node_modules/flat-cache/package.json b/tools/eslint/node_modules/flat-cache/package.json
index 1558d29aeb..3c923ffe84 100644
--- a/tools/eslint/node_modules/flat-cache/package.json
+++ b/tools/eslint/node_modules/flat-cache/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"flat-cache@^1.0.9",
- "/Users/silverwind/git/node/tools/package/package/node_modules/file-entry-cache"
+ "/Users/trott/io.js/tools/node_modules/file-entry-cache"
]
],
"_from": "flat-cache@>=1.0.9 <2.0.0",
@@ -32,7 +32,7 @@
"_shasum": "73d6df4a28502160a05e059544a6aeeae8b0047a",
"_shrinkwrap": null,
"_spec": "flat-cache@^1.0.9",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/file-entry-cache",
+ "_where": "/Users/trott/io.js/tools/node_modules/file-entry-cache",
"author": {
"name": "Roy Riojas",
"url": "http://royriojas.com"
@@ -88,19 +88,19 @@
"gitHead": "58bb40ccc87d79eb16146629be79d7577e6632da",
"homepage": "https://github.com/royriojas/flat-cache#readme",
"keywords": [
- "cache",
- "file cache",
"json cache",
+ "simple cache",
+ "file cache",
"key par",
"key value",
- "simple cache"
+ "cache"
],
"license": "MIT",
"main": "cache.js",
"maintainers": [
{
- "name": "royriojas",
- "email": "royriojas@gmail.com"
+ "email": "royriojas@gmail.com",
+ "name": "royriojas"
}
],
"name": "flat-cache",
diff --git a/tools/eslint/node_modules/generate-function/package.json b/tools/eslint/node_modules/generate-function/package.json
index 6bf82cdcad..2ef064b45f 100644
--- a/tools/eslint/node_modules/generate-function/package.json
+++ b/tools/eslint/node_modules/generate-function/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"generate-function@^2.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/is-my-json-valid"
+ "/Users/trott/io.js/tools/node_modules/is-my-json-valid"
]
],
"_from": "generate-function@>=2.0.0 <3.0.0",
@@ -31,7 +31,7 @@
"_shasum": "6858fe7c0969b7d4e9093337647ac79f60dfbe74",
"_shrinkwrap": null,
"_spec": "generate-function@^2.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/is-my-json-valid",
+ "_where": "/Users/trott/io.js/tools/node_modules/is-my-json-valid",
"author": {
"name": "Mathias Buus"
},
@@ -51,18 +51,18 @@
"gitHead": "3d5fc8de5859be95f58e3af9bfb5f663edd95149",
"homepage": "https://github.com/mafintosh/generate-function",
"keywords": [
- "code",
- "function",
"generate",
+ "code",
"generation",
+ "function",
"performance"
],
"license": "MIT",
"main": "index.js",
"maintainers": [
{
- "name": "mafintosh",
- "email": "mathiasbuus@gmail.com"
+ "email": "mathiasbuus@gmail.com",
+ "name": "mafintosh"
}
],
"name": "generate-function",
diff --git a/tools/eslint/node_modules/generate-object-property/package.json b/tools/eslint/node_modules/generate-object-property/package.json
index 0f7a596e84..3d8e68caff 100644
--- a/tools/eslint/node_modules/generate-object-property/package.json
+++ b/tools/eslint/node_modules/generate-object-property/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"generate-object-property@^1.1.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/is-my-json-valid"
+ "/Users/trott/io.js/tools/node_modules/is-my-json-valid"
]
],
"_from": "generate-object-property@>=1.1.0 <2.0.0",
@@ -32,7 +32,7 @@
"_shasum": "9c0e1c40308ce804f4783618b937fa88f99d50d0",
"_shrinkwrap": null,
"_spec": "generate-object-property@^1.1.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/is-my-json-valid",
+ "_where": "/Users/trott/io.js/tools/node_modules/is-my-json-valid",
"author": {
"name": "Mathias Buus",
"url": "@mafintosh"
@@ -58,8 +58,8 @@
"main": "index.js",
"maintainers": [
{
- "name": "mafintosh",
- "email": "mathiasbuus@gmail.com"
+ "email": "mathiasbuus@gmail.com",
+ "name": "mafintosh"
}
],
"name": "generate-object-property",
diff --git a/tools/eslint/node_modules/glob/package.json b/tools/eslint/node_modules/glob/package.json
index 537635f8ea..e27d6909e6 100644
--- a/tools/eslint/node_modules/glob/package.json
+++ b/tools/eslint/node_modules/glob/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"glob@^7.0.3",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "glob@>=7.0.3 <8.0.0",
@@ -30,14 +30,14 @@
"type": "range"
},
"_requiredBy": [
- "/",
+ "/eslint",
"/rimraf"
],
"_resolved": "https://registry.npmjs.org/glob/-/glob-7.0.3.tgz",
"_shasum": "0aa235931a4a96ac13d60ffac2fb877bd6ed4f58",
"_shrinkwrap": null,
"_spec": "glob@^7.0.3",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"author": {
"email": "i@izs.me",
"name": "Isaac Z. Schlueter",
@@ -69,9 +69,9 @@
"node": "*"
},
"files": [
- "common.js",
"glob.js",
- "sync.js"
+ "sync.js",
+ "common.js"
],
"gitHead": "2fc2278ab857c7df117213a2fb431de090be6353",
"homepage": "https://github.com/isaacs/node-glob#readme",
@@ -79,8 +79,8 @@
"main": "glob.js",
"maintainers": [
{
- "name": "isaacs",
- "email": "i@izs.me"
+ "email": "i@izs.me",
+ "name": "isaacs"
}
],
"name": "glob",
diff --git a/tools/eslint/node_modules/globals/globals.json b/tools/eslint/node_modules/globals/globals.json
index 756009decc..1a9f5aaf94 100644
--- a/tools/eslint/node_modules/globals/globals.json
+++ b/tools/eslint/node_modules/globals/globals.json
@@ -163,7 +163,13 @@
"addEventListener": false,
"alert": false,
"AnalyserNode": false,
+ "Animation": false,
+ "AnimationEffectReadOnly": false,
+ "AnimationEffectTiming": false,
+ "AnimationEffectTimingReadOnly": false,
"AnimationEvent": false,
+ "AnimationPlaybackEvent": false,
+ "AnimationTimeline": false,
"applicationCache": false,
"ApplicationCache": false,
"ApplicationCacheErrorEvent": false,
@@ -215,6 +221,7 @@
"Crypto": false,
"CryptoKey": false,
"CSS": false,
+ "CSSAnimation": false,
"CSSFontFaceRule": false,
"CSSImportRule": false,
"CSSKeyframeRule": false,
@@ -227,6 +234,7 @@
"CSSStyleRule": false,
"CSSStyleSheet": false,
"CSSSupportsRule": false,
+ "CSSTransition": false,
"CSSUnknownRule": false,
"CSSViewportRule": false,
"CustomEvent": false,
@@ -244,6 +252,7 @@
"document": false,
"Document": false,
"DocumentFragment": false,
+ "DocumentTimeline": false,
"DocumentType": false,
"DOMError": false,
"DOMException": false,
@@ -387,6 +396,8 @@
"InputMethodContext": false,
"Intl": false,
"KeyboardEvent": false,
+ "KeyframeEffect": false,
+ "KeyframeEffectReadOnly": false,
"length": false,
"localStorage": false,
"location": false,
@@ -521,6 +532,7 @@
"setInterval": false,
"setTimeout": false,
"ShadowRoot": false,
+ "SharedKeyframeList": false,
"SharedWorker": false,
"showModalDialog": false,
"speechSynthesis": false,
diff --git a/tools/eslint/node_modules/globals/package.json b/tools/eslint/node_modules/globals/package.json
index 351bed5d12..6bbc454057 100644
--- a/tools/eslint/node_modules/globals/package.json
+++ b/tools/eslint/node_modules/globals/package.json
@@ -2,24 +2,24 @@
"_args": [
[
"globals@^9.2.0",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "globals@>=9.2.0 <10.0.0",
- "_id": "globals@9.4.0",
+ "_id": "globals@9.5.0",
"_inCache": true,
"_installable": true,
"_location": "/globals",
- "_nodeVersion": "4.3.0",
+ "_nodeVersion": "4.4.2",
"_npmOperationalInternal": {
- "host": "packages-12-west.internal.npmjs.com",
- "tmp": "tmp/globals-9.4.0.tgz_1459871365142_0.9750835259910673"
+ "host": "packages-16-east.internal.npmjs.com",
+ "tmp": "tmp/globals-9.5.0.tgz_1460995392428_0.6166578873526305"
},
"_npmUser": {
"email": "sindresorhus@gmail.com",
"name": "sindresorhus"
},
- "_npmVersion": "2.14.12",
+ "_npmVersion": "3.8.6",
"_phantomChildren": {},
"_requested": {
"name": "globals",
@@ -30,13 +30,13 @@
"type": "range"
},
"_requiredBy": [
- "/"
+ "/eslint"
],
- "_resolved": "https://registry.npmjs.org/globals/-/globals-9.4.0.tgz",
- "_shasum": "e89906bbd58b40305e5691ef934324e93325b35f",
+ "_resolved": "https://registry.npmjs.org/globals/-/globals-9.5.0.tgz",
+ "_shasum": "8d0244dbc03e1e71ee0290ff805eff9af37b176c",
"_shrinkwrap": null,
"_spec": "globals@^9.2.0",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -52,45 +52,45 @@
},
"directories": {},
"dist": {
- "shasum": "e89906bbd58b40305e5691ef934324e93325b35f",
- "tarball": "https://registry.npmjs.org/globals/-/globals-9.4.0.tgz"
+ "shasum": "8d0244dbc03e1e71ee0290ff805eff9af37b176c",
+ "tarball": "https://registry.npmjs.org/globals/-/globals-9.5.0.tgz"
},
"engines": {
"node": ">=0.10.0"
},
"files": [
- "globals.json",
- "index.js"
+ "index.js",
+ "globals.json"
],
- "gitHead": "77c6fd4f214140ef81c530c5b3da49ee346fd08a",
- "homepage": "https://github.com/sindresorhus/globals",
+ "gitHead": "ddd67eee82aed52cdba7a28b09b9c3f1dea0f0c7",
+ "homepage": "https://github.com/sindresorhus/globals#readme",
"keywords": [
- "environments",
- "eslint",
- "global",
"globals",
+ "global",
"identifiers",
- "jshint",
"variables",
- "vars"
+ "vars",
+ "jshint",
+ "eslint",
+ "environments"
],
"license": "MIT",
"maintainers": [
{
- "name": "byk",
- "email": "ben@byk.im"
+ "email": "ben@byk.im",
+ "name": "byk"
},
{
- "name": "lo1tuma",
- "email": "schreck.mathias@gmail.com"
+ "email": "schreck.mathias@gmail.com",
+ "name": "lo1tuma"
},
{
- "name": "nzakas",
- "email": "nicholas@nczconsulting.com"
+ "email": "nicholas@nczconsulting.com",
+ "name": "nzakas"
},
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "globals",
@@ -103,5 +103,5 @@
"scripts": {
"test": "mocha"
},
- "version": "9.4.0"
+ "version": "9.5.0"
}
diff --git a/tools/eslint/node_modules/globby/node_modules/glob/package.json b/tools/eslint/node_modules/globby/node_modules/glob/package.json
index 8ed608ec65..74c0889c9f 100644
--- a/tools/eslint/node_modules/globby/node_modules/glob/package.json
+++ b/tools/eslint/node_modules/globby/node_modules/glob/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"glob@^6.0.1",
- "/Users/silverwind/git/node/tools/package/package/node_modules/globby"
+ "/Users/trott/io.js/tools/node_modules/globby"
]
],
"_from": "glob@>=6.0.1 <7.0.0",
@@ -32,7 +32,7 @@
"_shasum": "0f08860f6a155127b2fadd4f9ce24b1aab6e4d22",
"_shrinkwrap": null,
"_spec": "glob@^6.0.1",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/globby",
+ "_where": "/Users/trott/io.js/tools/node_modules/globby",
"author": {
"email": "i@izs.me",
"name": "Isaac Z. Schlueter",
@@ -64,9 +64,9 @@
"node": "*"
},
"files": [
- "common.js",
"glob.js",
- "sync.js"
+ "sync.js",
+ "common.js"
],
"gitHead": "3bd419c538737e56fda7e21c21ff52ca0c198df6",
"homepage": "https://github.com/isaacs/node-glob#readme",
@@ -74,8 +74,8 @@
"main": "glob.js",
"maintainers": [
{
- "name": "isaacs",
- "email": "i@izs.me"
+ "email": "i@izs.me",
+ "name": "isaacs"
}
],
"name": "glob",
diff --git a/tools/eslint/node_modules/globby/package.json b/tools/eslint/node_modules/globby/package.json
index b5a0101dc0..13b99b1562 100644
--- a/tools/eslint/node_modules/globby/package.json
+++ b/tools/eslint/node_modules/globby/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"globby@^4.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/del"
+ "/Users/trott/io.js/tools/node_modules/del"
]
],
"_from": "globby@>=4.0.0 <5.0.0",
@@ -38,7 +38,7 @@
"_shasum": "36ff06c5a9dc1dbc201f700074992882857e9817",
"_shrinkwrap": null,
"_spec": "globby@^4.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/del",
+ "_where": "/Users/trott/io.js/tools/node_modules/del",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -102,18 +102,18 @@
"paths",
"pattern",
"patterns",
- "promise",
"traverse",
"util",
"utility",
"wildcard",
- "wildcards"
+ "wildcards",
+ "promise"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "globby",
@@ -130,8 +130,8 @@
"version": "4.0.0",
"xo": {
"envs": [
- "mocha",
- "node"
+ "node",
+ "mocha"
]
}
}
diff --git a/tools/eslint/node_modules/graceful-fs/package.json b/tools/eslint/node_modules/graceful-fs/package.json
index cbe6dfc359..efd7876ac6 100644
--- a/tools/eslint/node_modules/graceful-fs/package.json
+++ b/tools/eslint/node_modules/graceful-fs/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"graceful-fs@^4.1.2",
- "/Users/silverwind/git/node/tools/package/package/node_modules/flat-cache"
+ "/Users/trott/io.js/tools/node_modules/flat-cache"
]
],
"_from": "graceful-fs@>=4.1.2 <5.0.0",
@@ -37,7 +37,7 @@
"_shasum": "92033ce11113c41e2628d61fdfa40bc10dc0155c",
"_shrinkwrap": null,
"_spec": "graceful-fs@^4.1.2",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/flat-cache",
+ "_where": "/Users/trott/io.js/tools/node_modules/flat-cache",
"bugs": {
"url": "https://github.com/isaacs/node-graceful-fs/issues"
},
@@ -53,7 +53,7 @@
},
"dist": {
"shasum": "92033ce11113c41e2628d61fdfa40bc10dc0155c",
- "tarball": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.3.tgz"
+ "tarball": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.3.tgz"
},
"engines": {
"node": ">=0.4.0"
@@ -67,27 +67,27 @@
"gitHead": "694c56f3aed4aee62d6df169be123d3984f61b85",
"homepage": "https://github.com/isaacs/node-graceful-fs#readme",
"keywords": [
- "EACCESS",
- "EAGAIN",
- "EINVAL",
- "EMFILE",
- "EPERM",
- "error",
- "errors",
"fs",
- "handling",
"module",
- "queue",
"reading",
+ "retry",
"retries",
- "retry"
+ "queue",
+ "error",
+ "errors",
+ "handling",
+ "EMFILE",
+ "EAGAIN",
+ "EINVAL",
+ "EPERM",
+ "EACCESS"
],
"license": "ISC",
"main": "graceful-fs.js",
"maintainers": [
{
- "name": "isaacs",
- "email": "i@izs.me"
+ "email": "i@izs.me",
+ "name": "isaacs"
}
],
"name": "graceful-fs",
diff --git a/tools/eslint/node_modules/has-ansi/package.json b/tools/eslint/node_modules/has-ansi/package.json
index aa6114cc02..098c3ad692 100644
--- a/tools/eslint/node_modules/has-ansi/package.json
+++ b/tools/eslint/node_modules/has-ansi/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"has-ansi@^2.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/chalk"
+ "/Users/trott/io.js/tools/node_modules/chalk"
]
],
"_from": "has-ansi@>=2.0.0 <3.0.0",
@@ -32,7 +32,7 @@
"_shasum": "34f5049ce1ecdf2b0649af3ef24e45ed35416d91",
"_shrinkwrap": null,
"_spec": "has-ansi@^2.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/chalk",
+ "_where": "/Users/trott/io.js/tools/node_modules/chalk",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -51,7 +51,7 @@
"directories": {},
"dist": {
"shasum": "34f5049ce1ecdf2b0649af3ef24e45ed35416d91",
- "tarball": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz"
+ "tarball": "http://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz"
},
"engines": {
"node": ">=0.10.0"
@@ -63,37 +63,37 @@
"homepage": "https://github.com/sindresorhus/has-ansi",
"keywords": [
"ansi",
+ "styles",
"color",
- "colors",
"colour",
- "command-line",
+ "colors",
+ "terminal",
"console",
+ "string",
+ "tty",
"escape",
- "find",
- "has",
- "match",
- "pattern",
- "re",
+ "shell",
+ "xterm",
+ "command-line",
+ "text",
"regex",
"regexp",
- "shell",
- "string",
- "styles",
- "terminal",
+ "re",
+ "match",
"test",
- "text",
- "tty",
- "xterm"
+ "find",
+ "pattern",
+ "has"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
},
{
- "name": "jbnicolai",
- "email": "jappelman@xebia.com"
+ "email": "jappelman@xebia.com",
+ "name": "jbnicolai"
}
],
"name": "has-ansi",
diff --git a/tools/eslint/node_modules/ignore/ignore.js b/tools/eslint/node_modules/ignore/ignore.js
index 221b97e80e..e1529f12b1 100644
--- a/tools/eslint/node_modules/ignore/ignore.js
+++ b/tools/eslint/node_modules/ignore/ignore.js
@@ -299,22 +299,26 @@ function () {
}],
// two globstars
-[/\\\/\\\*\\\*(\\\/|$)/g,
+[/\\\/\\\*\\\*(?=\\\/|$)/g,
// Zero, one or several directories
// should not use '*', or it will be replaced by the next replacer
-function (m, p1) {
- return p1 === '\\/'
+function (m, index, str) {
+
+ // Check if it is not the last `'/**'`
+ return index + 6 < str.length
// case: /**/
// > A slash followed by two consecutive asterisks then a slash matches zero or more directories.
// > For example, "a/**/b" matches "a/b", "a/x/b", "a/x/y/b" and so on.
// '/**/'
- ? '(?:\\/[^\\/]+)*\\/'
+ ? '(?:\\/[^\\/]+)*'
// case: /**
// > A trailing `"/**"` matches everything inside.
- : '\\/';
+
+ // #21: everything inside but it should not include the current folder
+ : '\\/.+';
}],
// intermediate wildcards
diff --git a/tools/eslint/node_modules/ignore/package.json b/tools/eslint/node_modules/ignore/package.json
index 1a966f1803..a6ad86dfbb 100644
--- a/tools/eslint/node_modules/ignore/package.json
+++ b/tools/eslint/node_modules/ignore/package.json
@@ -1,19 +1,19 @@
{
"_args": [
[
- "ignore@^3.0.10",
- "/Users/silverwind/git/node/tools/package/package"
+ "ignore@^3.1.2",
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
- "_from": "ignore@>=3.0.10 <4.0.0",
- "_id": "ignore@3.1.1",
+ "_from": "ignore@>=3.1.2 <4.0.0",
+ "_id": "ignore@3.1.2",
"_inCache": true,
"_installable": true,
"_location": "/ignore",
"_nodeVersion": "5.10.1",
"_npmOperationalInternal": {
- "host": "packages-12-west.internal.npmjs.com",
- "tmp": "tmp/ignore-3.1.1.tgz_1460180585110_0.08555315271951258"
+ "host": "packages-16-east.internal.npmjs.com",
+ "tmp": "tmp/ignore-3.1.2.tgz_1461812650504_0.7420230738352984"
},
"_npmUser": {
"email": "i@kael.me",
@@ -23,20 +23,20 @@
"_phantomChildren": {},
"_requested": {
"name": "ignore",
- "raw": "ignore@^3.0.10",
- "rawSpec": "^3.0.10",
+ "raw": "ignore@^3.1.2",
+ "rawSpec": "^3.1.2",
"scope": null,
- "spec": ">=3.0.10 <4.0.0",
+ "spec": ">=3.1.2 <4.0.0",
"type": "range"
},
"_requiredBy": [
- "/"
+ "/eslint"
],
- "_resolved": "https://registry.npmjs.org/ignore/-/ignore-3.1.1.tgz",
- "_shasum": "09e941c520c61452a8ec127fe70b4b6e4f281cde",
+ "_resolved": "https://registry.npmjs.org/ignore/-/ignore-3.1.2.tgz",
+ "_shasum": "dd17765e9233b4019762ba82b892202b0980161b",
"_shrinkwrap": null,
- "_spec": "ignore@^3.0.10",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_spec": "ignore@^3.1.2",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"author": {
"name": "kael"
},
@@ -51,36 +51,36 @@
},
"directories": {},
"dist": {
- "shasum": "09e941c520c61452a8ec127fe70b4b6e4f281cde",
- "tarball": "https://registry.npmjs.org/ignore/-/ignore-3.1.1.tgz"
+ "shasum": "dd17765e9233b4019762ba82b892202b0980161b",
+ "tarball": "https://registry.npmjs.org/ignore/-/ignore-3.1.2.tgz"
},
"files": [
- "LICENSE-MIT",
- "ignore.js"
+ "ignore.js",
+ "LICENSE-MIT"
],
- "gitHead": "043fa425fc967c9b5745d83ccb45253967d7a14e",
+ "gitHead": "3bfb96869396873cc08ab6239f0f08fbd43863f5",
"homepage": "https://github.com/kaelzhang/node-ignore#readme",
"keywords": [
+ "ignore",
".gitignore",
- "asterisks",
- "filter",
- "fnmatch",
"gitignore",
- "glob",
- "ignore",
- "manager",
"npmignore",
- "regex",
+ "rules",
+ "manager",
+ "filter",
"regexp",
- "regular-expression",
- "rules"
+ "regex",
+ "fnmatch",
+ "glob",
+ "asterisks",
+ "regular-expression"
],
"license": "MIT",
"main": "./ignore.js",
"maintainers": [
{
- "name": "kael",
- "email": "i@kael.me"
+ "email": "i@kael.me",
+ "name": "kael"
}
],
"name": "ignore",
@@ -93,5 +93,5 @@
"scripts": {
"test": "mocha --reporter spec ./test/ignore.js"
},
- "version": "3.1.1"
+ "version": "3.1.2"
}
diff --git a/tools/eslint/node_modules/imurmurhash/imurmurhash.js b/tools/eslint/node_modules/imurmurhash/imurmurhash.js
index 05347a2536..e63146a2b7 100644
--- a/tools/eslint/node_modules/imurmurhash/imurmurhash.js
+++ b/tools/eslint/node_modules/imurmurhash/imurmurhash.js
@@ -95,7 +95,7 @@
// @return {number} The 32-bit hash
MurmurHash3.prototype.result = function() {
var k1, h1;
-
+
k1 = this.k1;
h1 = this.h1;
diff --git a/tools/eslint/node_modules/imurmurhash/package.json b/tools/eslint/node_modules/imurmurhash/package.json
index a260b30125..fa90f7ee6f 100644
--- a/tools/eslint/node_modules/imurmurhash/package.json
+++ b/tools/eslint/node_modules/imurmurhash/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"imurmurhash@^0.1.4",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "imurmurhash@>=0.1.4 <0.2.0",
@@ -25,13 +25,13 @@
"type": "range"
},
"_requiredBy": [
- "/"
+ "/eslint"
],
"_resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
"_shasum": "9218b9b2b928a238b13dc4fb6b6d576f231453ea",
"_shrinkwrap": null,
"_spec": "imurmurhash@^0.1.4",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"author": {
"email": "jensyt@gmail.com",
"name": "Jens Taylor",
@@ -52,25 +52,25 @@
"node": ">=0.8.19"
},
"files": [
- "README.md",
"imurmurhash.js",
"imurmurhash.min.js",
- "package.json"
+ "package.json",
+ "README.md"
],
"homepage": "https://github.com/jensyt/imurmurhash-js",
"keywords": [
- "hash",
- "incremental",
"murmur",
"murmurhash",
- "murmurhash3"
+ "murmurhash3",
+ "hash",
+ "incremental"
],
"license": "MIT",
"main": "imurmurhash.js",
"maintainers": [
{
- "name": "jensyt",
- "email": "jensyt@gmail.com"
+ "email": "jensyt@gmail.com",
+ "name": "jensyt"
}
],
"name": "imurmurhash",
diff --git a/tools/eslint/node_modules/inflight/package.json b/tools/eslint/node_modules/inflight/package.json
index e9d4f97951..14b27930d3 100644
--- a/tools/eslint/node_modules/inflight/package.json
+++ b/tools/eslint/node_modules/inflight/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"inflight@^1.0.4",
- "/Users/silverwind/git/node/tools/package/package/node_modules/globby/node_modules/glob"
+ "/Users/trott/io.js/tools/node_modules/globby/node_modules/glob"
]
],
"_from": "inflight@>=1.0.4 <2.0.0",
@@ -33,7 +33,7 @@
"_shasum": "6cbb4521ebd51ce0ec0a936bfd7657ef7e9b172a",
"_shrinkwrap": null,
"_spec": "inflight@^1.0.4",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/globby/node_modules/glob",
+ "_where": "/Users/trott/io.js/tools/node_modules/globby/node_modules/glob",
"author": {
"email": "i@izs.me",
"name": "Isaac Z. Schlueter",
@@ -61,16 +61,16 @@
"main": "inflight.js",
"maintainers": [
{
- "name": "isaacs",
- "email": "i@izs.me"
+ "email": "i@izs.me",
+ "name": "isaacs"
},
{
- "name": "othiym23",
- "email": "ogd@aoaioxxysz.net"
+ "email": "ogd@aoaioxxysz.net",
+ "name": "othiym23"
},
{
- "name": "iarna",
- "email": "me@re-becca.org"
+ "email": "me@re-becca.org",
+ "name": "iarna"
}
],
"name": "inflight",
diff --git a/tools/eslint/node_modules/inherits/LICENSE b/tools/eslint/node_modules/inherits/LICENSE
index 052085c436..dea3013d67 100644
--- a/tools/eslint/node_modules/inherits/LICENSE
+++ b/tools/eslint/node_modules/inherits/LICENSE
@@ -13,3 +13,4 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
+
diff --git a/tools/eslint/node_modules/inherits/package.json b/tools/eslint/node_modules/inherits/package.json
index d121220ba6..7e0bcfeb98 100644
--- a/tools/eslint/node_modules/inherits/package.json
+++ b/tools/eslint/node_modules/inherits/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"inherits@~2.0.1",
- "/Users/silverwind/git/node/tools/package/package/node_modules/concat-stream"
+ "/Users/trott/io.js/tools/node_modules/concat-stream"
]
],
"_from": "inherits@>=2.0.1 <2.1.0",
@@ -34,7 +34,7 @@
"_shasum": "b17d08d326b4423e568eff719f91b0b1cbdf69f1",
"_shrinkwrap": null,
"_spec": "inherits@~2.0.1",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/concat-stream",
+ "_where": "/Users/trott/io.js/tools/node_modules/concat-stream",
"browser": "./inherits_browser.js",
"bugs": {
"url": "https://github.com/isaacs/inherits/issues"
@@ -49,21 +49,21 @@
},
"homepage": "https://github.com/isaacs/inherits#readme",
"keywords": [
- "browser",
- "browserify",
- "class",
"inheritance",
- "inherits",
+ "class",
"klass",
+ "oop",
"object-oriented",
- "oop"
+ "inherits",
+ "browser",
+ "browserify"
],
"license": "ISC",
"main": "./inherits.js",
"maintainers": [
{
- "name": "isaacs",
- "email": "i@izs.me"
+ "email": "i@izs.me",
+ "name": "isaacs"
}
],
"name": "inherits",
diff --git a/tools/eslint/node_modules/inquirer/package.json b/tools/eslint/node_modules/inquirer/package.json
index 529ff5cbd8..e00360eda2 100644
--- a/tools/eslint/node_modules/inquirer/package.json
+++ b/tools/eslint/node_modules/inquirer/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"inquirer@^0.12.0",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "inquirer@>=0.12.0 <0.13.0",
@@ -30,13 +30,13 @@
"type": "range"
},
"_requiredBy": [
- "/"
+ "/eslint"
],
"_resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz",
"_shasum": "1ef2bfd63504df0bc75785fff8c2c41df12f077e",
"_shrinkwrap": null,
"_spec": "inquirer@^0.12.0",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"author": {
"email": "admin@simonboudrias.com",
"name": "Simon Boudrias"
@@ -82,19 +82,19 @@
"gitHead": "a0c2d4d2bcd2818f27c8a2e96477d65f0f386944",
"homepage": "https://github.com/sboudrias/Inquirer.js#readme",
"keywords": [
- "cli",
"command",
- "menu",
"prompt",
"stdin",
- "tty"
+ "cli",
+ "tty",
+ "menu"
],
"license": "MIT",
"main": "lib/inquirer.js",
"maintainers": [
{
- "name": "sboudrias",
- "email": "admin@simonboudrias.com"
+ "email": "admin@simonboudrias.com",
+ "name": "sboudrias"
}
],
"name": "inquirer",
diff --git a/tools/eslint/node_modules/is-fullwidth-code-point/package.json b/tools/eslint/node_modules/is-fullwidth-code-point/package.json
index 05ef35459e..3605118ec3 100644
--- a/tools/eslint/node_modules/is-fullwidth-code-point/package.json
+++ b/tools/eslint/node_modules/is-fullwidth-code-point/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"is-fullwidth-code-point@^1.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/readline2"
+ "/Users/trott/io.js/tools/node_modules/readline2"
]
],
"_from": "is-fullwidth-code-point@>=1.0.0 <2.0.0",
@@ -33,7 +33,7 @@
"_shasum": "ef9e31386f031a7f0d643af82fde50c457ef00cb",
"_shrinkwrap": null,
"_spec": "is-fullwidth-code-point@^1.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/readline2",
+ "_where": "/Users/trott/io.js/tools/node_modules/readline2",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -64,27 +64,27 @@
"gitHead": "f2152d357f41f82785436d428e4f8ede143b7548",
"homepage": "https://github.com/sindresorhus/is-fullwidth-code-point",
"keywords": [
- "char",
+ "fullwidth",
+ "full-width",
+ "full",
+ "width",
+ "unicode",
"character",
- "check",
- "code",
+ "char",
+ "string",
+ "str",
"codepoint",
- "detect",
- "full",
- "full-width",
- "fullwidth",
- "is",
+ "code",
"point",
- "str",
- "string",
- "unicode",
- "width"
+ "is",
+ "detect",
+ "check"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "is-fullwidth-code-point",
diff --git a/tools/eslint/node_modules/is-my-json-valid/package.json b/tools/eslint/node_modules/is-my-json-valid/package.json
index 62cd6f7c5f..3f3a520706 100644
--- a/tools/eslint/node_modules/is-my-json-valid/package.json
+++ b/tools/eslint/node_modules/is-my-json-valid/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"is-my-json-valid@^2.10.0",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "is-my-json-valid@>=2.10.0 <3.0.0",
@@ -30,13 +30,13 @@
"type": "range"
},
"_requiredBy": [
- "/"
+ "/eslint"
],
"_resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz",
"_shasum": "d55778a82feb6b0963ff4be111d5d1684e890707",
"_shrinkwrap": null,
"_spec": "is-my-json-valid@^2.10.0",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"author": {
"name": "Mathias Buus"
},
@@ -56,34 +56,34 @@
"directories": {},
"dist": {
"shasum": "d55778a82feb6b0963ff4be111d5d1684e890707",
- "tarball": "http://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz"
+ "tarball": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz"
},
"gitHead": "5bacc71441750bc6e79829abcfc21d4f2f0c4396",
"homepage": "https://github.com/mafintosh/is-my-json-valid",
"keywords": [
"json",
- "jsonschema",
+ "schema",
"orderly",
- "schema"
+ "jsonschema"
],
"license": "MIT",
"main": "index.js",
"maintainers": [
{
- "name": "freeall",
- "email": "freeall@gmail.com"
+ "email": "freeall@gmail.com",
+ "name": "freeall"
},
{
- "name": "mafintosh",
- "email": "mathiasbuus@gmail.com"
+ "email": "mathiasbuus@gmail.com",
+ "name": "mafintosh"
},
{
- "name": "watson",
- "email": "w@tson.dk"
+ "email": "w@tson.dk",
+ "name": "watson"
},
{
- "name": "yoshuawuyts",
- "email": "i@yoshuawuyts.com"
+ "email": "i@yoshuawuyts.com",
+ "name": "yoshuawuyts"
}
],
"name": "is-my-json-valid",
diff --git a/tools/eslint/node_modules/is-path-cwd/package.json b/tools/eslint/node_modules/is-path-cwd/package.json
index 53311c57f7..66686a815f 100644
--- a/tools/eslint/node_modules/is-path-cwd/package.json
+++ b/tools/eslint/node_modules/is-path-cwd/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"is-path-cwd@^1.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/del"
+ "/Users/trott/io.js/tools/node_modules/del"
]
],
"_from": "is-path-cwd@>=1.0.0 <2.0.0",
@@ -31,7 +31,7 @@
"_shasum": "d225ec23132e89edd38fda767472e62e65f1106d",
"_shrinkwrap": null,
"_spec": "is-path-cwd@^1.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/del",
+ "_where": "/Users/trott/io.js/tools/node_modules/del",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -59,19 +59,19 @@
"gitHead": "f71d4ecaa43bfe23c9cb35af6bf31e6b5b3f04eb",
"homepage": "https://github.com/sindresorhus/is-path-cwd",
"keywords": [
- "check",
+ "path",
"cwd",
- "file",
+ "pwd",
+ "check",
"filepath",
- "folder",
- "path",
- "pwd"
+ "file",
+ "folder"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "is-path-cwd",
diff --git a/tools/eslint/node_modules/is-path-in-cwd/package.json b/tools/eslint/node_modules/is-path-in-cwd/package.json
index bae1a3afb4..11c494840f 100644
--- a/tools/eslint/node_modules/is-path-in-cwd/package.json
+++ b/tools/eslint/node_modules/is-path-in-cwd/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"is-path-in-cwd@^1.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/del"
+ "/Users/trott/io.js/tools/node_modules/del"
]
],
"_from": "is-path-in-cwd@>=1.0.0 <2.0.0",
@@ -31,7 +31,7 @@
"_shasum": "6477582b8214d602346094567003be8a9eac04dc",
"_shrinkwrap": null,
"_spec": "is-path-in-cwd@^1.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/del",
+ "_where": "/Users/trott/io.js/tools/node_modules/del",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -61,21 +61,21 @@
"gitHead": "a5a2a7c967eae3f6faee9ab5e40abca6127d55de",
"homepage": "https://github.com/sindresorhus/is-path-in-cwd",
"keywords": [
- "check",
+ "path",
"cwd",
- "file",
+ "pwd",
+ "check",
"filepath",
+ "file",
"folder",
"in",
- "inside",
- "path",
- "pwd"
+ "inside"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "is-path-in-cwd",
diff --git a/tools/eslint/node_modules/is-path-inside/package.json b/tools/eslint/node_modules/is-path-inside/package.json
index 03e9e6f8db..52ddff568b 100644
--- a/tools/eslint/node_modules/is-path-inside/package.json
+++ b/tools/eslint/node_modules/is-path-inside/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"is-path-inside@^1.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/is-path-in-cwd"
+ "/Users/trott/io.js/tools/node_modules/is-path-in-cwd"
]
],
"_from": "is-path-inside@>=1.0.0 <2.0.0",
@@ -31,7 +31,7 @@
"_shasum": "fc06e5a1683fbda13de667aff717bbc10a48f37f",
"_shrinkwrap": null,
"_spec": "is-path-inside@^1.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/is-path-in-cwd",
+ "_where": "/Users/trott/io.js/tools/node_modules/is-path-in-cwd",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -50,7 +50,7 @@
"directories": {},
"dist": {
"shasum": "fc06e5a1683fbda13de667aff717bbc10a48f37f",
- "tarball": "http://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz"
+ "tarball": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz"
},
"engines": {
"node": ">=0.10.0"
@@ -61,19 +61,19 @@
"gitHead": "b507035b66a539b7c12ba8b6b486377aa02aef9f",
"homepage": "https://github.com/sindresorhus/is-path-inside",
"keywords": [
- "dir",
+ "path",
+ "inside",
+ "folder",
"directory",
+ "dir",
"file",
- "folder",
- "inside",
- "path",
"resolve"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "is-path-inside",
diff --git a/tools/eslint/node_modules/is-property/README.md b/tools/eslint/node_modules/is-property/README.md
index 9846a8bb9f..ef1d00b62f 100644
--- a/tools/eslint/node_modules/is-property/README.md
+++ b/tools/eslint/node_modules/is-property/README.md
@@ -16,7 +16,7 @@ Install
-------
npm install is-property
-
+
### `require("is-property")(str)`
Checks if str is a property
diff --git a/tools/eslint/node_modules/is-property/package.json b/tools/eslint/node_modules/is-property/package.json
index e1e26c8533..de06f2b2ac 100644
--- a/tools/eslint/node_modules/is-property/package.json
+++ b/tools/eslint/node_modules/is-property/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"is-property@^1.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/generate-object-property"
+ "/Users/trott/io.js/tools/node_modules/generate-object-property"
]
],
"_from": "is-property@>=1.0.0 <2.0.0",
@@ -32,7 +32,7 @@
"_shasum": "57fe1c4e48474edd65b09911f26b1cd4095dda84",
"_shrinkwrap": null,
"_spec": "is-property@^1.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/generate-object-property",
+ "_where": "/Users/trott/io.js/tools/node_modules/generate-object-property",
"author": {
"name": "Mikola Lysenko"
},
@@ -54,20 +54,20 @@
"gitHead": "0a85ea5b6b1264ea1cdecc6e5cf186adbb3ffc50",
"homepage": "https://github.com/mikolalysenko/is-property",
"keywords": [
- ".",
- "[]",
- "bracket",
- "dot",
"is",
+ "property",
"json",
- "property"
+ "dot",
+ "bracket",
+ ".",
+ "[]"
],
"license": "MIT",
"main": "is-property.js",
"maintainers": [
{
- "name": "mikolalysenko",
- "email": "mikolalysenko@gmail.com"
+ "email": "mikolalysenko@gmail.com",
+ "name": "mikolalysenko"
}
],
"name": "is-property",
diff --git a/tools/eslint/node_modules/is-resolvable/README.md b/tools/eslint/node_modules/is-resolvable/README.md
index 941c65e5cf..ac9da31205 100755
--- a/tools/eslint/node_modules/is-resolvable/README.md
+++ b/tools/eslint/node_modules/is-resolvable/README.md
@@ -37,7 +37,7 @@ const isResolvable = require('is-resolvable');
### isResolvable(*moduleId*)
-*moduleId*: `String` (module ID)
+*moduleId*: `String` (module ID)
Return: `Boolean`
It returns `true` if `require()` can load a file form a given module ID, otherwise `false`.
diff --git a/tools/eslint/node_modules/is-resolvable/package.json b/tools/eslint/node_modules/is-resolvable/package.json
index 3bbdd3ad3d..850f387864 100644
--- a/tools/eslint/node_modules/is-resolvable/package.json
+++ b/tools/eslint/node_modules/is-resolvable/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"is-resolvable@^1.0.0",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "is-resolvable@>=1.0.0 <2.0.0",
@@ -26,13 +26,13 @@
"type": "range"
},
"_requiredBy": [
- "/"
+ "/eslint"
],
"_resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz",
"_shasum": "8df57c61ea2e3c501408d100fb013cf8d6e0cc62",
"_shrinkwrap": null,
"_spec": "is-resolvable@^1.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"author": {
"name": "Shinnosuke Watanabe",
"url": "https://github.com/shinnn"
@@ -61,23 +61,23 @@
"gitHead": "e68ea1b3affa382cbd31b4bae1e1421040249a73",
"homepage": "https://github.com/shinnn/is-resolvable#readme",
"keywords": [
- "cmap",
- "code-point",
- "data",
+ "read",
"file",
"font",
"glyph",
- "metadata",
+ "code-point",
+ "unicode",
"parse",
- "read",
+ "cmap",
"table",
- "unicode"
+ "data",
+ "metadata"
],
"license": "MIT",
"maintainers": [
{
- "name": "shinnn",
- "email": "snnskwtnb@gmail.com"
+ "email": "snnskwtnb@gmail.com",
+ "name": "shinnn"
}
],
"name": "is-resolvable",
diff --git a/tools/eslint/node_modules/isarray/Makefile b/tools/eslint/node_modules/isarray/Makefile
index 0ecc29c402..787d56e1e9 100644
--- a/tools/eslint/node_modules/isarray/Makefile
+++ b/tools/eslint/node_modules/isarray/Makefile
@@ -3,3 +3,4 @@ test:
@node_modules/.bin/tape test.js
.PHONY: test
+
diff --git a/tools/eslint/node_modules/isarray/package.json b/tools/eslint/node_modules/isarray/package.json
index 7f00f694ed..fade22d0b8 100644
--- a/tools/eslint/node_modules/isarray/package.json
+++ b/tools/eslint/node_modules/isarray/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"isarray@~1.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/readable-stream"
+ "/Users/trott/io.js/tools/node_modules/readable-stream"
]
],
"_from": "isarray@>=1.0.0 <1.1.0",
@@ -33,7 +33,7 @@
"_shasum": "bb935d48582cba168c06834957a54a3e07124f11",
"_shrinkwrap": null,
"_spec": "isarray@~1.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/readable-stream",
+ "_where": "/Users/trott/io.js/tools/node_modules/readable-stream",
"author": {
"email": "mail@juliangruber.com",
"name": "Julian Gruber",
@@ -55,16 +55,16 @@
"gitHead": "2a23a281f369e9ae06394c0fb4d2381355a6ba33",
"homepage": "https://github.com/juliangruber/isarray",
"keywords": [
- "array",
"browser",
- "isarray"
+ "isarray",
+ "array"
],
"license": "MIT",
"main": "index.js",
"maintainers": [
{
- "name": "juliangruber",
- "email": "julian@juliangruber.com"
+ "email": "julian@juliangruber.com",
+ "name": "juliangruber"
}
],
"name": "isarray",
@@ -79,17 +79,17 @@
},
"testling": {
"browsers": [
- "android-browser/4.2..latest",
- "chrome/22..latest",
- "chrome/canary",
+ "ie/8..latest",
"firefox/17..latest",
"firefox/nightly",
- "ie/8..latest",
- "ipad/6.0..latest",
- "iphone/6.0..latest",
+ "chrome/22..latest",
+ "chrome/canary",
"opera/12..latest",
"opera/next",
- "safari/5.1..latest"
+ "safari/5.1..latest",
+ "ipad/6.0..latest",
+ "iphone/6.0..latest",
+ "android-browser/4.2..latest"
],
"files": "test.js"
},
diff --git a/tools/eslint/node_modules/js-yaml/dist/js-yaml.js b/tools/eslint/node_modules/js-yaml/dist/js-yaml.js
index 5f20e9b5d9..10b98b7e78 100644
--- a/tools/eslint/node_modules/js-yaml/dist/js-yaml.js
+++ b/tools/eslint/node_modules/js-yaml/dist/js-yaml.js
@@ -1,4 +1,4 @@
-/* js-yaml 3.5.5 https://github.com/nodeca/js-yaml */(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.jsyaml = 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<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
+/* js-yaml 3.6.0 https://github.com/nodeca/js-yaml */(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.jsyaml = 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<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
'use strict';
@@ -115,7 +115,6 @@ var _hasOwnProperty = Object.prototype.hasOwnProperty;
var CHAR_TAB = 0x09; /* Tab */
var CHAR_LINE_FEED = 0x0A; /* LF */
-var CHAR_CARRIAGE_RETURN = 0x0D; /* CR */
var CHAR_SPACE = 0x20; /* Space */
var CHAR_EXCLAMATION = 0x21; /* ! */
var CHAR_DOUBLE_QUOTE = 0x22; /* " */
@@ -230,6 +229,7 @@ function State(options) {
this.usedDuplicates = null;
}
+// Indents every line in a string. Empty lines (\n only) are not indented.
function indentString(string, spaces) {
var ind = common.repeat(' ', spaces),
position = 0,
@@ -274,320 +274,310 @@ function testImplicitResolving(state, str) {
return false;
}
-function StringBuilder(source) {
- this.source = source;
- this.result = '';
- this.checkpoint = 0;
-}
-
-StringBuilder.prototype.takeUpTo = function (position) {
- var er;
-
- if (position < this.checkpoint) {
- er = new Error('position should be > checkpoint');
- er.position = position;
- er.checkpoint = this.checkpoint;
- throw er;
- }
-
- this.result += this.source.slice(this.checkpoint, position);
- this.checkpoint = position;
- return this;
-};
-
-StringBuilder.prototype.escapeChar = function () {
- var character, esc;
-
- character = this.source.charCodeAt(this.checkpoint);
- esc = ESCAPE_SEQUENCES[character] || encodeHex(character);
- this.result += esc;
- this.checkpoint += 1;
-
- return this;
-};
-
-StringBuilder.prototype.finish = function () {
- if (this.source.length > this.checkpoint) {
- this.takeUpTo(this.source.length);
- }
-};
-
-function writeScalar(state, object, level, iskey) {
- var simple, first, spaceWrap, folded, literal, single, double,
- sawLineFeed, linePosition, longestLine, indent, max, character,
- position, escapeSeq, hexEsc, previous, lineLength, modifier,
- trailingLineBreaks, result;
-
- if (object.length === 0) {
- state.dump = "''";
- return;
- }
-
- if (!state.noCompatMode &&
- DEPRECATED_BOOLEANS_SYNTAX.indexOf(object) !== -1) {
- state.dump = "'" + object + "'";
- return;
- }
-
- simple = true;
- first = object.length ? object.charCodeAt(0) : 0;
- spaceWrap = (CHAR_SPACE === first ||
- CHAR_SPACE === object.charCodeAt(object.length - 1));
-
- // Simplified check for restricted first characters
- // http://www.yaml.org/spec/1.2/spec.html#ns-plain-first%28c%29
- if (CHAR_MINUS === first ||
- CHAR_QUESTION === first ||
- CHAR_COMMERCIAL_AT === first ||
- CHAR_GRAVE_ACCENT === first) {
- simple = false;
- }
-
- // Can only use > and | if not wrapped in spaces or is not a key.
- // Also, don't use if in flow mode.
- if (spaceWrap || (state.flowLevel > -1 && state.flowLevel <= level)) {
- if (spaceWrap) simple = false;
-
- folded = false;
- literal = false;
- } else {
- folded = !iskey;
- literal = !iskey;
- }
-
- single = true;
- double = new StringBuilder(object);
-
- sawLineFeed = false;
- linePosition = 0;
- longestLine = 0;
-
- indent = state.indent * level;
- max = state.lineWidth;
-
- // Replace -1 with biggest ingeger number according to
- // http://ecma262-5.com/ELS5_HTML.htm#Section_8.5
- if (max === -1) max = 9007199254740991;
-
- if (indent < 40) max -= indent;
- else max = 40;
-
- for (position = 0; position < object.length; position++) {
- character = object.charCodeAt(position);
- if (simple) {
- // Characters that can never appear in the simple scalar
- if (!simpleChar(character)) {
- simple = false;
- } else {
- // Still simple. If we make it all the way through like
- // this, then we can just dump the string as-is.
- continue;
+// [33] s-white ::= s-space | s-tab
+function isWhitespace(c) {
+ return c === CHAR_SPACE || c === CHAR_TAB;
+}
+
+// Returns true if the character can be printed without escaping.
+// From YAML 1.2: "any allowed characters known to be non-printable
+// should also be escaped. [However,] This isn’t mandatory"
+// Derived from nb-char - \t - #x85 - #xA0 - #x2028 - #x2029.
+function isPrintable(c) {
+ return (0x00020 <= c && c <= 0x00007E)
+ || ((0x000A1 <= c && c <= 0x00D7FF) && c !== 0x2028 && c !== 0x2029)
+ || ((0x0E000 <= c && c <= 0x00FFFD) && c !== 0xFEFF /* BOM */)
+ || (0x10000 <= c && c <= 0x10FFFF);
+}
+
+// Simplified test for values allowed after the first character in plain style.
+function isPlainSafe(c) {
+ // Uses a subset of nb-char - c-flow-indicator - ":" - "#"
+ // where nb-char ::= c-printable - b-char - c-byte-order-mark.
+ return isPrintable(c) && c !== 0xFEFF
+ // - c-flow-indicator
+ && c !== CHAR_COMMA
+ && c !== CHAR_LEFT_SQUARE_BRACKET
+ && c !== CHAR_RIGHT_SQUARE_BRACKET
+ && c !== CHAR_LEFT_CURLY_BRACKET
+ && c !== CHAR_RIGHT_CURLY_BRACKET
+ // - ":" - "#"
+ && c !== CHAR_COLON
+ && c !== CHAR_SHARP;
+}
+
+// Simplified test for values allowed as the first character in plain style.
+function isPlainSafeFirst(c) {
+ // Uses a subset of ns-char - c-indicator
+ // where ns-char = nb-char - s-white.
+ return isPrintable(c) && c !== 0xFEFF
+ && !isWhitespace(c) // - s-white
+ // - (c-indicator ::=
+ // “-” | “?” | “:” | “,” | “[” | “]” | “{” | “}”
+ && c !== CHAR_MINUS
+ && c !== CHAR_QUESTION
+ && c !== CHAR_COLON
+ && c !== CHAR_COMMA
+ && c !== CHAR_LEFT_SQUARE_BRACKET
+ && c !== CHAR_RIGHT_SQUARE_BRACKET
+ && c !== CHAR_LEFT_CURLY_BRACKET
+ && c !== CHAR_RIGHT_CURLY_BRACKET
+ // | “#” | “&” | “*” | “!” | “|” | “>” | “'” | “"”
+ && c !== CHAR_SHARP
+ && c !== CHAR_AMPERSAND
+ && c !== CHAR_ASTERISK
+ && c !== CHAR_EXCLAMATION
+ && c !== CHAR_VERTICAL_LINE
+ && c !== CHAR_GREATER_THAN
+ && c !== CHAR_SINGLE_QUOTE
+ && c !== CHAR_DOUBLE_QUOTE
+ // | “%” | “@” | “`”)
+ && c !== CHAR_PERCENT
+ && c !== CHAR_COMMERCIAL_AT
+ && c !== CHAR_GRAVE_ACCENT;
+}
+
+var STYLE_PLAIN = 1,
+ STYLE_SINGLE = 2,
+ STYLE_LITERAL = 3,
+ STYLE_FOLDED = 4,
+ STYLE_DOUBLE = 5;
+
+// Determines which scalar styles are possible and returns the preferred style.
+// lineWidth = -1 => no limit.
+// Pre-conditions: str.length > 0.
+// Post-conditions:
+// STYLE_PLAIN or STYLE_SINGLE => no \n are in the string.
+// STYLE_LITERAL => no lines are suitable for folding (or lineWidth is -1).
+// STYLE_FOLDED => a line > lineWidth and can be folded (and lineWidth != -1).
+function chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType) {
+ var i;
+ var char;
+ var hasLineBreak = false;
+ var hasFoldableLine = false; // only checked if shouldTrackWidth
+ var shouldTrackWidth = lineWidth !== -1;
+ var previousLineBreak = -1; // count the first line correctly
+ var plain = isPlainSafeFirst(string.charCodeAt(0))
+ && !isWhitespace(string.charCodeAt(string.length - 1));
+
+ if (singleLineOnly) {
+ // Case: no block styles.
+ // Check for disallowed characters to rule out plain and single.
+ for (i = 0; i < string.length; i++) {
+ char = string.charCodeAt(i);
+ if (!isPrintable(char)) {
+ return STYLE_DOUBLE;
}
+ plain = plain && isPlainSafe(char);
}
-
- if (single && character === CHAR_SINGLE_QUOTE) {
- single = false;
- }
-
- escapeSeq = ESCAPE_SEQUENCES[character];
- hexEsc = needsHexEscape(character);
-
- if (!escapeSeq && !hexEsc) {
- continue;
- }
-
- if (character !== CHAR_LINE_FEED &&
- character !== CHAR_DOUBLE_QUOTE &&
- character !== CHAR_SINGLE_QUOTE) {
- folded = false;
- literal = false;
- } else if (character === CHAR_LINE_FEED) {
- sawLineFeed = true;
- single = false;
- if (position > 0) {
- previous = object.charCodeAt(position - 1);
- if (previous === CHAR_SPACE) {
- literal = false;
- folded = false;
+ } else {
+ // Case: block styles permitted.
+ for (i = 0; i < string.length; i++) {
+ char = string.charCodeAt(i);
+ if (char === CHAR_LINE_FEED) {
+ hasLineBreak = true;
+ // Check if any line can be folded.
+ if (shouldTrackWidth) {
+ hasFoldableLine = hasFoldableLine ||
+ // Foldable line = too long, and not more-indented.
+ (i - previousLineBreak - 1 > lineWidth &&
+ string[previousLineBreak + 1] !== ' ');
+ previousLineBreak = i;
}
+ } else if (!isPrintable(char)) {
+ return STYLE_DOUBLE;
}
- if (folded) {
- lineLength = position - linePosition;
- linePosition = position;
- if (lineLength > longestLine) longestLine = lineLength;
- }
- }
-
- if (character !== CHAR_DOUBLE_QUOTE) single = false;
-
- double.takeUpTo(position);
- double.escapeChar();
+ plain = plain && isPlainSafe(char);
+ }
+ // in case the end is missing a \n
+ hasFoldableLine = hasFoldableLine || (shouldTrackWidth &&
+ (i - previousLineBreak - 1 > lineWidth &&
+ string[previousLineBreak + 1] !== ' '));
+ }
+ // Although every style can represent \n without escaping, prefer block styles
+ // for multiline, since they're more readable and they don't add empty lines.
+ // Also prefer folding a super-long line.
+ if (!hasLineBreak && !hasFoldableLine) {
+ // Strings interpretable as another type have to be quoted;
+ // e.g. the string 'true' vs. the boolean true.
+ return plain && !testAmbiguousType(string)
+ ? STYLE_PLAIN : STYLE_SINGLE;
+ }
+ // Edge case: block indentation indicator can only have one digit.
+ if (string[0] === ' ' && indentPerLevel > 9) {
+ return STYLE_DOUBLE;
+ }
+ // At this point we know block styles are valid.
+ // Prefer literal style unless we want to fold.
+ return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL;
+}
+
+// Note: line breaking/folding is implemented for only the folded style.
+// NB. We drop the last trailing newline (if any) of a returned block scalar
+// since the dumper adds its own newline. This always works:
+// • No ending newline => unaffected; already using strip "-" chomping.
+// • Ending newline => removed then restored.
+// Importantly, this keeps the "+" chomp indicator from gaining an extra line.
+function writeScalar(state, string, level, iskey) {
+ state.dump = (function () {
+ if (string.length === 0) {
+ return "''";
+ }
+ if (!state.noCompatMode &&
+ DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1) {
+ return "'" + string + "'";
+ }
+
+ var indent = state.indent * Math.max(1, level); // no 0-indent scalars
+ // As indentation gets deeper, let the width decrease monotonically
+ // to the lower bound min(state.lineWidth, 40).
+ // Note that this implies
+ // state.lineWidth ≤ 40 + state.indent: width is fixed at the lower bound.
+ // state.lineWidth > 40 + state.indent: width decreases until the lower bound.
+ // This behaves better than a constant minimum width which disallows narrower options,
+ // or an indent threshold which causes the width to suddenly increase.
+ var lineWidth = state.lineWidth === -1
+ ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent);
+
+ // Without knowing if keys are implicit/explicit, assume implicit for safety.
+ var singleLineOnly = iskey
+ // No block styles in flow mode.
+ || (state.flowLevel > -1 && level >= state.flowLevel);
+ function testAmbiguity(string) {
+ return testImplicitResolving(state, string);
+ }
+
+ switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, testAmbiguity)) {
+ case STYLE_PLAIN:
+ return string;
+ case STYLE_SINGLE:
+ return "'" + string.replace(/'/g, "''") + "'";
+ case STYLE_LITERAL:
+ return '|' + blockHeader(string, state.indent)
+ + dropEndingNewline(indentString(string, indent));
+ case STYLE_FOLDED:
+ return '>' + blockHeader(string, state.indent)
+ + dropEndingNewline(indentString(foldString(string, lineWidth), indent));
+ case STYLE_DOUBLE:
+ return '"' + escapeString(string, lineWidth) + '"';
+ default:
+ throw new YAMLException('impossible error: invalid scalar style');
+ }
+ }());
+}
+
+// Pre-conditions: string is valid for a block scalar, 1 <= indentPerLevel <= 9.
+function blockHeader(string, indentPerLevel) {
+ var indentIndicator = (string[0] === ' ') ? String(indentPerLevel) : '';
+
+ // note the special case: the string '\n' counts as a "trailing" empty line.
+ var clip = string[string.length - 1] === '\n';
+ var keep = clip && (string[string.length - 2] === '\n' || string === '\n');
+ var chomp = keep ? '+' : (clip ? '' : '-');
+
+ return indentIndicator + chomp + '\n';
+}
+
+// (See the note for writeScalar.)
+function dropEndingNewline(string) {
+ return string[string.length - 1] === '\n' ? string.slice(0, -1) : string;
+}
+
+// Note: a long line without a suitable break point will exceed the width limit.
+// Pre-conditions: every char in str isPrintable, str.length > 0, width > 0.
+function foldString(string, width) {
+ // In folded style, $k$ consecutive newlines output as $k+1$ newlines—
+ // unless they're before or after a more-indented line, or at the very
+ // beginning or end, in which case $k$ maps to $k$.
+ // Therefore, parse each chunk as newline(s) followed by a content line.
+ var lineRe = /(\n+)([^\n]*)/g;
+
+ // first line (possibly an empty line)
+ var result = (function () {
+ var nextLF = string.indexOf('\n');
+ nextLF = nextLF !== -1 ? nextLF : string.length;
+ lineRe.lastIndex = nextLF;
+ return foldLine(string.slice(0, nextLF), width);
+ }());
+ // If we haven't reached the first content line yet, don't add an extra \n.
+ var prevMoreIndented = string[0] === '\n' || string[0] === ' ';
+ var moreIndented;
+
+ // rest of the lines
+ var match;
+ while ((match = lineRe.exec(string))) {
+ var prefix = match[1], line = match[2];
+ moreIndented = (line[0] === ' ');
+ result += prefix
+ + (!prevMoreIndented && !moreIndented && line !== ''
+ ? '\n' : '')
+ + foldLine(line, width);
+ prevMoreIndented = moreIndented;
}
- if (simple && testImplicitResolving(state, object)) simple = false;
-
- modifier = '';
- if (folded || literal) {
- trailingLineBreaks = 0;
- if (object.charCodeAt(object.length - 1) === CHAR_LINE_FEED) {
- trailingLineBreaks += 1;
- if (object.charCodeAt(object.length - 2) === CHAR_LINE_FEED) {
- trailingLineBreaks += 1;
- }
- }
-
- if (trailingLineBreaks === 0) modifier = '-';
- else if (trailingLineBreaks === 2) modifier = '+';
- }
-
- if (literal && longestLine < max || state.tag !== null) {
- folded = false;
- }
-
- // If it's literally one line, then don't bother with the literal.
- // We may still want to do a fold, though, if it's a super long line.
- if (!sawLineFeed) literal = false;
-
- if (simple) {
- state.dump = object;
- } else if (single) {
- state.dump = '\'' + object + '\'';
- } else if (folded) {
- result = fold(object, max);
- state.dump = '>' + modifier + '\n' + indentString(result, indent);
- } else if (literal) {
- if (!modifier) object = object.replace(/\n$/, '');
- state.dump = '|' + modifier + '\n' + indentString(object, indent);
- } else if (double) {
- double.finish();
- state.dump = '"' + double.result + '"';
- } else {
- throw new Error('Failed to dump scalar value');
- }
-
- return;
+ return result;
}
-// The `trailing` var is a regexp match of any trailing `\n` characters.
-//
-// There are three cases we care about:
-//
-// 1. One trailing `\n` on the string. Just use `|` or `>`.
-// This is the assumed default. (trailing = null)
-// 2. No trailing `\n` on the string. Use `|-` or `>-` to "chomp" the end.
-// 3. More than one trailing `\n` on the string. Use `|+` or `>+`.
-//
-// In the case of `>+`, these line breaks are *not* doubled (like the line
-// breaks within the string), so it's important to only end with the exact
-// same number as we started.
-function fold(object, max) {
- var result = '',
- position = 0,
- length = object.length,
- trailing = /\n+$/.exec(object),
- newLine;
-
- if (trailing) {
- length = trailing.index + 1;
- }
-
- while (position < length) {
- newLine = object.indexOf('\n', position);
- if (newLine > length || newLine === -1) {
- if (result) result += '\n\n';
- result += foldLine(object.slice(position, length), max);
- position = length;
-
- } else {
- if (result) result += '\n\n';
- result += foldLine(object.slice(position, newLine), max);
- position = newLine + 1;
- }
+// Greedy line breaking.
+// Picks the longest line under the limit each time,
+// otherwise settles for the shortest line over the limit.
+// NB. More-indented lines *cannot* be folded, as that would add an extra \n.
+function foldLine(line, width) {
+ if (line === '' || line[0] === ' ') return line;
+
+ // Since a more-indented line adds a \n, breaks can't be followed by a space.
+ var breakRe = / [^ ]/g; // note: the match index will always be <= length-2.
+ var match;
+ // start is an inclusive index. end, curr, and next are exclusive.
+ var start = 0, end, curr = 0, next = 0;
+ var result = '';
+
+ // Invariants: 0 <= start <= length-1.
+ // 0 <= curr <= next <= max(0, length-2). curr - start <= width.
+ // Inside the loop:
+ // A match implies length >= 2, so curr and next are <= length-2.
+ while ((match = breakRe.exec(line))) {
+ next = match.index;
+ // maintain invariant: curr - start <= width
+ if (next - start > width) {
+ end = (curr > start) ? curr : next; // derive end <= length-2
+ result += '\n' + line.slice(start, end);
+ // skip the space that was output as \n
+ start = end + 1; // derive start <= length-1
+ }
+ curr = next;
+ }
+
+ // By the invariants, start <= length-1, so there is something left over.
+ // It is either the whole string or a part starting from non-whitespace.
+ result += '\n';
+ // Insert a break if the remainder is too long and there is a break available.
+ if (line.length - start > width && curr > start) {
+ result += line.slice(start, curr) + '\n' + line.slice(curr + 1);
+ } else {
+ result += line.slice(start);
}
- if (trailing && trailing[0] !== '\n') result += trailing[0];
-
- return result;
+ return result.slice(1); // drop extra \n joiner
}
-function foldLine(line, max) {
- if (line === '') return line;
-
- var foldRe = /[^\s] [^\s]/g,
- result = '',
- prevMatch = 0,
- foldStart = 0,
- match = foldRe.exec(line),
- index,
- foldEnd,
- folded;
-
- while (match) {
- index = match.index;
-
- // when we cross the max len, if the previous match would've
- // been ok, use that one, and carry on. If there was no previous
- // match on this fold section, then just have a long line.
- if (index - foldStart > max) {
- if (prevMatch !== foldStart) foldEnd = prevMatch;
- else foldEnd = index;
+// Escapes a double-quoted string.
+function escapeString(string) {
+ var result = '';
+ var char;
+ var escapeSeq;
- if (result) result += '\n';
- folded = line.slice(foldStart, foldEnd);
- result += folded;
- foldStart = foldEnd + 1;
- }
- prevMatch = index + 1;
- match = foldRe.exec(line);
- }
-
- if (result) result += '\n';
-
- // if we end up with one last word at the end, then the last bit might
- // be slightly bigger than we wanted, because we exited out of the loop.
- if (foldStart !== prevMatch && line.length - foldStart > max) {
- result += line.slice(foldStart, prevMatch) + '\n' +
- line.slice(prevMatch + 1);
- } else {
- result += line.slice(foldStart);
+ for (var i = 0; i < string.length; i++) {
+ char = string.charCodeAt(i);
+ escapeSeq = ESCAPE_SEQUENCES[char];
+ result += !escapeSeq && isPrintable(char)
+ ? string[i]
+ : escapeSeq || encodeHex(char);
}
return result;
}
-// Returns true if character can be found in a simple scalar
-function simpleChar(character) {
- return CHAR_TAB !== character &&
- CHAR_LINE_FEED !== character &&
- CHAR_CARRIAGE_RETURN !== character &&
- CHAR_COMMA !== character &&
- CHAR_LEFT_SQUARE_BRACKET !== character &&
- CHAR_RIGHT_SQUARE_BRACKET !== character &&
- CHAR_LEFT_CURLY_BRACKET !== character &&
- CHAR_RIGHT_CURLY_BRACKET !== character &&
- CHAR_SHARP !== character &&
- CHAR_AMPERSAND !== character &&
- CHAR_ASTERISK !== character &&
- CHAR_EXCLAMATION !== character &&
- CHAR_VERTICAL_LINE !== character &&
- CHAR_GREATER_THAN !== character &&
- CHAR_SINGLE_QUOTE !== character &&
- CHAR_DOUBLE_QUOTE !== character &&
- CHAR_PERCENT !== character &&
- CHAR_COLON !== character &&
- !ESCAPE_SEQUENCES[character] &&
- !needsHexEscape(character);
-}
-
-// Returns true if the character code needs to be escaped.
-function needsHexEscape(character) {
- return !((0x00020 <= character && character <= 0x00007E) ||
- (character === 0x00085) ||
- (0x000A0 <= character && character <= 0x00D7FF) ||
- (0x0E000 <= character && character <= 0x00FFFD) ||
- (0x10000 <= character && character <= 0x10FFFF));
-}
-
function writeFlowSequence(state, level, object) {
var _result = '',
_tag = state.tag,
@@ -1705,6 +1695,7 @@ function readBlockScalar(state, nodeIndent) {
var captureStart,
folding,
chomping = CHOMPING_CLIP,
+ didReadContent = false,
detectedIndent = false,
textIndent = nodeIndent,
emptyLines = 0,
@@ -1786,9 +1777,9 @@ function readBlockScalar(state, nodeIndent) {
// Perform the chomping.
if (chomping === CHOMPING_KEEP) {
- state.result += common.repeat('\n', emptyLines);
+ state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines);
} else if (chomping === CHOMPING_CLIP) {
- if (detectedIndent) { // i.e. only if the scalar is not empty.
+ if (didReadContent) { // i.e. only if the scalar is not empty.
state.result += '\n';
}
}
@@ -1803,7 +1794,8 @@ function readBlockScalar(state, nodeIndent) {
// Lines starting with white space characters (more-indented lines) are not folded.
if (is_WHITE_SPACE(ch)) {
atMoreIndented = true;
- state.result += common.repeat('\n', emptyLines + 1);
+ // except for the first content line (cf. Example 8.1)
+ state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines);
// End of more-indented block.
} else if (atMoreIndented) {
@@ -1812,7 +1804,7 @@ function readBlockScalar(state, nodeIndent) {
// Just one line break - perceive as the same line.
} else if (emptyLines === 0) {
- if (detectedIndent) { // i.e. only if we have already read some scalar content.
+ if (didReadContent) { // i.e. only if we have already read some scalar content.
state.result += ' ';
}
@@ -1822,14 +1814,12 @@ function readBlockScalar(state, nodeIndent) {
}
// Literal style: just add exact number of line breaks between content lines.
- } else if (detectedIndent) {
- // If current line isn't the first one - count line break from the last content line.
- state.result += common.repeat('\n', emptyLines + 1);
} else {
- // In case of the first content line - count only empty lines.
- state.result += common.repeat('\n', emptyLines);
+ // Keep all line breaks except the header line break.
+ state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines);
}
+ didReadContent = true;
detectedIndent = true;
emptyLines = 0;
captureStart = state.position;
@@ -2922,9 +2912,14 @@ module.exports = Type;
/*eslint-disable no-bitwise*/
-// A trick for browserified version.
-// Since we make browserifier to ignore `buffer` module, NodeBuffer will be undefined
-var NodeBuffer = require('buffer').Buffer;
+var NodeBuffer;
+
+try {
+ // A trick for browserified version, to not include `Buffer` shim
+ var _require = require;
+ NodeBuffer = _require('buffer').Buffer;
+} catch (__) {}
+
var Type = require('../type');
@@ -3049,7 +3044,7 @@ module.exports = new Type('tag:yaml.org,2002:binary', {
represent: representYamlBinary
});
-},{"../type":13,"buffer":30}],15:[function(require,module,exports){
+},{"../type":13}],15:[function(require,module,exports){
'use strict';
var Type = require('../type');
@@ -3843,9 +3838,7 @@ module.exports = new Type('tag:yaml.org,2002:timestamp', {
represent: representYamlTimestamp
});
-},{"../type":13}],30:[function(require,module,exports){
-
-},{}],"/":[function(require,module,exports){
+},{"../type":13}],"/":[function(require,module,exports){
'use strict';
diff --git a/tools/eslint/node_modules/js-yaml/dist/js-yaml.min.js b/tools/eslint/node_modules/js-yaml/dist/js-yaml.min.js
index c2ada83a1a..2678b7f3bd 100644
--- a/tools/eslint/node_modules/js-yaml/dist/js-yaml.min.js
+++ b/tools/eslint/node_modules/js-yaml/dist/js-yaml.min.js
@@ -1,3 +1,3 @@
-/* js-yaml 3.5.5 https://github.com/nodeca/js-yaml */
-!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.jsyaml=e()}}(function(){return function e(t,n,i){function r(a,s){if(!n[a]){if(!t[a]){var c="function"==typeof require&&require;if(!s&&c)return c(a,!0);if(o)return o(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var l=n[a]={exports:{}};t[a][0].call(l.exports,function(e){var n=t[a][1][e];return r(n?n:e)},l,l.exports,e,t,n,i)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;a<i.length;a++)r(i[a]);return r}({1:[function(e,t,n){"use strict";function i(e){return function(){throw new Error("Function "+e+" is deprecated and cannot be used.")}}var r=e("./js-yaml/loader"),o=e("./js-yaml/dumper");t.exports.Type=e("./js-yaml/type"),t.exports.Schema=e("./js-yaml/schema"),t.exports.FAILSAFE_SCHEMA=e("./js-yaml/schema/failsafe"),t.exports.JSON_SCHEMA=e("./js-yaml/schema/json"),t.exports.CORE_SCHEMA=e("./js-yaml/schema/core"),t.exports.DEFAULT_SAFE_SCHEMA=e("./js-yaml/schema/default_safe"),t.exports.DEFAULT_FULL_SCHEMA=e("./js-yaml/schema/default_full"),t.exports.load=r.load,t.exports.loadAll=r.loadAll,t.exports.safeLoad=r.safeLoad,t.exports.safeLoadAll=r.safeLoadAll,t.exports.dump=o.dump,t.exports.safeDump=o.safeDump,t.exports.YAMLException=e("./js-yaml/exception"),t.exports.MINIMAL_SCHEMA=e("./js-yaml/schema/failsafe"),t.exports.SAFE_SCHEMA=e("./js-yaml/schema/default_safe"),t.exports.DEFAULT_SCHEMA=e("./js-yaml/schema/default_full"),t.exports.scan=i("scan"),t.exports.parse=i("parse"),t.exports.compose=i("compose"),t.exports.addConstructor=i("addConstructor")},{"./js-yaml/dumper":3,"./js-yaml/exception":4,"./js-yaml/loader":5,"./js-yaml/schema":7,"./js-yaml/schema/core":8,"./js-yaml/schema/default_full":9,"./js-yaml/schema/default_safe":10,"./js-yaml/schema/failsafe":11,"./js-yaml/schema/json":12,"./js-yaml/type":13}],2:[function(e,t,n){"use strict";function i(e){return"undefined"==typeof e||null===e}function r(e){return"object"==typeof e&&null!==e}function o(e){return Array.isArray(e)?e:i(e)?[]:[e]}function a(e,t){var n,i,r,o;if(t)for(o=Object.keys(t),n=0,i=o.length;i>n;n+=1)r=o[n],e[r]=t[r];return e}function s(e,t){var n,i="";for(n=0;t>n;n+=1)i+=e;return i}function c(e){return 0===e&&Number.NEGATIVE_INFINITY===1/e}t.exports.isNothing=i,t.exports.isObject=r,t.exports.toArray=o,t.exports.repeat=s,t.exports.isNegativeZero=c,t.exports.extend=a},{}],3:[function(e,t,n){"use strict";function i(e,t){var n,i,r,o,a,s,c;if(null===t)return{};for(n={},i=Object.keys(t),r=0,o=i.length;o>r;r+=1)a=i[r],s=String(t[a]),"!!"===a.slice(0,2)&&(a="tag:yaml.org,2002:"+a.slice(2)),c=e.compiledTypeMap[a],c&&F.call(c.styleAliases,s)&&(s=c.styleAliases[s]),n[a]=s;return n}function r(e){var t,n,i;if(t=e.toString(16).toUpperCase(),255>=e)n="x",i=2;else if(65535>=e)n="u",i=4;else{if(!(4294967295>=e))throw new I("code point within a string may not be greater than 0xFFFFFFFF");n="U",i=8}return"\\"+n+j.repeat("0",i-t.length)+t}function o(e){this.schema=e.schema||S,this.indent=Math.max(1,e.indent||2),this.skipInvalid=e.skipInvalid||!1,this.flowLevel=j.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=i(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function a(e,t){for(var n,i=j.repeat(" ",t),r=0,o=-1,a="",s=e.length;s>r;)o=e.indexOf("\n",r),-1===o?(n=e.slice(r),r=s):(n=e.slice(r,o+1),r=o+1),n.length&&"\n"!==n&&(a+=i),a+=n;return a}function s(e,t){return"\n"+j.repeat(" ",e.indent*t)}function c(e,t){var n,i,r;for(n=0,i=e.implicitTypes.length;i>n;n+=1)if(r=e.implicitTypes[n],r.resolve(t))return!0;return!1}function u(e){this.source=e,this.result="",this.checkpoint=0}function l(e,t,n,i){var r,o,s,l,f,m,g,y,x,v,A,b,w,C,k,j,I,S,E,O,F;if(0===t.length)return void(e.dump="''");if(!e.noCompatMode&&-1!==te.indexOf(t))return void(e.dump="'"+t+"'");for(r=!0,o=t.length?t.charCodeAt(0):0,s=M===o||M===t.charCodeAt(t.length-1),P!==o&&W!==o&&G!==o&&z!==o||(r=!1),s||e.flowLevel>-1&&e.flowLevel<=n?(s&&(r=!1),l=!1,f=!1):(l=!i,f=!i),m=!0,g=new u(t),y=!1,x=0,v=0,A=e.indent*n,b=e.lineWidth,-1===b&&(b=9007199254740991),40>A?b-=A:b=40,C=0;C<t.length;C++){if(w=t.charCodeAt(C),r){if(h(w))continue;r=!1}m&&w===R&&(m=!1),k=ee[w],j=d(w),(k||j)&&(w!==T&&w!==D&&w!==R?(l=!1,f=!1):w===T&&(y=!0,m=!1,C>0&&(I=t.charCodeAt(C-1),I===M&&(f=!1,l=!1)),l&&(S=C-x,x=C,S>v&&(v=S))),w!==D&&(m=!1),g.takeUpTo(C),g.escapeChar())}if(r&&c(e,t)&&(r=!1),E="",(l||f)&&(O=0,t.charCodeAt(t.length-1)===T&&(O+=1,t.charCodeAt(t.length-2)===T&&(O+=1)),0===O?E="-":2===O&&(E="+")),(f&&b>v||null!==e.tag)&&(l=!1),y||(f=!1),r)e.dump=t;else if(m)e.dump="'"+t+"'";else if(l)F=p(t,b),e.dump=">"+E+"\n"+a(F,A);else if(f)E||(t=t.replace(/\n$/,"")),e.dump="|"+E+"\n"+a(t,A);else{if(!g)throw new Error("Failed to dump scalar value");g.finish(),e.dump='"'+g.result+'"'}}function p(e,t){var n,i="",r=0,o=e.length,a=/\n+$/.exec(e);for(a&&(o=a.index+1);o>r;)n=e.indexOf("\n",r),n>o||-1===n?(i&&(i+="\n\n"),i+=f(e.slice(r,o),t),r=o):(i&&(i+="\n\n"),i+=f(e.slice(r,n),t),r=n+1);return a&&"\n"!==a[0]&&(i+=a[0]),i}function f(e,t){if(""===e)return e;for(var n,i,r,o=/[^\s] [^\s]/g,a="",s=0,c=0,u=o.exec(e);u;)n=u.index,n-c>t&&(i=s!==c?s:n,a&&(a+="\n"),r=e.slice(c,i),a+=r,c=i+1),s=n+1,u=o.exec(e);return a&&(a+="\n"),a+=c!==s&&e.length-c>t?e.slice(c,s)+"\n"+e.slice(s+1):e.slice(c)}function h(e){return N!==e&&T!==e&&_!==e&&B!==e&&V!==e&&Z!==e&&J!==e&&X!==e&&U!==e&&Y!==e&&$!==e&&L!==e&&Q!==e&&H!==e&&R!==e&&D!==e&&q!==e&&K!==e&&!ee[e]&&!d(e)}function d(e){return!(e>=32&&126>=e||133===e||e>=160&&55295>=e||e>=57344&&65533>=e||e>=65536&&1114111>=e)}function m(e,t,n){var i,r,o="",a=e.tag;for(i=0,r=n.length;r>i;i+=1)A(e,t,n[i],!1,!1)&&(0!==i&&(o+=", "),o+=e.dump);e.tag=a,e.dump="["+o+"]"}function g(e,t,n,i){var r,o,a="",c=e.tag;for(r=0,o=n.length;o>r;r+=1)A(e,t+1,n[r],!0,!0)&&(i&&0===r||(a+=s(e,t)),a+="- "+e.dump);e.tag=c,e.dump=a||"[]"}function y(e,t,n){var i,r,o,a,s,c="",u=e.tag,l=Object.keys(n);for(i=0,r=l.length;r>i;i+=1)s="",0!==i&&(s+=", "),o=l[i],a=n[o],A(e,t,o,!1,!1)&&(e.dump.length>1024&&(s+="? "),s+=e.dump+": ",A(e,t,a,!1,!1)&&(s+=e.dump,c+=s));e.tag=u,e.dump="{"+c+"}"}function x(e,t,n,i){var r,o,a,c,u,l,p="",f=e.tag,h=Object.keys(n);if(e.sortKeys===!0)h.sort();else if("function"==typeof e.sortKeys)h.sort(e.sortKeys);else if(e.sortKeys)throw new I("sortKeys must be a boolean or a function");for(r=0,o=h.length;o>r;r+=1)l="",i&&0===r||(l+=s(e,t)),a=h[r],c=n[a],A(e,t+1,a,!0,!0,!0)&&(u=null!==e.tag&&"?"!==e.tag||e.dump&&e.dump.length>1024,u&&(l+=e.dump&&T===e.dump.charCodeAt(0)?"?":"? "),l+=e.dump,u&&(l+=s(e,t)),A(e,t+1,c,!0,u)&&(l+=e.dump&&T===e.dump.charCodeAt(0)?":":": ",l+=e.dump,p+=l));e.tag=f,e.dump=p||"{}"}function v(e,t,n){var i,r,o,a,s,c;for(r=n?e.explicitTypes:e.implicitTypes,o=0,a=r.length;a>o;o+=1)if(s=r[o],(s.instanceOf||s.predicate)&&(!s.instanceOf||"object"==typeof t&&t instanceof s.instanceOf)&&(!s.predicate||s.predicate(t))){if(e.tag=n?s.tag:"?",s.represent){if(c=e.styleMap[s.tag]||s.defaultStyle,"[object Function]"===O.call(s.represent))i=s.represent(t,c);else{if(!F.call(s.represent,c))throw new I("!<"+s.tag+'> tag resolver accepts not "'+c+'" style');i=s.represent[c](t,c)}e.dump=i}return!0}return!1}function A(e,t,n,i,r,o){e.tag=null,e.dump=n,v(e,n,!1)||v(e,n,!0);var a=O.call(e.dump);i&&(i=e.flowLevel<0||e.flowLevel>t);var s,c,u="[object Object]"===a||"[object Array]"===a;if(u&&(s=e.duplicates.indexOf(n),c=-1!==s),(null!==e.tag&&"?"!==e.tag||c||2!==e.indent&&t>0)&&(r=!1),c&&e.usedDuplicates[s])e.dump="*ref_"+s;else{if(u&&c&&!e.usedDuplicates[s]&&(e.usedDuplicates[s]=!0),"[object Object]"===a)i&&0!==Object.keys(e.dump).length?(x(e,t,e.dump,r),c&&(e.dump="&ref_"+s+e.dump)):(y(e,t,e.dump),c&&(e.dump="&ref_"+s+" "+e.dump));else if("[object Array]"===a)i&&0!==e.dump.length?(g(e,t,e.dump,r),c&&(e.dump="&ref_"+s+e.dump)):(m(e,t,e.dump),c&&(e.dump="&ref_"+s+" "+e.dump));else{if("[object String]"!==a){if(e.skipInvalid)return!1;throw new I("unacceptable kind of an object to dump "+a)}"?"!==e.tag&&l(e,e.dump,t,o)}null!==e.tag&&"?"!==e.tag&&(e.dump="!<"+e.tag+"> "+e.dump)}return!0}function b(e,t){var n,i,r=[],o=[];for(w(e,r,o),n=0,i=o.length;i>n;n+=1)t.duplicates.push(r[o[n]]);t.usedDuplicates=new Array(i)}function w(e,t,n){var i,r,o;if(null!==e&&"object"==typeof e)if(r=t.indexOf(e),-1!==r)-1===n.indexOf(r)&&n.push(r);else if(t.push(e),Array.isArray(e))for(r=0,o=e.length;o>r;r+=1)w(e[r],t,n);else for(i=Object.keys(e),r=0,o=i.length;o>r;r+=1)w(e[i[r]],t,n)}function C(e,t){t=t||{};var n=new o(t);return n.noRefs||b(e,n),A(n,0,e,!0,!0)?n.dump+"\n":""}function k(e,t){return C(e,j.extend({schema:E},t))}var j=e("./common"),I=e("./exception"),S=e("./schema/default_full"),E=e("./schema/default_safe"),O=Object.prototype.toString,F=Object.prototype.hasOwnProperty,N=9,T=10,_=13,M=32,L=33,D=34,U=35,q=37,Y=38,R=39,$=42,B=44,P=45,K=58,H=62,W=63,G=64,V=91,Z=93,z=96,J=123,Q=124,X=125,ee={};ee[0]="\\0",ee[7]="\\a",ee[8]="\\b",ee[9]="\\t",ee[10]="\\n",ee[11]="\\v",ee[12]="\\f",ee[13]="\\r",ee[27]="\\e",ee[34]='\\"',ee[92]="\\\\",ee[133]="\\N",ee[160]="\\_",ee[8232]="\\L",ee[8233]="\\P";var te=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];u.prototype.takeUpTo=function(e){var t;if(e<this.checkpoint)throw t=new Error("position should be > checkpoint"),t.position=e,t.checkpoint=this.checkpoint,t;return this.result+=this.source.slice(this.checkpoint,e),this.checkpoint=e,this},u.prototype.escapeChar=function(){var e,t;return e=this.source.charCodeAt(this.checkpoint),t=ee[e]||r(e),this.result+=t,this.checkpoint+=1,this},u.prototype.finish=function(){this.source.length>this.checkpoint&&this.takeUpTo(this.source.length)},t.exports.dump=C,t.exports.safeDump=k},{"./common":2,"./exception":4,"./schema/default_full":9,"./schema/default_safe":10}],4:[function(e,t,n){"use strict";function i(e,t){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||"",this.name="YAMLException",this.reason=e,this.mark=t,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():"")}i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i.prototype.toString=function(e){var t=this.name+": ";return t+=this.reason||"(unknown reason)",!e&&this.mark&&(t+=" "+this.mark.toString()),t},t.exports=i},{}],5:[function(e,t,n){"use strict";function i(e){return 10===e||13===e}function r(e){return 9===e||32===e}function o(e){return 9===e||32===e||10===e||13===e}function a(e){return 44===e||91===e||93===e||123===e||125===e}function s(e){var t;return e>=48&&57>=e?e-48:(t=32|e,t>=97&&102>=t?t-97+10:-1)}function c(e){return 120===e?2:117===e?4:85===e?8:0}function u(e){return e>=48&&57>=e?e-48:-1}function l(e){return 48===e?"\x00":97===e?"":98===e?"\b":116===e?" ":9===e?" ":110===e?"\n":118===e?"\x0B":102===e?"\f":114===e?"\r":101===e?"":32===e?" ":34===e?'"':47===e?"/":92===e?"\\":78===e?"…":95===e?" ":76===e?"\u2028":80===e?"\u2029":""}function p(e){return 65535>=e?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}function f(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||K,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function h(e,t){return new $(t,new B(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function d(e,t){throw h(e,t)}function m(e,t){e.onWarning&&e.onWarning.call(null,h(e,t))}function g(e,t,n,i){var r,o,a,s;if(n>t){if(s=e.input.slice(t,n),i)for(r=0,o=s.length;o>r;r+=1)a=s.charCodeAt(r),9===a||a>=32&&1114111>=a||d(e,"expected valid JSON character");else X.test(s)&&d(e,"the stream contains non-printable characters");e.result+=s}}function y(e,t,n,i){var r,o,a,s;for(R.isObject(n)||d(e,"cannot merge mappings; the provided source object is unacceptable"),r=Object.keys(n),a=0,s=r.length;s>a;a+=1)o=r[a],H.call(t,o)||(t[o]=n[o],i[o]=!0)}function x(e,t,n,i,r,o){var a,s;if(r=String(r),null===t&&(t={}),"tag:yaml.org,2002:merge"===i)if(Array.isArray(o))for(a=0,s=o.length;s>a;a+=1)y(e,t,o[a],n);else y(e,t,o,n);else e.json||H.call(n,r)||!H.call(t,r)||d(e,"duplicated mapping key"),t[r]=o,delete n[r];return t}function v(e){var t;t=e.input.charCodeAt(e.position),10===t?e.position++:13===t?(e.position++,10===e.input.charCodeAt(e.position)&&e.position++):d(e,"a line break is expected"),e.line+=1,e.lineStart=e.position}function A(e,t,n){for(var o=0,a=e.input.charCodeAt(e.position);0!==a;){for(;r(a);)a=e.input.charCodeAt(++e.position);if(t&&35===a)do a=e.input.charCodeAt(++e.position);while(10!==a&&13!==a&&0!==a);if(!i(a))break;for(v(e),a=e.input.charCodeAt(e.position),o++,e.lineIndent=0;32===a;)e.lineIndent++,a=e.input.charCodeAt(++e.position)}return-1!==n&&0!==o&&e.lineIndent<n&&m(e,"deficient indentation"),o}function b(e){var t,n=e.position;return t=e.input.charCodeAt(n),(45===t||46===t)&&t===e.input.charCodeAt(n+1)&&t===e.input.charCodeAt(n+2)&&(n+=3,t=e.input.charCodeAt(n),0===t||o(t))}function w(e,t){1===t?e.result+=" ":t>1&&(e.result+=R.repeat("\n",t-1))}function C(e,t,n){var s,c,u,l,p,f,h,d,m,y=e.kind,x=e.result;if(m=e.input.charCodeAt(e.position),o(m)||a(m)||35===m||38===m||42===m||33===m||124===m||62===m||39===m||34===m||37===m||64===m||96===m)return!1;if((63===m||45===m)&&(c=e.input.charCodeAt(e.position+1),o(c)||n&&a(c)))return!1;for(e.kind="scalar",e.result="",u=l=e.position,p=!1;0!==m;){if(58===m){if(c=e.input.charCodeAt(e.position+1),o(c)||n&&a(c))break}else if(35===m){if(s=e.input.charCodeAt(e.position-1),o(s))break}else{if(e.position===e.lineStart&&b(e)||n&&a(m))break;if(i(m)){if(f=e.line,h=e.lineStart,d=e.lineIndent,A(e,!1,-1),e.lineIndent>=t){p=!0,m=e.input.charCodeAt(e.position);continue}e.position=l,e.line=f,e.lineStart=h,e.lineIndent=d;break}}p&&(g(e,u,l,!1),w(e,e.line-f),u=l=e.position,p=!1),r(m)||(l=e.position+1),m=e.input.charCodeAt(++e.position)}return g(e,u,l,!1),e.result?!0:(e.kind=y,e.result=x,!1)}function k(e,t){var n,r,o;if(n=e.input.charCodeAt(e.position),39!==n)return!1;for(e.kind="scalar",e.result="",e.position++,r=o=e.position;0!==(n=e.input.charCodeAt(e.position));)if(39===n){if(g(e,r,e.position,!0),n=e.input.charCodeAt(++e.position),39!==n)return!0;r=o=e.position,e.position++}else i(n)?(g(e,r,o,!0),w(e,A(e,!1,t)),r=o=e.position):e.position===e.lineStart&&b(e)?d(e,"unexpected end of the document within a single quoted scalar"):(e.position++,o=e.position);d(e,"unexpected end of the stream within a single quoted scalar")}function j(e,t){var n,r,o,a,u,l;if(l=e.input.charCodeAt(e.position),34!==l)return!1;for(e.kind="scalar",e.result="",e.position++,n=r=e.position;0!==(l=e.input.charCodeAt(e.position));){if(34===l)return g(e,n,e.position,!0),e.position++,!0;if(92===l){if(g(e,n,e.position,!0),l=e.input.charCodeAt(++e.position),i(l))A(e,!1,t);else if(256>l&&re[l])e.result+=oe[l],e.position++;else if((u=c(l))>0){for(o=u,a=0;o>0;o--)l=e.input.charCodeAt(++e.position),(u=s(l))>=0?a=(a<<4)+u:d(e,"expected hexadecimal character");e.result+=p(a),e.position++}else d(e,"unknown escape sequence");n=r=e.position}else i(l)?(g(e,n,r,!0),w(e,A(e,!1,t)),n=r=e.position):e.position===e.lineStart&&b(e)?d(e,"unexpected end of the document within a double quoted scalar"):(e.position++,r=e.position)}d(e,"unexpected end of the stream within a double quoted scalar")}function I(e,t){var n,i,r,a,s,c,u,l,p,f,h,m=!0,g=e.tag,y=e.anchor,v={};if(h=e.input.charCodeAt(e.position),91===h)a=93,u=!1,i=[];else{if(123!==h)return!1;a=125,u=!0,i={}}for(null!==e.anchor&&(e.anchorMap[e.anchor]=i),h=e.input.charCodeAt(++e.position);0!==h;){if(A(e,!0,t),h=e.input.charCodeAt(e.position),h===a)return e.position++,e.tag=g,e.anchor=y,e.kind=u?"mapping":"sequence",e.result=i,!0;m||d(e,"missed comma between flow collection entries"),p=l=f=null,s=c=!1,63===h&&(r=e.input.charCodeAt(e.position+1),o(r)&&(s=c=!0,e.position++,A(e,!0,t))),n=e.line,_(e,t,W,!1,!0),p=e.tag,l=e.result,A(e,!0,t),h=e.input.charCodeAt(e.position),!c&&e.line!==n||58!==h||(s=!0,h=e.input.charCodeAt(++e.position),A(e,!0,t),_(e,t,W,!1,!0),f=e.result),u?x(e,i,v,p,l,f):s?i.push(x(e,null,v,p,l,f)):i.push(l),A(e,!0,t),h=e.input.charCodeAt(e.position),44===h?(m=!0,h=e.input.charCodeAt(++e.position)):m=!1}d(e,"unexpected end of the stream within a flow collection")}function S(e,t){var n,o,a,s,c=z,l=!1,p=t,f=0,h=!1;if(s=e.input.charCodeAt(e.position),124===s)o=!1;else{if(62!==s)return!1;o=!0}for(e.kind="scalar",e.result="";0!==s;)if(s=e.input.charCodeAt(++e.position),43===s||45===s)z===c?c=43===s?Q:J:d(e,"repeat of a chomping mode identifier");else{if(!((a=u(s))>=0))break;0===a?d(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):l?d(e,"repeat of an indentation width identifier"):(p=t+a-1,l=!0)}if(r(s)){do s=e.input.charCodeAt(++e.position);while(r(s));if(35===s)do s=e.input.charCodeAt(++e.position);while(!i(s)&&0!==s)}for(;0!==s;){for(v(e),e.lineIndent=0,s=e.input.charCodeAt(e.position);(!l||e.lineIndent<p)&&32===s;)e.lineIndent++,s=e.input.charCodeAt(++e.position);if(!l&&e.lineIndent>p&&(p=e.lineIndent),i(s))f++;else{if(e.lineIndent<p){c===Q?e.result+=R.repeat("\n",f):c===z&&l&&(e.result+="\n");break}for(o?r(s)?(h=!0,e.result+=R.repeat("\n",f+1)):h?(h=!1,e.result+=R.repeat("\n",f+1)):0===f?l&&(e.result+=" "):e.result+=R.repeat("\n",f):l?e.result+=R.repeat("\n",f+1):e.result+=R.repeat("\n",f),l=!0,f=0,n=e.position;!i(s)&&0!==s;)s=e.input.charCodeAt(++e.position);g(e,n,e.position,!1)}}return!0}function E(e,t){var n,i,r,a=e.tag,s=e.anchor,c=[],u=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=c),r=e.input.charCodeAt(e.position);0!==r&&45===r&&(i=e.input.charCodeAt(e.position+1),o(i));)if(u=!0,e.position++,A(e,!0,-1)&&e.lineIndent<=t)c.push(null),r=e.input.charCodeAt(e.position);else if(n=e.line,_(e,t,V,!1,!0),c.push(e.result),A(e,!0,-1),r=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==r)d(e,"bad indentation of a sequence entry");else if(e.lineIndent<t)break;return u?(e.tag=a,e.anchor=s,e.kind="sequence",e.result=c,!0):!1}function O(e,t,n){var i,a,s,c,u=e.tag,l=e.anchor,p={},f={},h=null,m=null,g=null,y=!1,v=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=p),c=e.input.charCodeAt(e.position);0!==c;){if(i=e.input.charCodeAt(e.position+1),s=e.line,63!==c&&58!==c||!o(i)){if(!_(e,n,G,!1,!0))break;if(e.line===s){for(c=e.input.charCodeAt(e.position);r(c);)c=e.input.charCodeAt(++e.position);if(58===c)c=e.input.charCodeAt(++e.position),o(c)||d(e,"a whitespace character is expected after the key-value separator within a block mapping"),y&&(x(e,p,f,h,m,null),h=m=g=null),v=!0,y=!1,a=!1,h=e.tag,m=e.result;else{if(!v)return e.tag=u,e.anchor=l,!0;d(e,"can not read an implicit mapping pair; a colon is missed")}}else{if(!v)return e.tag=u,e.anchor=l,!0;d(e,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===c?(y&&(x(e,p,f,h,m,null),h=m=g=null),v=!0,y=!0,a=!0):y?(y=!1,a=!0):d(e,"incomplete explicit mapping pair; a key node is missed"),e.position+=1,c=i;if((e.line===s||e.lineIndent>t)&&(_(e,t,Z,!0,a)&&(y?m=e.result:g=e.result),y||(x(e,p,f,h,m,g),h=m=g=null),A(e,!0,-1),c=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==c)d(e,"bad indentation of a mapping entry");else if(e.lineIndent<t)break}return y&&x(e,p,f,h,m,null),v&&(e.tag=u,e.anchor=l,e.kind="mapping",e.result=p),v}function F(e){var t,n,i,r,a=!1,s=!1;if(r=e.input.charCodeAt(e.position),33!==r)return!1;if(null!==e.tag&&d(e,"duplication of a tag property"),r=e.input.charCodeAt(++e.position),60===r?(a=!0,r=e.input.charCodeAt(++e.position)):33===r?(s=!0,n="!!",r=e.input.charCodeAt(++e.position)):n="!",t=e.position,a){do r=e.input.charCodeAt(++e.position);while(0!==r&&62!==r);e.position<e.length?(i=e.input.slice(t,e.position),r=e.input.charCodeAt(++e.position)):d(e,"unexpected end of the stream within a verbatim tag")}else{for(;0!==r&&!o(r);)33===r&&(s?d(e,"tag suffix cannot contain exclamation marks"):(n=e.input.slice(t-1,e.position+1),ne.test(n)||d(e,"named tag handle cannot contain such characters"),s=!0,t=e.position+1)),r=e.input.charCodeAt(++e.position);i=e.input.slice(t,e.position),te.test(i)&&d(e,"tag suffix cannot contain flow indicator characters")}return i&&!ie.test(i)&&d(e,"tag name cannot contain such characters: "+i),a?e.tag=i:H.call(e.tagMap,n)?e.tag=e.tagMap[n]+i:"!"===n?e.tag="!"+i:"!!"===n?e.tag="tag:yaml.org,2002:"+i:d(e,'undeclared tag handle "'+n+'"'),!0}function N(e){var t,n;if(n=e.input.charCodeAt(e.position),38!==n)return!1;for(null!==e.anchor&&d(e,"duplication of an anchor property"),n=e.input.charCodeAt(++e.position),t=e.position;0!==n&&!o(n)&&!a(n);)n=e.input.charCodeAt(++e.position);return e.position===t&&d(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(t,e.position),!0}function T(e){var t,n,i;if(i=e.input.charCodeAt(e.position),42!==i)return!1;for(i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!o(i)&&!a(i);)i=e.input.charCodeAt(++e.position);return e.position===t&&d(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),e.anchorMap.hasOwnProperty(n)||d(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],A(e,!0,-1),!0}function _(e,t,n,i,r){var o,a,s,c,u,l,p,f,h=1,m=!1,g=!1;if(null!==e.listener&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,o=a=s=Z===n||V===n,i&&A(e,!0,-1)&&(m=!0,e.lineIndent>t?h=1:e.lineIndent===t?h=0:e.lineIndent<t&&(h=-1)),1===h)for(;F(e)||N(e);)A(e,!0,-1)?(m=!0,s=o,e.lineIndent>t?h=1:e.lineIndent===t?h=0:e.lineIndent<t&&(h=-1)):s=!1;if(s&&(s=m||r),1!==h&&Z!==n||(p=W===n||G===n?t:t+1,f=e.position-e.lineStart,1===h?s&&(E(e,f)||O(e,f,p))||I(e,p)?g=!0:(a&&S(e,p)||k(e,p)||j(e,p)?g=!0:T(e)?(g=!0,null===e.tag&&null===e.anchor||d(e,"alias node should not have any properties")):C(e,p,W===n)&&(g=!0,null===e.tag&&(e.tag="?")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===h&&(g=s&&E(e,f))),null!==e.tag&&"!"!==e.tag)if("?"===e.tag){for(c=0,u=e.implicitTypes.length;u>c;c+=1)if(l=e.implicitTypes[c],l.resolve(e.result)){e.result=l.construct(e.result),e.tag=l.tag,null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);break}}else H.call(e.typeMap,e.tag)?(l=e.typeMap[e.tag],null!==e.result&&l.kind!==e.kind&&d(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+l.kind+'", not "'+e.kind+'"'),l.resolve(e.result)?(e.result=l.construct(e.result),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):d(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):d(e,"unknown tag !<"+e.tag+">");return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||g}function M(e){var t,n,a,s,c=e.position,u=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};0!==(s=e.input.charCodeAt(e.position))&&(A(e,!0,-1),s=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==s));){for(u=!0,s=e.input.charCodeAt(++e.position),t=e.position;0!==s&&!o(s);)s=e.input.charCodeAt(++e.position);for(n=e.input.slice(t,e.position),a=[],n.length<1&&d(e,"directive name must not be less than one character in length");0!==s;){for(;r(s);)s=e.input.charCodeAt(++e.position);if(35===s){do s=e.input.charCodeAt(++e.position);while(0!==s&&!i(s));break}if(i(s))break;for(t=e.position;0!==s&&!o(s);)s=e.input.charCodeAt(++e.position);a.push(e.input.slice(t,e.position))}0!==s&&v(e),H.call(se,n)?se[n](e,n,a):m(e,'unknown document directive "'+n+'"')}return A(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,A(e,!0,-1)):u&&d(e,"directives end mark is expected"),_(e,e.lineIndent-1,Z,!1,!0),A(e,!0,-1),e.checkLineBreaks&&ee.test(e.input.slice(c,e.position))&&m(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&b(e)?void(46===e.input.charCodeAt(e.position)&&(e.position+=3,A(e,!0,-1))):void(e.position<e.length-1&&d(e,"end of the stream or a document separator is expected"))}function L(e,t){e=String(e),t=t||{},0!==e.length&&(10!==e.charCodeAt(e.length-1)&&13!==e.charCodeAt(e.length-1)&&(e+="\n"),65279===e.charCodeAt(0)&&(e=e.slice(1)));var n=new f(e,t);for(n.input+="\x00";32===n.input.charCodeAt(n.position);)n.lineIndent+=1,n.position+=1;for(;n.position<n.length-1;)M(n);return n.documents}function D(e,t,n){var i,r,o=L(e,n);for(i=0,r=o.length;r>i;i+=1)t(o[i])}function U(e,t){var n=L(e,t);if(0!==n.length){if(1===n.length)return n[0];throw new $("expected a single document in the stream, but found more")}}function q(e,t,n){D(e,t,R.extend({schema:P},n))}function Y(e,t){return U(e,R.extend({schema:P},t))}for(var R=e("./common"),$=e("./exception"),B=e("./mark"),P=e("./schema/default_safe"),K=e("./schema/default_full"),H=Object.prototype.hasOwnProperty,W=1,G=2,V=3,Z=4,z=1,J=2,Q=3,X=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,ee=/[\x85\u2028\u2029]/,te=/[,\[\]\{\}]/,ne=/^(?:!|!!|![a-z\-]+!)$/i,ie=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i,re=new Array(256),oe=new Array(256),ae=0;256>ae;ae++)re[ae]=l(ae)?1:0,oe[ae]=l(ae);var se={YAML:function(e,t,n){var i,r,o;null!==e.version&&d(e,"duplication of %YAML directive"),1!==n.length&&d(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),null===i&&d(e,"ill-formed argument of the YAML directive"),r=parseInt(i[1],10),o=parseInt(i[2],10),1!==r&&d(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=2>o,1!==o&&2!==o&&m(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var i,r;2!==n.length&&d(e,"TAG directive accepts exactly two arguments"),i=n[0],r=n[1],ne.test(i)||d(e,"ill-formed tag handle (first argument) of the TAG directive"),H.call(e.tagMap,i)&&d(e,'there is a previously declared suffix for "'+i+'" tag handle'),ie.test(r)||d(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[i]=r}};t.exports.loadAll=D,t.exports.load=U,t.exports.safeLoadAll=q,t.exports.safeLoad=Y},{"./common":2,"./exception":4,"./mark":6,"./schema/default_full":9,"./schema/default_safe":10}],6:[function(e,t,n){"use strict";function i(e,t,n,i,r){this.name=e,this.buffer=t,this.position=n,this.line=i,this.column=r}var r=e("./common");i.prototype.getSnippet=function(e,t){var n,i,o,a,s;if(!this.buffer)return null;for(e=e||4,t=t||75,n="",i=this.position;i>0&&-1==="\x00\r\n…\u2028\u2029".indexOf(this.buffer.charAt(i-1));)if(i-=1,this.position-i>t/2-1){n=" ... ",i+=5;break}for(o="",a=this.position;a<this.buffer.length&&-1==="\x00\r\n…\u2028\u2029".indexOf(this.buffer.charAt(a));)if(a+=1,a-this.position>t/2-1){o=" ... ",a-=5;break}return s=this.buffer.slice(i,a),r.repeat(" ",e)+n+s+o+"\n"+r.repeat(" ",e+this.position-i+n.length)+"^"},i.prototype.toString=function(e){var t,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet(),t&&(n+=":\n"+t)),n},t.exports=i},{"./common":2}],7:[function(e,t,n){"use strict";function i(e,t,n){var r=[];return e.include.forEach(function(e){n=i(e,t,n)}),e[t].forEach(function(e){n.forEach(function(t,n){t.tag===e.tag&&r.push(n)}),n.push(e)}),n.filter(function(e,t){return-1===r.indexOf(t)})}function r(){function e(e){i[e.tag]=e}var t,n,i={};for(t=0,n=arguments.length;n>t;t+=1)arguments[t].forEach(e);return i}function o(e){this.include=e.include||[],this.implicit=e.implicit||[],this.explicit=e.explicit||[],this.implicit.forEach(function(e){if(e.loadKind&&"scalar"!==e.loadKind)throw new s("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")}),this.compiledImplicit=i(this,"implicit",[]),this.compiledExplicit=i(this,"explicit",[]),this.compiledTypeMap=r(this.compiledImplicit,this.compiledExplicit)}var a=e("./common"),s=e("./exception"),c=e("./type");o.DEFAULT=null,o.create=function(){var e,t;switch(arguments.length){case 1:e=o.DEFAULT,t=arguments[0];break;case 2:e=arguments[0],t=arguments[1];break;default:throw new s("Wrong number of arguments for Schema.create function")}if(e=a.toArray(e),t=a.toArray(t),!e.every(function(e){return e instanceof o}))throw new s("Specified list of super schemas (or a single Schema object) contains a non-Schema object.");if(!t.every(function(e){return e instanceof c}))throw new s("Specified list of YAML types (or a single Type object) contains a non-Type object.");return new o({include:e,explicit:t})},t.exports=o},{"./common":2,"./exception":4,"./type":13}],8:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({include:[e("./json")]})},{"../schema":7,"./json":12}],9:[function(e,t,n){"use strict";var i=e("../schema");t.exports=i.DEFAULT=new i({include:[e("./default_safe")],explicit:[e("../type/js/undefined"),e("../type/js/regexp"),e("../type/js/function")]})},{"../schema":7,"../type/js/function":18,"../type/js/regexp":19,"../type/js/undefined":20,"./default_safe":10}],10:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({include:[e("./core")],implicit:[e("../type/timestamp"),e("../type/merge")],explicit:[e("../type/binary"),e("../type/omap"),e("../type/pairs"),e("../type/set")]})},{"../schema":7,"../type/binary":14,"../type/merge":22,"../type/omap":24,"../type/pairs":25,"../type/set":27,"../type/timestamp":29,"./core":8}],11:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({explicit:[e("../type/str"),e("../type/seq"),e("../type/map")]})},{"../schema":7,"../type/map":21,"../type/seq":26,"../type/str":28}],12:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({include:[e("./failsafe")],implicit:[e("../type/null"),e("../type/bool"),e("../type/int"),e("../type/float")]})},{"../schema":7,"../type/bool":15,"../type/float":16,"../type/int":17,"../type/null":23,"./failsafe":11}],13:[function(e,t,n){"use strict";function i(e){var t={};return null!==e&&Object.keys(e).forEach(function(n){e[n].forEach(function(e){t[String(e)]=n})}),t}function r(e,t){if(t=t||{},Object.keys(t).forEach(function(t){if(-1===a.indexOf(t))throw new o('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')}),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=i(t.styleAliases||null),-1===s.indexOf(this.kind))throw new o('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var o=e("./exception"),a=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],s=["scalar","sequence","mapping"];t.exports=r},{"./exception":4}],14:[function(e,t,n){"use strict";function i(e){if(null===e)return!1;var t,n,i=0,r=e.length,o=u;for(n=0;r>n;n++)if(t=o.indexOf(e.charAt(n)),!(t>64)){if(0>t)return!1;i+=6}return i%8===0}function r(e){var t,n,i=e.replace(/[\r\n=]/g,""),r=i.length,o=u,a=0,c=[];for(t=0;r>t;t++)t%4===0&&t&&(c.push(a>>16&255),c.push(a>>8&255),c.push(255&a)),a=a<<6|o.indexOf(i.charAt(t));return n=r%4*6,0===n?(c.push(a>>16&255),c.push(a>>8&255),c.push(255&a)):18===n?(c.push(a>>10&255),c.push(a>>2&255)):12===n&&c.push(a>>4&255),s?new s(c):c}function o(e){var t,n,i="",r=0,o=e.length,a=u;for(t=0;o>t;t++)t%3===0&&t&&(i+=a[r>>18&63],i+=a[r>>12&63],i+=a[r>>6&63],i+=a[63&r]),r=(r<<8)+e[t];return n=o%3,
-0===n?(i+=a[r>>18&63],i+=a[r>>12&63],i+=a[r>>6&63],i+=a[63&r]):2===n?(i+=a[r>>10&63],i+=a[r>>4&63],i+=a[r<<2&63],i+=a[64]):1===n&&(i+=a[r>>2&63],i+=a[r<<4&63],i+=a[64],i+=a[64]),i}function a(e){return s&&s.isBuffer(e)}var s=e("buffer").Buffer,c=e("../type"),u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";t.exports=new c("tag:yaml.org,2002:binary",{kind:"scalar",resolve:i,construct:r,predicate:a,represent:o})},{"../type":13,buffer:30}],15:[function(e,t,n){"use strict";function i(e){if(null===e)return!1;var t=e.length;return 4===t&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e)}function r(e){return"true"===e||"True"===e||"TRUE"===e}function o(e){return"[object Boolean]"===Object.prototype.toString.call(e)}var a=e("../type");t.exports=new a("tag:yaml.org,2002:bool",{kind:"scalar",resolve:i,construct:r,predicate:o,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},{"../type":13}],16:[function(e,t,n){"use strict";function i(e){return null===e?!1:!!u.test(e)}function r(e){var t,n,i,r;return t=e.replace(/_/g,"").toLowerCase(),n="-"===t[0]?-1:1,r=[],"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:t.indexOf(":")>=0?(t.split(":").forEach(function(e){r.unshift(parseFloat(e,10))}),t=0,i=1,r.forEach(function(e){t+=e*i,i*=60}),n*t):n*parseFloat(t,10)}function o(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(s.isNegativeZero(e))return"-0.0";return n=e.toString(10),l.test(n)?n.replace("e",".e"):n}function a(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!==0||s.isNegativeZero(e))}var s=e("../common"),c=e("../type"),u=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)\\.[0-9_]*(?:[eE][-+][0-9]+)?|\\.[0-9_]+(?:[eE][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),l=/^[-+]?[0-9]+e/;t.exports=new c("tag:yaml.org,2002:float",{kind:"scalar",resolve:i,construct:r,predicate:a,represent:o,defaultStyle:"lowercase"})},{"../common":2,"../type":13}],17:[function(e,t,n){"use strict";function i(e){return e>=48&&57>=e||e>=65&&70>=e||e>=97&&102>=e}function r(e){return e>=48&&55>=e}function o(e){return e>=48&&57>=e}function a(e){if(null===e)return!1;var t,n=e.length,a=0,s=!1;if(!n)return!1;if(t=e[a],"-"!==t&&"+"!==t||(t=e[++a]),"0"===t){if(a+1===n)return!0;if(t=e[++a],"b"===t){for(a++;n>a;a++)if(t=e[a],"_"!==t){if("0"!==t&&"1"!==t)return!1;s=!0}return s}if("x"===t){for(a++;n>a;a++)if(t=e[a],"_"!==t){if(!i(e.charCodeAt(a)))return!1;s=!0}return s}for(;n>a;a++)if(t=e[a],"_"!==t){if(!r(e.charCodeAt(a)))return!1;s=!0}return s}for(;n>a;a++)if(t=e[a],"_"!==t){if(":"===t)break;if(!o(e.charCodeAt(a)))return!1;s=!0}return s?":"!==t?!0:/^(:[0-5]?[0-9])+$/.test(e.slice(a)):!1}function s(e){var t,n,i=e,r=1,o=[];return-1!==i.indexOf("_")&&(i=i.replace(/_/g,"")),t=i[0],"-"!==t&&"+"!==t||("-"===t&&(r=-1),i=i.slice(1),t=i[0]),"0"===i?0:"0"===t?"b"===i[1]?r*parseInt(i.slice(2),2):"x"===i[1]?r*parseInt(i,16):r*parseInt(i,8):-1!==i.indexOf(":")?(i.split(":").forEach(function(e){o.unshift(parseInt(e,10))}),i=0,n=1,o.forEach(function(e){i+=e*n,n*=60}),r*i):r*parseInt(i,10)}function c(e){return"[object Number]"===Object.prototype.toString.call(e)&&e%1===0&&!u.isNegativeZero(e)}var u=e("../common"),l=e("../type");t.exports=new l("tag:yaml.org,2002:int",{kind:"scalar",resolve:a,construct:s,predicate:c,represent:{binary:function(e){return"0b"+e.toString(2)},octal:function(e){return"0"+e.toString(8)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return"0x"+e.toString(16).toUpperCase()}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},{"../common":2,"../type":13}],18:[function(e,t,n){"use strict";function i(e){if(null===e)return!1;try{var t="("+e+")",n=s.parse(t,{range:!0});return"Program"===n.type&&1===n.body.length&&"ExpressionStatement"===n.body[0].type&&"FunctionExpression"===n.body[0].expression.type}catch(i){return!1}}function r(e){var t,n="("+e+")",i=s.parse(n,{range:!0}),r=[];if("Program"!==i.type||1!==i.body.length||"ExpressionStatement"!==i.body[0].type||"FunctionExpression"!==i.body[0].expression.type)throw new Error("Failed to resolve function");return i.body[0].expression.params.forEach(function(e){r.push(e.name)}),t=i.body[0].expression.body.range,new Function(r,n.slice(t[0]+1,t[1]-1))}function o(e){return e.toString()}function a(e){return"[object Function]"===Object.prototype.toString.call(e)}var s;try{var c=e;s=c("esprima")}catch(u){"undefined"!=typeof window&&(s=window.esprima)}var l=e("../../type");t.exports=new l("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:i,construct:r,predicate:a,represent:o})},{"../../type":13}],19:[function(e,t,n){"use strict";function i(e){if(null===e)return!1;if(0===e.length)return!1;var t=e,n=/\/([gim]*)$/.exec(e),i="";if("/"===t[0]){if(n&&(i=n[1]),i.length>3)return!1;if("/"!==t[t.length-i.length-1])return!1}return!0}function r(e){var t=e,n=/\/([gim]*)$/.exec(e),i="";return"/"===t[0]&&(n&&(i=n[1]),t=t.slice(1,t.length-i.length-1)),new RegExp(t,i)}function o(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}function a(e){return"[object RegExp]"===Object.prototype.toString.call(e)}var s=e("../../type");t.exports=new s("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:i,construct:r,predicate:a,represent:o})},{"../../type":13}],20:[function(e,t,n){"use strict";function i(){return!0}function r(){}function o(){return""}function a(e){return"undefined"==typeof e}var s=e("../../type");t.exports=new s("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:i,construct:r,predicate:a,represent:o})},{"../../type":13}],21:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}})},{"../type":13}],22:[function(e,t,n){"use strict";function i(e){return"<<"===e||null===e}var r=e("../type");t.exports=new r("tag:yaml.org,2002:merge",{kind:"scalar",resolve:i})},{"../type":13}],23:[function(e,t,n){"use strict";function i(e){if(null===e)return!0;var t=e.length;return 1===t&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)}function r(){return null}function o(e){return null===e}var a=e("../type");t.exports=new a("tag:yaml.org,2002:null",{kind:"scalar",resolve:i,construct:r,predicate:o,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},{"../type":13}],24:[function(e,t,n){"use strict";function i(e){if(null===e)return!0;var t,n,i,r,o,c=[],u=e;for(t=0,n=u.length;n>t;t+=1){if(i=u[t],o=!1,"[object Object]"!==s.call(i))return!1;for(r in i)if(a.call(i,r)){if(o)return!1;o=!0}if(!o)return!1;if(-1!==c.indexOf(r))return!1;c.push(r)}return!0}function r(e){return null!==e?e:[]}var o=e("../type"),a=Object.prototype.hasOwnProperty,s=Object.prototype.toString;t.exports=new o("tag:yaml.org,2002:omap",{kind:"sequence",resolve:i,construct:r})},{"../type":13}],25:[function(e,t,n){"use strict";function i(e){if(null===e)return!0;var t,n,i,r,o,s=e;for(o=new Array(s.length),t=0,n=s.length;n>t;t+=1){if(i=s[t],"[object Object]"!==a.call(i))return!1;if(r=Object.keys(i),1!==r.length)return!1;o[t]=[r[0],i[r[0]]]}return!0}function r(e){if(null===e)return[];var t,n,i,r,o,a=e;for(o=new Array(a.length),t=0,n=a.length;n>t;t+=1)i=a[t],r=Object.keys(i),o[t]=[r[0],i[r[0]]];return o}var o=e("../type"),a=Object.prototype.toString;t.exports=new o("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:i,construct:r})},{"../type":13}],26:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return null!==e?e:[]}})},{"../type":13}],27:[function(e,t,n){"use strict";function i(e){if(null===e)return!0;var t,n=e;for(t in n)if(a.call(n,t)&&null!==n[t])return!1;return!0}function r(e){return null!==e?e:{}}var o=e("../type"),a=Object.prototype.hasOwnProperty;t.exports=new o("tag:yaml.org,2002:set",{kind:"mapping",resolve:i,construct:r})},{"../type":13}],28:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return null!==e?e:""}})},{"../type":13}],29:[function(e,t,n){"use strict";function i(e){return null===e?!1:null!==s.exec(e)?!0:null!==c.exec(e)}function r(e){var t,n,i,r,o,a,u,l,p,f,h=0,d=null;if(t=s.exec(e),null===t&&(t=c.exec(e)),null===t)throw new Error("Date resolve error");if(n=+t[1],i=+t[2]-1,r=+t[3],!t[4])return new Date(Date.UTC(n,i,r));if(o=+t[4],a=+t[5],u=+t[6],t[7]){for(h=t[7].slice(0,3);h.length<3;)h+="0";h=+h}return t[9]&&(l=+t[10],p=+(t[11]||0),d=6e4*(60*l+p),"-"===t[9]&&(d=-d)),f=new Date(Date.UTC(n,i,r,o,a,u,h)),d&&f.setTime(f.getTime()-d),f}function o(e){return e.toISOString()}var a=e("../type"),s=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),c=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");t.exports=new a("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:i,construct:r,instanceOf:Date,represent:o})},{"../type":13}],30:[function(e,t,n){},{}],"/":[function(e,t,n){"use strict";var i=e("./lib/js-yaml.js");t.exports=i},{"./lib/js-yaml.js":1}]},{},[])("/")});
+/* js-yaml 3.6.0 https://github.com/nodeca/js-yaml */
+!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.jsyaml=e()}}(function(){return function e(t,n,i){function r(a,s){if(!n[a]){if(!t[a]){var c="function"==typeof require&&require;if(!s&&c)return c(a,!0);if(o)return o(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var l=n[a]={exports:{}};t[a][0].call(l.exports,function(e){var n=t[a][1][e];return r(n?n:e)},l,l.exports,e,t,n,i)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;a<i.length;a++)r(i[a]);return r}({1:[function(e,t,n){"use strict";function i(e){return function(){throw new Error("Function "+e+" is deprecated and cannot be used.")}}var r=e("./js-yaml/loader"),o=e("./js-yaml/dumper");t.exports.Type=e("./js-yaml/type"),t.exports.Schema=e("./js-yaml/schema"),t.exports.FAILSAFE_SCHEMA=e("./js-yaml/schema/failsafe"),t.exports.JSON_SCHEMA=e("./js-yaml/schema/json"),t.exports.CORE_SCHEMA=e("./js-yaml/schema/core"),t.exports.DEFAULT_SAFE_SCHEMA=e("./js-yaml/schema/default_safe"),t.exports.DEFAULT_FULL_SCHEMA=e("./js-yaml/schema/default_full"),t.exports.load=r.load,t.exports.loadAll=r.loadAll,t.exports.safeLoad=r.safeLoad,t.exports.safeLoadAll=r.safeLoadAll,t.exports.dump=o.dump,t.exports.safeDump=o.safeDump,t.exports.YAMLException=e("./js-yaml/exception"),t.exports.MINIMAL_SCHEMA=e("./js-yaml/schema/failsafe"),t.exports.SAFE_SCHEMA=e("./js-yaml/schema/default_safe"),t.exports.DEFAULT_SCHEMA=e("./js-yaml/schema/default_full"),t.exports.scan=i("scan"),t.exports.parse=i("parse"),t.exports.compose=i("compose"),t.exports.addConstructor=i("addConstructor")},{"./js-yaml/dumper":3,"./js-yaml/exception":4,"./js-yaml/loader":5,"./js-yaml/schema":7,"./js-yaml/schema/core":8,"./js-yaml/schema/default_full":9,"./js-yaml/schema/default_safe":10,"./js-yaml/schema/failsafe":11,"./js-yaml/schema/json":12,"./js-yaml/type":13}],2:[function(e,t,n){"use strict";function i(e){return"undefined"==typeof e||null===e}function r(e){return"object"==typeof e&&null!==e}function o(e){return Array.isArray(e)?e:i(e)?[]:[e]}function a(e,t){var n,i,r,o;if(t)for(o=Object.keys(t),n=0,i=o.length;i>n;n+=1)r=o[n],e[r]=t[r];return e}function s(e,t){var n,i="";for(n=0;t>n;n+=1)i+=e;return i}function c(e){return 0===e&&Number.NEGATIVE_INFINITY===1/e}t.exports.isNothing=i,t.exports.isObject=r,t.exports.toArray=o,t.exports.repeat=s,t.exports.isNegativeZero=c,t.exports.extend=a},{}],3:[function(e,t,n){"use strict";function i(e,t){var n,i,r,o,a,s,c;if(null===t)return{};for(n={},i=Object.keys(t),r=0,o=i.length;o>r;r+=1)a=i[r],s=String(t[a]),"!!"===a.slice(0,2)&&(a="tag:yaml.org,2002:"+a.slice(2)),c=e.compiledTypeMap[a],c&&L.call(c.styleAliases,s)&&(s=c.styleAliases[s]),n[a]=s;return n}function r(e){var t,n,i;if(t=e.toString(16).toUpperCase(),255>=e)n="x",i=2;else if(65535>=e)n="u",i=4;else{if(!(4294967295>=e))throw new N("code point within a string may not be greater than 0xFFFFFFFF");n="U",i=8}return"\\"+n+F.repeat("0",i-t.length)+t}function o(e){this.schema=e.schema||M,this.indent=Math.max(1,e.indent||2),this.skipInvalid=e.skipInvalid||!1,this.flowLevel=F.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=i(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function a(e,t){for(var n,i=F.repeat(" ",t),r=0,o=-1,a="",s=e.length;s>r;)o=e.indexOf("\n",r),-1===o?(n=e.slice(r),r=s):(n=e.slice(r,o+1),r=o+1),n.length&&"\n"!==n&&(a+=i),a+=n;return a}function s(e,t){return"\n"+F.repeat(" ",e.indent*t)}function c(e,t){var n,i,r;for(n=0,i=e.implicitTypes.length;i>n;n+=1)if(r=e.implicitTypes[n],r.resolve(t))return!0;return!1}function u(e){return e===q||e===D}function l(e){return e>=32&&126>=e||e>=161&&55295>=e&&8232!==e&&8233!==e||e>=57344&&65533>=e&&65279!==e||e>=65536&&1114111>=e}function p(e){return l(e)&&65279!==e&&e!==H&&e!==Q&&e!==X&&e!==te&&e!==ie&&e!==V&&e!==B}function f(e){return l(e)&&65279!==e&&!u(e)&&e!==G&&e!==z&&e!==V&&e!==H&&e!==Q&&e!==X&&e!==te&&e!==ie&&e!==B&&e!==W&&e!==$&&e!==Y&&e!==ne&&e!==Z&&e!==K&&e!==R&&e!==P&&e!==J&&e!==ee}function d(e,t,n,i,r){var o,a,s=!1,c=!1,d=-1!==i,h=-1,m=f(e.charCodeAt(0))&&!u(e.charCodeAt(e.length-1));if(t)for(o=0;o<e.length;o++){if(a=e.charCodeAt(o),!l(a))return le;m=m&&p(a)}else{for(o=0;o<e.length;o++){if(a=e.charCodeAt(o),a===U)s=!0,d&&(c=c||o-h-1>i&&" "!==e[h+1],h=o);else if(!l(a))return le;m=m&&p(a)}c=c||d&&o-h-1>i&&" "!==e[h+1]}return s||c?" "===e[0]&&n>9?le:c?ue:ce:m&&!r(e)?ae:se}function h(e,t,n,i){e.dump=function(){function r(t){return c(e,t)}if(0===t.length)return"''";if(!e.noCompatMode&&-1!==oe.indexOf(t))return"'"+t+"'";var o=e.indent*Math.max(1,n),s=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-o),u=i||e.flowLevel>-1&&n>=e.flowLevel;switch(d(t,u,e.indent,s,r)){case ae:return t;case se:return"'"+t.replace(/'/g,"''")+"'";case ce:return"|"+m(t,e.indent)+g(a(t,o));case ue:return">"+m(t,e.indent)+g(a(y(t,s),o));case le:return'"'+v(t,s)+'"';default:throw new N("impossible error: invalid scalar style")}}()}function m(e,t){var n=" "===e[0]?String(t):"",i="\n"===e[e.length-1],r=i&&("\n"===e[e.length-2]||"\n"===e),o=r?"+":i?"":"-";return n+o+"\n"}function g(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function y(e,t){for(var n,i,r=/(\n+)([^\n]*)/g,o=function(){var n=e.indexOf("\n");return n=-1!==n?n:e.length,r.lastIndex=n,x(e.slice(0,n),t)}(),a="\n"===e[0]||" "===e[0];i=r.exec(e);){var s=i[1],c=i[2];n=" "===c[0],o+=s+(a||n||""===c?"":"\n")+x(c,t),a=n}return o}function x(e,t){if(""===e||" "===e[0])return e;for(var n,i,r=/ [^ ]/g,o=0,a=0,s=0,c="";n=r.exec(e);)s=n.index,s-o>t&&(i=a>o?a:s,c+="\n"+e.slice(o,i),o=i+1),a=s;return c+="\n",c+=e.length-o>t&&a>o?e.slice(o,a)+"\n"+e.slice(a+1):e.slice(o),c.slice(1)}function v(e){for(var t,n,i="",o=0;o<e.length;o++)t=e.charCodeAt(o),n=re[t],i+=!n&&l(t)?e[o]:n||r(t);return i}function A(e,t,n){var i,r,o="",a=e.tag;for(i=0,r=n.length;r>i;i+=1)j(e,t,n[i],!1,!1)&&(0!==i&&(o+=", "),o+=e.dump);e.tag=a,e.dump="["+o+"]"}function b(e,t,n,i){var r,o,a="",c=e.tag;for(r=0,o=n.length;o>r;r+=1)j(e,t+1,n[r],!0,!0)&&(i&&0===r||(a+=s(e,t)),a+="- "+e.dump);e.tag=c,e.dump=a||"[]"}function w(e,t,n){var i,r,o,a,s,c="",u=e.tag,l=Object.keys(n);for(i=0,r=l.length;r>i;i+=1)s="",0!==i&&(s+=", "),o=l[i],a=n[o],j(e,t,o,!1,!1)&&(e.dump.length>1024&&(s+="? "),s+=e.dump+": ",j(e,t,a,!1,!1)&&(s+=e.dump,c+=s));e.tag=u,e.dump="{"+c+"}"}function C(e,t,n,i){var r,o,a,c,u,l,p="",f=e.tag,d=Object.keys(n);if(e.sortKeys===!0)d.sort();else if("function"==typeof e.sortKeys)d.sort(e.sortKeys);else if(e.sortKeys)throw new N("sortKeys must be a boolean or a function");for(r=0,o=d.length;o>r;r+=1)l="",i&&0===r||(l+=s(e,t)),a=d[r],c=n[a],j(e,t+1,a,!0,!0,!0)&&(u=null!==e.tag&&"?"!==e.tag||e.dump&&e.dump.length>1024,u&&(l+=e.dump&&U===e.dump.charCodeAt(0)?"?":"? "),l+=e.dump,u&&(l+=s(e,t)),j(e,t+1,c,!0,u)&&(l+=e.dump&&U===e.dump.charCodeAt(0)?":":": ",l+=e.dump,p+=l));e.tag=f,e.dump=p||"{}"}function k(e,t,n){var i,r,o,a,s,c;for(r=n?e.explicitTypes:e.implicitTypes,o=0,a=r.length;a>o;o+=1)if(s=r[o],(s.instanceOf||s.predicate)&&(!s.instanceOf||"object"==typeof t&&t instanceof s.instanceOf)&&(!s.predicate||s.predicate(t))){if(e.tag=n?s.tag:"?",s.represent){if(c=e.styleMap[s.tag]||s.defaultStyle,"[object Function]"===T.call(s.represent))i=s.represent(t,c);else{if(!L.call(s.represent,c))throw new N("!<"+s.tag+'> tag resolver accepts not "'+c+'" style');i=s.represent[c](t,c)}e.dump=i}return!0}return!1}function j(e,t,n,i,r,o){e.tag=null,e.dump=n,k(e,n,!1)||k(e,n,!0);var a=T.call(e.dump);i&&(i=e.flowLevel<0||e.flowLevel>t);var s,c,u="[object Object]"===a||"[object Array]"===a;if(u&&(s=e.duplicates.indexOf(n),c=-1!==s),(null!==e.tag&&"?"!==e.tag||c||2!==e.indent&&t>0)&&(r=!1),c&&e.usedDuplicates[s])e.dump="*ref_"+s;else{if(u&&c&&!e.usedDuplicates[s]&&(e.usedDuplicates[s]=!0),"[object Object]"===a)i&&0!==Object.keys(e.dump).length?(C(e,t,e.dump,r),c&&(e.dump="&ref_"+s+e.dump)):(w(e,t,e.dump),c&&(e.dump="&ref_"+s+" "+e.dump));else if("[object Array]"===a)i&&0!==e.dump.length?(b(e,t,e.dump,r),c&&(e.dump="&ref_"+s+e.dump)):(A(e,t,e.dump),c&&(e.dump="&ref_"+s+" "+e.dump));else{if("[object String]"!==a){if(e.skipInvalid)return!1;throw new N("unacceptable kind of an object to dump "+a)}"?"!==e.tag&&h(e,e.dump,t,o)}null!==e.tag&&"?"!==e.tag&&(e.dump="!<"+e.tag+"> "+e.dump)}return!0}function I(e,t){var n,i,r=[],o=[];for(S(e,r,o),n=0,i=o.length;i>n;n+=1)t.duplicates.push(r[o[n]]);t.usedDuplicates=new Array(i)}function S(e,t,n){var i,r,o;if(null!==e&&"object"==typeof e)if(r=t.indexOf(e),-1!==r)-1===n.indexOf(r)&&n.push(r);else if(t.push(e),Array.isArray(e))for(r=0,o=e.length;o>r;r+=1)S(e[r],t,n);else for(i=Object.keys(e),r=0,o=i.length;o>r;r+=1)S(e[i[r]],t,n)}function O(e,t){t=t||{};var n=new o(t);return n.noRefs||I(e,n),j(n,0,e,!0,!0)?n.dump+"\n":""}function E(e,t){return O(e,F.extend({schema:_},t))}var F=e("./common"),N=e("./exception"),M=e("./schema/default_full"),_=e("./schema/default_safe"),T=Object.prototype.toString,L=Object.prototype.hasOwnProperty,D=9,U=10,q=32,Y=33,R=34,B=35,P=37,W=38,K=39,$=42,H=44,G=45,V=58,Z=62,z=63,J=64,Q=91,X=93,ee=96,te=123,ne=124,ie=125,re={};re[0]="\\0",re[7]="\\a",re[8]="\\b",re[9]="\\t",re[10]="\\n",re[11]="\\v",re[12]="\\f",re[13]="\\r",re[27]="\\e",re[34]='\\"',re[92]="\\\\",re[133]="\\N",re[160]="\\_",re[8232]="\\L",re[8233]="\\P";var oe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],ae=1,se=2,ce=3,ue=4,le=5;t.exports.dump=O,t.exports.safeDump=E},{"./common":2,"./exception":4,"./schema/default_full":9,"./schema/default_safe":10}],4:[function(e,t,n){"use strict";function i(e,t){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||"",this.name="YAMLException",this.reason=e,this.mark=t,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():"")}i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i.prototype.toString=function(e){var t=this.name+": ";return t+=this.reason||"(unknown reason)",!e&&this.mark&&(t+=" "+this.mark.toString()),t},t.exports=i},{}],5:[function(e,t,n){"use strict";function i(e){return 10===e||13===e}function r(e){return 9===e||32===e}function o(e){return 9===e||32===e||10===e||13===e}function a(e){return 44===e||91===e||93===e||123===e||125===e}function s(e){var t;return e>=48&&57>=e?e-48:(t=32|e,t>=97&&102>=t?t-97+10:-1)}function c(e){return 120===e?2:117===e?4:85===e?8:0}function u(e){return e>=48&&57>=e?e-48:-1}function l(e){return 48===e?"\x00":97===e?"":98===e?"\b":116===e?" ":9===e?" ":110===e?"\n":118===e?"\x0B":102===e?"\f":114===e?"\r":101===e?"":32===e?" ":34===e?'"':47===e?"/":92===e?"\\":78===e?"…":95===e?" ":76===e?"\u2028":80===e?"\u2029":""}function p(e){return 65535>=e?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}function f(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||K,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function d(e,t){return new B(t,new P(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function h(e,t){throw d(e,t)}function m(e,t){e.onWarning&&e.onWarning.call(null,d(e,t))}function g(e,t,n,i){var r,o,a,s;if(n>t){if(s=e.input.slice(t,n),i)for(r=0,o=s.length;o>r;r+=1)a=s.charCodeAt(r),9===a||a>=32&&1114111>=a||h(e,"expected valid JSON character");else X.test(s)&&h(e,"the stream contains non-printable characters");e.result+=s}}function y(e,t,n,i){var r,o,a,s;for(R.isObject(n)||h(e,"cannot merge mappings; the provided source object is unacceptable"),r=Object.keys(n),a=0,s=r.length;s>a;a+=1)o=r[a],$.call(t,o)||(t[o]=n[o],i[o]=!0)}function x(e,t,n,i,r,o){var a,s;if(r=String(r),null===t&&(t={}),"tag:yaml.org,2002:merge"===i)if(Array.isArray(o))for(a=0,s=o.length;s>a;a+=1)y(e,t,o[a],n);else y(e,t,o,n);else e.json||$.call(n,r)||!$.call(t,r)||h(e,"duplicated mapping key"),t[r]=o,delete n[r];return t}function v(e){var t;t=e.input.charCodeAt(e.position),10===t?e.position++:13===t?(e.position++,10===e.input.charCodeAt(e.position)&&e.position++):h(e,"a line break is expected"),e.line+=1,e.lineStart=e.position}function A(e,t,n){for(var o=0,a=e.input.charCodeAt(e.position);0!==a;){for(;r(a);)a=e.input.charCodeAt(++e.position);if(t&&35===a)do a=e.input.charCodeAt(++e.position);while(10!==a&&13!==a&&0!==a);if(!i(a))break;for(v(e),a=e.input.charCodeAt(e.position),o++,e.lineIndent=0;32===a;)e.lineIndent++,a=e.input.charCodeAt(++e.position)}return-1!==n&&0!==o&&e.lineIndent<n&&m(e,"deficient indentation"),o}function b(e){var t,n=e.position;return t=e.input.charCodeAt(n),(45===t||46===t)&&t===e.input.charCodeAt(n+1)&&t===e.input.charCodeAt(n+2)&&(n+=3,t=e.input.charCodeAt(n),0===t||o(t))}function w(e,t){1===t?e.result+=" ":t>1&&(e.result+=R.repeat("\n",t-1))}function C(e,t,n){var s,c,u,l,p,f,d,h,m,y=e.kind,x=e.result;if(m=e.input.charCodeAt(e.position),o(m)||a(m)||35===m||38===m||42===m||33===m||124===m||62===m||39===m||34===m||37===m||64===m||96===m)return!1;if((63===m||45===m)&&(c=e.input.charCodeAt(e.position+1),o(c)||n&&a(c)))return!1;for(e.kind="scalar",e.result="",u=l=e.position,p=!1;0!==m;){if(58===m){if(c=e.input.charCodeAt(e.position+1),o(c)||n&&a(c))break}else if(35===m){if(s=e.input.charCodeAt(e.position-1),o(s))break}else{if(e.position===e.lineStart&&b(e)||n&&a(m))break;if(i(m)){if(f=e.line,d=e.lineStart,h=e.lineIndent,A(e,!1,-1),e.lineIndent>=t){p=!0,m=e.input.charCodeAt(e.position);continue}e.position=l,e.line=f,e.lineStart=d,e.lineIndent=h;break}}p&&(g(e,u,l,!1),w(e,e.line-f),u=l=e.position,p=!1),r(m)||(l=e.position+1),m=e.input.charCodeAt(++e.position)}return g(e,u,l,!1),e.result?!0:(e.kind=y,e.result=x,!1)}function k(e,t){var n,r,o;if(n=e.input.charCodeAt(e.position),39!==n)return!1;for(e.kind="scalar",e.result="",e.position++,r=o=e.position;0!==(n=e.input.charCodeAt(e.position));)if(39===n){if(g(e,r,e.position,!0),n=e.input.charCodeAt(++e.position),39!==n)return!0;r=o=e.position,e.position++}else i(n)?(g(e,r,o,!0),w(e,A(e,!1,t)),r=o=e.position):e.position===e.lineStart&&b(e)?h(e,"unexpected end of the document within a single quoted scalar"):(e.position++,o=e.position);h(e,"unexpected end of the stream within a single quoted scalar")}function j(e,t){var n,r,o,a,u,l;if(l=e.input.charCodeAt(e.position),34!==l)return!1;for(e.kind="scalar",e.result="",e.position++,n=r=e.position;0!==(l=e.input.charCodeAt(e.position));){if(34===l)return g(e,n,e.position,!0),e.position++,!0;if(92===l){if(g(e,n,e.position,!0),l=e.input.charCodeAt(++e.position),i(l))A(e,!1,t);else if(256>l&&re[l])e.result+=oe[l],e.position++;else if((u=c(l))>0){for(o=u,a=0;o>0;o--)l=e.input.charCodeAt(++e.position),(u=s(l))>=0?a=(a<<4)+u:h(e,"expected hexadecimal character");e.result+=p(a),e.position++}else h(e,"unknown escape sequence");n=r=e.position}else i(l)?(g(e,n,r,!0),w(e,A(e,!1,t)),n=r=e.position):e.position===e.lineStart&&b(e)?h(e,"unexpected end of the document within a double quoted scalar"):(e.position++,r=e.position)}h(e,"unexpected end of the stream within a double quoted scalar")}function I(e,t){var n,i,r,a,s,c,u,l,p,f,d,m=!0,g=e.tag,y=e.anchor,v={};if(d=e.input.charCodeAt(e.position),91===d)a=93,u=!1,i=[];else{if(123!==d)return!1;a=125,u=!0,i={}}for(null!==e.anchor&&(e.anchorMap[e.anchor]=i),d=e.input.charCodeAt(++e.position);0!==d;){if(A(e,!0,t),d=e.input.charCodeAt(e.position),d===a)return e.position++,e.tag=g,e.anchor=y,e.kind=u?"mapping":"sequence",e.result=i,!0;m||h(e,"missed comma between flow collection entries"),p=l=f=null,s=c=!1,63===d&&(r=e.input.charCodeAt(e.position+1),o(r)&&(s=c=!0,e.position++,A(e,!0,t))),n=e.line,_(e,t,H,!1,!0),p=e.tag,l=e.result,A(e,!0,t),d=e.input.charCodeAt(e.position),!c&&e.line!==n||58!==d||(s=!0,d=e.input.charCodeAt(++e.position),A(e,!0,t),_(e,t,H,!1,!0),f=e.result),u?x(e,i,v,p,l,f):s?i.push(x(e,null,v,p,l,f)):i.push(l),A(e,!0,t),d=e.input.charCodeAt(e.position),44===d?(m=!0,d=e.input.charCodeAt(++e.position)):m=!1}h(e,"unexpected end of the stream within a flow collection")}function S(e,t){var n,o,a,s,c=z,l=!1,p=!1,f=t,d=0,m=!1;if(s=e.input.charCodeAt(e.position),124===s)o=!1;else{if(62!==s)return!1;o=!0}for(e.kind="scalar",e.result="";0!==s;)if(s=e.input.charCodeAt(++e.position),43===s||45===s)z===c?c=43===s?Q:J:h(e,"repeat of a chomping mode identifier");else{if(!((a=u(s))>=0))break;0===a?h(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):p?h(e,"repeat of an indentation width identifier"):(f=t+a-1,p=!0)}if(r(s)){do s=e.input.charCodeAt(++e.position);while(r(s));if(35===s)do s=e.input.charCodeAt(++e.position);while(!i(s)&&0!==s)}for(;0!==s;){for(v(e),e.lineIndent=0,s=e.input.charCodeAt(e.position);(!p||e.lineIndent<f)&&32===s;)e.lineIndent++,s=e.input.charCodeAt(++e.position);if(!p&&e.lineIndent>f&&(f=e.lineIndent),i(s))d++;else{if(e.lineIndent<f){c===Q?e.result+=R.repeat("\n",l?1+d:d):c===z&&l&&(e.result+="\n");break}for(o?r(s)?(m=!0,e.result+=R.repeat("\n",l?1+d:d)):m?(m=!1,e.result+=R.repeat("\n",d+1)):0===d?l&&(e.result+=" "):e.result+=R.repeat("\n",d):e.result+=R.repeat("\n",l?1+d:d),l=!0,p=!0,d=0,n=e.position;!i(s)&&0!==s;)s=e.input.charCodeAt(++e.position);g(e,n,e.position,!1)}}return!0}function O(e,t){var n,i,r,a=e.tag,s=e.anchor,c=[],u=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=c),r=e.input.charCodeAt(e.position);0!==r&&45===r&&(i=e.input.charCodeAt(e.position+1),o(i));)if(u=!0,e.position++,A(e,!0,-1)&&e.lineIndent<=t)c.push(null),r=e.input.charCodeAt(e.position);else if(n=e.line,_(e,t,V,!1,!0),c.push(e.result),A(e,!0,-1),r=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==r)h(e,"bad indentation of a sequence entry");else if(e.lineIndent<t)break;return u?(e.tag=a,e.anchor=s,e.kind="sequence",e.result=c,!0):!1}function E(e,t,n){var i,a,s,c,u=e.tag,l=e.anchor,p={},f={},d=null,m=null,g=null,y=!1,v=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=p),c=e.input.charCodeAt(e.position);0!==c;){if(i=e.input.charCodeAt(e.position+1),s=e.line,63!==c&&58!==c||!o(i)){if(!_(e,n,G,!1,!0))break;if(e.line===s){for(c=e.input.charCodeAt(e.position);r(c);)c=e.input.charCodeAt(++e.position);if(58===c)c=e.input.charCodeAt(++e.position),o(c)||h(e,"a whitespace character is expected after the key-value separator within a block mapping"),y&&(x(e,p,f,d,m,null),d=m=g=null),v=!0,y=!1,a=!1,d=e.tag,m=e.result;else{if(!v)return e.tag=u,e.anchor=l,!0;h(e,"can not read an implicit mapping pair; a colon is missed")}}else{if(!v)return e.tag=u,e.anchor=l,!0;h(e,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===c?(y&&(x(e,p,f,d,m,null),d=m=g=null),v=!0,y=!0,a=!0):y?(y=!1,a=!0):h(e,"incomplete explicit mapping pair; a key node is missed"),e.position+=1,c=i;if((e.line===s||e.lineIndent>t)&&(_(e,t,Z,!0,a)&&(y?m=e.result:g=e.result),y||(x(e,p,f,d,m,g),d=m=g=null),A(e,!0,-1),c=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==c)h(e,"bad indentation of a mapping entry");else if(e.lineIndent<t)break}return y&&x(e,p,f,d,m,null),v&&(e.tag=u,e.anchor=l,e.kind="mapping",e.result=p),v}function F(e){var t,n,i,r,a=!1,s=!1;if(r=e.input.charCodeAt(e.position),33!==r)return!1;if(null!==e.tag&&h(e,"duplication of a tag property"),r=e.input.charCodeAt(++e.position),60===r?(a=!0,r=e.input.charCodeAt(++e.position)):33===r?(s=!0,n="!!",r=e.input.charCodeAt(++e.position)):n="!",t=e.position,a){do r=e.input.charCodeAt(++e.position);while(0!==r&&62!==r);e.position<e.length?(i=e.input.slice(t,e.position),r=e.input.charCodeAt(++e.position)):h(e,"unexpected end of the stream within a verbatim tag")}else{for(;0!==r&&!o(r);)33===r&&(s?h(e,"tag suffix cannot contain exclamation marks"):(n=e.input.slice(t-1,e.position+1),ne.test(n)||h(e,"named tag handle cannot contain such characters"),s=!0,t=e.position+1)),r=e.input.charCodeAt(++e.position);i=e.input.slice(t,e.position),te.test(i)&&h(e,"tag suffix cannot contain flow indicator characters")}return i&&!ie.test(i)&&h(e,"tag name cannot contain such characters: "+i),a?e.tag=i:$.call(e.tagMap,n)?e.tag=e.tagMap[n]+i:"!"===n?e.tag="!"+i:"!!"===n?e.tag="tag:yaml.org,2002:"+i:h(e,'undeclared tag handle "'+n+'"'),!0}function N(e){var t,n;if(n=e.input.charCodeAt(e.position),38!==n)return!1;for(null!==e.anchor&&h(e,"duplication of an anchor property"),n=e.input.charCodeAt(++e.position),t=e.position;0!==n&&!o(n)&&!a(n);)n=e.input.charCodeAt(++e.position);return e.position===t&&h(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(t,e.position),!0}function M(e){var t,n,i;if(i=e.input.charCodeAt(e.position),42!==i)return!1;for(i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!o(i)&&!a(i);)i=e.input.charCodeAt(++e.position);return e.position===t&&h(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),e.anchorMap.hasOwnProperty(n)||h(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],A(e,!0,-1),!0}function _(e,t,n,i,r){var o,a,s,c,u,l,p,f,d=1,m=!1,g=!1;if(null!==e.listener&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,o=a=s=Z===n||V===n,i&&A(e,!0,-1)&&(m=!0,e.lineIndent>t?d=1:e.lineIndent===t?d=0:e.lineIndent<t&&(d=-1)),1===d)for(;F(e)||N(e);)A(e,!0,-1)?(m=!0,s=o,e.lineIndent>t?d=1:e.lineIndent===t?d=0:e.lineIndent<t&&(d=-1)):s=!1;if(s&&(s=m||r),1!==d&&Z!==n||(p=H===n||G===n?t:t+1,f=e.position-e.lineStart,1===d?s&&(O(e,f)||E(e,f,p))||I(e,p)?g=!0:(a&&S(e,p)||k(e,p)||j(e,p)?g=!0:M(e)?(g=!0,null===e.tag&&null===e.anchor||h(e,"alias node should not have any properties")):C(e,p,H===n)&&(g=!0,null===e.tag&&(e.tag="?")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===d&&(g=s&&O(e,f))),null!==e.tag&&"!"!==e.tag)if("?"===e.tag){for(c=0,u=e.implicitTypes.length;u>c;c+=1)if(l=e.implicitTypes[c],l.resolve(e.result)){e.result=l.construct(e.result),e.tag=l.tag,null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);break}}else $.call(e.typeMap,e.tag)?(l=e.typeMap[e.tag],null!==e.result&&l.kind!==e.kind&&h(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+l.kind+'", not "'+e.kind+'"'),l.resolve(e.result)?(e.result=l.construct(e.result),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):h(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):h(e,"unknown tag !<"+e.tag+">");return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||g}function T(e){var t,n,a,s,c=e.position,u=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};0!==(s=e.input.charCodeAt(e.position))&&(A(e,!0,-1),s=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==s));){for(u=!0,s=e.input.charCodeAt(++e.position),t=e.position;0!==s&&!o(s);)s=e.input.charCodeAt(++e.position);for(n=e.input.slice(t,e.position),a=[],n.length<1&&h(e,"directive name must not be less than one character in length");0!==s;){for(;r(s);)s=e.input.charCodeAt(++e.position);if(35===s){do s=e.input.charCodeAt(++e.position);while(0!==s&&!i(s));break}if(i(s))break;for(t=e.position;0!==s&&!o(s);)s=e.input.charCodeAt(++e.position);a.push(e.input.slice(t,e.position))}0!==s&&v(e),$.call(se,n)?se[n](e,n,a):m(e,'unknown document directive "'+n+'"')}return A(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,A(e,!0,-1)):u&&h(e,"directives end mark is expected"),_(e,e.lineIndent-1,Z,!1,!0),A(e,!0,-1),e.checkLineBreaks&&ee.test(e.input.slice(c,e.position))&&m(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&b(e)?void(46===e.input.charCodeAt(e.position)&&(e.position+=3,A(e,!0,-1))):void(e.position<e.length-1&&h(e,"end of the stream or a document separator is expected"))}function L(e,t){e=String(e),t=t||{},0!==e.length&&(10!==e.charCodeAt(e.length-1)&&13!==e.charCodeAt(e.length-1)&&(e+="\n"),65279===e.charCodeAt(0)&&(e=e.slice(1)));var n=new f(e,t);for(n.input+="\x00";32===n.input.charCodeAt(n.position);)n.lineIndent+=1,n.position+=1;for(;n.position<n.length-1;)T(n);return n.documents}function D(e,t,n){var i,r,o=L(e,n);for(i=0,r=o.length;r>i;i+=1)t(o[i])}function U(e,t){var n=L(e,t);if(0!==n.length){if(1===n.length)return n[0];throw new B("expected a single document in the stream, but found more")}}function q(e,t,n){D(e,t,R.extend({schema:W},n))}function Y(e,t){return U(e,R.extend({schema:W},t))}for(var R=e("./common"),B=e("./exception"),P=e("./mark"),W=e("./schema/default_safe"),K=e("./schema/default_full"),$=Object.prototype.hasOwnProperty,H=1,G=2,V=3,Z=4,z=1,J=2,Q=3,X=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,ee=/[\x85\u2028\u2029]/,te=/[,\[\]\{\}]/,ne=/^(?:!|!!|![a-z\-]+!)$/i,ie=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i,re=new Array(256),oe=new Array(256),ae=0;256>ae;ae++)re[ae]=l(ae)?1:0,oe[ae]=l(ae);var se={YAML:function(e,t,n){var i,r,o;null!==e.version&&h(e,"duplication of %YAML directive"),1!==n.length&&h(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),null===i&&h(e,"ill-formed argument of the YAML directive"),r=parseInt(i[1],10),o=parseInt(i[2],10),1!==r&&h(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=2>o,1!==o&&2!==o&&m(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var i,r;2!==n.length&&h(e,"TAG directive accepts exactly two arguments"),i=n[0],r=n[1],ne.test(i)||h(e,"ill-formed tag handle (first argument) of the TAG directive"),$.call(e.tagMap,i)&&h(e,'there is a previously declared suffix for "'+i+'" tag handle'),ie.test(r)||h(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[i]=r}};t.exports.loadAll=D,t.exports.load=U,t.exports.safeLoadAll=q,t.exports.safeLoad=Y},{"./common":2,"./exception":4,"./mark":6,"./schema/default_full":9,"./schema/default_safe":10}],6:[function(e,t,n){"use strict";function i(e,t,n,i,r){this.name=e,this.buffer=t,this.position=n,this.line=i,this.column=r}var r=e("./common");i.prototype.getSnippet=function(e,t){var n,i,o,a,s;if(!this.buffer)return null;for(e=e||4,t=t||75,n="",i=this.position;i>0&&-1==="\x00\r\n…\u2028\u2029".indexOf(this.buffer.charAt(i-1));)if(i-=1,this.position-i>t/2-1){n=" ... ",i+=5;break}for(o="",a=this.position;a<this.buffer.length&&-1==="\x00\r\n…\u2028\u2029".indexOf(this.buffer.charAt(a));)if(a+=1,a-this.position>t/2-1){o=" ... ",a-=5;break}return s=this.buffer.slice(i,a),r.repeat(" ",e)+n+s+o+"\n"+r.repeat(" ",e+this.position-i+n.length)+"^"},i.prototype.toString=function(e){var t,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet(),t&&(n+=":\n"+t)),n},t.exports=i},{"./common":2}],7:[function(e,t,n){"use strict";function i(e,t,n){var r=[];return e.include.forEach(function(e){n=i(e,t,n)}),e[t].forEach(function(e){n.forEach(function(t,n){t.tag===e.tag&&r.push(n)}),n.push(e)}),n.filter(function(e,t){return-1===r.indexOf(t)})}function r(){function e(e){i[e.tag]=e}var t,n,i={};for(t=0,n=arguments.length;n>t;t+=1)arguments[t].forEach(e);return i}function o(e){this.include=e.include||[],this.implicit=e.implicit||[],this.explicit=e.explicit||[],this.implicit.forEach(function(e){if(e.loadKind&&"scalar"!==e.loadKind)throw new s("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")}),this.compiledImplicit=i(this,"implicit",[]),this.compiledExplicit=i(this,"explicit",[]),this.compiledTypeMap=r(this.compiledImplicit,this.compiledExplicit)}var a=e("./common"),s=e("./exception"),c=e("./type");o.DEFAULT=null,o.create=function(){var e,t;switch(arguments.length){case 1:e=o.DEFAULT,t=arguments[0];break;case 2:e=arguments[0],t=arguments[1];break;default:throw new s("Wrong number of arguments for Schema.create function")}if(e=a.toArray(e),t=a.toArray(t),!e.every(function(e){return e instanceof o}))throw new s("Specified list of super schemas (or a single Schema object) contains a non-Schema object.");if(!t.every(function(e){return e instanceof c}))throw new s("Specified list of YAML types (or a single Type object) contains a non-Type object.");return new o({include:e,explicit:t})},t.exports=o},{"./common":2,"./exception":4,"./type":13}],8:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({include:[e("./json")]})},{"../schema":7,"./json":12}],9:[function(e,t,n){"use strict";var i=e("../schema");t.exports=i.DEFAULT=new i({include:[e("./default_safe")],explicit:[e("../type/js/undefined"),e("../type/js/regexp"),e("../type/js/function")]})},{"../schema":7,"../type/js/function":18,"../type/js/regexp":19,"../type/js/undefined":20,"./default_safe":10}],10:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({include:[e("./core")],implicit:[e("../type/timestamp"),e("../type/merge")],explicit:[e("../type/binary"),e("../type/omap"),e("../type/pairs"),e("../type/set")]})},{"../schema":7,"../type/binary":14,"../type/merge":22,"../type/omap":24,"../type/pairs":25,"../type/set":27,"../type/timestamp":29,"./core":8}],11:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({explicit:[e("../type/str"),e("../type/seq"),e("../type/map")]})},{"../schema":7,"../type/map":21,"../type/seq":26,"../type/str":28}],12:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({include:[e("./failsafe")],implicit:[e("../type/null"),e("../type/bool"),e("../type/int"),e("../type/float")]})},{"../schema":7,"../type/bool":15,"../type/float":16,"../type/int":17,"../type/null":23,"./failsafe":11}],13:[function(e,t,n){"use strict";function i(e){var t={};return null!==e&&Object.keys(e).forEach(function(n){e[n].forEach(function(e){t[String(e)]=n})}),t}function r(e,t){if(t=t||{},Object.keys(t).forEach(function(t){if(-1===a.indexOf(t))throw new o('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')}),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=i(t.styleAliases||null),-1===s.indexOf(this.kind))throw new o('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var o=e("./exception"),a=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],s=["scalar","sequence","mapping"];t.exports=r},{"./exception":4}],14:[function(e,t,n){"use strict";function i(e){if(null===e)return!1;var t,n,i=0,r=e.length,o=p;for(n=0;r>n;n++)if(t=o.indexOf(e.charAt(n)),!(t>64)){if(0>t)return!1;i+=6}return i%8===0}function r(e){var t,n,i=e.replace(/[\r\n=]/g,""),r=i.length,o=p,a=0,c=[];for(t=0;r>t;t++)t%4===0&&t&&(c.push(a>>16&255),c.push(a>>8&255),c.push(255&a)),a=a<<6|o.indexOf(i.charAt(t));return n=r%4*6,0===n?(c.push(a>>16&255),c.push(a>>8&255),c.push(255&a)):18===n?(c.push(a>>10&255),c.push(a>>2&255)):12===n&&c.push(a>>4&255),s?new s(c):c}function o(e){var t,n,i="",r=0,o=e.length,a=p;for(t=0;o>t;t++)t%3===0&&t&&(i+=a[r>>18&63],i+=a[r>>12&63],i+=a[r>>6&63],i+=a[63&r]),r=(r<<8)+e[t];return n=o%3,0===n?(i+=a[r>>18&63],i+=a[r>>12&63],i+=a[r>>6&63],i+=a[63&r]):2===n?(i+=a[r>>10&63],i+=a[r>>4&63],i+=a[r<<2&63],i+=a[64]):1===n&&(i+=a[r>>2&63],i+=a[r<<4&63],i+=a[64],i+=a[64]),i}function a(e){return s&&s.isBuffer(e)}var s;try{var c=e;s=c("buffer").Buffer;
+}catch(u){}var l=e("../type"),p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";t.exports=new l("tag:yaml.org,2002:binary",{kind:"scalar",resolve:i,construct:r,predicate:a,represent:o})},{"../type":13}],15:[function(e,t,n){"use strict";function i(e){if(null===e)return!1;var t=e.length;return 4===t&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e)}function r(e){return"true"===e||"True"===e||"TRUE"===e}function o(e){return"[object Boolean]"===Object.prototype.toString.call(e)}var a=e("../type");t.exports=new a("tag:yaml.org,2002:bool",{kind:"scalar",resolve:i,construct:r,predicate:o,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},{"../type":13}],16:[function(e,t,n){"use strict";function i(e){return null===e?!1:!!u.test(e)}function r(e){var t,n,i,r;return t=e.replace(/_/g,"").toLowerCase(),n="-"===t[0]?-1:1,r=[],"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:t.indexOf(":")>=0?(t.split(":").forEach(function(e){r.unshift(parseFloat(e,10))}),t=0,i=1,r.forEach(function(e){t+=e*i,i*=60}),n*t):n*parseFloat(t,10)}function o(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(s.isNegativeZero(e))return"-0.0";return n=e.toString(10),l.test(n)?n.replace("e",".e"):n}function a(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!==0||s.isNegativeZero(e))}var s=e("../common"),c=e("../type"),u=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)\\.[0-9_]*(?:[eE][-+][0-9]+)?|\\.[0-9_]+(?:[eE][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),l=/^[-+]?[0-9]+e/;t.exports=new c("tag:yaml.org,2002:float",{kind:"scalar",resolve:i,construct:r,predicate:a,represent:o,defaultStyle:"lowercase"})},{"../common":2,"../type":13}],17:[function(e,t,n){"use strict";function i(e){return e>=48&&57>=e||e>=65&&70>=e||e>=97&&102>=e}function r(e){return e>=48&&55>=e}function o(e){return e>=48&&57>=e}function a(e){if(null===e)return!1;var t,n=e.length,a=0,s=!1;if(!n)return!1;if(t=e[a],"-"!==t&&"+"!==t||(t=e[++a]),"0"===t){if(a+1===n)return!0;if(t=e[++a],"b"===t){for(a++;n>a;a++)if(t=e[a],"_"!==t){if("0"!==t&&"1"!==t)return!1;s=!0}return s}if("x"===t){for(a++;n>a;a++)if(t=e[a],"_"!==t){if(!i(e.charCodeAt(a)))return!1;s=!0}return s}for(;n>a;a++)if(t=e[a],"_"!==t){if(!r(e.charCodeAt(a)))return!1;s=!0}return s}for(;n>a;a++)if(t=e[a],"_"!==t){if(":"===t)break;if(!o(e.charCodeAt(a)))return!1;s=!0}return s?":"!==t?!0:/^(:[0-5]?[0-9])+$/.test(e.slice(a)):!1}function s(e){var t,n,i=e,r=1,o=[];return-1!==i.indexOf("_")&&(i=i.replace(/_/g,"")),t=i[0],"-"!==t&&"+"!==t||("-"===t&&(r=-1),i=i.slice(1),t=i[0]),"0"===i?0:"0"===t?"b"===i[1]?r*parseInt(i.slice(2),2):"x"===i[1]?r*parseInt(i,16):r*parseInt(i,8):-1!==i.indexOf(":")?(i.split(":").forEach(function(e){o.unshift(parseInt(e,10))}),i=0,n=1,o.forEach(function(e){i+=e*n,n*=60}),r*i):r*parseInt(i,10)}function c(e){return"[object Number]"===Object.prototype.toString.call(e)&&e%1===0&&!u.isNegativeZero(e)}var u=e("../common"),l=e("../type");t.exports=new l("tag:yaml.org,2002:int",{kind:"scalar",resolve:a,construct:s,predicate:c,represent:{binary:function(e){return"0b"+e.toString(2)},octal:function(e){return"0"+e.toString(8)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return"0x"+e.toString(16).toUpperCase()}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},{"../common":2,"../type":13}],18:[function(e,t,n){"use strict";function i(e){if(null===e)return!1;try{var t="("+e+")",n=s.parse(t,{range:!0});return"Program"===n.type&&1===n.body.length&&"ExpressionStatement"===n.body[0].type&&"FunctionExpression"===n.body[0].expression.type}catch(i){return!1}}function r(e){var t,n="("+e+")",i=s.parse(n,{range:!0}),r=[];if("Program"!==i.type||1!==i.body.length||"ExpressionStatement"!==i.body[0].type||"FunctionExpression"!==i.body[0].expression.type)throw new Error("Failed to resolve function");return i.body[0].expression.params.forEach(function(e){r.push(e.name)}),t=i.body[0].expression.body.range,new Function(r,n.slice(t[0]+1,t[1]-1))}function o(e){return e.toString()}function a(e){return"[object Function]"===Object.prototype.toString.call(e)}var s;try{var c=e;s=c("esprima")}catch(u){"undefined"!=typeof window&&(s=window.esprima)}var l=e("../../type");t.exports=new l("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:i,construct:r,predicate:a,represent:o})},{"../../type":13}],19:[function(e,t,n){"use strict";function i(e){if(null===e)return!1;if(0===e.length)return!1;var t=e,n=/\/([gim]*)$/.exec(e),i="";if("/"===t[0]){if(n&&(i=n[1]),i.length>3)return!1;if("/"!==t[t.length-i.length-1])return!1}return!0}function r(e){var t=e,n=/\/([gim]*)$/.exec(e),i="";return"/"===t[0]&&(n&&(i=n[1]),t=t.slice(1,t.length-i.length-1)),new RegExp(t,i)}function o(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}function a(e){return"[object RegExp]"===Object.prototype.toString.call(e)}var s=e("../../type");t.exports=new s("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:i,construct:r,predicate:a,represent:o})},{"../../type":13}],20:[function(e,t,n){"use strict";function i(){return!0}function r(){}function o(){return""}function a(e){return"undefined"==typeof e}var s=e("../../type");t.exports=new s("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:i,construct:r,predicate:a,represent:o})},{"../../type":13}],21:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}})},{"../type":13}],22:[function(e,t,n){"use strict";function i(e){return"<<"===e||null===e}var r=e("../type");t.exports=new r("tag:yaml.org,2002:merge",{kind:"scalar",resolve:i})},{"../type":13}],23:[function(e,t,n){"use strict";function i(e){if(null===e)return!0;var t=e.length;return 1===t&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)}function r(){return null}function o(e){return null===e}var a=e("../type");t.exports=new a("tag:yaml.org,2002:null",{kind:"scalar",resolve:i,construct:r,predicate:o,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},{"../type":13}],24:[function(e,t,n){"use strict";function i(e){if(null===e)return!0;var t,n,i,r,o,c=[],u=e;for(t=0,n=u.length;n>t;t+=1){if(i=u[t],o=!1,"[object Object]"!==s.call(i))return!1;for(r in i)if(a.call(i,r)){if(o)return!1;o=!0}if(!o)return!1;if(-1!==c.indexOf(r))return!1;c.push(r)}return!0}function r(e){return null!==e?e:[]}var o=e("../type"),a=Object.prototype.hasOwnProperty,s=Object.prototype.toString;t.exports=new o("tag:yaml.org,2002:omap",{kind:"sequence",resolve:i,construct:r})},{"../type":13}],25:[function(e,t,n){"use strict";function i(e){if(null===e)return!0;var t,n,i,r,o,s=e;for(o=new Array(s.length),t=0,n=s.length;n>t;t+=1){if(i=s[t],"[object Object]"!==a.call(i))return!1;if(r=Object.keys(i),1!==r.length)return!1;o[t]=[r[0],i[r[0]]]}return!0}function r(e){if(null===e)return[];var t,n,i,r,o,a=e;for(o=new Array(a.length),t=0,n=a.length;n>t;t+=1)i=a[t],r=Object.keys(i),o[t]=[r[0],i[r[0]]];return o}var o=e("../type"),a=Object.prototype.toString;t.exports=new o("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:i,construct:r})},{"../type":13}],26:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return null!==e?e:[]}})},{"../type":13}],27:[function(e,t,n){"use strict";function i(e){if(null===e)return!0;var t,n=e;for(t in n)if(a.call(n,t)&&null!==n[t])return!1;return!0}function r(e){return null!==e?e:{}}var o=e("../type"),a=Object.prototype.hasOwnProperty;t.exports=new o("tag:yaml.org,2002:set",{kind:"mapping",resolve:i,construct:r})},{"../type":13}],28:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return null!==e?e:""}})},{"../type":13}],29:[function(e,t,n){"use strict";function i(e){return null===e?!1:null!==s.exec(e)?!0:null!==c.exec(e)}function r(e){var t,n,i,r,o,a,u,l,p,f,d=0,h=null;if(t=s.exec(e),null===t&&(t=c.exec(e)),null===t)throw new Error("Date resolve error");if(n=+t[1],i=+t[2]-1,r=+t[3],!t[4])return new Date(Date.UTC(n,i,r));if(o=+t[4],a=+t[5],u=+t[6],t[7]){for(d=t[7].slice(0,3);d.length<3;)d+="0";d=+d}return t[9]&&(l=+t[10],p=+(t[11]||0),h=6e4*(60*l+p),"-"===t[9]&&(h=-h)),f=new Date(Date.UTC(n,i,r,o,a,u,d)),h&&f.setTime(f.getTime()-h),f}function o(e){return e.toISOString()}var a=e("../type"),s=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),c=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");t.exports=new a("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:i,construct:r,instanceOf:Date,represent:o})},{"../type":13}],"/":[function(e,t,n){"use strict";var i=e("./lib/js-yaml.js");t.exports=i},{"./lib/js-yaml.js":1}]},{},[])("/")});
diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/dumper.js b/tools/eslint/node_modules/js-yaml/lib/js-yaml/dumper.js
index 855edfc9e6..41d3d457fd 100644
--- a/tools/eslint/node_modules/js-yaml/lib/js-yaml/dumper.js
+++ b/tools/eslint/node_modules/js-yaml/lib/js-yaml/dumper.js
@@ -12,7 +12,6 @@ var _hasOwnProperty = Object.prototype.hasOwnProperty;
var CHAR_TAB = 0x09; /* Tab */
var CHAR_LINE_FEED = 0x0A; /* LF */
-var CHAR_CARRIAGE_RETURN = 0x0D; /* CR */
var CHAR_SPACE = 0x20; /* Space */
var CHAR_EXCLAMATION = 0x21; /* ! */
var CHAR_DOUBLE_QUOTE = 0x22; /* " */
@@ -127,6 +126,7 @@ function State(options) {
this.usedDuplicates = null;
}
+// Indents every line in a string. Empty lines (\n only) are not indented.
function indentString(string, spaces) {
var ind = common.repeat(' ', spaces),
position = 0,
@@ -171,318 +171,308 @@ function testImplicitResolving(state, str) {
return false;
}
-function StringBuilder(source) {
- this.source = source;
- this.result = '';
- this.checkpoint = 0;
+// [33] s-white ::= s-space | s-tab
+function isWhitespace(c) {
+ return c === CHAR_SPACE || c === CHAR_TAB;
}
-StringBuilder.prototype.takeUpTo = function (position) {
- var er;
-
- if (position < this.checkpoint) {
- er = new Error('position should be > checkpoint');
- er.position = position;
- er.checkpoint = this.checkpoint;
- throw er;
- }
-
- this.result += this.source.slice(this.checkpoint, position);
- this.checkpoint = position;
- return this;
-};
-
-StringBuilder.prototype.escapeChar = function () {
- var character, esc;
-
- character = this.source.charCodeAt(this.checkpoint);
- esc = ESCAPE_SEQUENCES[character] || encodeHex(character);
- this.result += esc;
- this.checkpoint += 1;
-
- return this;
-};
-
-StringBuilder.prototype.finish = function () {
- if (this.source.length > this.checkpoint) {
- this.takeUpTo(this.source.length);
- }
-};
-
-function writeScalar(state, object, level, iskey) {
- var simple, first, spaceWrap, folded, literal, single, double,
- sawLineFeed, linePosition, longestLine, indent, max, character,
- position, escapeSeq, hexEsc, previous, lineLength, modifier,
- trailingLineBreaks, result;
-
- if (object.length === 0) {
- state.dump = "''";
- return;
- }
-
- if (!state.noCompatMode &&
- DEPRECATED_BOOLEANS_SYNTAX.indexOf(object) !== -1) {
- state.dump = "'" + object + "'";
- return;
- }
-
- simple = true;
- first = object.length ? object.charCodeAt(0) : 0;
- spaceWrap = (CHAR_SPACE === first ||
- CHAR_SPACE === object.charCodeAt(object.length - 1));
-
- // Simplified check for restricted first characters
- // http://www.yaml.org/spec/1.2/spec.html#ns-plain-first%28c%29
- if (CHAR_MINUS === first ||
- CHAR_QUESTION === first ||
- CHAR_COMMERCIAL_AT === first ||
- CHAR_GRAVE_ACCENT === first) {
- simple = false;
- }
-
- // Can only use > and | if not wrapped in spaces or is not a key.
- // Also, don't use if in flow mode.
- if (spaceWrap || (state.flowLevel > -1 && state.flowLevel <= level)) {
- if (spaceWrap) simple = false;
-
- folded = false;
- literal = false;
- } else {
- folded = !iskey;
- literal = !iskey;
- }
-
- single = true;
- double = new StringBuilder(object);
-
- sawLineFeed = false;
- linePosition = 0;
- longestLine = 0;
-
- indent = state.indent * level;
- max = state.lineWidth;
+// Returns true if the character can be printed without escaping.
+// From YAML 1.2: "any allowed characters known to be non-printable
+// should also be escaped. [However,] This isn’t mandatory"
+// Derived from nb-char - \t - #x85 - #xA0 - #x2028 - #x2029.
+function isPrintable(c) {
+ return (0x00020 <= c && c <= 0x00007E)
+ || ((0x000A1 <= c && c <= 0x00D7FF) && c !== 0x2028 && c !== 0x2029)
+ || ((0x0E000 <= c && c <= 0x00FFFD) && c !== 0xFEFF /* BOM */)
+ || (0x10000 <= c && c <= 0x10FFFF);
+}
- // Replace -1 with biggest ingeger number according to
- // http://ecma262-5.com/ELS5_HTML.htm#Section_8.5
- if (max === -1) max = 9007199254740991;
+// Simplified test for values allowed after the first character in plain style.
+function isPlainSafe(c) {
+ // Uses a subset of nb-char - c-flow-indicator - ":" - "#"
+ // where nb-char ::= c-printable - b-char - c-byte-order-mark.
+ return isPrintable(c) && c !== 0xFEFF
+ // - c-flow-indicator
+ && c !== CHAR_COMMA
+ && c !== CHAR_LEFT_SQUARE_BRACKET
+ && c !== CHAR_RIGHT_SQUARE_BRACKET
+ && c !== CHAR_LEFT_CURLY_BRACKET
+ && c !== CHAR_RIGHT_CURLY_BRACKET
+ // - ":" - "#"
+ && c !== CHAR_COLON
+ && c !== CHAR_SHARP;
+}
- if (indent < 40) max -= indent;
- else max = 40;
+// Simplified test for values allowed as the first character in plain style.
+function isPlainSafeFirst(c) {
+ // Uses a subset of ns-char - c-indicator
+ // where ns-char = nb-char - s-white.
+ return isPrintable(c) && c !== 0xFEFF
+ && !isWhitespace(c) // - s-white
+ // - (c-indicator ::=
+ // “-” | “?” | “:” | “,” | “[” | “]” | “{” | “}”
+ && c !== CHAR_MINUS
+ && c !== CHAR_QUESTION
+ && c !== CHAR_COLON
+ && c !== CHAR_COMMA
+ && c !== CHAR_LEFT_SQUARE_BRACKET
+ && c !== CHAR_RIGHT_SQUARE_BRACKET
+ && c !== CHAR_LEFT_CURLY_BRACKET
+ && c !== CHAR_RIGHT_CURLY_BRACKET
+ // | “#” | “&” | “*” | “!” | “|” | “>” | “'” | “"”
+ && c !== CHAR_SHARP
+ && c !== CHAR_AMPERSAND
+ && c !== CHAR_ASTERISK
+ && c !== CHAR_EXCLAMATION
+ && c !== CHAR_VERTICAL_LINE
+ && c !== CHAR_GREATER_THAN
+ && c !== CHAR_SINGLE_QUOTE
+ && c !== CHAR_DOUBLE_QUOTE
+ // | “%” | “@” | “`”)
+ && c !== CHAR_PERCENT
+ && c !== CHAR_COMMERCIAL_AT
+ && c !== CHAR_GRAVE_ACCENT;
+}
- for (position = 0; position < object.length; position++) {
- character = object.charCodeAt(position);
- if (simple) {
- // Characters that can never appear in the simple scalar
- if (!simpleChar(character)) {
- simple = false;
- } else {
- // Still simple. If we make it all the way through like
- // this, then we can just dump the string as-is.
- continue;
+var STYLE_PLAIN = 1,
+ STYLE_SINGLE = 2,
+ STYLE_LITERAL = 3,
+ STYLE_FOLDED = 4,
+ STYLE_DOUBLE = 5;
+
+// Determines which scalar styles are possible and returns the preferred style.
+// lineWidth = -1 => no limit.
+// Pre-conditions: str.length > 0.
+// Post-conditions:
+// STYLE_PLAIN or STYLE_SINGLE => no \n are in the string.
+// STYLE_LITERAL => no lines are suitable for folding (or lineWidth is -1).
+// STYLE_FOLDED => a line > lineWidth and can be folded (and lineWidth != -1).
+function chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType) {
+ var i;
+ var char;
+ var hasLineBreak = false;
+ var hasFoldableLine = false; // only checked if shouldTrackWidth
+ var shouldTrackWidth = lineWidth !== -1;
+ var previousLineBreak = -1; // count the first line correctly
+ var plain = isPlainSafeFirst(string.charCodeAt(0))
+ && !isWhitespace(string.charCodeAt(string.length - 1));
+
+ if (singleLineOnly) {
+ // Case: no block styles.
+ // Check for disallowed characters to rule out plain and single.
+ for (i = 0; i < string.length; i++) {
+ char = string.charCodeAt(i);
+ if (!isPrintable(char)) {
+ return STYLE_DOUBLE;
}
+ plain = plain && isPlainSafe(char);
}
-
- if (single && character === CHAR_SINGLE_QUOTE) {
- single = false;
- }
-
- escapeSeq = ESCAPE_SEQUENCES[character];
- hexEsc = needsHexEscape(character);
-
- if (!escapeSeq && !hexEsc) {
- continue;
- }
-
- if (character !== CHAR_LINE_FEED &&
- character !== CHAR_DOUBLE_QUOTE &&
- character !== CHAR_SINGLE_QUOTE) {
- folded = false;
- literal = false;
- } else if (character === CHAR_LINE_FEED) {
- sawLineFeed = true;
- single = false;
- if (position > 0) {
- previous = object.charCodeAt(position - 1);
- if (previous === CHAR_SPACE) {
- literal = false;
- folded = false;
+ } else {
+ // Case: block styles permitted.
+ for (i = 0; i < string.length; i++) {
+ char = string.charCodeAt(i);
+ if (char === CHAR_LINE_FEED) {
+ hasLineBreak = true;
+ // Check if any line can be folded.
+ if (shouldTrackWidth) {
+ hasFoldableLine = hasFoldableLine ||
+ // Foldable line = too long, and not more-indented.
+ (i - previousLineBreak - 1 > lineWidth &&
+ string[previousLineBreak + 1] !== ' ');
+ previousLineBreak = i;
}
+ } else if (!isPrintable(char)) {
+ return STYLE_DOUBLE;
}
- if (folded) {
- lineLength = position - linePosition;
- linePosition = position;
- if (lineLength > longestLine) longestLine = lineLength;
- }
+ plain = plain && isPlainSafe(char);
}
-
- if (character !== CHAR_DOUBLE_QUOTE) single = false;
-
- double.takeUpTo(position);
- double.escapeChar();
+ // in case the end is missing a \n
+ hasFoldableLine = hasFoldableLine || (shouldTrackWidth &&
+ (i - previousLineBreak - 1 > lineWidth &&
+ string[previousLineBreak + 1] !== ' '));
+ }
+ // Although every style can represent \n without escaping, prefer block styles
+ // for multiline, since they're more readable and they don't add empty lines.
+ // Also prefer folding a super-long line.
+ if (!hasLineBreak && !hasFoldableLine) {
+ // Strings interpretable as another type have to be quoted;
+ // e.g. the string 'true' vs. the boolean true.
+ return plain && !testAmbiguousType(string)
+ ? STYLE_PLAIN : STYLE_SINGLE;
}
+ // Edge case: block indentation indicator can only have one digit.
+ if (string[0] === ' ' && indentPerLevel > 9) {
+ return STYLE_DOUBLE;
+ }
+ // At this point we know block styles are valid.
+ // Prefer literal style unless we want to fold.
+ return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL;
+}
- if (simple && testImplicitResolving(state, object)) simple = false;
+// Note: line breaking/folding is implemented for only the folded style.
+// NB. We drop the last trailing newline (if any) of a returned block scalar
+// since the dumper adds its own newline. This always works:
+// • No ending newline => unaffected; already using strip "-" chomping.
+// • Ending newline => removed then restored.
+// Importantly, this keeps the "+" chomp indicator from gaining an extra line.
+function writeScalar(state, string, level, iskey) {
+ state.dump = (function () {
+ if (string.length === 0) {
+ return "''";
+ }
+ if (!state.noCompatMode &&
+ DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1) {
+ return "'" + string + "'";
+ }
- modifier = '';
- if (folded || literal) {
- trailingLineBreaks = 0;
- if (object.charCodeAt(object.length - 1) === CHAR_LINE_FEED) {
- trailingLineBreaks += 1;
- if (object.charCodeAt(object.length - 2) === CHAR_LINE_FEED) {
- trailingLineBreaks += 1;
- }
+ var indent = state.indent * Math.max(1, level); // no 0-indent scalars
+ // As indentation gets deeper, let the width decrease monotonically
+ // to the lower bound min(state.lineWidth, 40).
+ // Note that this implies
+ // state.lineWidth ≤ 40 + state.indent: width is fixed at the lower bound.
+ // state.lineWidth > 40 + state.indent: width decreases until the lower bound.
+ // This behaves better than a constant minimum width which disallows narrower options,
+ // or an indent threshold which causes the width to suddenly increase.
+ var lineWidth = state.lineWidth === -1
+ ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent);
+
+ // Without knowing if keys are implicit/explicit, assume implicit for safety.
+ var singleLineOnly = iskey
+ // No block styles in flow mode.
+ || (state.flowLevel > -1 && level >= state.flowLevel);
+ function testAmbiguity(string) {
+ return testImplicitResolving(state, string);
}
- if (trailingLineBreaks === 0) modifier = '-';
- else if (trailingLineBreaks === 2) modifier = '+';
- }
+ switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, testAmbiguity)) {
+ case STYLE_PLAIN:
+ return string;
+ case STYLE_SINGLE:
+ return "'" + string.replace(/'/g, "''") + "'";
+ case STYLE_LITERAL:
+ return '|' + blockHeader(string, state.indent)
+ + dropEndingNewline(indentString(string, indent));
+ case STYLE_FOLDED:
+ return '>' + blockHeader(string, state.indent)
+ + dropEndingNewline(indentString(foldString(string, lineWidth), indent));
+ case STYLE_DOUBLE:
+ return '"' + escapeString(string, lineWidth) + '"';
+ default:
+ throw new YAMLException('impossible error: invalid scalar style');
+ }
+ }());
+}
- if (literal && longestLine < max || state.tag !== null) {
- folded = false;
- }
+// Pre-conditions: string is valid for a block scalar, 1 <= indentPerLevel <= 9.
+function blockHeader(string, indentPerLevel) {
+ var indentIndicator = (string[0] === ' ') ? String(indentPerLevel) : '';
- // If it's literally one line, then don't bother with the literal.
- // We may still want to do a fold, though, if it's a super long line.
- if (!sawLineFeed) literal = false;
-
- if (simple) {
- state.dump = object;
- } else if (single) {
- state.dump = '\'' + object + '\'';
- } else if (folded) {
- result = fold(object, max);
- state.dump = '>' + modifier + '\n' + indentString(result, indent);
- } else if (literal) {
- if (!modifier) object = object.replace(/\n$/, '');
- state.dump = '|' + modifier + '\n' + indentString(object, indent);
- } else if (double) {
- double.finish();
- state.dump = '"' + double.result + '"';
- } else {
- throw new Error('Failed to dump scalar value');
- }
+ // note the special case: the string '\n' counts as a "trailing" empty line.
+ var clip = string[string.length - 1] === '\n';
+ var keep = clip && (string[string.length - 2] === '\n' || string === '\n');
+ var chomp = keep ? '+' : (clip ? '' : '-');
- return;
+ return indentIndicator + chomp + '\n';
}
-// The `trailing` var is a regexp match of any trailing `\n` characters.
-//
-// There are three cases we care about:
-//
-// 1. One trailing `\n` on the string. Just use `|` or `>`.
-// This is the assumed default. (trailing = null)
-// 2. No trailing `\n` on the string. Use `|-` or `>-` to "chomp" the end.
-// 3. More than one trailing `\n` on the string. Use `|+` or `>+`.
-//
-// In the case of `>+`, these line breaks are *not* doubled (like the line
-// breaks within the string), so it's important to only end with the exact
-// same number as we started.
-function fold(object, max) {
- var result = '',
- position = 0,
- length = object.length,
- trailing = /\n+$/.exec(object),
- newLine;
-
- if (trailing) {
- length = trailing.index + 1;
- }
-
- while (position < length) {
- newLine = object.indexOf('\n', position);
- if (newLine > length || newLine === -1) {
- if (result) result += '\n\n';
- result += foldLine(object.slice(position, length), max);
- position = length;
+// (See the note for writeScalar.)
+function dropEndingNewline(string) {
+ return string[string.length - 1] === '\n' ? string.slice(0, -1) : string;
+}
- } else {
- if (result) result += '\n\n';
- result += foldLine(object.slice(position, newLine), max);
- position = newLine + 1;
- }
+// Note: a long line without a suitable break point will exceed the width limit.
+// Pre-conditions: every char in str isPrintable, str.length > 0, width > 0.
+function foldString(string, width) {
+ // In folded style, $k$ consecutive newlines output as $k+1$ newlines—
+ // unless they're before or after a more-indented line, or at the very
+ // beginning or end, in which case $k$ maps to $k$.
+ // Therefore, parse each chunk as newline(s) followed by a content line.
+ var lineRe = /(\n+)([^\n]*)/g;
+
+ // first line (possibly an empty line)
+ var result = (function () {
+ var nextLF = string.indexOf('\n');
+ nextLF = nextLF !== -1 ? nextLF : string.length;
+ lineRe.lastIndex = nextLF;
+ return foldLine(string.slice(0, nextLF), width);
+ }());
+ // If we haven't reached the first content line yet, don't add an extra \n.
+ var prevMoreIndented = string[0] === '\n' || string[0] === ' ';
+ var moreIndented;
+
+ // rest of the lines
+ var match;
+ while ((match = lineRe.exec(string))) {
+ var prefix = match[1], line = match[2];
+ moreIndented = (line[0] === ' ');
+ result += prefix
+ + (!prevMoreIndented && !moreIndented && line !== ''
+ ? '\n' : '')
+ + foldLine(line, width);
+ prevMoreIndented = moreIndented;
}
- if (trailing && trailing[0] !== '\n') result += trailing[0];
-
return result;
}
-function foldLine(line, max) {
- if (line === '') return line;
-
- var foldRe = /[^\s] [^\s]/g,
- result = '',
- prevMatch = 0,
- foldStart = 0,
- match = foldRe.exec(line),
- index,
- foldEnd,
- folded;
-
- while (match) {
- index = match.index;
-
- // when we cross the max len, if the previous match would've
- // been ok, use that one, and carry on. If there was no previous
- // match on this fold section, then just have a long line.
- if (index - foldStart > max) {
- if (prevMatch !== foldStart) foldEnd = prevMatch;
- else foldEnd = index;
-
- if (result) result += '\n';
- folded = line.slice(foldStart, foldEnd);
- result += folded;
- foldStart = foldEnd + 1;
+// Greedy line breaking.
+// Picks the longest line under the limit each time,
+// otherwise settles for the shortest line over the limit.
+// NB. More-indented lines *cannot* be folded, as that would add an extra \n.
+function foldLine(line, width) {
+ if (line === '' || line[0] === ' ') return line;
+
+ // Since a more-indented line adds a \n, breaks can't be followed by a space.
+ var breakRe = / [^ ]/g; // note: the match index will always be <= length-2.
+ var match;
+ // start is an inclusive index. end, curr, and next are exclusive.
+ var start = 0, end, curr = 0, next = 0;
+ var result = '';
+
+ // Invariants: 0 <= start <= length-1.
+ // 0 <= curr <= next <= max(0, length-2). curr - start <= width.
+ // Inside the loop:
+ // A match implies length >= 2, so curr and next are <= length-2.
+ while ((match = breakRe.exec(line))) {
+ next = match.index;
+ // maintain invariant: curr - start <= width
+ if (next - start > width) {
+ end = (curr > start) ? curr : next; // derive end <= length-2
+ result += '\n' + line.slice(start, end);
+ // skip the space that was output as \n
+ start = end + 1; // derive start <= length-1
}
- prevMatch = index + 1;
- match = foldRe.exec(line);
+ curr = next;
}
- if (result) result += '\n';
-
- // if we end up with one last word at the end, then the last bit might
- // be slightly bigger than we wanted, because we exited out of the loop.
- if (foldStart !== prevMatch && line.length - foldStart > max) {
- result += line.slice(foldStart, prevMatch) + '\n' +
- line.slice(prevMatch + 1);
+ // By the invariants, start <= length-1, so there is something left over.
+ // It is either the whole string or a part starting from non-whitespace.
+ result += '\n';
+ // Insert a break if the remainder is too long and there is a break available.
+ if (line.length - start > width && curr > start) {
+ result += line.slice(start, curr) + '\n' + line.slice(curr + 1);
} else {
- result += line.slice(foldStart);
+ result += line.slice(start);
}
- return result;
+ return result.slice(1); // drop extra \n joiner
}
-// Returns true if character can be found in a simple scalar
-function simpleChar(character) {
- return CHAR_TAB !== character &&
- CHAR_LINE_FEED !== character &&
- CHAR_CARRIAGE_RETURN !== character &&
- CHAR_COMMA !== character &&
- CHAR_LEFT_SQUARE_BRACKET !== character &&
- CHAR_RIGHT_SQUARE_BRACKET !== character &&
- CHAR_LEFT_CURLY_BRACKET !== character &&
- CHAR_RIGHT_CURLY_BRACKET !== character &&
- CHAR_SHARP !== character &&
- CHAR_AMPERSAND !== character &&
- CHAR_ASTERISK !== character &&
- CHAR_EXCLAMATION !== character &&
- CHAR_VERTICAL_LINE !== character &&
- CHAR_GREATER_THAN !== character &&
- CHAR_SINGLE_QUOTE !== character &&
- CHAR_DOUBLE_QUOTE !== character &&
- CHAR_PERCENT !== character &&
- CHAR_COLON !== character &&
- !ESCAPE_SEQUENCES[character] &&
- !needsHexEscape(character);
-}
+// Escapes a double-quoted string.
+function escapeString(string) {
+ var result = '';
+ var char;
+ var escapeSeq;
+
+ for (var i = 0; i < string.length; i++) {
+ char = string.charCodeAt(i);
+ escapeSeq = ESCAPE_SEQUENCES[char];
+ result += !escapeSeq && isPrintable(char)
+ ? string[i]
+ : escapeSeq || encodeHex(char);
+ }
-// Returns true if the character code needs to be escaped.
-function needsHexEscape(character) {
- return !((0x00020 <= character && character <= 0x00007E) ||
- (character === 0x00085) ||
- (0x000A0 <= character && character <= 0x00D7FF) ||
- (0x0E000 <= character && character <= 0x00FFFD) ||
- (0x10000 <= character && character <= 0x10FFFF));
+ return result;
}
function writeFlowSequence(state, level, object) {
diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/loader.js b/tools/eslint/node_modules/js-yaml/lib/js-yaml/loader.js
index 1714022f43..8966d6bda4 100644
--- a/tools/eslint/node_modules/js-yaml/lib/js-yaml/loader.js
+++ b/tools/eslint/node_modules/js-yaml/lib/js-yaml/loader.js
@@ -743,6 +743,7 @@ function readBlockScalar(state, nodeIndent) {
var captureStart,
folding,
chomping = CHOMPING_CLIP,
+ didReadContent = false,
detectedIndent = false,
textIndent = nodeIndent,
emptyLines = 0,
@@ -824,9 +825,9 @@ function readBlockScalar(state, nodeIndent) {
// Perform the chomping.
if (chomping === CHOMPING_KEEP) {
- state.result += common.repeat('\n', emptyLines);
+ state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines);
} else if (chomping === CHOMPING_CLIP) {
- if (detectedIndent) { // i.e. only if the scalar is not empty.
+ if (didReadContent) { // i.e. only if the scalar is not empty.
state.result += '\n';
}
}
@@ -841,7 +842,8 @@ function readBlockScalar(state, nodeIndent) {
// Lines starting with white space characters (more-indented lines) are not folded.
if (is_WHITE_SPACE(ch)) {
atMoreIndented = true;
- state.result += common.repeat('\n', emptyLines + 1);
+ // except for the first content line (cf. Example 8.1)
+ state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines);
// End of more-indented block.
} else if (atMoreIndented) {
@@ -850,7 +852,7 @@ function readBlockScalar(state, nodeIndent) {
// Just one line break - perceive as the same line.
} else if (emptyLines === 0) {
- if (detectedIndent) { // i.e. only if we have already read some scalar content.
+ if (didReadContent) { // i.e. only if we have already read some scalar content.
state.result += ' ';
}
@@ -860,14 +862,12 @@ function readBlockScalar(state, nodeIndent) {
}
// Literal style: just add exact number of line breaks between content lines.
- } else if (detectedIndent) {
- // If current line isn't the first one - count line break from the last content line.
- state.result += common.repeat('\n', emptyLines + 1);
} else {
- // In case of the first content line - count only empty lines.
- state.result += common.repeat('\n', emptyLines);
+ // Keep all line breaks except the header line break.
+ state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines);
}
+ didReadContent = true;
detectedIndent = true;
emptyLines = 0;
captureStart = state.position;
diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/type/binary.js b/tools/eslint/node_modules/js-yaml/lib/js-yaml/type/binary.js
index b2c32d914b..205629f744 100644
--- a/tools/eslint/node_modules/js-yaml/lib/js-yaml/type/binary.js
+++ b/tools/eslint/node_modules/js-yaml/lib/js-yaml/type/binary.js
@@ -2,9 +2,14 @@
/*eslint-disable no-bitwise*/
-// A trick for browserified version.
-// Since we make browserifier to ignore `buffer` module, NodeBuffer will be undefined
-var NodeBuffer = require('buffer').Buffer;
+var NodeBuffer;
+
+try {
+ // A trick for browserified version, to not include `Buffer` shim
+ var _require = require;
+ NodeBuffer = _require('buffer').Buffer;
+} catch (__) {}
+
var Type = require('../type');
diff --git a/tools/eslint/node_modules/js-yaml/package.json b/tools/eslint/node_modules/js-yaml/package.json
index f55dd46231..ba0ec9330e 100644
--- a/tools/eslint/node_modules/js-yaml/package.json
+++ b/tools/eslint/node_modules/js-yaml/package.json
@@ -2,24 +2,24 @@
"_args": [
[
"js-yaml@^3.5.1",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "js-yaml@>=3.5.1 <4.0.0",
- "_id": "js-yaml@3.5.5",
+ "_id": "js-yaml@3.6.0",
"_inCache": true,
"_installable": true,
"_location": "/js-yaml",
- "_nodeVersion": "4.3.0",
+ "_nodeVersion": "4.4.1",
"_npmOperationalInternal": {
- "host": "packages-12-west.internal.npmjs.com",
- "tmp": "tmp/js-yaml-3.5.5.tgz_1458226126775_0.5821511475369334"
+ "host": "packages-16-east.internal.npmjs.com",
+ "tmp": "tmp/js-yaml-3.6.0.tgz_1460755132000_0.1514641239773482"
},
"_npmUser": {
"email": "vitaly@rcdesign.ru",
"name": "vitaly"
},
- "_npmVersion": "2.14.12",
+ "_npmVersion": "2.14.20",
"_phantomChildren": {},
"_requested": {
"name": "js-yaml",
@@ -30,13 +30,13 @@
"type": "range"
},
"_requiredBy": [
- "/"
+ "/eslint"
],
- "_resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz",
- "_shasum": "0377c38017cabc7322b0d1fbcd25a491641f2fbe",
+ "_resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.0.tgz",
+ "_shasum": "3b7bf3256dd598f60f8b6f8ea75514a585a24dc6",
"_shrinkwrap": null,
"_spec": "js-yaml@^3.5.1",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"author": {
"email": "dervus.grim@gmail.com",
"name": "Vladimir Zapparov"
@@ -44,31 +44,28 @@
"bin": {
"js-yaml": "bin/js-yaml.js"
},
- "browser": {
- "buffer": false
- },
"bugs": {
"url": "https://github.com/nodeca/js-yaml/issues"
},
"contributors": [
{
- "name": "Aleksey V Zapparov",
"email": "ixti@member.fsf.org",
+ "name": "Aleksey V Zapparov",
"url": "http://www.ixti.net/"
},
{
- "name": "Vitaly Puzrin",
"email": "vitaly@rcdesign.ru",
+ "name": "Vitaly Puzrin",
"url": "https://github.com/puzrin"
},
{
- "name": "Martin Grenfell",
"email": "martin.grenfell@gmail.com",
+ "name": "Martin Grenfell",
"url": "http://got-ravings.blogspot.com"
}
],
"dependencies": {
- "argparse": "^1.0.2",
+ "argparse": "^1.0.7",
"esprima": "^2.6.0"
},
"description": "YAML 1.2 parser and serializer",
@@ -76,36 +73,36 @@
"ansi": "*",
"benchmark": "*",
"browserify": "^13.0.0",
- "codemirror": "^5.10.0",
- "eslint": "^2.0.0-rc.1",
+ "codemirror": "^5.13.4",
+ "eslint": "^2.8.0",
"istanbul": "*",
"mocha": "*",
"uglify-js": "^2.6.1"
},
"directories": {},
"dist": {
- "shasum": "0377c38017cabc7322b0d1fbcd25a491641f2fbe",
- "tarball": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz"
+ "shasum": "3b7bf3256dd598f60f8b6f8ea75514a585a24dc6",
+ "tarball": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.0.tgz"
},
"files": [
- "bin/",
- "dist/",
"index.js",
- "lib/"
+ "lib/",
+ "bin/",
+ "dist/"
],
- "gitHead": "fdd205e5a1175a62868c0efb28a77493e5e34e3f",
+ "gitHead": "87e4cdc21deec3dda9b811366fb3a3af16c08f0d",
"homepage": "https://github.com/nodeca/js-yaml",
"keywords": [
+ "yaml",
"parser",
- "pyyaml",
"serializer",
- "yaml"
+ "pyyaml"
],
"license": "MIT",
"maintainers": [
{
- "name": "vitaly",
- "email": "vitaly@rcdesign.ru"
+ "email": "vitaly@rcdesign.ru",
+ "name": "vitaly"
}
],
"name": "js-yaml",
@@ -118,5 +115,5 @@
"scripts": {
"test": "make test"
},
- "version": "3.5.5"
+ "version": "3.6.0"
}
diff --git a/tools/eslint/node_modules/json-stable-stringify/package.json b/tools/eslint/node_modules/json-stable-stringify/package.json
index 47b386a47e..3ce6e06c18 100644
--- a/tools/eslint/node_modules/json-stable-stringify/package.json
+++ b/tools/eslint/node_modules/json-stable-stringify/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"json-stable-stringify@^1.0.0",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "json-stable-stringify@>=1.0.0 <2.0.0",
@@ -30,13 +30,13 @@
"type": "range"
},
"_requiredBy": [
- "/"
+ "/eslint"
],
"_resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
"_shasum": "9a759d39c5f2ff503fd5300646ed445f88c4f9af",
"_shrinkwrap": null,
"_spec": "json-stable-stringify@^1.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"author": {
"email": "mail@substack.net",
"name": "James Halliday",
@@ -60,19 +60,19 @@
"gitHead": "4a3ac9cc006a91e64901f8ebe78d23bf9fc9fbd0",
"homepage": "https://github.com/substack/json-stable-stringify",
"keywords": [
+ "json",
+ "stringify",
"deterministic",
"hash",
- "json",
"sort",
- "stable",
- "stringify"
+ "stable"
],
"license": "MIT",
"main": "index.js",
"maintainers": [
{
- "name": "substack",
- "email": "mail@substack.net"
+ "email": "mail@substack.net",
+ "name": "substack"
}
],
"name": "json-stable-stringify",
@@ -87,13 +87,13 @@
},
"testling": {
"browsers": [
- "chrome/15",
- "chrome/latest",
+ "ie/8..latest",
"ff/5",
"ff/latest",
- "ie/8..latest",
- "opera/latest",
- "safari/latest"
+ "chrome/15",
+ "chrome/latest",
+ "safari/latest",
+ "opera/latest"
],
"files": "test/*.js"
},
diff --git a/tools/eslint/node_modules/jsonify/lib/parse.js b/tools/eslint/node_modules/jsonify/lib/parse.js
index 2b88cfff0b..30e2f01436 100644
--- a/tools/eslint/node_modules/jsonify/lib/parse.js
+++ b/tools/eslint/node_modules/jsonify/lib/parse.js
@@ -21,26 +21,26 @@ var at, // The index of the current character
text: text
};
},
-
+
next = function (c) {
// If a c parameter is provided, verify that it matches the current character.
if (c && c !== ch) {
error("Expected '" + c + "' instead of '" + ch + "'");
}
-
+
// Get the next character. When there are no more characters,
// return the empty string.
-
+
ch = text.charAt(at);
at += 1;
return ch;
},
-
+
number = function () {
// Parse a number value.
var number,
string = '';
-
+
if (ch === '-') {
string = '-';
next('-');
@@ -74,14 +74,14 @@ var at, // The index of the current character
return number;
}
},
-
+
string = function () {
// Parse a string value.
var hex,
i,
string = '',
uffff;
-
+
// When parsing for string values, we must look for " and \ characters.
if (ch === '"') {
while (next()) {
@@ -238,7 +238,7 @@ value = function () {
module.exports = function (source, reviver) {
var result;
-
+
text = source;
at = 0;
ch = ' ';
diff --git a/tools/eslint/node_modules/jsonify/lib/stringify.js b/tools/eslint/node_modules/jsonify/lib/stringify.js
index e88fb83406..1345870814 100644
--- a/tools/eslint/node_modules/jsonify/lib/stringify.js
+++ b/tools/eslint/node_modules/jsonify/lib/stringify.js
@@ -18,7 +18,7 @@ function quote(string) {
// backslash characters, then we can safely slap some quotes around it.
// Otherwise we must also replace the offending characters with safe escape
// sequences.
-
+
escapable.lastIndex = 0;
return escapable.test(string) ? '"' + string.replace(escapable, function (a) {
var c = meta[a];
@@ -36,47 +36,47 @@ function str(key, holder) {
mind = gap,
partial,
value = holder[key];
-
+
// If the value has a toJSON method, call it to obtain a replacement value.
if (value && typeof value === 'object' &&
typeof value.toJSON === 'function') {
value = value.toJSON(key);
}
-
+
// If we were called with a replacer function, then call the replacer to
// obtain a replacement value.
if (typeof rep === 'function') {
value = rep.call(holder, key, value);
}
-
+
// What happens next depends on the value's type.
switch (typeof value) {
case 'string':
return quote(value);
-
+
case 'number':
// JSON numbers must be finite. Encode non-finite numbers as null.
return isFinite(value) ? String(value) : 'null';
-
+
case 'boolean':
case 'null':
// If the value is a boolean or null, convert it to a string. Note:
// typeof null does not produce 'null'. The case is included here in
// the remote chance that this gets fixed someday.
return String(value);
-
+
case 'object':
if (!value) return 'null';
gap += indent;
partial = [];
-
+
// Array.isArray
if (Object.prototype.toString.apply(value) === '[object Array]') {
length = value.length;
for (i = 0; i < length; i += 1) {
partial[i] = str(i, value) || 'null';
}
-
+
// Join all of the elements together, separated with commas, and
// wrap them in brackets.
v = partial.length === 0 ? '[]' : gap ?
@@ -85,7 +85,7 @@ function str(key, holder) {
gap = mind;
return v;
}
-
+
// If the replacer is an array, use it to select the members to be
// stringified.
if (rep && typeof rep === 'object') {
@@ -111,7 +111,7 @@ function str(key, holder) {
}
}
}
-
+
// Join all of the member texts together, separated with commas,
// and wrap them in braces.
@@ -127,7 +127,7 @@ module.exports = function (value, replacer, space) {
var i;
gap = '';
indent = '';
-
+
// If the space parameter is a number, make an indent string containing that
// many spaces.
if (typeof space === 'number') {
@@ -147,7 +147,7 @@ module.exports = function (value, replacer, space) {
&& (typeof replacer !== 'object' || typeof replacer.length !== 'number')) {
throw new Error('JSON.stringify');
}
-
+
// Make a fake root object containing our value under the key of ''.
// Return the result of stringifying the value.
return str('', {'': value});
diff --git a/tools/eslint/node_modules/jsonify/package.json b/tools/eslint/node_modules/jsonify/package.json
index 0b4be16988..c431a7560e 100644
--- a/tools/eslint/node_modules/jsonify/package.json
+++ b/tools/eslint/node_modules/jsonify/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"jsonify@~0.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/json-stable-stringify"
+ "/Users/trott/io.js/tools/node_modules/json-stable-stringify"
]
],
"_defaultsLoaded": true,
@@ -30,7 +30,7 @@
"_shasum": "2c74b6ee41d93ca51b7b5aaee8f503631d252a73",
"_shrinkwrap": null,
"_spec": "jsonify@~0.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/json-stable-stringify",
+ "_where": "/Users/trott/io.js/tools/node_modules/json-stable-stringify",
"author": {
"name": "Douglas Crockford",
"url": "http://crockford.com/"
@@ -57,15 +57,15 @@
},
"homepage": "https://github.com/substack/jsonify#readme",
"keywords": [
- "browser",
- "json"
+ "json",
+ "browser"
],
"license": "Public Domain",
"main": "index.js",
"maintainers": [
{
- "name": "substack",
- "email": "mail@substack.net"
+ "email": "mail@substack.net",
+ "name": "substack"
}
],
"name": "jsonify",
diff --git a/tools/eslint/node_modules/jsonpointer/package.json b/tools/eslint/node_modules/jsonpointer/package.json
index 64f1b24fa9..db8ac7c3f4 100644
--- a/tools/eslint/node_modules/jsonpointer/package.json
+++ b/tools/eslint/node_modules/jsonpointer/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"jsonpointer@2.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/is-my-json-valid"
+ "/Users/trott/io.js/tools/node_modules/is-my-json-valid"
]
],
"_from": "jsonpointer@2.0.0",
@@ -32,7 +32,7 @@
"_shasum": "3af1dd20fe85463910d469a385e33017d2a030d9",
"_shrinkwrap": null,
"_spec": "jsonpointer@2.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/is-my-json-valid",
+ "_where": "/Users/trott/io.js/tools/node_modules/is-my-json-valid",
"author": {
"email": "jan@apache.org",
"name": "Jan Lehnardt"
@@ -42,8 +42,8 @@
},
"contributors": [
{
- "name": "Joe Hildebrand",
- "email": "joe-github@cursive.net"
+ "email": "joe-github@cursive.net",
+ "name": "Joe Hildebrand"
}
],
"dependencies": {},
@@ -52,7 +52,7 @@
"directories": {},
"dist": {
"shasum": "3af1dd20fe85463910d469a385e33017d2a030d9",
- "tarball": "http://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz"
+ "tarball": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz"
},
"engines": {
"node": ">=0.6.0"
@@ -63,12 +63,12 @@
"main": "./jsonpointer",
"maintainers": [
{
- "name": "jan",
- "email": "jan@apache.org"
+ "email": "jan@apache.org",
+ "name": "jan"
},
{
- "name": "marcbachmann",
- "email": "marc.brookman@gmail.com"
+ "email": "marc.brookman@gmail.com",
+ "name": "marcbachmann"
}
],
"name": "jsonpointer",
@@ -82,8 +82,8 @@
"test": "node test.js"
},
"tags": [
- "simple",
"util",
+ "simple",
"util",
"utility"
],
diff --git a/tools/eslint/node_modules/levn/package.json b/tools/eslint/node_modules/levn/package.json
index f7afdadc63..6719ca8ca9 100644
--- a/tools/eslint/node_modules/levn/package.json
+++ b/tools/eslint/node_modules/levn/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"levn@~0.3.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/optionator"
+ "/Users/trott/io.js/tools/node_modules/optionator"
]
],
"_from": "levn@>=0.3.0 <0.4.0",
@@ -32,7 +32,7 @@
"_shasum": "3b09924edf9f083c0490fdd4c0bc4421e04764ee",
"_shrinkwrap": null,
"_spec": "levn@~0.3.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/optionator",
+ "_where": "/Users/trott/io.js/tools/node_modules/optionator",
"author": {
"email": "z@georgezahariev.com",
"name": "George Zahariev"
@@ -59,31 +59,31 @@
"node": ">= 0.8.0"
},
"files": [
- "LICENSE",
+ "lib",
"README.md",
- "lib"
+ "LICENSE"
],
"gitHead": "a92b9acf928282ba81134b4ae8e6a5f29e1f5e1e",
"homepage": "https://github.com/gkz/levn",
"keywords": [
- "concise",
- "ecmascript",
- "flexible",
- "human",
- "json",
"levn",
"light",
+ "ecmascript",
+ "value",
"notation",
+ "json",
"typed",
+ "human",
+ "concise",
"typed",
- "value"
+ "flexible"
],
"license": "MIT",
"main": "./lib/",
"maintainers": [
{
- "name": "gkz",
- "email": "z@georgezahariev.com"
+ "email": "z@georgezahariev.com",
+ "name": "gkz"
}
],
"name": "levn",
diff --git a/tools/eslint/node_modules/lodash/README.md b/tools/eslint/node_modules/lodash/README.md
index ea9313b956..5990a7059c 100644
--- a/tools/eslint/node_modules/lodash/README.md
+++ b/tools/eslint/node_modules/lodash/README.md
@@ -1,4 +1,4 @@
-# lodash v4.9.0
+# lodash v4.11.1
The [Lodash](https://lodash.com/) library exported as [Node.js](https://nodejs.org/) modules.
@@ -28,7 +28,7 @@ var chunk = require('lodash/chunk');
var extend = require('lodash/fp/extend');
```
-See the [package source](https://github.com/lodash/lodash/tree/4.9.0-npm) for more details.
+See the [package source](https://github.com/lodash/lodash/tree/4.11.1-npm) for more details.
**Note:**<br>
Don’t assign values to the [special variable](http://nodejs.org/api/repl.html#repl_repl_features) `_` when in the REPL.<br>
diff --git a/tools/eslint/node_modules/lodash/_baseFor.js b/tools/eslint/node_modules/lodash/_baseFor.js
index a90460386d..d946590f8a 100644
--- a/tools/eslint/node_modules/lodash/_baseFor.js
+++ b/tools/eslint/node_modules/lodash/_baseFor.js
@@ -2,7 +2,7 @@ var createBaseFor = require('./_createBaseFor');
/**
* The base implementation of `baseForOwn` which iterates over `object`
- * properties returned by `keysFunc` invoking `iteratee` for each property.
+ * properties returned by `keysFunc` and invokes `iteratee` for each property.
* Iteratee functions may exit iteration early by explicitly returning `false`.
*
* @private
diff --git a/tools/eslint/node_modules/lodash/_baseGet.js b/tools/eslint/node_modules/lodash/_baseGet.js
index 0956af551a..9d58a4c864 100644
--- a/tools/eslint/node_modules/lodash/_baseGet.js
+++ b/tools/eslint/node_modules/lodash/_baseGet.js
@@ -1,4 +1,4 @@
-var baseCastPath = require('./_baseCastPath'),
+var castPath = require('./_castPath'),
isKey = require('./_isKey');
/**
@@ -10,7 +10,7 @@ var baseCastPath = require('./_baseCastPath'),
* @returns {*} Returns the resolved value.
*/
function baseGet(object, path) {
- path = isKey(path, object) ? [path] : baseCastPath(path);
+ path = isKey(path, object) ? [path] : castPath(path);
var index = 0,
length = path.length;
diff --git a/tools/eslint/node_modules/lodash/_baseInvoke.js b/tools/eslint/node_modules/lodash/_baseInvoke.js
index 7a94a3f3a9..9b32021410 100644
--- a/tools/eslint/node_modules/lodash/_baseInvoke.js
+++ b/tools/eslint/node_modules/lodash/_baseInvoke.js
@@ -1,5 +1,5 @@
var apply = require('./_apply'),
- baseCastPath = require('./_baseCastPath'),
+ castPath = require('./_castPath'),
isKey = require('./_isKey'),
last = require('./last'),
parent = require('./_parent');
@@ -16,7 +16,7 @@ var apply = require('./_apply'),
*/
function baseInvoke(object, path, args) {
if (!isKey(path, object)) {
- path = baseCastPath(path);
+ path = castPath(path);
object = parent(object, path);
path = last(path);
}
diff --git a/tools/eslint/node_modules/lodash/_baseNth.js b/tools/eslint/node_modules/lodash/_baseNth.js
new file mode 100644
index 0000000000..6978a651da
--- /dev/null
+++ b/tools/eslint/node_modules/lodash/_baseNth.js
@@ -0,0 +1,20 @@
+var isIndex = require('./_isIndex');
+
+/**
+ * The base implementation of `_.nth` which doesn't coerce `n` to an integer.
+ *
+ * @private
+ * @param {Array} array The array to query.
+ * @param {number} n The index of the element to return.
+ * @returns {*} Returns the nth element of `array`.
+ */
+function baseNth(array, n) {
+ var length = array.length;
+ if (!length) {
+ return;
+ }
+ n += n < 0 ? length : 0;
+ return isIndex(n, length) ? array[n] : undefined;
+}
+
+module.exports = baseNth;
diff --git a/tools/eslint/node_modules/lodash/_baseOrderBy.js b/tools/eslint/node_modules/lodash/_baseOrderBy.js
index 319f77a986..d8a46ab20a 100644
--- a/tools/eslint/node_modules/lodash/_baseOrderBy.js
+++ b/tools/eslint/node_modules/lodash/_baseOrderBy.js
@@ -2,6 +2,7 @@ var arrayMap = require('./_arrayMap'),
baseIteratee = require('./_baseIteratee'),
baseMap = require('./_baseMap'),
baseSortBy = require('./_baseSortBy'),
+ baseUnary = require('./_baseUnary'),
compareMultiple = require('./_compareMultiple'),
identity = require('./identity');
@@ -16,7 +17,7 @@ var arrayMap = require('./_arrayMap'),
*/
function baseOrderBy(collection, iteratees, orders) {
var index = -1;
- iteratees = arrayMap(iteratees.length ? iteratees : [identity], baseIteratee);
+ iteratees = arrayMap(iteratees.length ? iteratees : [identity], baseUnary(baseIteratee));
var result = baseMap(collection, function(value, key, collection) {
var criteria = arrayMap(iteratees, function(iteratee) {
diff --git a/tools/eslint/node_modules/lodash/_basePullAt.js b/tools/eslint/node_modules/lodash/_basePullAt.js
index eb9ed21e8a..fc9130f4ac 100644
--- a/tools/eslint/node_modules/lodash/_basePullAt.js
+++ b/tools/eslint/node_modules/lodash/_basePullAt.js
@@ -1,4 +1,4 @@
-var baseCastPath = require('./_baseCastPath'),
+var castPath = require('./_castPath'),
isIndex = require('./_isIndex'),
isKey = require('./_isKey'),
last = require('./last'),
@@ -31,7 +31,7 @@ function basePullAt(array, indexes) {
splice.call(array, index, 1);
}
else if (!isKey(index, array)) {
- var path = baseCastPath(index),
+ var path = castPath(index),
object = parent(array, path);
if (object != null) {
diff --git a/tools/eslint/node_modules/lodash/_baseSet.js b/tools/eslint/node_modules/lodash/_baseSet.js
index c903e41b5b..dd53569310 100644
--- a/tools/eslint/node_modules/lodash/_baseSet.js
+++ b/tools/eslint/node_modules/lodash/_baseSet.js
@@ -1,5 +1,5 @@
var assignValue = require('./_assignValue'),
- baseCastPath = require('./_baseCastPath'),
+ castPath = require('./_castPath'),
isIndex = require('./_isIndex'),
isKey = require('./_isKey'),
isObject = require('./isObject');
@@ -15,7 +15,7 @@ var assignValue = require('./_assignValue'),
* @returns {Object} Returns `object`.
*/
function baseSet(object, path, value, customizer) {
- path = isKey(path, object) ? [path] : baseCastPath(path);
+ path = isKey(path, object) ? [path] : castPath(path);
var index = -1,
length = path.length,
diff --git a/tools/eslint/node_modules/lodash/_baseUnset.js b/tools/eslint/node_modules/lodash/_baseUnset.js
index 9100d6fc8c..bff4d4c4f0 100644
--- a/tools/eslint/node_modules/lodash/_baseUnset.js
+++ b/tools/eslint/node_modules/lodash/_baseUnset.js
@@ -1,4 +1,4 @@
-var baseCastPath = require('./_baseCastPath'),
+var castPath = require('./_castPath'),
has = require('./has'),
isKey = require('./_isKey'),
last = require('./last'),
@@ -13,7 +13,7 @@ var baseCastPath = require('./_baseCastPath'),
* @returns {boolean} Returns `true` if the property is deleted, else `false`.
*/
function baseUnset(object, path) {
- path = isKey(path, object) ? [path] : baseCastPath(path);
+ path = isKey(path, object) ? [path] : castPath(path);
object = parent(object, path);
var key = last(path);
return (object != null && has(object, key)) ? delete object[key] : true;
diff --git a/tools/eslint/node_modules/lodash/_baseCastArrayLikeObject.js b/tools/eslint/node_modules/lodash/_castArrayLikeObject.js
index b9156ef1cf..92c75fa1a9 100644
--- a/tools/eslint/node_modules/lodash/_baseCastArrayLikeObject.js
+++ b/tools/eslint/node_modules/lodash/_castArrayLikeObject.js
@@ -7,8 +7,8 @@ var isArrayLikeObject = require('./isArrayLikeObject');
* @param {*} value The value to inspect.
* @returns {Array|Object} Returns the cast array-like object.
*/
-function baseCastArrayLikeObject(value) {
+function castArrayLikeObject(value) {
return isArrayLikeObject(value) ? value : [];
}
-module.exports = baseCastArrayLikeObject;
+module.exports = castArrayLikeObject;
diff --git a/tools/eslint/node_modules/lodash/_baseCastFunction.js b/tools/eslint/node_modules/lodash/_castFunction.js
index ca118b6baa..98c91ae637 100644
--- a/tools/eslint/node_modules/lodash/_baseCastFunction.js
+++ b/tools/eslint/node_modules/lodash/_castFunction.js
@@ -7,8 +7,8 @@ var identity = require('./identity');
* @param {*} value The value to inspect.
* @returns {Function} Returns cast function.
*/
-function baseCastFunction(value) {
+function castFunction(value) {
return typeof value == 'function' ? value : identity;
}
-module.exports = baseCastFunction;
+module.exports = castFunction;
diff --git a/tools/eslint/node_modules/lodash/_baseCastPath.js b/tools/eslint/node_modules/lodash/_castPath.js
index 7634e5ba2b..4f38f95d39 100644
--- a/tools/eslint/node_modules/lodash/_baseCastPath.js
+++ b/tools/eslint/node_modules/lodash/_castPath.js
@@ -8,8 +8,8 @@ var isArray = require('./isArray'),
* @param {*} value The value to inspect.
* @returns {Array} Returns the cast property path array.
*/
-function baseCastPath(value) {
+function castPath(value) {
return isArray(value) ? value : stringToPath(value);
}
-module.exports = baseCastPath;
+module.exports = castPath;
diff --git a/tools/eslint/node_modules/lodash/_castSlice.js b/tools/eslint/node_modules/lodash/_castSlice.js
new file mode 100644
index 0000000000..071faeba52
--- /dev/null
+++ b/tools/eslint/node_modules/lodash/_castSlice.js
@@ -0,0 +1,18 @@
+var baseSlice = require('./_baseSlice');
+
+/**
+ * Casts `array` to a slice if it's needed.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {number} start The start position.
+ * @param {number} [end=array.length] The end position.
+ * @returns {Array} Returns the cast slice.
+ */
+function castSlice(array, start, end) {
+ var length = array.length;
+ end = end === undefined ? length : end;
+ return (!start && end >= length) ? array : baseSlice(array, start, end);
+}
+
+module.exports = castSlice;
diff --git a/tools/eslint/node_modules/lodash/_copyObject.js b/tools/eslint/node_modules/lodash/_copyObject.js
index d95a4cbdc5..474d17bb87 100644
--- a/tools/eslint/node_modules/lodash/_copyObject.js
+++ b/tools/eslint/node_modules/lodash/_copyObject.js
@@ -1,4 +1,4 @@
-var copyObjectWith = require('./_copyObjectWith');
+var assignValue = require('./_assignValue');
/**
* Copies properties of `source` to `object`.
@@ -7,10 +7,25 @@ var copyObjectWith = require('./_copyObjectWith');
* @param {Object} source The object to copy properties from.
* @param {Array} props The property identifiers to copy.
* @param {Object} [object={}] The object to copy properties to.
+ * @param {Function} [customizer] The function to customize copied values.
* @returns {Object} Returns `object`.
*/
-function copyObject(source, props, object) {
- return copyObjectWith(source, props, object);
+function copyObject(source, props, object, customizer) {
+ object || (object = {});
+
+ var index = -1,
+ length = props.length;
+
+ while (++index < length) {
+ var key = props[index];
+
+ var newValue = customizer
+ ? customizer(object[key], source[key], key, object, source)
+ : source[key];
+
+ assignValue(object, key, newValue);
+ }
+ return object;
}
module.exports = copyObject;
diff --git a/tools/eslint/node_modules/lodash/_copyObjectWith.js b/tools/eslint/node_modules/lodash/_copyObjectWith.js
deleted file mode 100644
index 11240c6069..0000000000
--- a/tools/eslint/node_modules/lodash/_copyObjectWith.js
+++ /dev/null
@@ -1,32 +0,0 @@
-var assignValue = require('./_assignValue');
-
-/**
- * This function is like `copyObject` except that it accepts a function to
- * customize copied values.
- *
- * @private
- * @param {Object} source The object to copy properties from.
- * @param {Array} props The property identifiers to copy.
- * @param {Object} [object={}] The object to copy properties to.
- * @param {Function} [customizer] The function to customize copied values.
- * @returns {Object} Returns `object`.
- */
-function copyObjectWith(source, props, object, customizer) {
- object || (object = {});
-
- var index = -1,
- length = props.length;
-
- while (++index < length) {
- var key = props[index];
-
- var newValue = customizer
- ? customizer(object[key], source[key], key, object, source)
- : source[key];
-
- assignValue(object, key, newValue);
- }
- return object;
-}
-
-module.exports = copyObjectWith;
diff --git a/tools/eslint/node_modules/lodash/_createCaseFirst.js b/tools/eslint/node_modules/lodash/_createCaseFirst.js
index a6f70543eb..9296b1d781 100644
--- a/tools/eslint/node_modules/lodash/_createCaseFirst.js
+++ b/tools/eslint/node_modules/lodash/_createCaseFirst.js
@@ -1,18 +1,8 @@
-var stringToArray = require('./_stringToArray'),
+var castSlice = require('./_castSlice'),
+ reHasComplexSymbol = require('./_reHasComplexSymbol'),
+ stringToArray = require('./_stringToArray'),
toString = require('./toString');
-/** Used to compose unicode character classes. */
-var rsAstralRange = '\\ud800-\\udfff',
- rsComboMarksRange = '\\u0300-\\u036f\\ufe20-\\ufe23',
- rsComboSymbolsRange = '\\u20d0-\\u20f0',
- rsVarRange = '\\ufe0e\\ufe0f';
-
-/** Used to compose unicode capture groups. */
-var rsZWJ = '\\u200d';
-
-/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */
-var reHasComplexSymbol = RegExp('[' + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + ']');
-
/**
* Creates a function like `_.lowerFirst`.
*
@@ -28,8 +18,13 @@ function createCaseFirst(methodName) {
? stringToArray(string)
: undefined;
- var chr = strSymbols ? strSymbols[0] : string.charAt(0),
- trailing = strSymbols ? strSymbols.slice(1).join('') : string.slice(1);
+ var chr = strSymbols
+ ? strSymbols[0]
+ : string.charAt(0);
+
+ var trailing = strSymbols
+ ? castSlice(strSymbols, 1).join('')
+ : string.slice(1);
return chr[methodName]() + trailing;
};
diff --git a/tools/eslint/node_modules/lodash/_createCompounder.js b/tools/eslint/node_modules/lodash/_createCompounder.js
index bfa4ee5fe8..8d4cee2cd3 100644
--- a/tools/eslint/node_modules/lodash/_createCompounder.js
+++ b/tools/eslint/node_modules/lodash/_createCompounder.js
@@ -2,6 +2,12 @@ var arrayReduce = require('./_arrayReduce'),
deburr = require('./deburr'),
words = require('./words');
+/** Used to compose unicode capture groups. */
+var rsApos = "['\u2019]";
+
+/** Used to match apostrophes. */
+var reApos = RegExp(rsApos, 'g');
+
/**
* Creates a function like `_.camelCase`.
*
@@ -11,7 +17,7 @@ var arrayReduce = require('./_arrayReduce'),
*/
function createCompounder(callback) {
return function(string) {
- return arrayReduce(words(deburr(string)), callback, '');
+ return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');
};
}
diff --git a/tools/eslint/node_modules/lodash/_createOver.js b/tools/eslint/node_modules/lodash/_createOver.js
index b34ca964c2..0d42c2716c 100644
--- a/tools/eslint/node_modules/lodash/_createOver.js
+++ b/tools/eslint/node_modules/lodash/_createOver.js
@@ -2,6 +2,8 @@ var apply = require('./_apply'),
arrayMap = require('./_arrayMap'),
baseFlatten = require('./_baseFlatten'),
baseIteratee = require('./_baseIteratee'),
+ baseUnary = require('./_baseUnary'),
+ isArray = require('./isArray'),
isFlattenableIteratee = require('./_isFlattenableIteratee'),
rest = require('./rest');
@@ -14,7 +16,10 @@ var apply = require('./_apply'),
*/
function createOver(arrayFunc) {
return rest(function(iteratees) {
- iteratees = arrayMap(baseFlatten(iteratees, 1, isFlattenableIteratee), baseIteratee);
+ iteratees = (iteratees.length == 1 && isArray(iteratees[0]))
+ ? arrayMap(iteratees[0], baseUnary(baseIteratee))
+ : arrayMap(baseFlatten(iteratees, 1, isFlattenableIteratee), baseUnary(baseIteratee));
+
return rest(function(args) {
var thisArg = this;
return arrayFunc(iteratees, function(iteratee) {
diff --git a/tools/eslint/node_modules/lodash/_createPadding.js b/tools/eslint/node_modules/lodash/_createPadding.js
index 2626376aea..c30f6ff072 100644
--- a/tools/eslint/node_modules/lodash/_createPadding.js
+++ b/tools/eslint/node_modules/lodash/_createPadding.js
@@ -1,19 +1,9 @@
var baseRepeat = require('./_baseRepeat'),
+ castSlice = require('./_castSlice'),
+ reHasComplexSymbol = require('./_reHasComplexSymbol'),
stringSize = require('./_stringSize'),
stringToArray = require('./_stringToArray');
-/** Used to compose unicode character classes. */
-var rsAstralRange = '\\ud800-\\udfff',
- rsComboMarksRange = '\\u0300-\\u036f\\ufe20-\\ufe23',
- rsComboSymbolsRange = '\\u20d0-\\u20f0',
- rsVarRange = '\\ufe0e\\ufe0f';
-
-/** Used to compose unicode capture groups. */
-var rsZWJ = '\\u200d';
-
-/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */
-var reHasComplexSymbol = RegExp('[' + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + ']');
-
/* Built-in method references for those with the same name as other `lodash` methods. */
var nativeCeil = Math.ceil;
@@ -35,7 +25,7 @@ function createPadding(length, chars) {
}
var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));
return reHasComplexSymbol.test(chars)
- ? stringToArray(result).slice(0, length).join('')
+ ? castSlice(stringToArray(result), 0, length).join('')
: result.slice(0, length);
}
diff --git a/tools/eslint/node_modules/lodash/_createRecurryWrapper.js b/tools/eslint/node_modules/lodash/_createRecurryWrapper.js
index 47e5e3a740..63c096ad73 100644
--- a/tools/eslint/node_modules/lodash/_createRecurryWrapper.js
+++ b/tools/eslint/node_modules/lodash/_createRecurryWrapper.js
@@ -1,5 +1,4 @@
-var copyArray = require('./_copyArray'),
- isLaziable = require('./_isLaziable'),
+var isLaziable = require('./_isLaziable'),
setData = require('./_setData');
/** Used to compose bitmasks for wrapper metadata. */
@@ -30,7 +29,6 @@ var BIND_FLAG = 1,
*/
function createRecurryWrapper(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {
var isCurry = bitmask & CURRY_FLAG,
- newArgPos = argPos ? copyArray(argPos) : undefined,
newHolders = isCurry ? holders : undefined,
newHoldersRight = isCurry ? undefined : holders,
newPartials = isCurry ? partials : undefined,
@@ -44,7 +42,7 @@ function createRecurryWrapper(func, bitmask, wrapFunc, placeholder, thisArg, par
}
var newData = [
func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,
- newHoldersRight, newArgPos, ary, arity
+ newHoldersRight, argPos, ary, arity
];
var result = wrapFunc.apply(undefined, newData);
diff --git a/tools/eslint/node_modules/lodash/_hasPath.js b/tools/eslint/node_modules/lodash/_hasPath.js
index eea7e72ab1..a399429759 100644
--- a/tools/eslint/node_modules/lodash/_hasPath.js
+++ b/tools/eslint/node_modules/lodash/_hasPath.js
@@ -1,4 +1,4 @@
-var baseCastPath = require('./_baseCastPath'),
+var castPath = require('./_castPath'),
isArguments = require('./isArguments'),
isArray = require('./isArray'),
isIndex = require('./_isIndex'),
@@ -16,7 +16,7 @@ var baseCastPath = require('./_baseCastPath'),
* @returns {boolean} Returns `true` if `path` exists, else `false`.
*/
function hasPath(object, path, hasFunc) {
- path = isKey(path, object) ? [path] : baseCastPath(path);
+ path = isKey(path, object) ? [path] : castPath(path);
var result,
index = -1,
diff --git a/tools/eslint/node_modules/lodash/_mergeData.js b/tools/eslint/node_modules/lodash/_mergeData.js
index 55fd5ee031..911e6ae7ad 100644
--- a/tools/eslint/node_modules/lodash/_mergeData.js
+++ b/tools/eslint/node_modules/lodash/_mergeData.js
@@ -1,6 +1,5 @@
var composeArgs = require('./_composeArgs'),
composeArgsRight = require('./_composeArgsRight'),
- copyArray = require('./_copyArray'),
replaceHolders = require('./_replaceHolders');
/** Used as the internal argument placeholder. */
@@ -58,20 +57,20 @@ function mergeData(data, source) {
var value = source[3];
if (value) {
var partials = data[3];
- data[3] = partials ? composeArgs(partials, value, source[4]) : copyArray(value);
- data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : copyArray(source[4]);
+ data[3] = partials ? composeArgs(partials, value, source[4]) : value;
+ data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];
}
// Compose partial right arguments.
value = source[5];
if (value) {
partials = data[5];
- data[5] = partials ? composeArgsRight(partials, value, source[6]) : copyArray(value);
- data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : copyArray(source[6]);
+ data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;
+ data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];
}
// Use source `argPos` if available.
value = source[7];
if (value) {
- data[7] = copyArray(value);
+ data[7] = value;
}
// Use source `ary` if it's smaller.
if (srcBitmask & ARY_FLAG) {
diff --git a/tools/eslint/node_modules/lodash/_reHasComplexSymbol.js b/tools/eslint/node_modules/lodash/_reHasComplexSymbol.js
new file mode 100644
index 0000000000..be78c4bf00
--- /dev/null
+++ b/tools/eslint/node_modules/lodash/_reHasComplexSymbol.js
@@ -0,0 +1,13 @@
+/** Used to compose unicode character classes. */
+var rsAstralRange = '\\ud800-\\udfff',
+ rsComboMarksRange = '\\u0300-\\u036f\\ufe20-\\ufe23',
+ rsComboSymbolsRange = '\\u20d0-\\u20f0',
+ rsVarRange = '\\ufe0e\\ufe0f';
+
+/** Used to compose unicode capture groups. */
+var rsZWJ = '\\u200d';
+
+/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */
+var reHasComplexSymbol = RegExp('[' + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + ']');
+
+module.exports = reHasComplexSymbol;
diff --git a/tools/eslint/node_modules/lodash/_stringSize.js b/tools/eslint/node_modules/lodash/_stringSize.js
index 7aa9f4125a..c64c7ff420 100644
--- a/tools/eslint/node_modules/lodash/_stringSize.js
+++ b/tools/eslint/node_modules/lodash/_stringSize.js
@@ -1,3 +1,5 @@
+var reHasComplexSymbol = require('./_reHasComplexSymbol');
+
/** Used to compose unicode character classes. */
var rsAstralRange = '\\ud800-\\udfff',
rsComboMarksRange = '\\u0300-\\u036f\\ufe20-\\ufe23',
@@ -24,9 +26,6 @@ var reOptMod = rsModifier + '?',
/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */
var reComplexSymbol = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');
-/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */
-var reHasComplexSymbol = RegExp('[' + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + ']');
-
/**
* Gets the number of symbols in `string`.
*
diff --git a/tools/eslint/node_modules/lodash/_baseCastKey.js b/tools/eslint/node_modules/lodash/_toKey.js
index 0259e6239d..b2fbc90a25 100644
--- a/tools/eslint/node_modules/lodash/_baseCastKey.js
+++ b/tools/eslint/node_modules/lodash/_toKey.js
@@ -1,14 +1,14 @@
var isSymbol = require('./isSymbol');
/**
- * Casts `value` to a string if it's not a string or symbol.
+ * Converts `value` to a string key if it's not a string or symbol.
*
* @private
* @param {*} value The value to inspect.
- * @returns {string|symbol} Returns the cast key.
+ * @returns {string|symbol} Returns the key.
*/
-function baseCastKey(key) {
+function toKey(key) {
return (typeof key == 'string' || isSymbol(key)) ? key : (key + '');
}
-module.exports = baseCastKey;
+module.exports = toKey;
diff --git a/tools/eslint/node_modules/lodash/array.js b/tools/eslint/node_modules/lodash/array.js
index bfded5ccee..06eda29344 100644
--- a/tools/eslint/node_modules/lodash/array.js
+++ b/tools/eslint/node_modules/lodash/array.js
@@ -25,6 +25,7 @@ module.exports = {
'join': require('./join'),
'last': require('./last'),
'lastIndexOf': require('./lastIndexOf'),
+ 'nth': require('./nth'),
'pull': require('./pull'),
'pullAll': require('./pullAll'),
'pullAllBy': require('./pullAllBy'),
diff --git a/tools/eslint/node_modules/lodash/assignInWith.js b/tools/eslint/node_modules/lodash/assignInWith.js
index 9a24e4f0a8..2b68c82ffb 100644
--- a/tools/eslint/node_modules/lodash/assignInWith.js
+++ b/tools/eslint/node_modules/lodash/assignInWith.js
@@ -1,4 +1,4 @@
-var copyObjectWith = require('./_copyObjectWith'),
+var copyObject = require('./_copyObject'),
createAssigner = require('./_createAssigner'),
keysIn = require('./keysIn');
@@ -31,7 +31,7 @@ var copyObjectWith = require('./_copyObjectWith'),
* // => { 'a': 1, 'b': 2 }
*/
var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {
- copyObjectWith(source, keysIn(source), object, customizer);
+ copyObject(source, keysIn(source), object, customizer);
});
module.exports = assignInWith;
diff --git a/tools/eslint/node_modules/lodash/assignWith.js b/tools/eslint/node_modules/lodash/assignWith.js
index 1f573fbc4b..d5c8f0070d 100644
--- a/tools/eslint/node_modules/lodash/assignWith.js
+++ b/tools/eslint/node_modules/lodash/assignWith.js
@@ -1,4 +1,4 @@
-var copyObjectWith = require('./_copyObjectWith'),
+var copyObject = require('./_copyObject'),
createAssigner = require('./_createAssigner'),
keys = require('./keys');
@@ -30,7 +30,7 @@ var copyObjectWith = require('./_copyObjectWith'),
* // => { 'a': 1, 'b': 2 }
*/
var assignWith = createAssigner(function(object, source, srcIndex, customizer) {
- copyObjectWith(source, keys(source), object, customizer);
+ copyObject(source, keys(source), object, customizer);
});
module.exports = assignWith;
diff --git a/tools/eslint/node_modules/lodash/at.js b/tools/eslint/node_modules/lodash/at.js
index 82ba3433db..59b197c5f2 100644
--- a/tools/eslint/node_modules/lodash/at.js
+++ b/tools/eslint/node_modules/lodash/at.js
@@ -10,8 +10,7 @@ var baseAt = require('./_baseAt'),
* @since 1.0.0
* @category Object
* @param {Object} object The object to iterate over.
- * @param {...(string|string[])} [paths] The property paths of elements to pick,
- * specified individually or in arrays.
+ * @param {...(string|string[])} [paths] The property paths of elements to pick.
* @returns {Array} Returns the new array of picked elements.
* @example
*
diff --git a/tools/eslint/node_modules/lodash/bindAll.js b/tools/eslint/node_modules/lodash/bindAll.js
index 0d158803ee..55f3b21683 100644
--- a/tools/eslint/node_modules/lodash/bindAll.js
+++ b/tools/eslint/node_modules/lodash/bindAll.js
@@ -14,8 +14,7 @@ var arrayEach = require('./_arrayEach'),
* @memberOf _
* @category Util
* @param {Object} object The object to bind and assign the bound methods to.
- * @param {...(string|string[])} methodNames The object method names to bind,
- * specified individually or in arrays.
+ * @param {...(string|string[])} methodNames The object method names to bind.
* @returns {Object} Returns `object`.
* @example
*
diff --git a/tools/eslint/node_modules/lodash/cond.js b/tools/eslint/node_modules/lodash/cond.js
index d851d07414..0ba36de21b 100644
--- a/tools/eslint/node_modules/lodash/cond.js
+++ b/tools/eslint/node_modules/lodash/cond.js
@@ -7,7 +7,7 @@ var apply = require('./_apply'),
var FUNC_ERROR_TEXT = 'Expected a function';
/**
- * Creates a function that iterates over `pairs` invoking the corresponding
+ * Creates a function that iterates over `pairs` and invokes the corresponding
* function of the first predicate to return truthy. The predicate-function
* pairs are invoked with the `this` binding and arguments of the created
* function.
diff --git a/tools/eslint/node_modules/lodash/core.js b/tools/eslint/node_modules/lodash/core.js
index b6e5b32445..27b87a17ae 100644
--- a/tools/eslint/node_modules/lodash/core.js
+++ b/tools/eslint/node_modules/lodash/core.js
@@ -1,6 +1,6 @@
/**
* @license
- * lodash 4.9.0 (Custom Build) <https://lodash.com/>
+ * lodash 4.11.1 (Custom Build) <https://lodash.com/>
* Build: `lodash core -o ./dist/lodash.core.js`
* Copyright jQuery Foundation and other contributors <https://jquery.org/>
* Released under MIT license <https://lodash.com/license>
@@ -13,7 +13,7 @@
var undefined;
/** Used as the semantic version number. */
- var VERSION = '4.9.0';
+ var VERSION = '4.11.1';
/** Used as the `TypeError` message for "Functions" methods. */
var FUNC_ERROR_TEXT = 'Expected a function';
@@ -464,7 +464,7 @@
* `isSet`, `isString`, `isUndefined`, `isTypedArray`, `isWeakMap`, `isWeakSet`,
* `join`, `kebabCase`, `last`, `lastIndexOf`, `lowerCase`, `lowerFirst`,
* `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`, `min`, `minBy`, `multiply`,
- * `noConflict`, `noop`, `now`, `pad`, `padEnd`, `padStart`, `parseInt`,
+ * `noConflict`, `noop`, `now`, `nth`, `pad`, `padEnd`, `padStart`, `parseInt`,
* `pop`, `random`, `reduce`, `reduceRight`, `repeat`, `result`, `round`,
* `runInContext`, `sample`, `shift`, `size`, `snakeCase`, `some`, `sortedIndex`,
* `sortedIndexBy`, `sortedLastIndex`, `sortedLastIndexBy`, `startCase`,
@@ -670,7 +670,7 @@
/**
* The base implementation of `baseForOwn` which iterates over `object`
- * properties returned by `keysFunc` invoking `iteratee` for each property.
+ * properties returned by `keysFunc` and invokes `iteratee` for each property.
* Iteratee functions may exit iteration early by explicitly returning `false`.
*
* @private
@@ -1018,22 +1018,10 @@
* @param {Object} source The object to copy properties from.
* @param {Array} props The property identifiers to copy.
* @param {Object} [object={}] The object to copy properties to.
- * @returns {Object} Returns `object`.
- */
- var copyObject = copyObjectWith;
-
- /**
- * This function is like `copyObject` except that it accepts a function to
- * customize copied values.
- *
- * @private
- * @param {Object} source The object to copy properties from.
- * @param {Array} props The property identifiers to copy.
- * @param {Object} [object={}] The object to copy properties to.
* @param {Function} [customizer] The function to customize copied values.
* @returns {Object} Returns `object`.
*/
- function copyObjectWith(source, props, object, customizer) {
+ function copyObject(source, props, object, customizer) {
object || (object = {});
var index = -1,
@@ -1533,7 +1521,7 @@
* // => undefined
*/
function head(array) {
- return array ? array[0] : undefined;
+ return (array && array.length) ? array[0] : undefined;
}
/**
@@ -1885,7 +1873,7 @@
}
/**
- * Iterates over elements of `collection` invoking `iteratee` for each element.
+ * Iterates over elements of `collection` and invokes `iteratee` for each element.
* The iteratee is invoked with three arguments: (value, index|key, collection).
* Iteratee functions may exit iteration early by explicitly returning `false`.
*
@@ -1928,8 +1916,8 @@
* The guarded methods are:
* `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,
* `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,
- * `sampleSize`, `slice`, `some`, `sortBy`, `take`, `takeRight`, `template`,
- * `trim`, `trimEnd`, `trimStart`, and `words`
+ * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,
+ * `template`, `trim`, `trimEnd`, `trimStart`, and `words`
*
* @static
* @memberOf _
@@ -2087,8 +2075,7 @@
* @category Collection
* @param {Array|Object} collection The collection to iterate over.
* @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])}
- * [iteratees=[_.identity]] The iteratees to sort by, specified individually
- * or in arrays.
+ * [iteratees=[_.identity]] The iteratees to sort by.
* @returns {Array} Returns the new sorted array.
* @example
*
@@ -3123,8 +3110,8 @@
var toNumber = Number;
/**
- * Converts `value` to a string if it's not one. An empty string is returned
- * for `null` and `undefined` values. The sign of `-0` is preserved.
+ * Converts `value` to a string. An empty string is returned for `null`
+ * and `undefined` values. The sign of `-0` is preserved.
*
* @static
* @memberOf _
@@ -3250,7 +3237,7 @@
* // => { 'a': 1, 'b': 2 }
*/
var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {
- copyObjectWith(source, keysIn(source), object, customizer);
+ copyObject(source, keysIn(source), object, customizer);
});
/**
@@ -3447,8 +3434,7 @@
* @memberOf _
* @category Object
* @param {Object} object The source object.
- * @param {...(string|string[])} [props] The property identifiers to pick,
- * specified individually or in arrays.
+ * @param {...(string|string[])} [props] The property identifiers to pick.
* @returns {Object} Returns the new object.
* @example
*
@@ -3712,7 +3698,7 @@
object = this;
methodNames = baseFunctions(source, keys(source));
}
- var chain = (isObject(options) && 'chain' in options) ? options.chain : true,
+ var chain = !(isObject(options) && 'chain' in options) || !!options.chain,
isFunc = isFunction(object);
baseEach(methodNames, function(methodName) {
diff --git a/tools/eslint/node_modules/lodash/core.min.js b/tools/eslint/node_modules/lodash/core.min.js
index 37cd8bddab..5f6cbf43dd 100644
--- a/tools/eslint/node_modules/lodash/core.min.js
+++ b/tools/eslint/node_modules/lodash/core.min.js
@@ -1,6 +1,6 @@
/**
* @license
- * lodash 4.9.0 (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE
+ * lodash 4.11.1 (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE
* Build: `lodash core -o ./dist/lodash.core.js`
*/
;(function(){function n(n,t){return n.push.apply(n,t),n}function t(n,t,r){for(var e=-1,u=n.length;++e<u;){var o=n[e],i=t(o);if(null!=i&&(c===pn?i===i:r(i,c)))var c=i,f=o}return f}function r(n,t,r){var e;return r(n,function(n,r,u){return t(n,r,u)?(e=n,false):void 0}),e}function e(n,t,r,e,u){return u(n,function(n,u,o){r=e?(e=false,n):t(r,n,u,o)}),r}function u(n,t){return w(t,function(t){return n[t]})}function o(n){return n&&n.Object===Object?n:null}function i(n){return gn[n]}function c(n){var t=false;if(null!=n&&typeof n.toString!="function")try{
@@ -12,11 +12,11 @@ return n=Object(n),U(t,function(t,r){return r in n&&(t[r]=n[r]),t},{})}function
for(var u=-1,o=t.length;++u<o;){var i=t[u],c=e?e(r[i],n[i],i,r,n):n[i],f=r,a=f[i];kn.call(f,i)&&(a===c||a!==a&&c!==c)&&(c!==pn||i in f)||(f[i]=c)}return r}function R(n){return H(function(t,r){var e=-1,u=r.length,o=u>1?r[u-1]:pn,o=typeof o=="function"?(u--,o):pn;for(t=Object(t);++e<u;){var i=r[e];i&&n(t,i,e,o)}return t})}function B(n){return function(){var t=arguments,r=s(n.prototype),t=n.apply(r,t);return Z(t)?t:r}}function D(n,t,r){function e(){for(var o=-1,i=arguments.length,c=-1,f=r.length,a=Array(f+i),l=this&&this!==xn&&this instanceof e?u:n;++c<f;)a[c]=r[c];
for(;i--;)a[c++]=arguments[++o];return l.apply(t,a)}if(typeof n!="function")throw new TypeError("Expected a function");var u=B(n);return e}function I(n,t,r,e,u,o){var i=-1,c=1&u,f=n.length,a=t.length;if(f!=a&&!(2&u&&a>f))return false;for(a=true;++i<f;){var l=n[i],p=t[i];if(void 0!==pn){a=false;break}if(c){if(!S(t,function(n){return l===n||r(l,n,e,u,o)})){a=false;break}}else if(l!==p&&!r(l,p,e,u,o)){a=false;break}}return a}function $(n,t,r){switch(r){case"[object Boolean]":case"[object Date]":return+n==+t;case"[object Error]":
return n.name==t.name&&n.message==t.message;case"[object Number]":return n!=+n?t!=+t:n==+t;case"[object RegExp]":case"[object String]":return n==t+""}return false}function q(n,t,r,e,u,o){var i=2&u,c=on(n),f=c.length,a=on(t).length;if(f!=a&&!i)return false;for(var l=f;l--;){var p=c[l];if(!(i?p in t:kn.call(t,p)))return false}for(a=true;++l<f;){var p=c[l],s=n[p],h=t[p];if(void 0!==pn||s!==h&&!r(s,h,e,u,o)){a=false;break}i||(i="constructor"==p)}return a&&!i&&(r=n.constructor,e=t.constructor,r!=e&&"constructor"in n&&"constructor"in t&&!(typeof r=="function"&&r instanceof r&&typeof e=="function"&&e instanceof e)&&(a=false)),
-a}function z(n){var t=n?n.length:pn;if(Y(t)&&(Vn(n)||rn(n)||Q(n))){n=String;for(var r=-1,e=Array(t);++r<t;)e[r]=n(r);t=e}else t=null;return t}function C(n){return nn(n)&&W(n)&&(Vn(n)||Q(n))}function G(n){var t=n&&n.constructor;return n===(typeof t=="function"&&t.prototype||En)}function J(n){return n?n[0]:pn}function M(n,t){return r(n,m(t),Cn)}function P(n,t){return Cn(n,m(t))}function U(n,t,r){return e(n,m(t),r,3>arguments.length,Cn)}function V(n,t){var r;if(typeof t!="function")throw new TypeError("Expected a function");
+a}function z(n){var t=n?n.length:pn;if(Y(t)&&(Vn(n)||rn(n)||Q(n))){n=String;for(var r=-1,e=Array(t);++r<t;)e[r]=n(r);t=e}else t=null;return t}function C(n){return nn(n)&&W(n)&&(Vn(n)||Q(n))}function G(n){var t=n&&n.constructor;return n===(typeof t=="function"&&t.prototype||En)}function J(n){return n&&n.length?n[0]:pn}function M(n,t){return r(n,m(t),Cn)}function P(n,t){return Cn(n,m(t))}function U(n,t,r){return e(n,m(t),r,3>arguments.length,Cn)}function V(n,t){var r;if(typeof t!="function")throw new TypeError("Expected a function");
return n=Hn(n),function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=pn),r}}function H(n){var t;if(typeof n!="function")throw new TypeError("Expected a function");return t=qn(t===pn?n.length-1:Hn(t),0),function(){for(var r=arguments,e=-1,u=qn(r.length-t,0),o=Array(u);++e<u;)o[e]=r[t+e];for(u=Array(t+1),e=-1;++e<t;)u[e]=r[e];return u[t]=o,n.apply(this,u)}}function K(){if(!arguments.length)return[];var n=arguments[0];return Vn(n)?n:[n]}function L(n,t){return n>t}function Q(n){return nn(n)&&W(n)&&kn.call(n,"callee")&&(!Dn.call(n,"callee")||"[object Arguments]"==Sn.call(n));
}function W(n){return null!=n&&Y(Jn(n))&&!X(n)}function X(n){return n=Z(n)?Sn.call(n):"","[object Function]"==n||"[object GeneratorFunction]"==n}function Y(n){return typeof n=="number"&&n>-1&&0==n%1&&9007199254740991>=n}function Z(n){var t=typeof n;return!!n&&("object"==t||"function"==t)}function nn(n){return!!n&&typeof n=="object"}function tn(n){return typeof n=="number"||nn(n)&&"[object Number]"==Sn.call(n)}function rn(n){return typeof n=="string"||!Vn(n)&&nn(n)&&"[object String]"==Sn.call(n)}function en(n,t){
return t>n}function un(n){return typeof n=="string"?n:null==n?"":n+""}function on(n){var t=G(n);if(!t&&!W(n))return $n(Object(n));var r,e=z(n),u=!!e,e=e||[],o=e.length;for(r in n)!kn.call(n,r)||u&&("length"==r||f(r,o))||t&&"constructor"==r||e.push(r);return e}function cn(n){for(var t=-1,r=G(n),e=O(n),u=e.length,o=z(n),i=!!o,o=o||[],c=o.length;++t<u;){var a=e[t];i&&("length"==a||f(a,c))||"constructor"==a&&(r||!kn.call(n,a))||o.push(a)}return o}function fn(n){return n?u(n,on(n)):[]}function an(n){return n;
-}function ln(t,r,e){var u=on(r),o=_(r,u);null!=e||Z(r)&&(o.length||!u.length)||(e=r,r=t,t=this,o=_(r,on(r)));var i=Z(e)&&"chain"in e?e.chain:true,c=X(t);return Cn(o,function(e){var u=r[e];t[e]=u,c&&(t.prototype[e]=function(){var r=this.__chain__;if(i||r){var e=t(this.__wrapped__);return(e.__actions__=N(this.__actions__)).push({func:u,args:arguments,thisArg:t}),e.__chain__=r,e}return u.apply(t,n([this.value()],arguments))})}),t}var pn,sn=1/0,hn=/[&<>"'`]/g,vn=RegExp(hn.source),yn=/^(?:0|[1-9]\d*)$/,gn={
+}function ln(t,r,e){var u=on(r),o=_(r,u);null!=e||Z(r)&&(o.length||!u.length)||(e=r,r=t,t=this,o=_(r,on(r)));var i=!(Z(e)&&"chain"in e&&!e.chain),c=X(t);return Cn(o,function(e){var u=r[e];t[e]=u,c&&(t.prototype[e]=function(){var r=this.__chain__;if(i||r){var e=t(this.__wrapped__);return(e.__actions__=N(this.__actions__)).push({func:u,args:arguments,thisArg:t}),e.__chain__=r,e}return u.apply(t,n([this.value()],arguments))})}),t}var pn,sn=1/0,hn=/[&<>"'`]/g,vn=RegExp(hn.source),yn=/^(?:0|[1-9]\d*)$/,gn={
"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"},bn={"function":true,object:true},_n=bn[typeof exports]&&exports&&!exports.nodeType?exports:pn,jn=bn[typeof module]&&module&&!module.nodeType?module:pn,dn=jn&&jn.exports===_n?_n:pn,mn=o(bn[typeof self]&&self),On=o(bn[typeof window]&&window),wn=o(bn[typeof this]&&this),xn=o(_n&&jn&&typeof global=="object"&&global)||On!==(wn&&wn.window)&&On||mn||wn||Function("return this")(),An=Array.prototype,En=Object.prototype,kn=En.hasOwnProperty,Nn=0,Sn=En.toString,Tn=xn._,Fn=xn.Reflect,Rn=Fn?Fn.f:pn,Bn=Object.create,Dn=En.propertyIsEnumerable,In=xn.isFinite,$n=Object.keys,qn=Math.max,zn=!Dn.call({
valueOf:1},"valueOf");l.prototype=s(a.prototype),l.prototype.constructor=l;var Cn=function(n,t){return function(r,e){if(null==r)return r;if(!W(r))return n(r,e);for(var u=r.length,o=t?u:-1,i=Object(r);(t?o--:++o<u)&&false!==e(i[o],o,i););return r}}(b),Gn=function(n){return function(t,r,e){var u=-1,o=Object(t);e=e(t);for(var i=e.length;i--;){var c=e[n?i:++u];if(false===r(o[c],c,o))break}return t}}();Rn&&!Dn.call({valueOf:1},"valueOf")&&(O=function(n){n=Rn(n);for(var t,r=[];!(t=n.next()).done;)r.push(t.value);
return r});var Jn=E("length"),Mn=H(function(n,t,r){return D(n,t,r)}),Pn=H(function(n,t){return h(n,1,t)}),Un=H(function(n,t,r){return h(n,Kn(t)||0,r)}),Vn=Array.isArray,Hn=Number,Kn=Number,Ln=R(function(n,t){F(t,on(t),n)}),Qn=R(function(n,t){F(t,cn(t),n)}),Wn=R(function(n,t,r,e){F(t,cn(t),n,e)}),Xn=H(function(n){return n.push(pn,p),Wn.apply(pn,n)}),Yn=H(function(n,t){return null==n?{}:A(n,g(t,1))}),Zn=m;a.assignIn=Qn,a.before=V,a.bind=Mn,a.chain=function(n){return n=a(n),n.__chain__=true,n},a.compact=function(n){
@@ -25,6 +25,6 @@ return x(Ln({},n))},a.mixin=ln,a.negate=function(n){if(typeof n!="function")thro
if(r>e&&!c||!i||u&&!f&&a||o&&a){r=1;break n}if(e>r&&!u||!a||c&&!o&&i||f&&i){r=-1;break n}}r=0}return r||n.b-t.b}),E("c"))},a.tap=function(n,t){return t(n),n},a.thru=function(n,t){return t(n)},a.toArray=function(n){return W(n)?n.length?N(n):[]:fn(n)},a.values=fn,a.extend=Qn,ln(a,a),a.clone=function(n){return Z(n)?Vn(n)?N(n):F(n,on(n)):n},a.escape=function(n){return(n=un(n))&&vn.test(n)?n.replace(hn,i):n},a.every=function(n,t,r){return t=r?pn:t,v(n,m(t))},a.find=M,a.forEach=P,a.has=function(n,t){return null!=n&&kn.call(n,t);
},a.head=J,a.identity=an,a.indexOf=function(n,t,r){var e=n?n.length:0;r=typeof r=="number"?0>r?qn(e+r,0):r:0,r=(r||0)-1;for(var u=t===t;++r<e;){var o=n[r];if(u?o===t:o!==o)return r}return-1},a.isArguments=Q,a.isArray=Vn,a.isBoolean=function(n){return true===n||false===n||nn(n)&&"[object Boolean]"==Sn.call(n)},a.isDate=function(n){return nn(n)&&"[object Date]"==Sn.call(n)},a.isEmpty=function(n){if(W(n)&&(Vn(n)||rn(n)||X(n.splice)||Q(n)))return!n.length;for(var t in n)if(kn.call(n,t))return false;return!(zn&&on(n).length);
},a.isEqual=function(n,t){return j(n,t)},a.isFinite=function(n){return typeof n=="number"&&In(n)},a.isFunction=X,a.isNaN=function(n){return tn(n)&&n!=+n},a.isNull=function(n){return null===n},a.isNumber=tn,a.isObject=Z,a.isRegExp=function(n){return Z(n)&&"[object RegExp]"==Sn.call(n)},a.isString=rn,a.isUndefined=function(n){return n===pn},a.last=function(n){var t=n?n.length:0;return t?n[t-1]:pn},a.max=function(n){return n&&n.length?t(n,an,L):pn},a.min=function(n){return n&&n.length?t(n,an,en):pn},
-a.noConflict=function(){return xn._===this&&(xn._=Tn),this},a.noop=function(){},a.reduce=U,a.result=function(n,t,r){return t=null==n?pn:n[t],t===pn&&(t=r),X(t)?t.call(n):t},a.size=function(n){return null==n?0:(n=W(n)?n:on(n),n.length)},a.some=function(n,t,r){return t=r?pn:t,S(n,m(t))},a.uniqueId=function(n){var t=++Nn;return un(n)+t},a.each=P,a.first=J,ln(a,function(){var n={};return b(a,function(t,r){kn.call(a.prototype,r)||(n[r]=t)}),n}(),{chain:false}),a.VERSION="4.9.0",Cn("pop join replace reverse split push shift sort splice unshift".split(" "),function(n){
+a.noConflict=function(){return xn._===this&&(xn._=Tn),this},a.noop=function(){},a.reduce=U,a.result=function(n,t,r){return t=null==n?pn:n[t],t===pn&&(t=r),X(t)?t.call(n):t},a.size=function(n){return null==n?0:(n=W(n)?n:on(n),n.length)},a.some=function(n,t,r){return t=r?pn:t,S(n,m(t))},a.uniqueId=function(n){var t=++Nn;return un(n)+t},a.each=P,a.first=J,ln(a,function(){var n={};return b(a,function(t,r){kn.call(a.prototype,r)||(n[r]=t)}),n}(),{chain:false}),a.VERSION="4.11.1",Cn("pop join replace reverse split push shift sort splice unshift".split(" "),function(n){
var t=(/^(?:replace|split)$/.test(n)?String.prototype:An)[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|join|replace|shift)$/.test(n);a.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(Vn(u)?u:[],n)}return this[r](function(r){return t.apply(Vn(r)?r:[],n)})}}),a.prototype.toJSON=a.prototype.valueOf=a.prototype.value=function(){return T(this.__wrapped__,this.__actions__)},(On||mn||{})._=a,typeof define=="function"&&typeof define.amd=="object"&&define.amd? define(function(){
return a}):_n&&jn?(dn&&((jn.exports=a)._=a),_n._=a):xn._=a}).call(this); \ No newline at end of file
diff --git a/tools/eslint/node_modules/lodash/debounce.js b/tools/eslint/node_modules/lodash/debounce.js
index e43b400dbf..0fcd6e67ee 100644
--- a/tools/eslint/node_modules/lodash/debounce.js
+++ b/tools/eslint/node_modules/lodash/debounce.js
@@ -62,12 +62,13 @@ var nativeMax = Math.max,
function debounce(func, wait, options) {
var lastArgs,
lastThis,
+ maxWait,
result,
timerId,
lastCallTime = 0,
lastInvokeTime = 0,
leading = false,
- maxWait = false,
+ maxing = false,
trailing = true;
if (typeof func != 'function') {
@@ -76,7 +77,8 @@ function debounce(func, wait, options) {
wait = toNumber(wait) || 0;
if (isObject(options)) {
leading = !!options.leading;
- maxWait = 'maxWait' in options && nativeMax(toNumber(options.maxWait) || 0, wait);
+ maxing = 'maxWait' in options;
+ maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
trailing = 'trailing' in options ? !!options.trailing : trailing;
}
@@ -104,7 +106,7 @@ function debounce(func, wait, options) {
timeSinceLastInvoke = time - lastInvokeTime,
result = wait - timeSinceLastCall;
- return maxWait === false ? result : nativeMin(result, maxWait - timeSinceLastInvoke);
+ return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;
}
function shouldInvoke(time) {
@@ -115,7 +117,7 @@ function debounce(func, wait, options) {
// trailing edge, the system time has gone backwards and we're treating
// it as the trailing edge, or we've hit the `maxWait` limit.
return (!lastCallTime || (timeSinceLastCall >= wait) ||
- (timeSinceLastCall < 0) || (maxWait !== false && timeSinceLastInvoke >= maxWait));
+ (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));
}
function timerExpired() {
@@ -164,10 +166,15 @@ function debounce(func, wait, options) {
if (timerId === undefined) {
return leadingEdge(lastCallTime);
}
- // Handle invocations in a tight loop.
- clearTimeout(timerId);
+ if (maxing) {
+ // Handle invocations in a tight loop.
+ clearTimeout(timerId);
+ timerId = setTimeout(timerExpired, wait);
+ return invokeFunc(lastCallTime);
+ }
+ }
+ if (timerId === undefined) {
timerId = setTimeout(timerExpired, wait);
- return invokeFunc(lastCallTime);
}
return result;
}
diff --git a/tools/eslint/node_modules/lodash/forEach.js b/tools/eslint/node_modules/lodash/forEach.js
index 5f8d9b015c..0c598f6508 100644
--- a/tools/eslint/node_modules/lodash/forEach.js
+++ b/tools/eslint/node_modules/lodash/forEach.js
@@ -4,7 +4,7 @@ var arrayEach = require('./_arrayEach'),
isArray = require('./isArray');
/**
- * Iterates over elements of `collection` invoking `iteratee` for each element.
+ * Iterates over elements of `collection` and invokes `iteratee` for each element.
* The iteratee is invoked with three arguments: (value, index|key, collection).
* Iteratee functions may exit iteration early by explicitly returning `false`.
*
diff --git a/tools/eslint/node_modules/lodash/forIn.js b/tools/eslint/node_modules/lodash/forIn.js
index 811237f657..74a9615065 100644
--- a/tools/eslint/node_modules/lodash/forIn.js
+++ b/tools/eslint/node_modules/lodash/forIn.js
@@ -4,9 +4,9 @@ var baseFor = require('./_baseFor'),
/**
* Iterates over own and inherited enumerable string keyed properties of an
- * object invoking `iteratee` for each property. The iteratee is invoked with
- * three arguments: (value, key, object). Iteratee functions may exit iteration
- * early by explicitly returning `false`.
+ * object and invokes `iteratee` for each property. The iteratee is invoked
+ * with three arguments: (value, key, object). Iteratee functions may exit
+ * iteration early by explicitly returning `false`.
*
* @static
* @memberOf _
diff --git a/tools/eslint/node_modules/lodash/forOwn.js b/tools/eslint/node_modules/lodash/forOwn.js
index a680e53a00..126d43f0d3 100644
--- a/tools/eslint/node_modules/lodash/forOwn.js
+++ b/tools/eslint/node_modules/lodash/forOwn.js
@@ -2,10 +2,10 @@ var baseForOwn = require('./_baseForOwn'),
baseIteratee = require('./_baseIteratee');
/**
- * Iterates over own enumerable string keyed properties of an object invoking
- * `iteratee` for each property. The iteratee is invoked with three arguments:
- * (value, key, object). Iteratee functions may exit iteration early by
- * explicitly returning `false`.
+ * Iterates over own enumerable string keyed properties of an object and
+ * invokes `iteratee` for each property. The iteratee is invoked with three
+ * arguments: (value, key, object). Iteratee functions may exit iteration
+ * early by explicitly returning `false`.
*
* @static
* @memberOf _
diff --git a/tools/eslint/node_modules/lodash/fp/_mapping.js b/tools/eslint/node_modules/lodash/fp/_mapping.js
index d9d43fd938..18a3196d30 100644
--- a/tools/eslint/node_modules/lodash/fp/_mapping.js
+++ b/tools/eslint/node_modules/lodash/fp/_mapping.js
@@ -30,17 +30,19 @@ exports.aliasToReal = {
'init': 'initial',
'invertObj': 'invert',
'juxt': 'over',
- 'mapObj': 'mapValues',
'omitAll': 'omit',
'nAry': 'ary',
'path': 'get',
'pathEq': 'matchesProperty',
'pathOr': 'getOr',
+ 'paths': 'at',
'pickAll': 'pick',
'pipe': 'flow',
+ 'pluck': 'map',
'prop': 'get',
- 'propOf': 'propertyOf',
+ 'propEq': 'matchesProperty',
'propOr': 'getOr',
+ 'props': 'at',
'unapply': 'rest',
'unnest': 'flatten',
'useWith': 'overArgs',
@@ -68,16 +70,17 @@ exports.aryMethod = {
'get', 'groupBy', 'gt', 'gte', 'has', 'hasIn', 'includes', 'indexOf',
'intersection', 'invertBy', 'invoke', 'invokeMap', 'isEqual', 'isMatch',
'join', 'keyBy', 'lastIndexOf', 'lt', 'lte', 'map', 'mapKeys', 'mapValues',
- 'matchesProperty', 'maxBy', 'meanBy', 'merge', 'minBy', 'multiply', 'omit', 'omitBy',
- 'overArgs', 'pad', 'padEnd', 'padStart', 'parseInt', 'partial', 'partialRight',
- 'partition', 'pick', 'pickBy', 'pull', 'pullAll', 'pullAt', 'random', 'range',
- 'rangeRight', 'rearg', 'reject', 'remove', 'repeat', 'restFrom', 'result',
- 'sampleSize', 'some', 'sortBy', 'sortedIndex', 'sortedIndexOf', 'sortedLastIndex',
- 'sortedLastIndexOf', 'sortedUniqBy', 'split', 'spreadFrom', 'startsWith',
- 'subtract', 'sumBy', 'take', 'takeRight', 'takeRightWhile', 'takeWhile', 'tap',
- 'throttle', 'thru', 'times', 'trimChars', 'trimCharsEnd', 'trimCharsStart',
- 'truncate', 'union', 'uniqBy', 'uniqWith', 'unset', 'unzipWith', 'without',
- 'wrap', 'xor', 'zip', 'zipObject', 'zipObjectDeep'
+ 'matchesProperty', 'maxBy', 'meanBy', 'merge', 'minBy', 'multiply', 'nth',
+ 'omit', 'omitBy', 'overArgs', 'pad', 'padEnd', 'padStart', 'parseInt',
+ 'partial', 'partialRight', 'partition', 'pick', 'pickBy', 'pull', 'pullAll',
+ 'pullAt', 'random', 'range', 'rangeRight', 'rearg', 'reject', 'remove',
+ 'repeat', 'restFrom', 'result', 'sampleSize', 'some', 'sortBy', 'sortedIndex',
+ 'sortedIndexOf', 'sortedLastIndex', 'sortedLastIndexOf', 'sortedUniqBy',
+ 'split', 'spreadFrom', 'startsWith', 'subtract', 'sumBy', 'take', 'takeRight',
+ 'takeRightWhile', 'takeWhile', 'tap', 'throttle', 'thru', 'times', 'trimChars',
+ 'trimCharsEnd', 'trimCharsStart', 'truncate', 'union', 'uniqBy', 'uniqWith',
+ 'unset', 'unzipWith', 'without', 'wrap', 'xor', 'zip', 'zipObject',
+ 'zipObjectDeep'
],
'3': [
'assignInWith', 'assignWith', 'clamp', 'differenceBy', 'differenceWith',
diff --git a/tools/eslint/node_modules/lodash/fp/mapObj.js b/tools/eslint/node_modules/lodash/fp/mapObj.js
deleted file mode 100644
index 9f1872de91..0000000000
--- a/tools/eslint/node_modules/lodash/fp/mapObj.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('./mapValues');
diff --git a/tools/eslint/node_modules/lodash/fp/nth.js b/tools/eslint/node_modules/lodash/fp/nth.js
new file mode 100644
index 0000000000..da4fda7409
--- /dev/null
+++ b/tools/eslint/node_modules/lodash/fp/nth.js
@@ -0,0 +1,5 @@
+var convert = require('./convert'),
+ func = convert('nth', require('../nth'));
+
+func.placeholder = require('./placeholder');
+module.exports = func;
diff --git a/tools/eslint/node_modules/lodash/fp/paths.js b/tools/eslint/node_modules/lodash/fp/paths.js
new file mode 100644
index 0000000000..1eb7950ac0
--- /dev/null
+++ b/tools/eslint/node_modules/lodash/fp/paths.js
@@ -0,0 +1 @@
+module.exports = require('./at');
diff --git a/tools/eslint/node_modules/lodash/fp/pluck.js b/tools/eslint/node_modules/lodash/fp/pluck.js
new file mode 100644
index 0000000000..0d1e1abfaf
--- /dev/null
+++ b/tools/eslint/node_modules/lodash/fp/pluck.js
@@ -0,0 +1 @@
+module.exports = require('./map');
diff --git a/tools/eslint/node_modules/lodash/fp/propEq.js b/tools/eslint/node_modules/lodash/fp/propEq.js
new file mode 100644
index 0000000000..36c027a383
--- /dev/null
+++ b/tools/eslint/node_modules/lodash/fp/propEq.js
@@ -0,0 +1 @@
+module.exports = require('./matchesProperty');
diff --git a/tools/eslint/node_modules/lodash/fp/propOf.js b/tools/eslint/node_modules/lodash/fp/propOf.js
deleted file mode 100644
index cf0d197c62..0000000000
--- a/tools/eslint/node_modules/lodash/fp/propOf.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('./propertyOf');
diff --git a/tools/eslint/node_modules/lodash/fp/props.js b/tools/eslint/node_modules/lodash/fp/props.js
new file mode 100644
index 0000000000..1eb7950ac0
--- /dev/null
+++ b/tools/eslint/node_modules/lodash/fp/props.js
@@ -0,0 +1 @@
+module.exports = require('./at');
diff --git a/tools/eslint/node_modules/lodash/head.js b/tools/eslint/node_modules/lodash/head.js
index 8baa0b8a33..dee9d1f1e7 100644
--- a/tools/eslint/node_modules/lodash/head.js
+++ b/tools/eslint/node_modules/lodash/head.js
@@ -17,7 +17,7 @@
* // => undefined
*/
function head(array) {
- return array ? array[0] : undefined;
+ return (array && array.length) ? array[0] : undefined;
}
module.exports = head;
diff --git a/tools/eslint/node_modules/lodash/intersection.js b/tools/eslint/node_modules/lodash/intersection.js
index c525a4ff2e..1a7c7706c3 100644
--- a/tools/eslint/node_modules/lodash/intersection.js
+++ b/tools/eslint/node_modules/lodash/intersection.js
@@ -1,6 +1,6 @@
var arrayMap = require('./_arrayMap'),
- baseCastArrayLikeObject = require('./_baseCastArrayLikeObject'),
baseIntersection = require('./_baseIntersection'),
+ castArrayLikeObject = require('./_castArrayLikeObject'),
rest = require('./rest');
/**
@@ -21,7 +21,7 @@ var arrayMap = require('./_arrayMap'),
* // => [2]
*/
var intersection = rest(function(arrays) {
- var mapped = arrayMap(arrays, baseCastArrayLikeObject);
+ var mapped = arrayMap(arrays, castArrayLikeObject);
return (mapped.length && mapped[0] === arrays[0])
? baseIntersection(mapped)
: [];
diff --git a/tools/eslint/node_modules/lodash/intersectionBy.js b/tools/eslint/node_modules/lodash/intersectionBy.js
index 6d8c45f50d..6afb79db6c 100644
--- a/tools/eslint/node_modules/lodash/intersectionBy.js
+++ b/tools/eslint/node_modules/lodash/intersectionBy.js
@@ -1,7 +1,7 @@
var arrayMap = require('./_arrayMap'),
- baseCastArrayLikeObject = require('./_baseCastArrayLikeObject'),
baseIntersection = require('./_baseIntersection'),
baseIteratee = require('./_baseIteratee'),
+ castArrayLikeObject = require('./_castArrayLikeObject'),
last = require('./last'),
rest = require('./rest');
@@ -30,7 +30,7 @@ var arrayMap = require('./_arrayMap'),
*/
var intersectionBy = rest(function(arrays) {
var iteratee = last(arrays),
- mapped = arrayMap(arrays, baseCastArrayLikeObject);
+ mapped = arrayMap(arrays, castArrayLikeObject);
if (iteratee === last(mapped)) {
iteratee = undefined;
diff --git a/tools/eslint/node_modules/lodash/intersectionWith.js b/tools/eslint/node_modules/lodash/intersectionWith.js
index 2985e3fcb0..bc195dc999 100644
--- a/tools/eslint/node_modules/lodash/intersectionWith.js
+++ b/tools/eslint/node_modules/lodash/intersectionWith.js
@@ -1,6 +1,6 @@
var arrayMap = require('./_arrayMap'),
- baseCastArrayLikeObject = require('./_baseCastArrayLikeObject'),
baseIntersection = require('./_baseIntersection'),
+ castArrayLikeObject = require('./_castArrayLikeObject'),
last = require('./last'),
rest = require('./rest');
@@ -27,7 +27,7 @@ var arrayMap = require('./_arrayMap'),
*/
var intersectionWith = rest(function(arrays) {
var comparator = last(arrays),
- mapped = arrayMap(arrays, baseCastArrayLikeObject);
+ mapped = arrayMap(arrays, castArrayLikeObject);
if (comparator === last(mapped)) {
comparator = undefined;
diff --git a/tools/eslint/node_modules/lodash/lodash.js b/tools/eslint/node_modules/lodash/lodash.js
index 0e359de50b..2ad95ab4d1 100644
--- a/tools/eslint/node_modules/lodash/lodash.js
+++ b/tools/eslint/node_modules/lodash/lodash.js
@@ -1,6 +1,6 @@
/**
* @license
- * lodash 4.9.0 (Custom Build) <https://lodash.com/>
+ * lodash 4.11.1 (Custom Build) <https://lodash.com/>
* Build: `lodash -d -o ./foo/lodash.js`
* Copyright jQuery Foundation and other contributors <https://jquery.org/>
* Released under MIT license <https://lodash.com/license>
@@ -13,7 +13,7 @@
var undefined;
/** Used as the semantic version number. */
- var VERSION = '4.9.0';
+ var VERSION = '4.11.1';
/** Used as the size to enable large array optimizations. */
var LARGE_ARRAY_SIZE = 200;
@@ -131,6 +131,9 @@
reTrimStart = /^\s+/,
reTrimEnd = /\s+$/;
+ /** Used to match non-compound words composed of alphanumeric characters. */
+ var reBasicWord = /[a-zA-Z0-9]+/g;
+
/** Used to match backslashes in property paths. */
var reEscapeChar = /\\(\\)?/g;
@@ -185,7 +188,8 @@
rsBreakRange = rsMathOpRange + rsNonCharRange + rsQuoteRange + rsSpaceRange;
/** Used to compose unicode capture groups. */
- var rsAstral = '[' + rsAstralRange + ']',
+ var rsApos = "['\u2019]",
+ rsAstral = '[' + rsAstralRange + ']',
rsBreak = '[' + rsBreakRange + ']',
rsCombo = '[' + rsComboMarksRange + rsComboSymbolsRange + ']',
rsDigits = '\\d+',
@@ -203,6 +207,8 @@
/** Used to compose unicode regexes. */
var rsLowerMisc = '(?:' + rsLower + '|' + rsMisc + ')',
rsUpperMisc = '(?:' + rsUpper + '|' + rsMisc + ')',
+ rsOptLowerContr = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',
+ rsOptUpperContr = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',
reOptMod = rsModifier + '?',
rsOptVar = '[' + rsVarRange + ']?',
rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',
@@ -210,6 +216,9 @@
rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq,
rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';
+ /** Used to match apostrophes. */
+ var reApos = RegExp(rsApos, 'g');
+
/**
* Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and
* [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).
@@ -219,22 +228,19 @@
/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */
var reComplexSymbol = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');
- /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */
- var reHasComplexSymbol = RegExp('[' + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + ']');
-
- /** Used to match non-compound words composed of alphanumeric characters. */
- var reBasicWord = /[a-zA-Z0-9]+/g;
-
/** Used to match complex or compound words. */
var reComplexWord = RegExp([
- rsUpper + '?' + rsLower + '+(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',
- rsUpperMisc + '+(?=' + [rsBreak, rsUpper + rsLowerMisc, '$'].join('|') + ')',
- rsUpper + '?' + rsLowerMisc + '+',
- rsUpper + '+',
+ rsUpper + '?' + rsLower + '+' + rsOptLowerContr + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',
+ rsUpperMisc + '+' + rsOptUpperContr + '(?=' + [rsBreak, rsUpper + rsLowerMisc, '$'].join('|') + ')',
+ rsUpper + '?' + rsLowerMisc + '+' + rsOptLowerContr,
+ rsUpper + '+' + rsOptUpperContr,
rsDigits,
rsEmoji
].join('|'), 'g');
+ /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */
+ var reHasComplexSymbol = RegExp('[' + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + ']');
+
/** Used to detect strings that need a more robust regexp to match words. */
var reHasComplexWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;
@@ -1382,7 +1388,8 @@
/** Used for built-in method references. */
var arrayProto = context.Array.prototype,
- objectProto = context.Object.prototype;
+ objectProto = context.Object.prototype,
+ stringProto = context.String.prototype;
/** Used to resolve the decompiled source of functions. */
var funcToString = context.Function.prototype.toString;
@@ -1437,7 +1444,9 @@
nativeMin = Math.min,
nativeParseInt = context.parseInt,
nativeRandom = Math.random,
- nativeReverse = arrayProto.reverse;
+ nativeReplace = stringProto.replace,
+ nativeReverse = arrayProto.reverse,
+ nativeSplit = stringProto.split;
/* Built-in method references that are verified to be native. */
var DataView = getNative(context, 'DataView'),
@@ -1550,7 +1559,7 @@
* `isSet`, `isString`, `isUndefined`, `isTypedArray`, `isWeakMap`, `isWeakSet`,
* `join`, `kebabCase`, `last`, `lastIndexOf`, `lowerCase`, `lowerFirst`,
* `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`, `min`, `minBy`, `multiply`,
- * `noConflict`, `noop`, `now`, `pad`, `padEnd`, `padStart`, `parseInt`,
+ * `noConflict`, `noop`, `now`, `nth`, `pad`, `padEnd`, `padStart`, `parseInt`,
* `pop`, `random`, `reduce`, `reduceRight`, `repeat`, `result`, `round`,
* `runInContext`, `sample`, `shift`, `size`, `snakeCase`, `some`, `sortedIndex`,
* `sortedIndexBy`, `sortedLastIndex`, `sortedLastIndexBy`, `startCase`,
@@ -2358,50 +2367,6 @@
}
/**
- * Casts `value` to an empty array if it's not an array like object.
- *
- * @private
- * @param {*} value The value to inspect.
- * @returns {Array|Object} Returns the cast array-like object.
- */
- function baseCastArrayLikeObject(value) {
- return isArrayLikeObject(value) ? value : [];
- }
-
- /**
- * Casts `value` to `identity` if it's not a function.
- *
- * @private
- * @param {*} value The value to inspect.
- * @returns {Function} Returns cast function.
- */
- function baseCastFunction(value) {
- return typeof value == 'function' ? value : identity;
- }
-
- /**
- * Casts `value` to a string if it's not a string or symbol.
- *
- * @private
- * @param {*} value The value to inspect.
- * @returns {string|symbol} Returns the cast key.
- */
- function baseCastKey(key) {
- return (typeof key == 'string' || isSymbol(key)) ? key : (key + '');
- }
-
- /**
- * Casts `value` to a path array if it's not one.
- *
- * @private
- * @param {*} value The value to inspect.
- * @returns {Array} Returns the cast property path array.
- */
- function baseCastPath(value) {
- return isArray(value) ? value : stringToPath(value);
- }
-
- /**
* The base implementation of `_.clamp` which doesn't coerce arguments to numbers.
*
* @private
@@ -2731,7 +2696,7 @@
/**
* The base implementation of `baseForOwn` which iterates over `object`
- * properties returned by `keysFunc` invoking `iteratee` for each property.
+ * properties returned by `keysFunc` and invokes `iteratee` for each property.
* Iteratee functions may exit iteration early by explicitly returning `false`.
*
* @private
@@ -2802,7 +2767,7 @@
* @returns {*} Returns the resolved value.
*/
function baseGet(object, path) {
- path = isKey(path, object) ? [path] : baseCastPath(path);
+ path = isKey(path, object) ? [path] : castPath(path);
var index = 0,
length = path.length;
@@ -2964,7 +2929,7 @@
*/
function baseInvoke(object, path, args) {
if (!isKey(path, object)) {
- path = baseCastPath(path);
+ path = castPath(path);
object = parent(object, path);
path = last(path);
}
@@ -3336,6 +3301,23 @@
}
/**
+ * The base implementation of `_.nth` which doesn't coerce `n` to an integer.
+ *
+ * @private
+ * @param {Array} array The array to query.
+ * @param {number} n The index of the element to return.
+ * @returns {*} Returns the nth element of `array`.
+ */
+ function baseNth(array, n) {
+ var length = array.length;
+ if (!length) {
+ return;
+ }
+ n += n < 0 ? length : 0;
+ return isIndex(n, length) ? array[n] : undefined;
+ }
+
+ /**
* The base implementation of `_.orderBy` without param guards.
*
* @private
@@ -3346,7 +3328,7 @@
*/
function baseOrderBy(collection, iteratees, orders) {
var index = -1;
- iteratees = arrayMap(iteratees.length ? iteratees : [identity], getIteratee());
+ iteratees = arrayMap(iteratees.length ? iteratees : [identity], baseUnary(getIteratee()));
var result = baseMap(collection, function(value, key, collection) {
var criteria = arrayMap(iteratees, function(iteratee) {
@@ -3486,7 +3468,7 @@
splice.call(array, index, 1);
}
else if (!isKey(index, array)) {
- var path = baseCastPath(index),
+ var path = castPath(index),
object = parent(array, path);
if (object != null) {
@@ -3576,7 +3558,7 @@
* @returns {Object} Returns `object`.
*/
function baseSet(object, path, value, customizer) {
- path = isKey(path, object) ? [path] : baseCastPath(path);
+ path = isKey(path, object) ? [path] : castPath(path);
var index = -1,
length = path.length,
@@ -3855,7 +3837,7 @@
* @returns {boolean} Returns `true` if the property is deleted, else `false`.
*/
function baseUnset(object, path) {
- path = isKey(path, object) ? [path] : baseCastPath(path);
+ path = isKey(path, object) ? [path] : castPath(path);
object = parent(object, path);
var key = last(path);
return (object != null && has(object, key)) ? delete object[key] : true;
@@ -3966,6 +3948,54 @@
}
/**
+ * Casts `value` to an empty array if it's not an array like object.
+ *
+ * @private
+ * @param {*} value The value to inspect.
+ * @returns {Array|Object} Returns the cast array-like object.
+ */
+ function castArrayLikeObject(value) {
+ return isArrayLikeObject(value) ? value : [];
+ }
+
+ /**
+ * Casts `value` to `identity` if it's not a function.
+ *
+ * @private
+ * @param {*} value The value to inspect.
+ * @returns {Function} Returns cast function.
+ */
+ function castFunction(value) {
+ return typeof value == 'function' ? value : identity;
+ }
+
+ /**
+ * Casts `value` to a path array if it's not one.
+ *
+ * @private
+ * @param {*} value The value to inspect.
+ * @returns {Array} Returns the cast property path array.
+ */
+ function castPath(value) {
+ return isArray(value) ? value : stringToPath(value);
+ }
+
+ /**
+ * Casts `array` to a slice if it's needed.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {number} start The start position.
+ * @param {number} [end=array.length] The end position.
+ * @returns {Array} Returns the cast slice.
+ */
+ function castSlice(array, start, end) {
+ var length = array.length;
+ end = end === undefined ? length : end;
+ return (!start && end >= length) ? array : baseSlice(array, start, end);
+ }
+
+ /**
* Creates a clone of `buffer`.
*
* @private
@@ -4171,24 +4201,10 @@
* @param {Object} source The object to copy properties from.
* @param {Array} props The property identifiers to copy.
* @param {Object} [object={}] The object to copy properties to.
- * @returns {Object} Returns `object`.
- */
- function copyObject(source, props, object) {
- return copyObjectWith(source, props, object);
- }
-
- /**
- * This function is like `copyObject` except that it accepts a function to
- * customize copied values.
- *
- * @private
- * @param {Object} source The object to copy properties from.
- * @param {Array} props The property identifiers to copy.
- * @param {Object} [object={}] The object to copy properties to.
* @param {Function} [customizer] The function to customize copied values.
* @returns {Object} Returns `object`.
*/
- function copyObjectWith(source, props, object, customizer) {
+ function copyObject(source, props, object, customizer) {
object || (object = {});
var index = -1,
@@ -4358,8 +4374,13 @@
? stringToArray(string)
: undefined;
- var chr = strSymbols ? strSymbols[0] : string.charAt(0),
- trailing = strSymbols ? strSymbols.slice(1).join('') : string.slice(1);
+ var chr = strSymbols
+ ? strSymbols[0]
+ : string.charAt(0);
+
+ var trailing = strSymbols
+ ? castSlice(strSymbols, 1).join('')
+ : string.slice(1);
return chr[methodName]() + trailing;
};
@@ -4374,7 +4395,7 @@
*/
function createCompounder(callback) {
return function(string) {
- return arrayReduce(words(deburr(string)), callback, '');
+ return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');
};
}
@@ -4610,7 +4631,10 @@
*/
function createOver(arrayFunc) {
return rest(function(iteratees) {
- iteratees = arrayMap(baseFlatten(iteratees, 1, isFlattenableIteratee), getIteratee());
+ iteratees = (iteratees.length == 1 && isArray(iteratees[0]))
+ ? arrayMap(iteratees[0], baseUnary(getIteratee()))
+ : arrayMap(baseFlatten(iteratees, 1, isFlattenableIteratee), baseUnary(getIteratee()));
+
return rest(function(args) {
var thisArg = this;
return arrayFunc(iteratees, function(iteratee) {
@@ -4638,7 +4662,7 @@
}
var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));
return reHasComplexSymbol.test(chars)
- ? stringToArray(result).slice(0, length).join('')
+ ? castSlice(stringToArray(result), 0, length).join('')
: result.slice(0, length);
}
@@ -4724,7 +4748,6 @@
*/
function createRecurryWrapper(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {
var isCurry = bitmask & CURRY_FLAG,
- newArgPos = argPos ? copyArray(argPos) : undefined,
newHolders = isCurry ? holders : undefined,
newHoldersRight = isCurry ? undefined : holders,
newPartials = isCurry ? partials : undefined,
@@ -4738,7 +4761,7 @@
}
var newData = [
func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,
- newHoldersRight, newArgPos, ary, arity
+ newHoldersRight, argPos, ary, arity
];
var result = wrapFunc.apply(undefined, newData);
@@ -5346,7 +5369,7 @@
* @returns {boolean} Returns `true` if `path` exists, else `false`.
*/
function hasPath(object, path, hasFunc) {
- path = isKey(path, object) ? [path] : baseCastPath(path);
+ path = isKey(path, object) ? [path] : castPath(path);
var result,
index = -1,
@@ -5651,20 +5674,20 @@
var value = source[3];
if (value) {
var partials = data[3];
- data[3] = partials ? composeArgs(partials, value, source[4]) : copyArray(value);
- data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : copyArray(source[4]);
+ data[3] = partials ? composeArgs(partials, value, source[4]) : value;
+ data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];
}
// Compose partial right arguments.
value = source[5];
if (value) {
partials = data[5];
- data[5] = partials ? composeArgsRight(partials, value, source[6]) : copyArray(value);
- data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : copyArray(source[6]);
+ data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;
+ data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];
}
// Use source `argPos` if available.
value = source[7];
if (value) {
- data[7] = copyArray(value);
+ data[7] = value;
}
// Use source `ary` if it's smaller.
if (srcBitmask & ARY_FLAG) {
@@ -5785,6 +5808,17 @@
});
/**
+ * Converts `value` to a string key if it's not a string or symbol.
+ *
+ * @private
+ * @param {*} value The value to inspect.
+ * @returns {string|symbol} Returns the key.
+ */
+ function toKey(key) {
+ return (typeof key == 'string' || isSymbol(key)) ? key : (key + '');
+ }
+
+ /**
* Converts `func` to its source code.
*
* @private
@@ -6408,7 +6442,7 @@
* // => undefined
*/
function head(array) {
- return array ? array[0] : undefined;
+ return (array && array.length) ? array[0] : undefined;
}
/**
@@ -6482,7 +6516,7 @@
* // => [2]
*/
var intersection = rest(function(arrays) {
- var mapped = arrayMap(arrays, baseCastArrayLikeObject);
+ var mapped = arrayMap(arrays, castArrayLikeObject);
return (mapped.length && mapped[0] === arrays[0])
? baseIntersection(mapped)
: [];
@@ -6513,7 +6547,7 @@
*/
var intersectionBy = rest(function(arrays) {
var iteratee = last(arrays),
- mapped = arrayMap(arrays, baseCastArrayLikeObject);
+ mapped = arrayMap(arrays, castArrayLikeObject);
if (iteratee === last(mapped)) {
iteratee = undefined;
@@ -6548,7 +6582,7 @@
*/
var intersectionWith = rest(function(arrays) {
var comparator = last(arrays),
- mapped = arrayMap(arrays, baseCastArrayLikeObject);
+ mapped = arrayMap(arrays, castArrayLikeObject);
if (comparator === last(mapped)) {
comparator = undefined;
@@ -6645,6 +6679,31 @@
}
/**
+ * Gets the nth element of `array`. If `n` is negative, the nth element
+ * from the end is returned.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.11.0
+ * @category Array
+ * @param {Array} array The array to query.
+ * @param {number} [n=0] The index of the element to return.
+ * @returns {*} Returns the nth element of `array`.
+ * @example
+ *
+ * var array = ['a', 'b', 'c', 'd'];
+ *
+ * _.nth(array, 1);
+ * // => 'b'
+ *
+ * _.nth(array, -2);
+ * // => 'c';
+ */
+ function nth(array, n) {
+ return (array && array.length) ? baseNth(array, toInteger(n)) : undefined;
+ }
+
+ /**
* Removes all given values from `array` using
* [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
* for equality comparisons.
@@ -6765,8 +6824,7 @@
* @since 3.0.0
* @category Array
* @param {Array} array The array to modify.
- * @param {...(number|number[])} [indexes] The indexes of elements to remove,
- * specified individually or in arrays.
+ * @param {...(number|number[])} [indexes] The indexes of elements to remove.
* @returns {Array} Returns the new array of removed elements.
* @example
*
@@ -7774,8 +7832,7 @@
* @memberOf _
* @since 1.0.0
* @category Seq
- * @param {...(string|string[])} [paths] The property paths of elements to pick,
- * specified individually or in arrays.
+ * @param {...(string|string[])} [paths] The property paths of elements to pick.
* @returns {Object} Returns the new `lodash` wrapper instance.
* @example
*
@@ -8292,7 +8349,7 @@
}
/**
- * Iterates over elements of `collection` invoking `iteratee` for each element.
+ * Iterates over elements of `collection` and invokes `iteratee` for each element.
* The iteratee is invoked with three arguments: (value, index|key, collection).
* Iteratee functions may exit iteration early by explicitly returning `false`.
*
@@ -8506,8 +8563,8 @@
* The guarded methods are:
* `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,
* `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,
- * `sampleSize`, `slice`, `some`, `sortBy`, `take`, `takeRight`, `template`,
- * `trim`, `trimEnd`, `trimStart`, and `words`
+ * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,
+ * `template`, `trim`, `trimEnd`, `trimStart`, and `words`
*
* @static
* @memberOf _
@@ -8917,8 +8974,7 @@
* @category Collection
* @param {Array|Object} collection The collection to iterate over.
* @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])}
- * [iteratees=[_.identity]] The iteratees to sort by, specified individually
- * or in arrays.
+ * [iteratees=[_.identity]] The iteratees to sort by.
* @returns {Array} Returns the new sorted array.
* @example
*
@@ -8948,9 +9004,13 @@
if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {
iteratees = [];
} else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {
- iteratees.length = 1;
+ iteratees = [iteratees[0]];
}
- return baseOrderBy(collection, baseFlatten(iteratees, 1), []);
+ iteratees = (iteratees.length == 1 && isArray(iteratees[0]))
+ ? iteratees[0]
+ : baseFlatten(iteratees, 1, isFlattenableIteratee);
+
+ return baseOrderBy(collection, iteratees, []);
});
/*------------------------------------------------------------------------*/
@@ -9313,12 +9373,13 @@
function debounce(func, wait, options) {
var lastArgs,
lastThis,
+ maxWait,
result,
timerId,
lastCallTime = 0,
lastInvokeTime = 0,
leading = false,
- maxWait = false,
+ maxing = false,
trailing = true;
if (typeof func != 'function') {
@@ -9327,7 +9388,8 @@
wait = toNumber(wait) || 0;
if (isObject(options)) {
leading = !!options.leading;
- maxWait = 'maxWait' in options && nativeMax(toNumber(options.maxWait) || 0, wait);
+ maxing = 'maxWait' in options;
+ maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
trailing = 'trailing' in options ? !!options.trailing : trailing;
}
@@ -9355,7 +9417,7 @@
timeSinceLastInvoke = time - lastInvokeTime,
result = wait - timeSinceLastCall;
- return maxWait === false ? result : nativeMin(result, maxWait - timeSinceLastInvoke);
+ return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;
}
function shouldInvoke(time) {
@@ -9366,7 +9428,7 @@
// trailing edge, the system time has gone backwards and we're treating
// it as the trailing edge, or we've hit the `maxWait` limit.
return (!lastCallTime || (timeSinceLastCall >= wait) ||
- (timeSinceLastCall < 0) || (maxWait !== false && timeSinceLastInvoke >= maxWait));
+ (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));
}
function timerExpired() {
@@ -9415,10 +9477,15 @@
if (timerId === undefined) {
return leadingEdge(lastCallTime);
}
- // Handle invocations in a tight loop.
- clearTimeout(timerId);
+ if (maxing) {
+ // Handle invocations in a tight loop.
+ clearTimeout(timerId);
+ timerId = setTimeout(timerExpired, wait);
+ return invokeFunc(lastCallTime);
+ }
+ }
+ if (timerId === undefined) {
timerId = setTimeout(timerExpired, wait);
- return invokeFunc(lastCallTime);
}
return result;
}
@@ -9621,8 +9688,8 @@
* @memberOf _
* @category Function
* @param {Function} func The function to wrap.
- * @param {...(Function|Function[])} [transforms] The functions to transform.
- * arguments, specified individually or in arrays.
+ * @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])}
+ * [transforms[_.identity]] The functions to transform.
* @returns {Function} Returns the new function.
* @example
*
@@ -9645,7 +9712,10 @@
* // => [100, 10]
*/
var overArgs = rest(function(func, transforms) {
- transforms = arrayMap(baseFlatten(transforms, 1, isFlattenableIteratee), getIteratee());
+ transforms = (transforms.length == 1 && isArray(transforms[0]))
+ ? arrayMap(transforms[0], baseUnary(getIteratee()))
+ : arrayMap(baseFlatten(transforms, 1, isFlattenableIteratee), baseUnary(getIteratee()));
+
var funcsLength = transforms.length;
return rest(function(args) {
var index = -1,
@@ -9744,8 +9814,7 @@
* @since 3.0.0
* @category Function
* @param {Function} func The function to rearrange arguments for.
- * @param {...(number|number[])} indexes The arranged argument indexes,
- * specified individually or in arrays.
+ * @param {...(number|number[])} indexes The arranged argument indexes.
* @returns {Function} Returns the new function.
* @example
*
@@ -9855,7 +9924,7 @@
start = start === undefined ? 0 : nativeMax(toInteger(start), 0);
return rest(function(args) {
var array = args[start],
- otherArgs = args.slice(0, start);
+ otherArgs = castSlice(args, 0, start);
if (array) {
arrayPush(otherArgs, array);
@@ -11503,8 +11572,8 @@
}
/**
- * Converts `value` to a string if it's not one. An empty string is returned
- * for `null` and `undefined` values. The sign of `-0` is preserved.
+ * Converts `value` to a string. An empty string is returned for `null`
+ * and `undefined` values. The sign of `-0` is preserved.
*
* @static
* @memberOf _
@@ -11652,7 +11721,7 @@
* // => { 'a': 1, 'b': 2 }
*/
var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {
- copyObjectWith(source, keysIn(source), object, customizer);
+ copyObject(source, keysIn(source), object, customizer);
});
/**
@@ -11683,7 +11752,7 @@
* // => { 'a': 1, 'b': 2 }
*/
var assignWith = createAssigner(function(object, source, srcIndex, customizer) {
- copyObjectWith(source, keys(source), object, customizer);
+ copyObject(source, keys(source), object, customizer);
});
/**
@@ -11694,8 +11763,7 @@
* @since 1.0.0
* @category Object
* @param {Object} object The object to iterate over.
- * @param {...(string|string[])} [paths] The property paths of elements to pick,
- * specified individually or in arrays.
+ * @param {...(string|string[])} [paths] The property paths of elements to pick.
* @returns {Array} Returns the new array of picked elements.
* @example
*
@@ -11881,9 +11949,9 @@
/**
* Iterates over own and inherited enumerable string keyed properties of an
- * object invoking `iteratee` for each property. The iteratee is invoked with
- * three arguments: (value, key, object). Iteratee functions may exit iteration
- * early by explicitly returning `false`.
+ * object and invokes `iteratee` for each property. The iteratee is invoked
+ * with three arguments: (value, key, object). Iteratee functions may exit
+ * iteration early by explicitly returning `false`.
*
* @static
* @memberOf _
@@ -11944,10 +12012,10 @@
}
/**
- * Iterates over own enumerable string keyed properties of an object invoking
- * `iteratee` for each property. The iteratee is invoked with three arguments:
- * (value, key, object). Iteratee functions may exit iteration early by
- * explicitly returning `false`.
+ * Iterates over own enumerable string keyed properties of an object and
+ * invokes `iteratee` for each property. The iteratee is invoked with three
+ * arguments: (value, key, object). Iteratee functions may exit iteration
+ * early by explicitly returning `false`.
*
* @static
* @memberOf _
@@ -12470,8 +12538,7 @@
* @memberOf _
* @category Object
* @param {Object} object The source object.
- * @param {...(string|string[])} [props] The property identifiers to omit,
- * specified individually or in arrays.
+ * @param {...(string|string[])} [props] The property identifiers to omit.
* @returns {Object} Returns the new object.
* @example
*
@@ -12484,7 +12551,7 @@
if (object == null) {
return {};
}
- props = arrayMap(baseFlatten(props, 1), baseCastKey);
+ props = arrayMap(baseFlatten(props, 1), toKey);
return basePick(object, baseDifference(getAllKeysIn(object), props));
});
@@ -12524,8 +12591,7 @@
* @memberOf _
* @category Object
* @param {Object} object The source object.
- * @param {...(string|string[])} [props] The property identifiers to pick,
- * specified individually or in arrays.
+ * @param {...(string|string[])} [props] The property identifiers to pick.
* @returns {Object} Returns the new object.
* @example
*
@@ -12591,7 +12657,7 @@
* // => 'default'
*/
function result(object, path, defaultValue) {
- path = isKey(path, object) ? [path] : baseCastPath(path);
+ path = isKey(path, object) ? [path] : castPath(path);
var index = -1,
length = path.length;
@@ -12837,7 +12903,7 @@
* // => 0
*/
function update(object, path, updater) {
- return object == null ? object : baseUpdate(object, path, baseCastFunction(updater));
+ return object == null ? object : baseUpdate(object, path, castFunction(updater));
}
/**
@@ -12866,7 +12932,7 @@
*/
function updateWith(object, path, updater, customizer) {
customizer = typeof customizer == 'function' ? customizer : undefined;
- return object == null ? object : baseUpdate(object, path, baseCastFunction(updater), customizer);
+ return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer);
}
/**
@@ -13513,7 +13579,7 @@
var args = arguments,
string = toString(args[0]);
- return args.length < 3 ? string : string.replace(args[1], args[2]);
+ return args.length < 3 ? string : nativeReplace.call(string, args[1], args[2]);
}
/**
@@ -13561,6 +13627,13 @@
* // => ['a', 'b']
*/
function split(string, separator, limit) {
+ if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) {
+ separator = limit = undefined;
+ }
+ limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;
+ if (!limit) {
+ return [];
+ }
string = toString(string);
if (string && (
typeof separator == 'string' ||
@@ -13568,11 +13641,10 @@
)) {
separator += '';
if (separator == '' && reHasComplexSymbol.test(string)) {
- var strSymbols = stringToArray(string);
- return limit === undefined ? strSymbols : strSymbols.slice(0, limit < 0 ? 0 : limit);
+ return castSlice(stringToArray(string), 0, limit);
}
}
- return string.split(separator, limit);
+ return nativeSplit.call(string, separator, limit);
}
/**
@@ -13920,16 +13992,15 @@
if (guard || chars === undefined) {
return string.replace(reTrim, '');
}
- chars = (chars + '');
- if (!chars) {
+ if (!(chars += '')) {
return string;
}
var strSymbols = stringToArray(string),
- chrSymbols = stringToArray(chars);
+ chrSymbols = stringToArray(chars),
+ start = charsStartIndex(strSymbols, chrSymbols),
+ end = charsEndIndex(strSymbols, chrSymbols) + 1;
- return strSymbols
- .slice(charsStartIndex(strSymbols, chrSymbols), charsEndIndex(strSymbols, chrSymbols) + 1)
- .join('');
+ return castSlice(strSymbols, start, end).join('');
}
/**
@@ -13959,14 +14030,13 @@
if (guard || chars === undefined) {
return string.replace(reTrimEnd, '');
}
- chars = (chars + '');
- if (!chars) {
+ if (!(chars += '')) {
return string;
}
- var strSymbols = stringToArray(string);
- return strSymbols
- .slice(0, charsEndIndex(strSymbols, stringToArray(chars)) + 1)
- .join('');
+ var strSymbols = stringToArray(string),
+ end = charsEndIndex(strSymbols, stringToArray(chars)) + 1;
+
+ return castSlice(strSymbols, 0, end).join('');
}
/**
@@ -13996,14 +14066,13 @@
if (guard || chars === undefined) {
return string.replace(reTrimStart, '');
}
- chars = (chars + '');
- if (!chars) {
+ if (!(chars += '')) {
return string;
}
- var strSymbols = stringToArray(string);
- return strSymbols
- .slice(charsStartIndex(strSymbols, stringToArray(chars)))
- .join('');
+ var strSymbols = stringToArray(string),
+ start = charsStartIndex(strSymbols, stringToArray(chars));
+
+ return castSlice(strSymbols, start).join('');
}
/**
@@ -14067,7 +14136,7 @@
return omission;
}
var result = strSymbols
- ? strSymbols.slice(0, end).join('')
+ ? castSlice(strSymbols, 0, end).join('')
: string.slice(0, end);
if (separator === undefined) {
@@ -14240,8 +14309,7 @@
* @memberOf _
* @category Util
* @param {Object} object The object to bind and assign the bound methods to.
- * @param {...(string|string[])} methodNames The object method names to bind,
- * specified individually or in arrays.
+ * @param {...(string|string[])} methodNames The object method names to bind.
* @returns {Object} Returns `object`.
* @example
*
@@ -14264,7 +14332,7 @@
});
/**
- * Creates a function that iterates over `pairs` invoking the corresponding
+ * Creates a function that iterates over `pairs` and invokes the corresponding
* function of the first predicate to return truthy. The predicate-function
* pairs are invoked with the `this` binding and arguments of the created
* function.
@@ -14635,7 +14703,7 @@
object = this;
methodNames = baseFunctions(source, keys(source));
}
- var chain = (isObject(options) && 'chain' in options) ? options.chain : true,
+ var chain = !(isObject(options) && 'chain' in options) || !!options.chain,
isFunc = isFunction(object);
arrayEach(methodNames, function(methodName) {
@@ -14700,7 +14768,8 @@
}
/**
- * Creates a function that returns its nth argument.
+ * Creates a function that returns its nth argument. If `n` is negative,
+ * the nth argument from the end is returned.
*
* @static
* @memberOf _
@@ -14711,15 +14780,18 @@
* @example
*
* var func = _.nthArg(1);
- *
- * func('a', 'b', 'c');
+ * func('a', 'b', 'c', 'd');
* // => 'b'
+ *
+ * var func = _.nthArg(-2);
+ * func('a', 'b', 'c', 'd');
+ * // => 'c'
*/
function nthArg(n) {
n = toInteger(n);
- return function() {
- return arguments[n];
- };
+ return rest(function(args) {
+ return baseNth(args, n);
+ });
}
/**
@@ -14730,7 +14802,8 @@
* @memberOf _
* @since 4.0.0
* @category Util
- * @param {...(Function|Function[])} iteratees The iteratees to invoke.
+ * @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])}
+ * [iteratees=[_.identity]] The iteratees to invoke.
* @returns {Function} Returns the new function.
* @example
*
@@ -14749,7 +14822,8 @@
* @memberOf _
* @since 4.0.0
* @category Util
- * @param {...(Function|Function[])} predicates The predicates to check.
+ * @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])}
+ * [predicates=[_.identity]] The predicates to check.
* @returns {Function} Returns the new function.
* @example
*
@@ -14774,7 +14848,8 @@
* @memberOf _
* @since 4.0.0
* @category Util
- * @param {...(Function|Function[])} predicates The predicates to check.
+ * @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])}
+ * [predicates=[_.identity]] The predicates to check.
* @returns {Function} Returns the new function.
* @example
*
@@ -14988,7 +15063,7 @@
*/
function toPath(value) {
if (isArray(value)) {
- return arrayMap(value, baseCastKey);
+ return arrayMap(value, toKey);
}
return isSymbol(value) ? [value] : copyArray(stringToPath(value));
}
@@ -15624,6 +15699,7 @@
lodash.min = min;
lodash.minBy = minBy;
lodash.multiply = multiply;
+ lodash.nth = nth;
lodash.noConflict = noConflict;
lodash.noop = noop;
lodash.now = now;
diff --git a/tools/eslint/node_modules/lodash/lodash.min.js b/tools/eslint/node_modules/lodash/lodash.min.js
index e941d665ff..8b4cdf1e2c 100644
--- a/tools/eslint/node_modules/lodash/lodash.min.js
+++ b/tools/eslint/node_modules/lodash/lodash.min.js
@@ -1,125 +1,125 @@
/**
* @license
- * lodash 4.9.0 (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE
+ * lodash 4.11.1 (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE
* Build: `lodash -o ./dist/lodash.js`
*/
;(function(){function t(t,n){return t.set(n[0],n[1]),t}function n(t,n){return t.add(n),t}function r(t,n,r){switch(r.length){case 0:return t.call(n);case 1:return t.call(n,r[0]);case 2:return t.call(n,r[0],r[1]);case 3:return t.call(n,r[0],r[1],r[2])}return t.apply(n,r)}function e(t,n,r,e){for(var u=-1,o=t.length;++u<o;){var i=t[u];n(e,i,r(i),t)}return e}function u(t,n){for(var r=-1,e=t.length;++r<e&&false!==n(t[r],r,t););return t}function o(t,n){for(var r=-1,e=t.length;++r<e;)if(!n(t[r],r,t))return false;
return true}function i(t,n){for(var r=-1,e=t.length,u=0,o=[];++r<e;){var i=t[r];n(i,r,t)&&(o[u++]=i)}return o}function f(t,n){return!!t.length&&-1<d(t,n,0)}function c(t,n,r){for(var e=-1,u=t.length;++e<u;)if(r(n,t[e]))return true;return false}function a(t,n){for(var r=-1,e=t.length,u=Array(e);++r<e;)u[r]=n(t[r],r,t);return u}function l(t,n){for(var r=-1,e=n.length,u=t.length;++r<e;)t[u+r]=n[r];return t}function s(t,n,r,e){var u=-1,o=t.length;for(e&&o&&(r=t[++u]);++u<o;)r=n(r,t[u],u,t);return r}function h(t,n,r,e){
-var u=t.length;for(e&&u&&(r=t[--u]);u--;)r=n(r,t[u],u,t);return r}function p(t,n){for(var r=-1,e=t.length;++r<e;)if(n(t[r],r,t))return true;return false}function _(t,n,r){for(var e=-1,u=t.length;++e<u;){var o=t[e],i=n(o);if(null!=i&&(f===T?i===i:r(i,f)))var f=i,c=o}return c}function v(t,n,r,e){var u;return r(t,function(t,r,o){return n(t,r,o)?(u=e?r:t,false):void 0}),u}function g(t,n,r){for(var e=t.length,u=r?e:-1;r?u--:++u<e;)if(n(t[u],u,t))return u;return-1}function d(t,n,r){if(n!==n)return U(t,r);--r;for(var e=t.length;++r<e;)if(t[r]===n)return r;
-return-1}function y(t,n,r,e){--r;for(var u=t.length;++r<u;)if(e(t[r],n))return r;return-1}function b(t,n){var r=t?t.length:0;return r?m(t,n)/r:K}function x(t,n,r,e,u){return u(t,function(t,u,o){r=e?(e=false,t):n(r,t,u,o)}),r}function j(t,n){var r=t.length;for(t.sort(n);r--;)t[r]=t[r].c;return t}function m(t,n){for(var r,e=-1,u=t.length;++e<u;){var o=n(t[e]);o!==T&&(r=r===T?o:r+o)}return r}function w(t,n){for(var r=-1,e=Array(t);++r<t;)e[r]=n(r);return e}function A(t,n){return a(n,function(n){return[n,t[n]];
-})}function O(t){return function(n){return t(n)}}function k(t,n){return a(n,function(n){return t[n]})}function E(t,n){for(var r=-1,e=t.length;++r<e&&-1<d(n,t[r],0););return r}function I(t,n){for(var r=t.length;r--&&-1<d(n,t[r],0););return r}function S(t){return t&&t.Object===Object?t:null}function R(t,n){if(t!==n){var r=null===t,e=t===T,u=t===t,o=null===n,i=n===T,f=n===n;if(t>n&&!o||!u||r&&!i&&f||e&&f)return 1;if(n>t&&!r||!f||o&&!e&&u||i&&u)return-1}return 0}function W(t){return function(n,r){var e;
-return n===T&&r===T?0:(n!==T&&(e=n),r!==T&&(e=e===T?r:t(e,r)),e)}}function B(t){return Mt[t]}function C(t){return Lt[t]}function z(t){return"\\"+Ft[t]}function U(t,n,r){var e=t.length;for(n+=r?0:-1;r?n--:++n<e;){var u=t[n];if(u!==u)return n}return-1}function M(t){var n=false;if(null!=t&&typeof t.toString!="function")try{n=!!(t+"")}catch(r){}return n}function L(t,n){return t=typeof t=="number"||xt.test(t)?+t:-1,t>-1&&0==t%1&&(null==n?9007199254740991:n)>t}function $(t){for(var n,r=[];!(n=t.next()).done;)r.push(n.value);
-return r}function D(t){var n=-1,r=Array(t.size);return t.forEach(function(t,e){r[++n]=[e,t]}),r}function F(t,n){for(var r=-1,e=t.length,u=0,o=[];++r<e;){var i=t[r];i!==n&&"__lodash_placeholder__"!==i||(t[r]="__lodash_placeholder__",o[u++]=r)}return o}function N(t){var n=-1,r=Array(t.size);return t.forEach(function(t){r[++n]=t}),r}function P(t){if(!t||!St.test(t))return t.length;for(var n=It.lastIndex=0;It.test(t);)n++;return n}function Z(t){return $t[t]}function q(S){function xt(t){if(We(t)&&!ti(t)&&!(t instanceof kt)){
-if(t instanceof Ot)return t;if(du.call(t,"__wrapped__"))return Hr(t)}return new Ot(t)}function At(){}function Ot(t,n){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!n,this.__index__=0,this.__values__=T}function kt(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=false,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function Mt(){}function Lt(t){var n=-1,r=t?t.length:0;for(this.clear();++n<r;){var e=t[n];this.set(e[0],e[1])}}function $t(t){var n=-1,r=t?t.length:0;
-for(this.__data__=new Lt;++n<r;)this.push(t[n])}function Dt(t,n){var r=t.__data__;return qr(n)?(r=r.__data__,"__lodash_hash_undefined__"===(typeof n=="string"?r.string:r.hash)[n]):r.has(n)}function Ft(t){var n=-1,r=t?t.length:0;for(this.clear();++n<r;){var e=t[n];this.set(e[0],e[1])}}function Zt(t,n){var r=Vt(t,n);return 0>r?false:(r==t.length-1?t.pop():zu.call(t,r,1),true)}function qt(t,n){var r=Vt(t,n);return 0>r?T:t[r][1]}function Vt(t,n){for(var r=t.length;r--;)if(je(t[r][0],n))return r;return-1}function Kt(t,n,r){
-var e=Vt(t,n);0>e?t.push([n,r]):t[e][1]=r}function Gt(t,n,r,e){return t===T||je(t,vu[r])&&!du.call(e,r)?n:t}function Ht(t,n,r){(r===T||je(t[n],r))&&(typeof n!="number"||r!==T||n in t)||(t[n]=r)}function Qt(t,n,r){var e=t[n];du.call(t,n)&&je(e,r)&&(r!==T||n in t)||(t[n]=r)}function Xt(t,n,r,e){return ao(t,function(t,u,o){n(e,t,r(t),o)}),e}function tn(t,n){return t&&ur(n,Je(n),t)}function nn(t,n){for(var r=-1,e=null==t,u=n.length,o=Array(u);++r<u;)o[r]=e?T:Ve(t,n[r]);return o}function rn(t){return Oe(t)?t:[];
-}function en(t){return typeof t=="string"||Le(t)?t:t+""}function un(t){return ti(t)?t:xo(t)}function on(t,n,r){return t===t&&(r!==T&&(t=t>r?r:t),n!==T&&(t=n>t?n:t)),t}function fn(t,n,r,e,o,i,f){var c;if(e&&(c=i?e(t,o,i,f):e(t)),c!==T)return c;if(!Re(t))return t;if(o=ti(t)){if(c=Mr(t),!n)return er(t,c)}else{var a=zr(t),l="[object Function]"==a||"[object GeneratorFunction]"==a;if(ni(t))return Xn(t,n);if("[object Object]"==a||"[object Arguments]"==a||l&&!i){if(M(t))return i?t:{};if(c=Lr(l?{}:t),!n)return ir(t,tn(c,t));
-}else{if(!Ut[a])return i?t:{};c=$r(t,a,fn,n)}}if(f||(f=new Ft),i=f.get(t))return i;if(f.set(t,c),!o)var s=r?bn(t,Je,Cr):Je(t);return u(s||t,function(u,o){s&&(o=u,u=t[o]),Qt(c,o,fn(u,n,r,e,o,t,f))}),c}function cn(t){var n=Je(t),r=n.length;return function(e){if(null==e)return!r;for(var u=r;u--;){var o=n[u],i=t[o],f=e[o];if(f===T&&!(o in Object(e))||!i(f))return false}return true}}function an(t){return Re(t)?Wu(t):{}}function ln(t,n,r){if(typeof t!="function")throw new pu("Expected a function");return Cu(function(){
-t.apply(T,r)},n)}function sn(t,n,r,e){var u=-1,o=f,i=true,l=t.length,s=[],h=n.length;if(!l)return s;r&&(n=a(n,O(r))),e?(o=c,i=false):n.length>=200&&(o=Dt,i=false,n=new $t(n));t:for(;++u<l;){var p=t[u],_=r?r(p):p;if(i&&_===_){for(var v=h;v--;)if(n[v]===_)continue t;s.push(p)}else o(n,_,e)||s.push(p)}return s}function hn(t,n){var r=true;return ao(t,function(t,e,u){return r=!!n(t,e,u)}),r}function pn(t,n){var r=[];return ao(t,function(t,e,u){n(t,e,u)&&r.push(t)}),r}function _n(t,n,r,e,u){var o=-1,i=t.length;for(r||(r=Fr),
-u||(u=[]);++o<i;){var f=t[o];n>0&&r(f)?n>1?_n(f,n-1,r,e,u):l(u,f):e||(u[u.length]=f)}return u}function vn(t,n){return t&&so(t,n,Je)}function gn(t,n){return t&&ho(t,n,Je)}function dn(t,n){return i(n,function(n){return Ee(t[n])})}function yn(t,n){n=Zr(n,t)?[n]:un(n);for(var r=0,e=n.length;null!=t&&e>r;)t=t[n[r++]];return r&&r==e?t:T}function bn(t,n,r){return n=n(t),ti(t)?n:l(n,r(t))}function xn(t,n){return du.call(t,n)||typeof t=="object"&&n in t&&null===Lu(Object(t))}function jn(t,n){return n in Object(t);
-}function mn(t,n,r){for(var e=r?c:f,u=t[0].length,o=t.length,i=o,l=Array(o),s=1/0,h=[];i--;){var p=t[i];i&&n&&(p=a(p,O(n))),s=Pu(p.length,s),l[i]=r||!n&&(120>u||120>p.length)?T:new $t(i&&p)}var p=t[0],_=-1,v=l[0];t:for(;++_<u&&s>h.length;){var g=p[_],d=n?n(g):g;if(v?!Dt(v,d):!e(h,d,r)){for(i=o;--i;){var y=l[i];if(y?!Dt(y,d):!e(t[i],d,r))continue t}v&&v.push(d),h.push(g)}}return h}function wn(t,n,r){var e={};return vn(t,function(t,u,o){n(e,r(t),u,o)}),e}function An(t,n,e){return Zr(n,t)||(n=un(n),
-t=Jr(t,n),n=ne(n)),n=null==t?t:t[n],null==n?T:r(n,t,e)}function On(t,n,r,e,u){if(t===n)n=true;else if(null==t||null==n||!Re(t)&&!We(n))n=t!==t&&n!==n;else t:{var o=ti(t),i=ti(n),f="[object Array]",c="[object Array]";o||(f=zr(t),f="[object Arguments]"==f?"[object Object]":f),i||(c=zr(n),c="[object Arguments]"==c?"[object Object]":c);var a="[object Object]"==f&&!M(t),i="[object Object]"==c&&!M(n);if((c=f==c)&&!a)u||(u=new Ft),n=o||$e(t)?kr(t,n,On,r,e,u):Er(t,n,f,On,r,e,u);else{if(!(2&e)&&(o=a&&du.call(t,"__wrapped__"),
-f=i&&du.call(n,"__wrapped__"),o||f)){t=o?t.value():t,n=f?n.value():n,u||(u=new Ft),n=On(t,n,r,e,u);break t}if(c)n:if(u||(u=new Ft),o=2&e,f=Je(t),i=f.length,c=Je(n).length,i==c||o){for(a=i;a--;){var l=f[a];if(!(o?l in n:xn(n,l))){n=false;break n}}if(c=u.get(t))n=c==n;else{c=true,u.set(t,n);for(var s=o;++a<i;){var l=f[a],h=t[l],p=n[l];if(r)var _=o?r(p,h,l,n,t,u):r(h,p,l,t,n,u);if(_===T?h!==p&&!On(h,p,r,e,u):!_){c=false;break}s||(s="constructor"==l)}c&&!s&&(r=t.constructor,e=n.constructor,r!=e&&"constructor"in t&&"constructor"in n&&!(typeof r=="function"&&r instanceof r&&typeof e=="function"&&e instanceof e)&&(c=false)),
-u["delete"](t),n=c}}else n=false;else n=false}}return n}function kn(t,n,r,e){var u=r.length,o=u,i=!e;if(null==t)return!o;for(t=Object(t);u--;){var f=r[u];if(i&&f[2]?f[1]!==t[f[0]]:!(f[0]in t))return false}for(;++u<o;){var f=r[u],c=f[0],a=t[c],l=f[1];if(i&&f[2]){if(a===T&&!(c in t))return false}else{if(f=new Ft,e)var s=e(a,l,c,t,n,f);if(s===T?!On(l,a,e,3,f):!s)return false}}return true}function En(t){return typeof t=="function"?t:null==t?uu:typeof t=="object"?ti(t)?Wn(t[0],t[1]):Rn(t):cu(t)}function In(t){t=null==t?t:Object(t);
-var n,r=[];for(n in t)r.push(n);return r}function Sn(t,n){var r=-1,e=Ae(t)?Array(t.length):[];return ao(t,function(t,u,o){e[++r]=n(t,u,o)}),e}function Rn(t){var n=Rr(t);return 1==n.length&&n[0][2]?Kr(n[0][0],n[0][1]):function(r){return r===t||kn(r,t,n)}}function Wn(t,n){return Zr(t)&&n===n&&!Re(n)?Kr(t,n):function(r){var e=Ve(r,t);return e===T&&e===n?Ge(r,t):On(n,e,T,3)}}function Bn(t,n,r,e,o){if(t!==n){if(!ti(n)&&!$e(n))var i=Ye(n);u(i||n,function(u,f){if(i&&(f=u,u=n[f]),Re(u)){o||(o=new Ft);var c=f,a=o,l=t[c],s=n[c],h=a.get(s);
-if(h)Ht(t,c,h);else{var h=e?e(l,s,c+"",t,n,a):T,p=h===T;p&&(h=s,ti(s)||$e(s)?ti(l)?h=l:Oe(l)?h=er(l):(p=false,h=fn(s,true)):ze(s)||we(s)?we(l)?h=qe(l):!Re(l)||r&&Ee(l)?(p=false,h=fn(s,true)):h=l:p=false),a.set(s,h),p&&Bn(h,s,r,e,a),a["delete"](s),Ht(t,c,h)}}else c=e?e(t[f],u,f+"",t,n,o):T,c===T&&(c=u),Ht(t,f,c)})}}function Cn(t,n,r){var e=-1;return n=a(n.length?n:[uu],Sr()),t=Sn(t,function(t){return{a:a(n,function(n){return n(t)}),b:++e,c:t}}),j(t,function(t,n){var e;t:{e=-1;for(var u=t.a,o=n.a,i=u.length,f=r.length;++e<i;){
-var c=R(u[e],o[e]);if(c){e=f>e?c*("desc"==r[e]?-1:1):c;break t}}e=t.b-n.b}return e})}function zn(t,n){return t=Object(t),s(n,function(n,r){return r in t&&(n[r]=t[r]),n},{})}function Un(t,n){for(var r=-1,e=bn(t,Ye,yo),u=e.length,o={};++r<u;){var i=e[r],f=t[i];n(f,i)&&(o[i]=f)}return o}function Mn(t){return function(n){return null==n?T:n[t]}}function Ln(t){return function(n){return yn(n,t)}}function $n(t,n,r,e){var u=e?y:d,o=-1,i=n.length,f=t;for(r&&(f=a(t,O(r)));++o<i;)for(var c=0,l=n[o],l=r?r(l):l;-1<(c=u(f,l,c,e));)f!==t&&zu.call(f,c,1),
-zu.call(t,c,1);return t}function Dn(t,n){for(var r=t?n.length:0,e=r-1;r--;){var u=n[r];if(e==r||u!=o){var o=u;if(L(u))zu.call(t,u,1);else if(Zr(u,t))delete t[u];else{var u=un(u),i=Jr(t,u);null!=i&&delete i[ne(u)]}}}}function Fn(t,n){return t+Mu(qu()*(n-t+1))}function Nn(t,n){var r="";if(!t||1>n||n>9007199254740991)return r;do n%2&&(r+=t),(n=Mu(n/2))&&(t+=t);while(n);return r}function Pn(t,n,r,e){n=Zr(n,t)?[n]:un(n);for(var u=-1,o=n.length,i=o-1,f=t;null!=f&&++u<o;){var c=n[u];if(Re(f)){var a=r;if(u!=i){
-var l=f[c],a=e?e(l,c,f):T;a===T&&(a=null==l?L(n[u+1])?[]:{}:l)}Qt(f,c,a)}f=f[c]}return t}function Zn(t,n,r){var e=-1,u=t.length;for(0>n&&(n=-n>u?0:u+n),r=r>u?u:r,0>r&&(r+=u),u=n>r?0:r-n>>>0,n>>>=0,r=Array(u);++e<u;)r[e]=t[e+n];return r}function qn(t,n){var r;return ao(t,function(t,e,u){return r=n(t,e,u),!r}),!!r}function Tn(t,n,r){var e=0,u=t?t.length:e;if(typeof n=="number"&&n===n&&2147483647>=u){for(;u>e;){var o=e+u>>>1,i=t[o];(r?n>=i:n>i)&&null!==i?e=o+1:u=o}return u}return Vn(t,n,uu,r)}function Vn(t,n,r,e){
-n=r(n);for(var u=0,o=t?t.length:0,i=n!==n,f=null===n,c=n===T;o>u;){var a=Mu((u+o)/2),l=r(t[a]),s=l!==T,h=l===l;(i?h||e:f?h&&s&&(e||null!=l):c?h&&(e||s):null==l?0:e?n>=l:n>l)?u=a+1:o=a}return Pu(o,4294967294)}function Kn(t,n){for(var r=0,e=t.length,u=t[0],o=n?n(u):u,i=o,f=1,c=[u];++r<e;)u=t[r],o=n?n(u):u,je(o,i)||(i=o,c[f++]=u);return c}function Gn(t,n,r){var e=-1,u=f,o=t.length,i=true,a=[],l=a;if(r)i=false,u=c;else if(o<200)l=n?[]:a;else{if(u=n?null:_o(t))return N(u);i=false,u=Dt,l=new $t}t:for(;++e<o;){
-var s=t[e],h=n?n(s):s;if(i&&h===h){for(var p=l.length;p--;)if(l[p]===h)continue t;n&&l.push(h),a.push(s)}else u(l,h,r)||(l!==a&&l.push(h),a.push(s))}return a}function Jn(t,n,r,e){for(var u=t.length,o=e?u:-1;(e?o--:++o<u)&&n(t[o],o,t););return r?Zn(t,e?0:o,e?o+1:u):Zn(t,e?o+1:0,e?u:o)}function Yn(t,n){var r=t;return r instanceof kt&&(r=r.value()),s(n,function(t,n){return n.func.apply(n.thisArg,l([t],n.args))},r)}function Hn(t,n,r){for(var e=-1,u=t.length;++e<u;)var o=o?l(sn(o,t[e],n,r),sn(t[e],o,n,r)):t[e];
-return o&&o.length?Gn(o,n,r):[]}function Qn(t,n,r){for(var e=-1,u=t.length,o=n.length,i={};++e<u;)r(i,t[e],o>e?n[e]:T);return i}function Xn(t,n){if(n)return t.slice();var r=new t.constructor(t.length);return t.copy(r),r}function tr(t){var n=new t.constructor(t.byteLength);return new ku(n).set(new ku(t)),n}function nr(t,n,r,e){var u=-1,o=t.length,i=r.length,f=-1,c=n.length,a=Nu(o-i,0),l=Array(c+a);for(e=!e;++f<c;)l[f]=n[f];for(;++u<i;)(e||o>u)&&(l[r[u]]=t[u]);for(;a--;)l[f++]=t[u++];return l}function rr(t,n,r,e){
-var u=-1,o=t.length,i=-1,f=r.length,c=-1,a=n.length,l=Nu(o-f,0),s=Array(l+a);for(e=!e;++u<l;)s[u]=t[u];for(l=u;++c<a;)s[l+c]=n[c];for(;++i<f;)(e||o>u)&&(s[l+r[i]]=t[u++]);return s}function er(t,n){var r=-1,e=t.length;for(n||(n=Array(e));++r<e;)n[r]=t[r];return n}function ur(t,n,r){return or(t,n,r)}function or(t,n,r,e){r||(r={});for(var u=-1,o=n.length;++u<o;){var i=n[u],f=e?e(r[i],t[i],i,r,t):t[i];Qt(r,i,f)}return r}function ir(t,n){return ur(t,Cr(t),n)}function fr(t,n){return function(r,u){var o=ti(r)?e:Xt,i=n?n():{};
-return o(r,t,Sr(u),i)}}function cr(t){return be(function(n,r){var e=-1,u=r.length,o=u>1?r[u-1]:T,i=u>2?r[2]:T,o=typeof o=="function"?(u--,o):T;for(i&&Pr(r[0],r[1],i)&&(o=3>u?T:o,u=1),n=Object(n);++e<u;)(i=r[e])&&t(n,i,e,o);return n})}function ar(t,n){return function(r,e){if(null==r)return r;if(!Ae(r))return t(r,e);for(var u=r.length,o=n?u:-1,i=Object(r);(n?o--:++o<u)&&false!==e(i[o],o,i););return r}}function lr(t){return function(n,r,e){var u=-1,o=Object(n);e=e(n);for(var i=e.length;i--;){var f=e[t?i:++u];
-if(false===r(o[f],f,o))break}return n}}function sr(t,n,r){function e(){return(this&&this!==Jt&&this instanceof e?o:t).apply(u?r:this,arguments)}var u=1&n,o=_r(t);return e}function hr(t){return function(n){n=Te(n);var r=St.test(n)?n.match(It):T,e=r?r[0]:n.charAt(0);return n=r?r.slice(1).join(""):n.slice(1),e[t]()+n}}function pr(t){return function(n){return s(ru(nu(n)),t,"")}}function _r(t){return function(){var n=arguments;switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);
-case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3]);case 5:return new t(n[0],n[1],n[2],n[3],n[4]);case 6:return new t(n[0],n[1],n[2],n[3],n[4],n[5]);case 7:return new t(n[0],n[1],n[2],n[3],n[4],n[5],n[6])}var r=an(t.prototype),n=t.apply(r,n);return Re(n)?n:r}}function vr(t,n,e){function u(){for(var i=arguments.length,f=Array(i),c=i,a=Br(u);c--;)f[c]=arguments[c];return c=3>i&&f[0]!==a&&f[i-1]!==a?[]:F(f,a),i-=c.length,e>i?wr(t,n,dr,u.placeholder,T,f,c,T,T,e-i):r(this&&this!==Jt&&this instanceof u?o:t,this,f);
-}var o=_r(t);return u}function gr(t){return be(function(n){n=_n(n,1);var r=n.length,e=r,u=Ot.prototype.thru;for(t&&n.reverse();e--;){var o=n[e];if(typeof o!="function")throw new pu("Expected a function");if(u&&!i&&"wrapper"==Ir(o))var i=new Ot([],true)}for(e=i?e:r;++e<r;)var o=n[e],u=Ir(o),f="wrapper"==u?vo(o):T,i=f&&Tr(f[0])&&424==f[1]&&!f[4].length&&1==f[9]?i[Ir(f[0])].apply(i,f[3]):1==o.length&&Tr(o)?i[u]():i.thru(o);return function(){var t=arguments,e=t[0];if(i&&1==t.length&&ti(e)&&e.length>=200)return i.plant(e).value();
-for(var u=0,t=r?n[u].apply(this,t):e;++u<r;)t=n[u].call(this,t);return t}})}function dr(t,n,r,e,u,o,i,f,c,a){function l(){for(var d=arguments.length,y=d,b=Array(d);y--;)b[y]=arguments[y];if(_){var x,j=Br(l),y=b.length;for(x=0;y--;)b[y]===j&&x++}if(e&&(b=nr(b,e,u,_)),o&&(b=rr(b,o,i,_)),d-=x,_&&a>d)return j=F(b,j),wr(t,n,dr,l.placeholder,r,b,j,f,c,a-d);if(j=h?r:this,y=p?j[t]:t,d=b.length,f){x=b.length;for(var m=Pu(f.length,x),w=er(b);m--;){var A=f[m];b[m]=L(A,x)?w[A]:T}}else v&&d>1&&b.reverse();return s&&d>c&&(b.length=c),
-this&&this!==Jt&&this instanceof l&&(y=g||_r(y)),y.apply(j,b)}var s=128&n,h=1&n,p=2&n,_=24&n,v=512&n,g=p?T:_r(t);return l}function yr(t,n){return function(r,e){return wn(r,t,n(e))}}function br(t){return be(function(n){return n=a(_n(n,1,Nr),Sr()),be(function(e){var u=this;return t(n,function(t){return r(t,u,e)})})})}function xr(t,n){n=n===T?" ":n+"";var r=n.length;return 2>r?r?Nn(n,t):n:(r=Nn(n,Uu(t/P(n))),St.test(n)?r.match(It).slice(0,t).join(""):r.slice(0,t))}function jr(t,n,e,u){function o(){for(var n=-1,c=arguments.length,a=-1,l=u.length,s=Array(l+c),h=this&&this!==Jt&&this instanceof o?f:t;++a<l;)s[a]=u[a];
-for(;c--;)s[a++]=arguments[++n];return r(h,i?e:this,s)}var i=1&n,f=_r(t);return o}function mr(t){return function(n,r,e){e&&typeof e!="number"&&Pr(n,r,e)&&(r=e=T),n=Ze(n),n=n===n?n:0,r===T?(r=n,n=0):r=Ze(r)||0,e=e===T?r>n?1:-1:Ze(e)||0;var u=-1;r=Nu(Uu((r-n)/(e||1)),0);for(var o=Array(r);r--;)o[t?r:++u]=n,n+=e;return o}}function wr(t,n,r,e,u,o,i,f,c,a){var l=8&n;f=f?er(f):T;var s=l?i:T;i=l?T:i;var h=l?o:T;return o=l?T:o,n=(n|(l?32:64))&~(l?64:32),4&n||(n&=-4),n=[t,n,u,h,s,o,i,f,c,a],r=r.apply(T,n),
-Tr(t)&&bo(r,n),r.placeholder=e,r}function Ar(t){var n=su[t];return function(t,r){if(t=Ze(t),r=Ne(r)){var e=(Te(t)+"e").split("e"),e=n(e[0]+"e"+(+e[1]+r)),e=(Te(e)+"e").split("e");return+(e[0]+"e"+(+e[1]-r))}return n(t)}}function Or(t,n,r,e,u,o,i,f){var c=2&n;if(!c&&typeof t!="function")throw new pu("Expected a function");var a=e?e.length:0;if(a||(n&=-97,e=u=T),i=i===T?i:Nu(Ne(i),0),f=f===T?f:Ne(f),a-=u?u.length:0,64&n){var l=e,s=u;e=u=T}var h=c?T:vo(t);return o=[t,n,r,e,u,l,s,o,i,f],h&&(r=o[1],t=h[1],
-n=r|t,e=128==t&&8==r||128==t&&256==r&&h[8]>=o[7].length||384==t&&h[8]>=h[7].length&&8==r,131>n||e)&&(1&t&&(o[2]=h[2],n|=1&r?0:4),(r=h[3])&&(e=o[3],o[3]=e?nr(e,r,h[4]):er(r),o[4]=e?F(o[3],"__lodash_placeholder__"):er(h[4])),(r=h[5])&&(e=o[5],o[5]=e?rr(e,r,h[6]):er(r),o[6]=e?F(o[5],"__lodash_placeholder__"):er(h[6])),(r=h[7])&&(o[7]=er(r)),128&t&&(o[8]=null==o[8]?h[8]:Pu(o[8],h[8])),null==o[9]&&(o[9]=h[9]),o[0]=h[0],o[1]=n),t=o[0],n=o[1],r=o[2],e=o[3],u=o[4],f=o[9]=null==o[9]?c?0:t.length:Nu(o[9]-a,0),
-!f&&24&n&&(n&=-25),(h?po:bo)(n&&1!=n?8==n||16==n?vr(t,n,f):32!=n&&33!=n||u.length?dr.apply(T,o):jr(t,n,r,e):sr(t,n,r),o)}function kr(t,n,r,e,u,o){var i=-1,f=2&u,c=1&u,a=t.length,l=n.length;if(!(a==l||f&&l>a))return false;if(l=o.get(t))return l==n;for(l=true,o.set(t,n);++i<a;){var s=t[i],h=n[i];if(e)var _=f?e(h,s,i,n,t,o):e(s,h,i,t,n,o);if(_!==T){if(_)continue;l=false;break}if(c){if(!p(n,function(t){return s===t||r(s,t,e,u,o)})){l=false;break}}else if(s!==h&&!r(s,h,e,u,o)){l=false;break}}return o["delete"](t),l}
-function Er(t,n,r,e,u,o,i){switch(r){case"[object DataView]":if(t.byteLength!=n.byteLength||t.byteOffset!=n.byteOffset)break;t=t.buffer,n=n.buffer;case"[object ArrayBuffer]":if(t.byteLength!=n.byteLength||!e(new ku(t),new ku(n)))break;return true;case"[object Boolean]":case"[object Date]":return+t==+n;case"[object Error]":return t.name==n.name&&t.message==n.message;case"[object Number]":return t!=+t?n!=+n:t==+n;case"[object RegExp]":case"[object String]":return t==n+"";case"[object Map]":var f=D;case"[object Set]":
-if(f||(f=N),t.size!=n.size&&!(2&o))break;return(r=i.get(t))?r==n:(o|=1,i.set(t,n),kr(f(t),f(n),e,u,o,i));case"[object Symbol]":if(fo)return fo.call(t)==fo.call(n)}return false}function Ir(t){for(var n=t.name+"",r=to[n],e=du.call(to,n)?r.length:0;e--;){var u=r[e],o=u.func;if(null==o||o==t)return u.name}return n}function Sr(){var t=xt.iteratee||ou,t=t===ou?En:t;return arguments.length?t(arguments[0],arguments[1]):t}function Rr(t){t=He(t);for(var n=t.length;n--;){var r=t[n][1];t[n][2]=r===r&&!Re(r)}return t;
-}function Wr(t,n){var r=t[n];return Be(r)?r:T}function Br(t){return(du.call(xt,"placeholder")?xt:t).placeholder}function Cr(t){return Su(Object(t))}function zr(t){return xu.call(t)}function Ur(t,n,r){n=Zr(n,t)?[n]:un(n);for(var e,u=-1,o=n.length;++u<o;){var i=n[u];if(!(e=null!=t&&r(t,i)))break;t=t[i]}return e?e:(o=t?t.length:0,!!o&&Se(o)&&L(i,o)&&(ti(t)||Me(t)||we(t)))}function Mr(t){var n=t.length,r=t.constructor(n);return n&&"string"==typeof t[0]&&du.call(t,"index")&&(r.index=t.index,r.input=t.input),
-r}function Lr(t){return typeof t.constructor!="function"||Vr(t)?{}:an(Lu(Object(t)))}function $r(r,e,u,o){var i=r.constructor;switch(e){case"[object ArrayBuffer]":return tr(r);case"[object Boolean]":case"[object Date]":return new i(+r);case"[object DataView]":return e=o?tr(r.buffer):r.buffer,new r.constructor(e,r.byteOffset,r.byteLength);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":
-case"[object Uint16Array]":case"[object Uint32Array]":return e=o?tr(r.buffer):r.buffer,new r.constructor(e,r.byteOffset,r.length);case"[object Map]":return e=o?u(D(r),true):D(r),s(e,t,new r.constructor);case"[object Number]":case"[object String]":return new i(r);case"[object RegExp]":return e=new r.constructor(r.source,_t.exec(r)),e.lastIndex=r.lastIndex,e;case"[object Set]":return e=o?u(N(r),true):N(r),s(e,n,new r.constructor);case"[object Symbol]":return fo?Object(fo.call(r)):{}}}function Dr(t){var n=t?t.length:T;
-return Se(n)&&(ti(t)||Me(t)||we(t))?w(n,String):null}function Fr(t){return Oe(t)&&(ti(t)||we(t))}function Nr(t){return ti(t)&&!(2==t.length&&!Ee(t[0]))}function Pr(t,n,r){if(!Re(r))return false;var e=typeof n;return("number"==e?Ae(r)&&L(n,r.length):"string"==e&&n in r)?je(r[n],t):false}function Zr(t,n){var r=typeof t;return"number"==r||"symbol"==r?true:!ti(t)&&(Le(t)||ot.test(t)||!ut.test(t)||null!=n&&t in Object(n))}function qr(t){var n=typeof t;return"number"==n||"boolean"==n||"string"==n&&"__proto__"!=t||null==t;
-}function Tr(t){var n=Ir(t),r=xt[n];return typeof r=="function"&&n in kt.prototype?t===r?true:(n=vo(r),!!n&&t===n[0]):false}function Vr(t){var n=t&&t.constructor;return t===(typeof n=="function"&&n.prototype||vu)}function Kr(t,n){return function(r){return null==r?false:r[t]===n&&(n!==T||t in Object(r))}}function Gr(t,n,r,e,u,o){return Re(t)&&Re(n)&&Bn(t,n,T,Gr,o.set(n,t)),t}function Jr(t,n){return 1==n.length?t:yn(t,Zn(n,0,-1))}function Yr(t){if(null!=t){try{return gu.call(t)}catch(n){}return t+""}return"";
-}function Hr(t){if(t instanceof kt)return t.clone();var n=new Ot(t.__wrapped__,t.__chain__);return n.__actions__=er(t.__actions__),n.__index__=t.__index__,n.__values__=t.__values__,n}function Qr(t,n,r){var e=t?t.length:0;return e?(n=r||n===T?1:Ne(n),Zn(t,0>n?0:n,e)):[]}function Xr(t,n,r){var e=t?t.length:0;return e?(n=r||n===T?1:Ne(n),n=e-n,Zn(t,0,0>n?0:n)):[]}function te(t){return t?t[0]:T}function ne(t){var n=t?t.length:0;return n?t[n-1]:T}function re(t,n){return t&&t.length&&n&&n.length?$n(t,n):t;
-}function ee(t){return t?Tu.call(t):t}function ue(t){if(!t||!t.length)return[];var n=0;return t=i(t,function(t){return Oe(t)?(n=Nu(t.length,n),true):void 0}),w(n,function(n){return a(t,Mn(n))})}function oe(t,n){if(!t||!t.length)return[];var e=ue(t);return null==n?e:a(e,function(t){return r(n,T,t)})}function ie(t){return t=xt(t),t.__chain__=true,t}function fe(t,n){return n(t)}function ce(){return this}function ae(t,n){return typeof n=="function"&&ti(t)?u(t,n):ao(t,Sr(n))}function le(t,n){var r;if(typeof n=="function"&&ti(t)){
-for(r=t.length;r--&&false!==n(t[r],r,t););r=t}else r=lo(t,Sr(n));return r}function se(t,n){return(ti(t)?a:Sn)(t,Sr(n,3))}function he(t,n,r){var e=-1,u=Fe(t),o=u.length,i=o-1;for(n=(r?Pr(t,n,r):n===T)?1:on(Ne(n),0,o);++e<n;)t=Fn(e,i),r=u[t],u[t]=u[e],u[e]=r;return u.length=n,u}function pe(t,n,r){return n=r?T:n,n=t&&null==n?t.length:n,Or(t,128,T,T,T,T,n)}function _e(t,n){var r;if(typeof n!="function")throw new pu("Expected a function");return t=Ne(t),function(){return 0<--t&&(r=n.apply(this,arguments)),
-1>=t&&(n=T),r}}function ve(t,n,r){return n=r?T:n,t=Or(t,8,T,T,T,T,T,n),t.placeholder=ve.placeholder,t}function ge(t,n,r){return n=r?T:n,t=Or(t,16,T,T,T,T,T,n),t.placeholder=ge.placeholder,t}function de(t,n,r){function e(n){var r=c,e=a;return c=a=T,p=n,l=t.apply(e,r)}function u(t){var r=t-h;return t-=p,!h||r>=n||0>r||false!==v&&t>=v}function o(){var t=To();if(u(t))return i(t);var r;r=t-p,t=n-(t-h),r=false===v?t:Pu(t,v-r),s=Cu(o,r)}function i(t){return Eu(s),s=T,g&&c?e(t):(c=a=T,l)}function f(){var t=To(),r=u(t);
-return c=arguments,a=this,h=t,r?s===T?(p=t=h,s=Cu(o,n),_?e(t):l):(Eu(s),s=Cu(o,n),e(h)):l}var c,a,l,s,h=0,p=0,_=false,v=false,g=true;if(typeof t!="function")throw new pu("Expected a function");return n=Ze(n)||0,Re(r)&&(_=!!r.leading,v="maxWait"in r&&Nu(Ze(r.maxWait)||0,n),g="trailing"in r?!!r.trailing:g),f.cancel=function(){s!==T&&Eu(s),h=p=0,c=a=s=T},f.flush=function(){return s===T?l:i(To())},f}function ye(t,n){function r(){var e=arguments,u=n?n.apply(this,e):e[0],o=r.cache;return o.has(u)?o.get(u):(e=t.apply(this,e),
-r.cache=o.set(u,e),e)}if(typeof t!="function"||n&&typeof n!="function")throw new pu("Expected a function");return r.cache=new(ye.Cache||Lt),r}function be(t,n){if(typeof t!="function")throw new pu("Expected a function");return n=Nu(n===T?t.length-1:Ne(n),0),function(){for(var e=arguments,u=-1,o=Nu(e.length-n,0),i=Array(o);++u<o;)i[u]=e[n+u];switch(n){case 0:return t.call(this,i);case 1:return t.call(this,e[0],i);case 2:return t.call(this,e[0],e[1],i)}for(o=Array(n+1),u=-1;++u<n;)o[u]=e[u];return o[n]=i,
-r(t,this,o)}}function xe(){if(!arguments.length)return[];var t=arguments[0];return ti(t)?t:[t]}function je(t,n){return t===n||t!==t&&n!==n}function me(t,n){return t>n}function we(t){return Oe(t)&&du.call(t,"callee")&&(!Bu.call(t,"callee")||"[object Arguments]"==xu.call(t))}function Ae(t){return null!=t&&Se(go(t))&&!Ee(t)}function Oe(t){return We(t)&&Ae(t)}function ke(t){return We(t)?"[object Error]"==xu.call(t)||typeof t.message=="string"&&typeof t.name=="string":false}function Ee(t){return t=Re(t)?xu.call(t):"",
-"[object Function]"==t||"[object GeneratorFunction]"==t}function Ie(t){return typeof t=="number"&&t==Ne(t)}function Se(t){return typeof t=="number"&&t>-1&&0==t%1&&9007199254740991>=t}function Re(t){var n=typeof t;return!!t&&("object"==n||"function"==n)}function We(t){return!!t&&typeof t=="object"}function Be(t){return Re(t)?(Ee(t)||M(t)?mu:yt).test(Yr(t)):false}function Ce(t){return typeof t=="number"||We(t)&&"[object Number]"==xu.call(t)}function ze(t){return!We(t)||"[object Object]"!=xu.call(t)||M(t)?false:(t=Lu(Object(t)),
-null===t?true:(t=du.call(t,"constructor")&&t.constructor,typeof t=="function"&&t instanceof t&&gu.call(t)==bu))}function Ue(t){return Re(t)&&"[object RegExp]"==xu.call(t)}function Me(t){return typeof t=="string"||!ti(t)&&We(t)&&"[object String]"==xu.call(t)}function Le(t){return typeof t=="symbol"||We(t)&&"[object Symbol]"==xu.call(t)}function $e(t){return We(t)&&Se(t.length)&&!!zt[xu.call(t)]}function De(t,n){return n>t}function Fe(t){if(!t)return[];if(Ae(t))return Me(t)?t.match(It):er(t);if(Ru&&t[Ru])return $(t[Ru]());
-var n=zr(t);return("[object Map]"==n?D:"[object Set]"==n?N:Xe)(t)}function Ne(t){if(!t)return 0===t?t:0;if(t=Ze(t),t===V||t===-V)return 1.7976931348623157e308*(0>t?-1:1);var n=t%1;return t===t?n?t-n:t:0}function Pe(t){return t?on(Ne(t),0,4294967295):0}function Ze(t){if(typeof t=="number")return t;if(Le(t))return K;if(Re(t)&&(t=Ee(t.valueOf)?t.valueOf():t,t=Re(t)?t+"":t),typeof t!="string")return 0===t?t:+t;t=t.replace(at,"");var n=dt.test(t);return n||bt.test(t)?Pt(t.slice(2),n?2:8):gt.test(t)?K:+t;
-}function qe(t){return ur(t,Ye(t))}function Te(t){if(typeof t=="string")return t;if(null==t)return"";if(Le(t))return co?co.call(t):"";var n=t+"";return"0"==n&&1/t==-V?"-0":n}function Ve(t,n,r){return t=null==t?T:yn(t,n),t===T?r:t}function Ke(t,n){return null!=t&&Ur(t,n,xn)}function Ge(t,n){return null!=t&&Ur(t,n,jn)}function Je(t){var n=Vr(t);if(!n&&!Ae(t))return Fu(Object(t));var r,e=Dr(t),u=!!e,e=e||[],o=e.length;for(r in t)!xn(t,r)||u&&("length"==r||L(r,o))||n&&"constructor"==r||e.push(r);return e;
-}function Ye(t){for(var n=-1,r=Vr(t),e=In(t),u=e.length,o=Dr(t),i=!!o,o=o||[],f=o.length;++n<u;){var c=e[n];i&&("length"==c||L(c,f))||"constructor"==c&&(r||!du.call(t,c))||o.push(c)}return o}function He(t){return A(t,Je(t))}function Qe(t){return A(t,Ye(t))}function Xe(t){return t?k(t,Je(t)):[]}function tu(t){return wi(Te(t).toLowerCase())}function nu(t){return(t=Te(t))&&t.replace(jt,B).replace(Et,"")}function ru(t,n,r){return t=Te(t),n=r?T:n,n===T&&(n=Bt.test(t)?Wt:Rt),t.match(n)||[]}function eu(t){
-return function(){return t}}function uu(t){return t}function ou(t){return En(typeof t=="function"?t:fn(t,true))}function iu(t,n,r){var e=Je(n),o=dn(n,e);null!=r||Re(n)&&(o.length||!e.length)||(r=n,n=t,t=this,o=dn(n,Je(n)));var i=Re(r)&&"chain"in r?r.chain:true,f=Ee(t);return u(o,function(r){var e=n[r];t[r]=e,f&&(t.prototype[r]=function(){var n=this.__chain__;if(i||n){var r=t(this.__wrapped__);return(r.__actions__=er(this.__actions__)).push({func:e,args:arguments,thisArg:t}),r.__chain__=n,r}return e.apply(t,l([this.value()],arguments));
-})}),t}function fu(){}function cu(t){return Zr(t)?Mn(t):Ln(t)}S=S?Yt.defaults({},S,Yt.pick(Jt,Ct)):Jt;var au=S.Date,lu=S.Error,su=S.Math,hu=S.RegExp,pu=S.TypeError,_u=S.Array.prototype,vu=S.Object.prototype,gu=S.Function.prototype.toString,du=vu.hasOwnProperty,yu=0,bu=gu.call(Object),xu=vu.toString,ju=Jt._,mu=hu("^"+gu.call(du).replace(ft,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),wu=Tt?S.Buffer:T,Au=S.Reflect,Ou=S.Symbol,ku=S.Uint8Array,Eu=S.clearTimeout,Iu=Au?Au.f:T,Su=Object.getOwnPropertySymbols,Ru=typeof(Ru=Ou&&Ou.iterator)=="symbol"?Ru:T,Wu=Object.create,Bu=vu.propertyIsEnumerable,Cu=S.setTimeout,zu=_u.splice,Uu=su.ceil,Mu=su.floor,Lu=Object.getPrototypeOf,$u=S.isFinite,Du=_u.join,Fu=Object.keys,Nu=su.max,Pu=su.min,Zu=S.parseInt,qu=su.random,Tu=_u.reverse,Vu=Wr(S,"DataView"),Ku=Wr(S,"Map"),Gu=Wr(S,"Promise"),Ju=Wr(S,"Set"),Yu=Wr(S,"WeakMap"),Hu=Wr(Object,"create"),Qu=Yu&&new Yu,Xu=!Bu.call({
-valueOf:1},"valueOf"),to={},no=Yr(Vu),ro=Yr(Ku),eo=Yr(Gu),uo=Yr(Ju),oo=Yr(Yu),io=Ou?Ou.prototype:T,fo=io?io.valueOf:T,co=io?io.toString:T;xt.templateSettings={escape:nt,evaluate:rt,interpolate:et,variable:"",imports:{_:xt}},xt.prototype=At.prototype,xt.prototype.constructor=xt,Ot.prototype=an(At.prototype),Ot.prototype.constructor=Ot,kt.prototype=an(At.prototype),kt.prototype.constructor=kt,Mt.prototype=Hu?Hu(null):vu,Lt.prototype.clear=function(){this.__data__={hash:new Mt,map:Ku?new Ku:[],string:new Mt
-}},Lt.prototype["delete"]=function(t){var n=this.__data__;return qr(t)?(n=typeof t=="string"?n.string:n.hash,t=(Hu?n[t]!==T:du.call(n,t))&&delete n[t]):t=Ku?n.map["delete"](t):Zt(n.map,t),t},Lt.prototype.get=function(t){var n=this.__data__;return qr(t)?(n=typeof t=="string"?n.string:n.hash,Hu?(t=n[t],t="__lodash_hash_undefined__"===t?T:t):t=du.call(n,t)?n[t]:T):t=Ku?n.map.get(t):qt(n.map,t),t},Lt.prototype.has=function(t){var n=this.__data__;return qr(t)?(n=typeof t=="string"?n.string:n.hash,t=Hu?n[t]!==T:du.call(n,t)):t=Ku?n.map.has(t):-1<Vt(n.map,t),
-t},Lt.prototype.set=function(t,n){var r=this.__data__;return qr(t)?(typeof t=="string"?r.string:r.hash)[t]=Hu&&n===T?"__lodash_hash_undefined__":n:Ku?r.map.set(t,n):Kt(r.map,t,n),this},$t.prototype.push=function(t){var n=this.__data__;qr(t)?(n=n.__data__,(typeof t=="string"?n.string:n.hash)[t]="__lodash_hash_undefined__"):n.set(t,"__lodash_hash_undefined__")},Ft.prototype.clear=function(){this.__data__={array:[],map:null}},Ft.prototype["delete"]=function(t){var n=this.__data__,r=n.array;return r?Zt(r,t):n.map["delete"](t);
-},Ft.prototype.get=function(t){var n=this.__data__,r=n.array;return r?qt(r,t):n.map.get(t)},Ft.prototype.has=function(t){var n=this.__data__,r=n.array;return r?-1<Vt(r,t):n.map.has(t)},Ft.prototype.set=function(t,n){var r=this.__data__,e=r.array;return e&&(199>e.length?Kt(e,t,n):(r.array=null,r.map=new Lt(e))),(r=r.map)&&r.set(t,n),this};var ao=ar(vn),lo=ar(gn,true),so=lr(),ho=lr(true);Iu&&!Bu.call({valueOf:1},"valueOf")&&(In=function(t){return $(Iu(t))});var po=Qu?function(t,n){return Qu.set(t,n),t}:uu,_o=Ju&&2===new Ju([1,2]).size?function(t){
-return new Ju(t)}:fu,vo=Qu?function(t){return Qu.get(t)}:fu,go=Mn("length");Su||(Cr=function(){return[]});var yo=Su?function(t){for(var n=[];t;)l(n,Cr(t)),t=Lu(Object(t));return n}:Cr;(Vu&&"[object DataView]"!=zr(new Vu(new ArrayBuffer(1)))||Ku&&"[object Map]"!=zr(new Ku)||Gu&&"[object Promise]"!=zr(Gu.resolve())||Ju&&"[object Set]"!=zr(new Ju)||Yu&&"[object WeakMap]"!=zr(new Yu))&&(zr=function(t){var n=xu.call(t);if(t=(t="[object Object]"==n?t.constructor:T)?Yr(t):T)switch(t){case no:return"[object DataView]";
-case ro:return"[object Map]";case eo:return"[object Promise]";case uo:return"[object Set]";case oo:return"[object WeakMap]"}return n});var bo=function(){var t=0,n=0;return function(r,e){var u=To(),o=16-(u-n);if(n=u,o>0){if(150<=++t)return r}else t=0;return po(r,e)}}(),xo=ye(function(t){var n=[];return Te(t).replace(it,function(t,r,e,u){n.push(e?u.replace(ht,"$1"):r||t)}),n}),jo=be(function(t,n){return Oe(t)?sn(t,_n(n,1,Oe,true)):[]}),mo=be(function(t,n){var r=ne(n);return Oe(r)&&(r=T),Oe(t)?sn(t,_n(n,1,Oe,true),Sr(r)):[];
-}),wo=be(function(t,n){var r=ne(n);return Oe(r)&&(r=T),Oe(t)?sn(t,_n(n,1,Oe,true),T,r):[]}),Ao=be(function(t){var n=a(t,rn);return n.length&&n[0]===t[0]?mn(n):[]}),Oo=be(function(t){var n=ne(t),r=a(t,rn);return n===ne(r)?n=T:r.pop(),r.length&&r[0]===t[0]?mn(r,Sr(n)):[]}),ko=be(function(t){var n=ne(t),r=a(t,rn);return n===ne(r)?n=T:r.pop(),r.length&&r[0]===t[0]?mn(r,T,n):[]}),Eo=be(re),Io=be(function(t,n){n=a(_n(n,1),String);var r=nn(t,n);return Dn(t,n.sort(R)),r}),So=be(function(t){return Gn(_n(t,1,Oe,true));
-}),Ro=be(function(t){var n=ne(t);return Oe(n)&&(n=T),Gn(_n(t,1,Oe,true),Sr(n))}),Wo=be(function(t){var n=ne(t);return Oe(n)&&(n=T),Gn(_n(t,1,Oe,true),T,n)}),Bo=be(function(t,n){return Oe(t)?sn(t,n):[]}),Co=be(function(t){return Hn(i(t,Oe))}),zo=be(function(t){var n=ne(t);return Oe(n)&&(n=T),Hn(i(t,Oe),Sr(n))}),Uo=be(function(t){var n=ne(t);return Oe(n)&&(n=T),Hn(i(t,Oe),T,n)}),Mo=be(ue),Lo=be(function(t){var n=t.length,n=n>1?t[n-1]:T,n=typeof n=="function"?(t.pop(),n):T;return oe(t,n)}),$o=be(function(t){
-function n(n){return nn(n,t)}t=_n(t,1);var r=t.length,e=r?t[0]:0,u=this.__wrapped__;return 1>=r&&!this.__actions__.length&&u instanceof kt&&L(e)?(u=u.slice(e,+e+(r?1:0)),u.__actions__.push({func:fe,args:[n],thisArg:T}),new Ot(u,this.__chain__).thru(function(t){return r&&!t.length&&t.push(T),t})):this.thru(n)}),Do=fr(function(t,n,r){du.call(t,r)?++t[r]:t[r]=1}),Fo=fr(function(t,n,r){du.call(t,r)?t[r].push(n):t[r]=[n]}),No=be(function(t,n,e){var u=-1,o=typeof n=="function",i=Zr(n),f=Ae(t)?Array(t.length):[];
-return ao(t,function(t){var c=o?n:i&&null!=t?t[n]:T;f[++u]=c?r(c,t,e):An(t,n,e)}),f}),Po=fr(function(t,n,r){t[r]=n}),Zo=fr(function(t,n,r){t[r?0:1].push(n)},function(){return[[],[]]}),qo=be(function(t,n){if(null==t)return[];var r=n.length;return r>1&&Pr(t,n[0],n[1])?n=[]:r>2&&Pr(n[0],n[1],n[2])&&(n.length=1),Cn(t,_n(n,1),[])}),To=au.now,Vo=be(function(t,n,r){var e=1;if(r.length)var u=F(r,Br(Vo)),e=32|e;return Or(t,e,n,r,u)}),Ko=be(function(t,n,r){var e=3;if(r.length)var u=F(r,Br(Ko)),e=32|e;return Or(n,e,t,r,u);
-}),Go=be(function(t,n){return ln(t,1,n)}),Jo=be(function(t,n,r){return ln(t,Ze(n)||0,r)});ye.Cache=Lt;var Yo=be(function(t,n){n=a(_n(n,1,Nr),Sr());var e=n.length;return be(function(u){for(var o=-1,i=Pu(u.length,e);++o<i;)u[o]=n[o].call(this,u[o]);return r(t,this,u)})}),Ho=be(function(t,n){var r=F(n,Br(Ho));return Or(t,32,T,n,r)}),Qo=be(function(t,n){var r=F(n,Br(Qo));return Or(t,64,T,n,r)}),Xo=be(function(t,n){return Or(t,256,T,T,T,_n(n,1))}),ti=Array.isArray,ni=wu?function(t){return t instanceof wu;
-}:eu(false),ri=cr(function(t,n){if(Xu||Vr(n)||Ae(n))ur(n,Je(n),t);else for(var r in n)du.call(n,r)&&Qt(t,r,n[r])}),ei=cr(function(t,n){if(Xu||Vr(n)||Ae(n))ur(n,Ye(n),t);else for(var r in n)Qt(t,r,n[r])}),ui=cr(function(t,n,r,e){or(n,Ye(n),t,e)}),oi=cr(function(t,n,r,e){or(n,Je(n),t,e)}),ii=be(function(t,n){return nn(t,_n(n,1))}),fi=be(function(t){return t.push(T,Gt),r(ui,T,t)}),ci=be(function(t){return t.push(T,Gr),r(pi,T,t)}),ai=yr(function(t,n,r){t[n]=r},eu(uu)),li=yr(function(t,n,r){du.call(t,n)?t[n].push(r):t[n]=[r];
-},Sr),si=be(An),hi=cr(function(t,n,r){Bn(t,n,r)}),pi=cr(function(t,n,r,e){Bn(t,n,r,e)}),_i=be(function(t,n){return null==t?{}:(n=a(_n(n,1),en),zn(t,sn(bn(t,Ye,yo),n)))}),vi=be(function(t,n){return null==t?{}:zn(t,_n(n,1))}),gi=pr(function(t,n,r){return n=n.toLowerCase(),t+(r?tu(n):n)}),di=pr(function(t,n,r){return t+(r?"-":"")+n.toLowerCase()}),yi=pr(function(t,n,r){return t+(r?" ":"")+n.toLowerCase()}),bi=hr("toLowerCase"),xi=pr(function(t,n,r){return t+(r?"_":"")+n.toLowerCase()}),ji=pr(function(t,n,r){
-return t+(r?" ":"")+wi(n)}),mi=pr(function(t,n,r){return t+(r?" ":"")+n.toUpperCase()}),wi=hr("toUpperCase"),Ai=be(function(t,n){try{return r(t,T,n)}catch(e){return ke(e)?e:new lu(e)}}),Oi=be(function(t,n){return u(_n(n,1),function(n){t[n]=Vo(t[n],t)}),t}),ki=gr(),Ei=gr(true),Ii=be(function(t,n){return function(r){return An(r,t,n)}}),Si=be(function(t,n){return function(r){return An(t,r,n)}}),Ri=br(a),Wi=br(o),Bi=br(p),Ci=mr(),zi=mr(true),Ui=W(function(t,n){return t+n}),Mi=Ar("ceil"),Li=W(function(t,n){
-return t/n}),$i=Ar("floor"),Di=W(function(t,n){return t*n}),Fi=Ar("round"),Ni=W(function(t,n){return t-n});return xt.after=function(t,n){if(typeof n!="function")throw new pu("Expected a function");return t=Ne(t),function(){return 1>--t?n.apply(this,arguments):void 0}},xt.ary=pe,xt.assign=ri,xt.assignIn=ei,xt.assignInWith=ui,xt.assignWith=oi,xt.at=ii,xt.before=_e,xt.bind=Vo,xt.bindAll=Oi,xt.bindKey=Ko,xt.castArray=xe,xt.chain=ie,xt.chunk=function(t,n,r){if(n=(r?Pr(t,n,r):n===T)?1:Nu(Ne(n),0),r=t?t.length:0,
-!r||1>n)return[];for(var e=0,u=0,o=Array(Uu(r/n));r>e;)o[u++]=Zn(t,e,e+=n);return o},xt.compact=function(t){for(var n=-1,r=t?t.length:0,e=0,u=[];++n<r;){var o=t[n];o&&(u[e++]=o)}return u},xt.concat=function(){var t=arguments.length,n=xe(arguments[0]);if(2>t)return t?er(n):[];for(var r=Array(t-1);t--;)r[t-1]=arguments[t];for(var t=_n(r,1),r=-1,e=n.length,u=-1,o=t.length,i=Array(e+o);++r<e;)i[r]=n[r];for(;++u<o;)i[r++]=t[u];return i},xt.cond=function(t){var n=t?t.length:0,e=Sr();return t=n?a(t,function(t){
-if("function"!=typeof t[1])throw new pu("Expected a function");return[e(t[0]),t[1]]}):[],be(function(e){for(var u=-1;++u<n;){var o=t[u];if(r(o[0],this,e))return r(o[1],this,e)}})},xt.conforms=function(t){return cn(fn(t,true))},xt.constant=eu,xt.countBy=Do,xt.create=function(t,n){var r=an(t);return n?tn(r,n):r},xt.curry=ve,xt.curryRight=ge,xt.debounce=de,xt.defaults=fi,xt.defaultsDeep=ci,xt.defer=Go,xt.delay=Jo,xt.difference=jo,xt.differenceBy=mo,xt.differenceWith=wo,xt.drop=Qr,xt.dropRight=Xr,xt.dropRightWhile=function(t,n){
-return t&&t.length?Jn(t,Sr(n,3),true,true):[]},xt.dropWhile=function(t,n){return t&&t.length?Jn(t,Sr(n,3),true):[]},xt.fill=function(t,n,r,e){var u=t?t.length:0;if(!u)return[];for(r&&typeof r!="number"&&Pr(t,n,r)&&(r=0,e=u),u=t.length,r=Ne(r),0>r&&(r=-r>u?0:u+r),e=e===T||e>u?u:Ne(e),0>e&&(e+=u),e=r>e?0:Pe(e);e>r;)t[r++]=n;return t},xt.filter=function(t,n){return(ti(t)?i:pn)(t,Sr(n,3))},xt.flatMap=function(t,n){return _n(se(t,n),1)},xt.flatMapDeep=function(t,n){return _n(se(t,n),V)},xt.flatMapDepth=function(t,n,r){
-return r=r===T?1:Ne(r),_n(se(t,n),r)},xt.flatten=function(t){return t&&t.length?_n(t,1):[]},xt.flattenDeep=function(t){return t&&t.length?_n(t,V):[]},xt.flattenDepth=function(t,n){return t&&t.length?(n=n===T?1:Ne(n),_n(t,n)):[]},xt.flip=function(t){return Or(t,512)},xt.flow=ki,xt.flowRight=Ei,xt.fromPairs=function(t){for(var n=-1,r=t?t.length:0,e={};++n<r;){var u=t[n];e[u[0]]=u[1]}return e},xt.functions=function(t){return null==t?[]:dn(t,Je(t))},xt.functionsIn=function(t){return null==t?[]:dn(t,Ye(t));
-},xt.groupBy=Fo,xt.initial=function(t){return Xr(t,1)},xt.intersection=Ao,xt.intersectionBy=Oo,xt.intersectionWith=ko,xt.invert=ai,xt.invertBy=li,xt.invokeMap=No,xt.iteratee=ou,xt.keyBy=Po,xt.keys=Je,xt.keysIn=Ye,xt.map=se,xt.mapKeys=function(t,n){var r={};return n=Sr(n,3),vn(t,function(t,e,u){r[n(t,e,u)]=t}),r},xt.mapValues=function(t,n){var r={};return n=Sr(n,3),vn(t,function(t,e,u){r[e]=n(t,e,u)}),r},xt.matches=function(t){return Rn(fn(t,true))},xt.matchesProperty=function(t,n){return Wn(t,fn(n,true));
-},xt.memoize=ye,xt.merge=hi,xt.mergeWith=pi,xt.method=Ii,xt.methodOf=Si,xt.mixin=iu,xt.negate=function(t){if(typeof t!="function")throw new pu("Expected a function");return function(){return!t.apply(this,arguments)}},xt.nthArg=function(t){return t=Ne(t),function(){return arguments[t]}},xt.omit=_i,xt.omitBy=function(t,n){return n=Sr(n),Un(t,function(t,r){return!n(t,r)})},xt.once=function(t){return _e(2,t)},xt.orderBy=function(t,n,r,e){return null==t?[]:(ti(n)||(n=null==n?[]:[n]),r=e?T:r,ti(r)||(r=null==r?[]:[r]),
-Cn(t,n,r))},xt.over=Ri,xt.overArgs=Yo,xt.overEvery=Wi,xt.overSome=Bi,xt.partial=Ho,xt.partialRight=Qo,xt.partition=Zo,xt.pick=vi,xt.pickBy=function(t,n){return null==t?{}:Un(t,Sr(n))},xt.property=cu,xt.propertyOf=function(t){return function(n){return null==t?T:yn(t,n)}},xt.pull=Eo,xt.pullAll=re,xt.pullAllBy=function(t,n,r){return t&&t.length&&n&&n.length?$n(t,n,Sr(r)):t},xt.pullAllWith=function(t,n,r){return t&&t.length&&n&&n.length?$n(t,n,T,r):t},xt.pullAt=Io,xt.range=Ci,xt.rangeRight=zi,xt.rearg=Xo,
-xt.reject=function(t,n){var r=ti(t)?i:pn;return n=Sr(n,3),r(t,function(t,r,e){return!n(t,r,e)})},xt.remove=function(t,n){var r=[];if(!t||!t.length)return r;var e=-1,u=[],o=t.length;for(n=Sr(n,3);++e<o;){var i=t[e];n(i,e,t)&&(r.push(i),u.push(e))}return Dn(t,u),r},xt.rest=be,xt.reverse=ee,xt.sampleSize=he,xt.set=function(t,n,r){return null==t?t:Pn(t,n,r)},xt.setWith=function(t,n,r,e){return e=typeof e=="function"?e:T,null==t?t:Pn(t,n,r,e)},xt.shuffle=function(t){return he(t,4294967295)},xt.slice=function(t,n,r){
-var e=t?t.length:0;return e?(r&&typeof r!="number"&&Pr(t,n,r)?(n=0,r=e):(n=null==n?0:Ne(n),r=r===T?e:Ne(r)),Zn(t,n,r)):[]},xt.sortBy=qo,xt.sortedUniq=function(t){return t&&t.length?Kn(t):[]},xt.sortedUniqBy=function(t,n){return t&&t.length?Kn(t,Sr(n)):[]},xt.split=function(t,n,r){return(t=Te(t))&&(typeof n=="string"||null!=n&&!Ue(n))&&(n+="",""==n&&St.test(t))?(t=t.match(It),r===T?t:t.slice(0,0>r?0:r)):t.split(n,r)},xt.spread=function(t,n){if(typeof t!="function")throw new pu("Expected a function");
-return n=n===T?0:Nu(Ne(n),0),be(function(e){var u=e[n];return e=e.slice(0,n),u&&l(e,u),r(t,this,e)})},xt.tail=function(t){return Qr(t,1)},xt.take=function(t,n,r){return t&&t.length?(n=r||n===T?1:Ne(n),Zn(t,0,0>n?0:n)):[]},xt.takeRight=function(t,n,r){var e=t?t.length:0;return e?(n=r||n===T?1:Ne(n),n=e-n,Zn(t,0>n?0:n,e)):[]},xt.takeRightWhile=function(t,n){return t&&t.length?Jn(t,Sr(n,3),false,true):[]},xt.takeWhile=function(t,n){return t&&t.length?Jn(t,Sr(n,3)):[]},xt.tap=function(t,n){return n(t),t},
-xt.throttle=function(t,n,r){var e=true,u=true;if(typeof t!="function")throw new pu("Expected a function");return Re(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),de(t,n,{leading:e,maxWait:n,trailing:u})},xt.thru=fe,xt.toArray=Fe,xt.toPairs=He,xt.toPairsIn=Qe,xt.toPath=function(t){return ti(t)?a(t,en):Le(t)?[t]:er(xo(t))},xt.toPlainObject=qe,xt.transform=function(t,n,r){var e=ti(t)||$e(t);if(n=Sr(n,4),null==r)if(e||Re(t)){var o=t.constructor;r=e?ti(t)?new o:[]:Ee(o)?an(Lu(Object(t))):{};
-}else r={};return(e?u:vn)(t,function(t,e,u){return n(r,t,e,u)}),r},xt.unary=function(t){return pe(t,1)},xt.union=So,xt.unionBy=Ro,xt.unionWith=Wo,xt.uniq=function(t){return t&&t.length?Gn(t):[]},xt.uniqBy=function(t,n){return t&&t.length?Gn(t,Sr(n)):[]},xt.uniqWith=function(t,n){return t&&t.length?Gn(t,T,n):[]},xt.unset=function(t,n){var r;if(null==t)r=true;else{r=t;var e=n,e=Zr(e,r)?[e]:un(e);r=Jr(r,e),e=ne(e),r=null!=r&&Ke(r,e)?delete r[e]:true}return r},xt.unzip=ue,xt.unzipWith=oe,xt.update=function(t,n,r){
-return null==t?t:Pn(t,n,(typeof r=="function"?r:uu)(yn(t,n)),void 0)},xt.updateWith=function(t,n,r,e){return e=typeof e=="function"?e:T,null!=t&&(t=Pn(t,n,(typeof r=="function"?r:uu)(yn(t,n)),e)),t},xt.values=Xe,xt.valuesIn=function(t){return null==t?[]:k(t,Ye(t))},xt.without=Bo,xt.words=ru,xt.wrap=function(t,n){return n=null==n?uu:n,Ho(n,t)},xt.xor=Co,xt.xorBy=zo,xt.xorWith=Uo,xt.zip=Mo,xt.zipObject=function(t,n){return Qn(t||[],n||[],Qt)},xt.zipObjectDeep=function(t,n){return Qn(t||[],n||[],Pn);
-},xt.zipWith=Lo,xt.entries=He,xt.entriesIn=Qe,xt.extend=ei,xt.extendWith=ui,iu(xt,xt),xt.add=Ui,xt.attempt=Ai,xt.camelCase=gi,xt.capitalize=tu,xt.ceil=Mi,xt.clamp=function(t,n,r){return r===T&&(r=n,n=T),r!==T&&(r=Ze(r),r=r===r?r:0),n!==T&&(n=Ze(n),n=n===n?n:0),on(Ze(t),n,r)},xt.clone=function(t){return fn(t,false,true)},xt.cloneDeep=function(t){return fn(t,true,true)},xt.cloneDeepWith=function(t,n){return fn(t,true,true,n)},xt.cloneWith=function(t,n){return fn(t,false,true,n)},xt.deburr=nu,xt.divide=Li,xt.endsWith=function(t,n,r){
-t=Te(t),n=typeof n=="string"?n:n+"";var e=t.length;return r=r===T?e:on(Ne(r),0,e),r-=n.length,r>=0&&t.indexOf(n,r)==r},xt.eq=je,xt.escape=function(t){return(t=Te(t))&&tt.test(t)?t.replace(Q,C):t},xt.escapeRegExp=function(t){return(t=Te(t))&&ct.test(t)?t.replace(ft,"\\$&"):t},xt.every=function(t,n,r){var e=ti(t)?o:hn;return r&&Pr(t,n,r)&&(n=T),e(t,Sr(n,3))},xt.find=function(t,n){if(n=Sr(n,3),ti(t)){var r=g(t,n);return r>-1?t[r]:T}return v(t,n,ao)},xt.findIndex=function(t,n){return t&&t.length?g(t,Sr(n,3)):-1;
-},xt.findKey=function(t,n){return v(t,Sr(n,3),vn,true)},xt.findLast=function(t,n){if(n=Sr(n,3),ti(t)){var r=g(t,n,true);return r>-1?t[r]:T}return v(t,n,lo)},xt.findLastIndex=function(t,n){return t&&t.length?g(t,Sr(n,3),true):-1},xt.findLastKey=function(t,n){return v(t,Sr(n,3),gn,true)},xt.floor=$i,xt.forEach=ae,xt.forEachRight=le,xt.forIn=function(t,n){return null==t?t:so(t,Sr(n),Ye)},xt.forInRight=function(t,n){return null==t?t:ho(t,Sr(n),Ye)},xt.forOwn=function(t,n){return t&&vn(t,Sr(n))},xt.forOwnRight=function(t,n){
-return t&&gn(t,Sr(n))},xt.get=Ve,xt.gt=me,xt.gte=function(t,n){return t>=n},xt.has=Ke,xt.hasIn=Ge,xt.head=te,xt.identity=uu,xt.includes=function(t,n,r,e){return t=Ae(t)?t:Xe(t),r=r&&!e?Ne(r):0,e=t.length,0>r&&(r=Nu(e+r,0)),Me(t)?e>=r&&-1<t.indexOf(n,r):!!e&&-1<d(t,n,r)},xt.indexOf=function(t,n,r){var e=t?t.length:0;return e?(r=Ne(r),0>r&&(r=Nu(e+r,0)),d(t,n,r)):-1},xt.inRange=function(t,n,r){return n=Ze(n)||0,r===T?(r=n,n=0):r=Ze(r)||0,t=Ze(t),t>=Pu(n,r)&&t<Nu(n,r)},xt.invoke=si,xt.isArguments=we,
-xt.isArray=ti,xt.isArrayBuffer=function(t){return We(t)&&"[object ArrayBuffer]"==xu.call(t)},xt.isArrayLike=Ae,xt.isArrayLikeObject=Oe,xt.isBoolean=function(t){return true===t||false===t||We(t)&&"[object Boolean]"==xu.call(t)},xt.isBuffer=ni,xt.isDate=function(t){return We(t)&&"[object Date]"==xu.call(t)},xt.isElement=function(t){return!!t&&1===t.nodeType&&We(t)&&!ze(t)},xt.isEmpty=function(t){if(Ae(t)&&(ti(t)||Me(t)||Ee(t.splice)||we(t)||ni(t)))return!t.length;if(We(t)){var n=zr(t);if("[object Map]"==n||"[object Set]"==n)return!t.size;
-}for(var r in t)if(du.call(t,r))return false;return!(Xu&&Je(t).length)},xt.isEqual=function(t,n){return On(t,n)},xt.isEqualWith=function(t,n,r){var e=(r=typeof r=="function"?r:T)?r(t,n):T;return e===T?On(t,n,r):!!e},xt.isError=ke,xt.isFinite=function(t){return typeof t=="number"&&$u(t)},xt.isFunction=Ee,xt.isInteger=Ie,xt.isLength=Se,xt.isMap=function(t){return We(t)&&"[object Map]"==zr(t)},xt.isMatch=function(t,n){return t===n||kn(t,n,Rr(n))},xt.isMatchWith=function(t,n,r){return r=typeof r=="function"?r:T,
-kn(t,n,Rr(n),r)},xt.isNaN=function(t){return Ce(t)&&t!=+t},xt.isNative=Be,xt.isNil=function(t){return null==t},xt.isNull=function(t){return null===t},xt.isNumber=Ce,xt.isObject=Re,xt.isObjectLike=We,xt.isPlainObject=ze,xt.isRegExp=Ue,xt.isSafeInteger=function(t){return Ie(t)&&t>=-9007199254740991&&9007199254740991>=t},xt.isSet=function(t){return We(t)&&"[object Set]"==zr(t)},xt.isString=Me,xt.isSymbol=Le,xt.isTypedArray=$e,xt.isUndefined=function(t){return t===T},xt.isWeakMap=function(t){return We(t)&&"[object WeakMap]"==zr(t);
-},xt.isWeakSet=function(t){return We(t)&&"[object WeakSet]"==xu.call(t)},xt.join=function(t,n){return t?Du.call(t,n):""},xt.kebabCase=di,xt.last=ne,xt.lastIndexOf=function(t,n,r){var e=t?t.length:0;if(!e)return-1;var u=e;if(r!==T&&(u=Ne(r),u=(0>u?Nu(e+u,0):Pu(u,e-1))+1),n!==n)return U(t,u,true);for(;u--;)if(t[u]===n)return u;return-1},xt.lowerCase=yi,xt.lowerFirst=bi,xt.lt=De,xt.lte=function(t,n){return n>=t},xt.max=function(t){return t&&t.length?_(t,uu,me):T},xt.maxBy=function(t,n){return t&&t.length?_(t,Sr(n),me):T;
-},xt.mean=function(t){return b(t,uu)},xt.meanBy=function(t,n){return b(t,Sr(n))},xt.min=function(t){return t&&t.length?_(t,uu,De):T},xt.minBy=function(t,n){return t&&t.length?_(t,Sr(n),De):T},xt.multiply=Di,xt.noConflict=function(){return Jt._===this&&(Jt._=ju),this},xt.noop=fu,xt.now=To,xt.pad=function(t,n,r){t=Te(t);var e=(n=Ne(n))?P(t):0;return n&&n>e?(n=(n-e)/2,xr(Mu(n),r)+t+xr(Uu(n),r)):t},xt.padEnd=function(t,n,r){t=Te(t);var e=(n=Ne(n))?P(t):0;return n&&n>e?t+xr(n-e,r):t},xt.padStart=function(t,n,r){
-t=Te(t);var e=(n=Ne(n))?P(t):0;return n&&n>e?xr(n-e,r)+t:t},xt.parseInt=function(t,n,r){return r||null==n?n=0:n&&(n=+n),t=Te(t).replace(at,""),Zu(t,n||(vt.test(t)?16:10))},xt.random=function(t,n,r){if(r&&typeof r!="boolean"&&Pr(t,n,r)&&(n=r=T),r===T&&(typeof n=="boolean"?(r=n,n=T):typeof t=="boolean"&&(r=t,t=T)),t===T&&n===T?(t=0,n=1):(t=Ze(t)||0,n===T?(n=t,t=0):n=Ze(n)||0),t>n){var e=t;t=n,n=e}return r||t%1||n%1?(r=qu(),Pu(t+r*(n-t+Nt("1e-"+((r+"").length-1))),n)):Fn(t,n)},xt.reduce=function(t,n,r){
-var e=ti(t)?s:x,u=3>arguments.length;return e(t,Sr(n,4),r,u,ao)},xt.reduceRight=function(t,n,r){var e=ti(t)?h:x,u=3>arguments.length;return e(t,Sr(n,4),r,u,lo)},xt.repeat=function(t,n,r){return n=(r?Pr(t,n,r):n===T)?1:Ne(n),Nn(Te(t),n)},xt.replace=function(){var t=arguments,n=Te(t[0]);return 3>t.length?n:n.replace(t[1],t[2])},xt.result=function(t,n,r){n=Zr(n,t)?[n]:un(n);var e=-1,u=n.length;for(u||(t=T,u=1);++e<u;){var o=null==t?T:t[n[e]];o===T&&(e=u,o=r),t=Ee(o)?o.call(t):o}return t},xt.round=Fi,
-xt.runInContext=q,xt.sample=function(t){t=Ae(t)?t:Xe(t);var n=t.length;return n>0?t[Fn(0,n-1)]:T},xt.size=function(t){if(null==t)return 0;if(Ae(t)){var n=t.length;return n&&Me(t)?P(t):n}return We(t)&&(n=zr(t),"[object Map]"==n||"[object Set]"==n)?t.size:Je(t).length},xt.snakeCase=xi,xt.some=function(t,n,r){var e=ti(t)?p:qn;return r&&Pr(t,n,r)&&(n=T),e(t,Sr(n,3))},xt.sortedIndex=function(t,n){return Tn(t,n)},xt.sortedIndexBy=function(t,n,r){return Vn(t,n,Sr(r))},xt.sortedIndexOf=function(t,n){var r=t?t.length:0;
-if(r){var e=Tn(t,n);if(r>e&&je(t[e],n))return e}return-1},xt.sortedLastIndex=function(t,n){return Tn(t,n,true)},xt.sortedLastIndexBy=function(t,n,r){return Vn(t,n,Sr(r),true)},xt.sortedLastIndexOf=function(t,n){if(t&&t.length){var r=Tn(t,n,true)-1;if(je(t[r],n))return r}return-1},xt.startCase=ji,xt.startsWith=function(t,n,r){return t=Te(t),r=on(Ne(r),0,t.length),t.lastIndexOf(n,r)==r},xt.subtract=Ni,xt.sum=function(t){return t&&t.length?m(t,uu):0},xt.sumBy=function(t,n){return t&&t.length?m(t,Sr(n)):0},
-xt.template=function(t,n,r){var e=xt.templateSettings;r&&Pr(t,n,r)&&(n=T),t=Te(t),n=ui({},n,e,Gt),r=ui({},n.imports,e.imports,Gt);var u,o,i=Je(r),f=k(r,i),c=0;r=n.interpolate||mt;var a="__p+='";r=hu((n.escape||mt).source+"|"+r.source+"|"+(r===et?pt:mt).source+"|"+(n.evaluate||mt).source+"|$","g");var l="sourceURL"in n?"//# sourceURL="+n.sourceURL+"\n":"";if(t.replace(r,function(n,r,e,i,f,l){return e||(e=i),a+=t.slice(c,l).replace(wt,z),r&&(u=true,a+="'+__e("+r+")+'"),f&&(o=true,a+="';"+f+";\n__p+='"),
-e&&(a+="'+((__t=("+e+"))==null?'':__t)+'"),c=l+n.length,n}),a+="';",(n=n.variable)||(a="with(obj){"+a+"}"),a=(o?a.replace(G,""):a).replace(J,"$1").replace(Y,"$1;"),a="function("+(n||"obj")+"){"+(n?"":"obj||(obj={});")+"var __t,__p=''"+(u?",__e=_.escape":"")+(o?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+a+"return __p}",n=Ai(function(){return Function(i,l+"return "+a).apply(T,f)}),n.source=a,ke(n))throw n;return n},xt.times=function(t,n){if(t=Ne(t),1>t||t>9007199254740991)return[];
-var r=4294967295,e=Pu(t,4294967295);for(n=Sr(n),t-=4294967295,e=w(e,n);++r<t;)n(r);return e},xt.toInteger=Ne,xt.toLength=Pe,xt.toLower=function(t){return Te(t).toLowerCase()},xt.toNumber=Ze,xt.toSafeInteger=function(t){return on(Ne(t),-9007199254740991,9007199254740991)},xt.toString=Te,xt.toUpper=function(t){return Te(t).toUpperCase()},xt.trim=function(t,n,r){return(t=Te(t))?r||n===T?t.replace(at,""):(n+="")?(t=t.match(It),n=n.match(It),t.slice(E(t,n),I(t,n)+1).join("")):t:t},xt.trimEnd=function(t,n,r){
-return(t=Te(t))?r||n===T?t.replace(st,""):(n+="")?(t=t.match(It),t.slice(0,I(t,n.match(It))+1).join("")):t:t},xt.trimStart=function(t,n,r){return(t=Te(t))?r||n===T?t.replace(lt,""):(n+="")?(t=t.match(It),t.slice(E(t,n.match(It))).join("")):t:t},xt.truncate=function(t,n){var r=30,e="...";if(Re(n))var u="separator"in n?n.separator:u,r="length"in n?Ne(n.length):r,e="omission"in n?Te(n.omission):e;t=Te(t);var o=t.length;if(St.test(t))var i=t.match(It),o=i.length;if(r>=o)return t;if(o=r-P(e),1>o)return e;
-if(r=i?i.slice(0,o).join(""):t.slice(0,o),u===T)return r+e;if(i&&(o+=r.length-o),Ue(u)){if(t.slice(o).search(u)){var f=r;for(u.global||(u=hu(u.source,Te(_t.exec(u))+"g")),u.lastIndex=0;i=u.exec(f);)var c=i.index;r=r.slice(0,c===T?o:c)}}else t.indexOf(u,o)!=o&&(u=r.lastIndexOf(u),u>-1&&(r=r.slice(0,u)));return r+e},xt.unescape=function(t){return(t=Te(t))&&X.test(t)?t.replace(H,Z):t},xt.uniqueId=function(t){var n=++yu;return Te(t)+n},xt.upperCase=mi,xt.upperFirst=wi,xt.each=ae,xt.eachRight=le,xt.first=te,
-iu(xt,function(){var t={};return vn(xt,function(n,r){du.call(xt.prototype,r)||(t[r]=n)}),t}(),{chain:false}),xt.VERSION="4.9.0",u("bind bindKey curry curryRight partial partialRight".split(" "),function(t){xt[t].placeholder=xt}),u(["drop","take"],function(t,n){kt.prototype[t]=function(r){var e=this.__filtered__;if(e&&!n)return new kt(this);r=r===T?1:Nu(Ne(r),0);var u=this.clone();return e?u.__takeCount__=Pu(r,u.__takeCount__):u.__views__.push({size:Pu(r,4294967295),type:t+(0>u.__dir__?"Right":"")}),
-u},kt.prototype[t+"Right"]=function(n){return this.reverse()[t](n).reverse()}}),u(["filter","map","takeWhile"],function(t,n){var r=n+1,e=1==r||3==r;kt.prototype[t]=function(t){var n=this.clone();return n.__iteratees__.push({iteratee:Sr(t,3),type:r}),n.__filtered__=n.__filtered__||e,n}}),u(["head","last"],function(t,n){var r="take"+(n?"Right":"");kt.prototype[t]=function(){return this[r](1).value()[0]}}),u(["initial","tail"],function(t,n){var r="drop"+(n?"":"Right");kt.prototype[t]=function(){return this.__filtered__?new kt(this):this[r](1);
-}}),kt.prototype.compact=function(){return this.filter(uu)},kt.prototype.find=function(t){return this.filter(t).head()},kt.prototype.findLast=function(t){return this.reverse().find(t)},kt.prototype.invokeMap=be(function(t,n){return typeof t=="function"?new kt(this):this.map(function(r){return An(r,t,n)})}),kt.prototype.reject=function(t){return t=Sr(t,3),this.filter(function(n){return!t(n)})},kt.prototype.slice=function(t,n){t=Ne(t);var r=this;return r.__filtered__&&(t>0||0>n)?new kt(r):(0>t?r=r.takeRight(-t):t&&(r=r.drop(t)),
-n!==T&&(n=Ne(n),r=0>n?r.dropRight(-n):r.take(n-t)),r)},kt.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},kt.prototype.toArray=function(){return this.take(4294967295)},vn(kt.prototype,function(t,n){var r=/^(?:filter|find|map|reject)|While$/.test(n),e=/^(?:head|last)$/.test(n),u=xt[e?"take"+("last"==n?"Right":""):n],o=e||/^find/.test(n);u&&(xt.prototype[n]=function(){function n(t){return t=u.apply(xt,l([t],f)),e&&h?t[0]:t}var i=this.__wrapped__,f=e?[1]:arguments,c=i instanceof kt,a=f[0],s=c||ti(i);
-s&&r&&typeof a=="function"&&1!=a.length&&(c=s=false);var h=this.__chain__,p=!!this.__actions__.length,a=o&&!h,c=c&&!p;return!o&&s?(i=c?i:new kt(this),i=t.apply(i,f),i.__actions__.push({func:fe,args:[n],thisArg:T}),new Ot(i,h)):a&&c?t.apply(this,f):(i=this.thru(n),a?e?i.value()[0]:i.value():i)})}),u("pop push shift sort splice unshift".split(" "),function(t){var n=_u[t],r=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",e=/^(?:pop|shift)$/.test(t);xt.prototype[t]=function(){var t=arguments;if(e&&!this.__chain__){
-var u=this.value();return n.apply(ti(u)?u:[],t)}return this[r](function(r){return n.apply(ti(r)?r:[],t)})}}),vn(kt.prototype,function(t,n){var r=xt[n];if(r){var e=r.name+"";(to[e]||(to[e]=[])).push({name:n,func:r})}}),to[dr(T,2).name]=[{name:"wrapper",func:T}],kt.prototype.clone=function(){var t=new kt(this.__wrapped__);return t.__actions__=er(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=er(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=er(this.__views__),
-t},kt.prototype.reverse=function(){if(this.__filtered__){var t=new kt(this);t.__dir__=-1,t.__filtered__=true}else t=this.clone(),t.__dir__*=-1;return t},kt.prototype.value=function(){var t,n=this.__wrapped__.value(),r=this.__dir__,e=ti(n),u=0>r,o=e?n.length:0;t=o;for(var i=this.__views__,f=0,c=-1,a=i.length;++c<a;){var l=i[c],s=l.size;switch(l.type){case"drop":f+=s;break;case"dropRight":t-=s;break;case"take":t=Pu(t,f+s);break;case"takeRight":f=Nu(f,t-s)}}if(t={start:f,end:t},i=t.start,f=t.end,t=f-i,
-u=u?f:i-1,i=this.__iteratees__,f=i.length,c=0,a=Pu(t,this.__takeCount__),!e||200>o||o==t&&a==t)return Yn(n,this.__actions__);e=[];t:for(;t--&&a>c;){for(u+=r,o=-1,l=n[u];++o<f;){var h=i[o],s=h.type,h=(0,h.iteratee)(l);if(2==s)l=h;else if(!h){if(1==s)continue t;break t}}e[c++]=l}return e},xt.prototype.at=$o,xt.prototype.chain=function(){return ie(this)},xt.prototype.commit=function(){return new Ot(this.value(),this.__chain__)},xt.prototype.next=function(){this.__values__===T&&(this.__values__=Fe(this.value()));
-var t=this.__index__>=this.__values__.length,n=t?T:this.__values__[this.__index__++];return{done:t,value:n}},xt.prototype.plant=function(t){for(var n,r=this;r instanceof At;){var e=Hr(r);e.__index__=0,e.__values__=T,n?u.__wrapped__=e:n=e;var u=e,r=r.__wrapped__}return u.__wrapped__=t,n},xt.prototype.reverse=function(){var t=this.__wrapped__;return t instanceof kt?(this.__actions__.length&&(t=new kt(this)),t=t.reverse(),t.__actions__.push({func:fe,args:[ee],thisArg:T}),new Ot(t,this.__chain__)):this.thru(ee);
-},xt.prototype.toJSON=xt.prototype.valueOf=xt.prototype.value=function(){return Yn(this.__wrapped__,this.__actions__)},Ru&&(xt.prototype[Ru]=ce),xt}var T,V=1/0,K=NaN,G=/\b__p\+='';/g,J=/\b(__p\+=)''\+/g,Y=/(__e\(.*?\)|\b__t\))\+'';/g,H=/&(?:amp|lt|gt|quot|#39|#96);/g,Q=/[&<>"'`]/g,X=RegExp(H.source),tt=RegExp(Q.source),nt=/<%-([\s\S]+?)%>/g,rt=/<%([\s\S]+?)%>/g,et=/<%=([\s\S]+?)%>/g,ut=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ot=/^\w*$/,it=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]/g,ft=/[\\^$.*+?()[\]{}|]/g,ct=RegExp(ft.source),at=/^\s+|\s+$/g,lt=/^\s+/,st=/\s+$/,ht=/\\(\\)?/g,pt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,_t=/\w*$/,vt=/^0x/i,gt=/^[-+]0x[0-9a-f]+$/i,dt=/^0b[01]+$/i,yt=/^\[object .+?Constructor\]$/,bt=/^0o[0-7]+$/i,xt=/^(?:0|[1-9]\d*)$/,jt=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,mt=/($^)/,wt=/['\n\r\u2028\u2029\\]/g,At="[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|\\ud83c[\\udffb-\\udfff])?)*",Ot="(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])"+At,kt="(?:[^\\ud800-\\udfff][\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]?|[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff])",Et=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]","g"),It=RegExp("\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|"+kt+At,"g"),St=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0\\ufe0e\\ufe0f]"),Rt=/[a-zA-Z0-9]+/g,Wt=RegExp(["[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\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]|[A-Z\\xc0-\\xd6\\xd8-\\xde]|$)|(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\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\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\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]|[A-Z\\xc0-\\xd6\\xd8-\\xde](?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\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\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])|$)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?(?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\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\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+|[A-Z\\xc0-\\xd6\\xd8-\\xde]+|\\d+",Ot].join("|"),"g"),Bt=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ct="Array Buffer DataView Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Map Math Object Promise Reflect RegExp Set String Symbol TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array WeakMap _ clearTimeout isFinite parseInt setTimeout".split(" "),zt={};
-zt["[object Float32Array]"]=zt["[object Float64Array]"]=zt["[object Int8Array]"]=zt["[object Int16Array]"]=zt["[object Int32Array]"]=zt["[object Uint8Array]"]=zt["[object Uint8ClampedArray]"]=zt["[object Uint16Array]"]=zt["[object Uint32Array]"]=true,zt["[object Arguments]"]=zt["[object Array]"]=zt["[object ArrayBuffer]"]=zt["[object Boolean]"]=zt["[object DataView]"]=zt["[object Date]"]=zt["[object Error]"]=zt["[object Function]"]=zt["[object Map]"]=zt["[object Number]"]=zt["[object Object]"]=zt["[object RegExp]"]=zt["[object Set]"]=zt["[object String]"]=zt["[object WeakMap]"]=false;
-var Ut={};Ut["[object Arguments]"]=Ut["[object Array]"]=Ut["[object ArrayBuffer]"]=Ut["[object DataView]"]=Ut["[object Boolean]"]=Ut["[object Date]"]=Ut["[object Float32Array]"]=Ut["[object Float64Array]"]=Ut["[object Int8Array]"]=Ut["[object Int16Array]"]=Ut["[object Int32Array]"]=Ut["[object Map]"]=Ut["[object Number]"]=Ut["[object Object]"]=Ut["[object RegExp]"]=Ut["[object Set]"]=Ut["[object String]"]=Ut["[object Symbol]"]=Ut["[object Uint8Array]"]=Ut["[object Uint8ClampedArray]"]=Ut["[object Uint16Array]"]=Ut["[object Uint32Array]"]=true,
-Ut["[object Error]"]=Ut["[object Function]"]=Ut["[object WeakMap]"]=false;var Mt={"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O",
-"\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss"},Lt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"},$t={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&#96;":"`"},Dt={"function":true,object:true},Ft={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"
-},Nt=parseFloat,Pt=parseInt,Zt=Dt[typeof exports]&&exports&&!exports.nodeType?exports:T,qt=Dt[typeof module]&&module&&!module.nodeType?module:T,Tt=qt&&qt.exports===Zt?Zt:T,Vt=S(Dt[typeof self]&&self),Kt=S(Dt[typeof window]&&window),Gt=S(Dt[typeof this]&&this),Jt=S(Zt&&qt&&typeof global=="object"&&global)||Kt!==(Gt&&Gt.window)&&Kt||Vt||Gt||Function("return this")(),Yt=q();(Kt||Vt||{})._=Yt,typeof define=="function"&&typeof define.amd=="object"&&define.amd? define(function(){return Yt}):Zt&&qt?(Tt&&((qt.exports=Yt)._=Yt),
-Zt._=Yt):Jt._=Yt}).call(this); \ No newline at end of file
+var u=t.length;for(e&&u&&(r=t[--u]);u--;)r=n(r,t[u],u,t);return r}function p(t,n){for(var r=-1,e=t.length;++r<e;)if(n(t[r],r,t))return true;return false}function _(t,n,r){for(var e=-1,u=t.length;++e<u;){var o=t[e],i=n(o);if(null!=i&&(f===q?i===i:r(i,f)))var f=i,c=o}return c}function v(t,n,r,e){var u;return r(t,function(t,r,o){return n(t,r,o)?(u=e?r:t,false):void 0}),u}function g(t,n,r){for(var e=t.length,u=r?e:-1;r?u--:++u<e;)if(n(t[u],u,t))return u;return-1}function d(t,n,r){if(n!==n)return M(t,r);--r;for(var e=t.length;++r<e;)if(t[r]===n)return r;
+return-1}function y(t,n,r,e){--r;for(var u=t.length;++r<u;)if(e(t[r],n))return r;return-1}function b(t,n){var r=t?t.length:0;return r?m(t,n)/r:K}function x(t,n,r,e,u){return u(t,function(t,u,o){r=e?(e=false,t):n(r,t,u,o)}),r}function j(t,n){var r=t.length;for(t.sort(n);r--;)t[r]=t[r].c;return t}function m(t,n){for(var r,e=-1,u=t.length;++e<u;){var o=n(t[e]);o!==q&&(r=r===q?o:r+o)}return r}function w(t,n){for(var r=-1,e=Array(t);++r<t;)e[r]=n(r);return e}function A(t,n){return a(n,function(n){return[n,t[n]];
+})}function O(t){return function(n){return t(n)}}function k(t,n){return a(n,function(n){return t[n]})}function E(t,n){for(var r=-1,e=t.length;++r<e&&-1<d(n,t[r],0););return r}function I(t,n){for(var r=t.length;r--&&-1<d(n,t[r],0););return r}function S(t){return t&&t.Object===Object?t:null}function R(t,n){if(t!==n){var r=null===t,e=t===q,u=t===t,o=null===n,i=n===q,f=n===n;if(t>n&&!o||!u||r&&!i&&f||e&&f)return 1;if(n>t&&!r||!f||o&&!e&&u||i&&u)return-1}return 0}function W(t){return function(n,r){var e;
+return n===q&&r===q?0:(n!==q&&(e=n),r!==q&&(e=e===q?r:t(e,r)),e)}}function B(t){return Ut[t]}function L(t){return Dt[t]}function C(t){return"\\"+Nt[t]}function M(t,n,r){var e=t.length;for(n+=r?0:-1;r?n--:++n<e;){var u=t[n];if(u!==u)return n}return-1}function z(t){var n=false;if(null!=t&&typeof t.toString!="function")try{n=!!(t+"")}catch(r){}return n}function U(t,n){return t=typeof t=="number"||jt.test(t)?+t:-1,t>-1&&0==t%1&&(null==n?9007199254740991:n)>t}function D(t){for(var n,r=[];!(n=t.next()).done;)r.push(n.value);
+return r}function $(t){var n=-1,r=Array(t.size);return t.forEach(function(t,e){r[++n]=[e,t]}),r}function F(t,n){for(var r=-1,e=t.length,u=0,o=[];++r<e;){var i=t[r];i!==n&&"__lodash_placeholder__"!==i||(t[r]="__lodash_placeholder__",o[u++]=r)}return o}function N(t){var n=-1,r=Array(t.size);return t.forEach(function(t){r[++n]=t}),r}function P(t){if(!t||!Bt.test(t))return t.length;for(var n=Rt.lastIndex=0;Rt.test(t);)n++;return n}function Z(t){return $t[t]}function T(S){function jt(t){if(Le(t)&&!oi(t)&&!(t instanceof Et)){
+if(t instanceof kt)return t;if(xu.call(t,"__wrapped__"))return Xr(t)}return new kt(t)}function Ot(){}function kt(t,n){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!n,this.__index__=0,this.__values__=q}function Et(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=false,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function Ut(){}function Dt(t){var n=-1,r=t?t.length:0;for(this.clear();++n<r;){var e=t[n];this.set(e[0],e[1])}}function $t(t){var n=-1,r=t?t.length:0;
+for(this.__data__=new Dt;++n<r;)this.push(t[n])}function Ft(t,n){var r=t.__data__;return qr(n)?(r=r.__data__,"__lodash_hash_undefined__"===(typeof n=="string"?r.string:r.hash)[n]):r.has(n)}function Nt(t){var n=-1,r=t?t.length:0;for(this.clear();++n<r;){var e=t[n];this.set(e[0],e[1])}}function Tt(t,n){var r=Kt(t,n);return 0>r?false:(r==t.length-1?t.pop():Uu.call(t,r,1),true)}function qt(t,n){var r=Kt(t,n);return 0>r?q:t[r][1]}function Kt(t,n){for(var r=t.length;r--;)if(we(t[r][0],n))return r;return-1}function Gt(t,n,r){
+var e=Kt(t,n);0>e?t.push([n,r]):t[e][1]=r}function Jt(t,n,r,e){return t===q||we(t,du[r])&&!xu.call(e,r)?n:t}function Qt(t,n,r){(r===q||we(t[n],r))&&(typeof n!="number"||r!==q||n in t)||(t[n]=r)}function Xt(t,n,r){var e=t[n];xu.call(t,n)&&we(e,r)&&(r!==q||n in t)||(t[n]=r)}function tn(t,n,r,e){return _o(t,function(t,u,o){n(e,t,r(t),o)}),e}function nn(t,n){return t&&ir(n,He(n),t)}function rn(t,n){for(var r=-1,e=null==t,u=n.length,o=Array(u);++r<u;)o[r]=e?q:Ge(t,n[r]);return o}function en(t,n,r){return t===t&&(r!==q&&(t=t>r?r:t),
+n!==q&&(t=n>t?n:t)),t}function un(t,n,r,e,o,i,f){var c;if(e&&(c=i?e(t,o,i,f):e(t)),c!==q)return c;if(!Be(t))return t;if(o=oi(t)){if(c=Ur(t),!n)return or(t,c)}else{var a=Mr(t),l="[object Function]"==a||"[object GeneratorFunction]"==a;if(ii(t))return nr(t,n);if("[object Object]"==a||"[object Arguments]"==a||l&&!i){if(z(t))return i?t:{};if(c=Dr(l?{}:t),!n)return fr(t,nn(c,t))}else{if(!zt[a])return i?t:{};c=$r(t,a,un,n)}}if(f||(f=new Nt),i=f.get(t))return i;if(f.set(t,c),!o)var s=r?dn(t,He,Cr):He(t);return u(s||t,function(u,o){
+s&&(o=u,u=t[o]),Xt(c,o,un(u,n,r,e,o,t,f))}),c}function on(t){var n=He(t),r=n.length;return function(e){if(null==e)return!r;for(var u=r;u--;){var o=n[u],i=t[o],f=e[o];if(f===q&&!(o in Object(e))||!i(f))return false}return true}}function fn(t){return Be(t)?Cu(t):{}}function cn(t,n,r){if(typeof t!="function")throw new vu("Expected a function");return zu(function(){t.apply(q,r)},n)}function an(t,n,r,e){var u=-1,o=f,i=true,l=t.length,s=[],h=n.length;if(!l)return s;r&&(n=a(n,O(r))),e?(o=c,i=false):n.length>=200&&(o=Ft,
+i=false,n=new $t(n));t:for(;++u<l;){var p=t[u],_=r?r(p):p;if(i&&_===_){for(var v=h;v--;)if(n[v]===_)continue t;s.push(p)}else o(n,_,e)||s.push(p)}return s}function ln(t,n){var r=true;return _o(t,function(t,e,u){return r=!!n(t,e,u)}),r}function sn(t,n){var r=[];return _o(t,function(t,e,u){n(t,e,u)&&r.push(t)}),r}function hn(t,n,r,e,u){var o=-1,i=t.length;for(r||(r=Nr),u||(u=[]);++o<i;){var f=t[o];n>0&&r(f)?n>1?hn(f,n-1,r,e,u):l(u,f):e||(u[u.length]=f)}return u}function pn(t,n){return t&&go(t,n,He)}function _n(t,n){
+return t&&yo(t,n,He)}function vn(t,n){return i(n,function(n){return Se(t[n])})}function gn(t,n){n=Tr(n,t)?[n]:Xn(n);for(var r=0,e=n.length;null!=t&&e>r;)t=t[n[r++]];return r&&r==e?t:q}function dn(t,n,r){return n=n(t),oi(t)?n:l(n,r(t))}function yn(t,n){return xu.call(t,n)||typeof t=="object"&&n in t&&null===Fu(Object(t))}function bn(t,n){return n in Object(t)}function xn(t,n,r){for(var e=r?c:f,u=t[0].length,o=t.length,i=o,l=Array(o),s=1/0,h=[];i--;){var p=t[i];i&&n&&(p=a(p,O(n))),s=qu(p.length,s),
+l[i]=r||!n&&(120>u||120>p.length)?q:new $t(i&&p)}var p=t[0],_=-1,v=l[0];t:for(;++_<u&&s>h.length;){var g=p[_],d=n?n(g):g;if(v?!Ft(v,d):!e(h,d,r)){for(i=o;--i;){var y=l[i];if(y?!Ft(y,d):!e(t[i],d,r))continue t}v&&v.push(d),h.push(g)}}return h}function jn(t,n,r){var e={};return pn(t,function(t,u,o){n(e,r(t),u,o)}),e}function mn(t,n,e){return Tr(n,t)||(n=Xn(n),t=Yr(t,n),n=ee(n)),n=null==t?t:t[n],null==n?q:r(n,t,e)}function wn(t,n,r,e,u){if(t===n)n=true;else if(null==t||null==n||!Be(t)&&!Le(n))n=t!==t&&n!==n;else t:{
+var o=oi(t),i=oi(n),f="[object Array]",c="[object Array]";o||(f=Mr(t),f="[object Arguments]"==f?"[object Object]":f),i||(c=Mr(n),c="[object Arguments]"==c?"[object Object]":c);var a="[object Object]"==f&&!z(t),i="[object Object]"==c&&!z(n);if((c=f==c)&&!a)u||(u=new Nt),n=o||Fe(t)?Er(t,n,wn,r,e,u):Ir(t,n,f,wn,r,e,u);else{if(!(2&e)&&(o=a&&xu.call(t,"__wrapped__"),f=i&&xu.call(n,"__wrapped__"),o||f)){t=o?t.value():t,n=f?n.value():n,u||(u=new Nt),n=wn(t,n,r,e,u);break t}if(c)n:if(u||(u=new Nt),o=2&e,
+f=He(t),i=f.length,c=He(n).length,i==c||o){for(a=i;a--;){var l=f[a];if(!(o?l in n:yn(n,l))){n=false;break n}}if(c=u.get(t))n=c==n;else{c=true,u.set(t,n);for(var s=o;++a<i;){var l=f[a],h=t[l],p=n[l];if(r)var _=o?r(p,h,l,n,t,u):r(h,p,l,t,n,u);if(_===q?h!==p&&!wn(h,p,r,e,u):!_){c=false;break}s||(s="constructor"==l)}c&&!s&&(r=t.constructor,e=n.constructor,r!=e&&"constructor"in t&&"constructor"in n&&!(typeof r=="function"&&r instanceof r&&typeof e=="function"&&e instanceof e)&&(c=false)),u["delete"](t),n=c}}else n=false;else n=false;
+}}return n}function An(t,n,r,e){var u=r.length,o=u,i=!e;if(null==t)return!o;for(t=Object(t);u--;){var f=r[u];if(i&&f[2]?f[1]!==t[f[0]]:!(f[0]in t))return false}for(;++u<o;){var f=r[u],c=f[0],a=t[c],l=f[1];if(i&&f[2]){if(a===q&&!(c in t))return false}else{if(f=new Nt,e)var s=e(a,l,c,t,n,f);if(s===q?!wn(l,a,e,3,f):!s)return false}}return true}function On(t){return typeof t=="function"?t:null==t?iu:typeof t=="object"?oi(t)?Sn(t[0],t[1]):In(t):lu(t)}function kn(t){t=null==t?t:Object(t);var n,r=[];for(n in t)r.push(n);
+return r}function En(t,n){var r=-1,e=ke(t)?Array(t.length):[];return _o(t,function(t,u,o){e[++r]=n(t,u,o)}),e}function In(t){var n=Wr(t);return 1==n.length&&n[0][2]?Gr(n[0][0],n[0][1]):function(r){return r===t||An(r,t,n)}}function Sn(t,n){return Tr(t)&&n===n&&!Be(n)?Gr(t,n):function(r){var e=Ge(r,t);return e===q&&e===n?Ye(r,t):wn(n,e,q,3)}}function Rn(t,n,r,e,o){if(t!==n){if(!oi(n)&&!Fe(n))var i=Qe(n);u(i||n,function(u,f){if(i&&(f=u,u=n[f]),Be(u)){o||(o=new Nt);var c=f,a=o,l=t[c],s=n[c],h=a.get(s);
+if(h)Qt(t,c,h);else{var h=e?e(l,s,c+"",t,n,a):q,p=h===q;p&&(h=s,oi(s)||Fe(s)?oi(l)?h=l:Ee(l)?h=or(l):(p=false,h=un(s,true)):ze(s)||Oe(s)?Oe(l)?h=Ve(l):!Be(l)||r&&Se(l)?(p=false,h=un(s,true)):h=l:p=false),a.set(s,h),p&&Rn(h,s,r,e,a),a["delete"](s),Qt(t,c,h)}}else c=e?e(t[f],u,f+"",t,n,o):q,c===q&&(c=u),Qt(t,f,c)})}}function Wn(t,n){var r=t.length;return r?(n+=0>n?r:0,U(n,r)?t[n]:q):void 0}function Bn(t,n,r){var e=-1;return n=a(n.length?n:[iu],O(Rr())),t=En(t,function(t){return{a:a(n,function(n){return n(t)}),b:++e,
+c:t}}),j(t,function(t,n){var e;t:{e=-1;for(var u=t.a,o=n.a,i=u.length,f=r.length;++e<i;){var c=R(u[e],o[e]);if(c){e=f>e?c*("desc"==r[e]?-1:1):c;break t}}e=t.b-n.b}return e})}function Ln(t,n){return t=Object(t),s(n,function(n,r){return r in t&&(n[r]=t[r]),n},{})}function Cn(t,n){for(var r=-1,e=dn(t,Qe,wo),u=e.length,o={};++r<u;){var i=e[r],f=t[i];n(f,i)&&(o[i]=f)}return o}function Mn(t){return function(n){return null==n?q:n[t]}}function zn(t){return function(n){return gn(n,t)}}function Un(t,n,r,e){
+var u=e?y:d,o=-1,i=n.length,f=t;for(r&&(f=a(t,O(r)));++o<i;)for(var c=0,l=n[o],l=r?r(l):l;-1<(c=u(f,l,c,e));)f!==t&&Uu.call(f,c,1),Uu.call(t,c,1);return t}function Dn(t,n){for(var r=t?n.length:0,e=r-1;r--;){var u=n[r];if(e==r||u!=o){var o=u;if(U(u))Uu.call(t,u,1);else if(Tr(u,t))delete t[u];else{var u=Xn(u),i=Yr(t,u);null!=i&&delete i[ee(u)]}}}}function $n(t,n){return t+$u(Ku()*(n-t+1))}function Fn(t,n){var r="";if(!t||1>n||n>9007199254740991)return r;do n%2&&(r+=t),(n=$u(n/2))&&(t+=t);while(n);return r;
+}function Nn(t,n,r,e){n=Tr(n,t)?[n]:Xn(n);for(var u=-1,o=n.length,i=o-1,f=t;null!=f&&++u<o;){var c=n[u];if(Be(f)){var a=r;if(u!=i){var l=f[c],a=e?e(l,c,f):q;a===q&&(a=null==l?U(n[u+1])?[]:{}:l)}Xt(f,c,a)}f=f[c]}return t}function Pn(t,n,r){var e=-1,u=t.length;for(0>n&&(n=-n>u?0:u+n),r=r>u?u:r,0>r&&(r+=u),u=n>r?0:r-n>>>0,n>>>=0,r=Array(u);++e<u;)r[e]=t[e+n];return r}function Zn(t,n){var r;return _o(t,function(t,e,u){return r=n(t,e,u),!r}),!!r}function Tn(t,n,r){var e=0,u=t?t.length:e;if(typeof n=="number"&&n===n&&2147483647>=u){
+for(;u>e;){var o=e+u>>>1,i=t[o];(r?n>=i:n>i)&&null!==i?e=o+1:u=o}return u}return qn(t,n,iu,r)}function qn(t,n,r,e){n=r(n);for(var u=0,o=t?t.length:0,i=n!==n,f=null===n,c=n===q;o>u;){var a=$u((u+o)/2),l=r(t[a]),s=l!==q,h=l===l;(i?h||e:f?h&&s&&(e||null!=l):c?h&&(e||s):null==l?0:e?n>=l:n>l)?u=a+1:o=a}return qu(o,4294967294)}function Vn(t,n){for(var r=0,e=t.length,u=t[0],o=n?n(u):u,i=o,f=1,c=[u];++r<e;)u=t[r],o=n?n(u):u,we(o,i)||(i=o,c[f++]=u);return c}function Kn(t,n,r){var e=-1,u=f,o=t.length,i=true,a=[],l=a;
+if(r)i=false,u=c;else if(o<200)l=n?[]:a;else{if(u=n?null:xo(t))return N(u);i=false,u=Ft,l=new $t}t:for(;++e<o;){var s=t[e],h=n?n(s):s;if(i&&h===h){for(var p=l.length;p--;)if(l[p]===h)continue t;n&&l.push(h),a.push(s)}else u(l,h,r)||(l!==a&&l.push(h),a.push(s))}return a}function Gn(t,n,r,e){for(var u=t.length,o=e?u:-1;(e?o--:++o<u)&&n(t[o],o,t););return r?Pn(t,e?0:o,e?o+1:u):Pn(t,e?o+1:0,e?u:o)}function Jn(t,n){var r=t;return r instanceof Et&&(r=r.value()),s(n,function(t,n){return n.func.apply(n.thisArg,l([t],n.args));
+},r)}function Yn(t,n,r){for(var e=-1,u=t.length;++e<u;)var o=o?l(an(o,t[e],n,r),an(t[e],o,n,r)):t[e];return o&&o.length?Kn(o,n,r):[]}function Hn(t,n,r){for(var e=-1,u=t.length,o=n.length,i={};++e<u;)r(i,t[e],o>e?n[e]:q);return i}function Qn(t){return Ee(t)?t:[]}function Xn(t){return oi(t)?t:Oo(t)}function tr(t,n,r){var e=t.length;return r=r===q?e:r,n||e>r?Pn(t,n,r):t}function nr(t,n){if(n)return t.slice();var r=new t.constructor(t.length);return t.copy(r),r}function rr(t){var n=new t.constructor(t.byteLength);
+return new Su(n).set(new Su(t)),n}function er(t,n,r,e){var u=-1,o=t.length,i=r.length,f=-1,c=n.length,a=Tu(o-i,0),l=Array(c+a);for(e=!e;++f<c;)l[f]=n[f];for(;++u<i;)(e||o>u)&&(l[r[u]]=t[u]);for(;a--;)l[f++]=t[u++];return l}function ur(t,n,r,e){var u=-1,o=t.length,i=-1,f=r.length,c=-1,a=n.length,l=Tu(o-f,0),s=Array(l+a);for(e=!e;++u<l;)s[u]=t[u];for(l=u;++c<a;)s[l+c]=n[c];for(;++i<f;)(e||o>u)&&(s[l+r[i]]=t[u++]);return s}function or(t,n){var r=-1,e=t.length;for(n||(n=Array(e));++r<e;)n[r]=t[r];return n;
+}function ir(t,n,r,e){r||(r={});for(var u=-1,o=n.length;++u<o;){var i=n[u],f=e?e(r[i],t[i],i,r,t):t[i];Xt(r,i,f)}return r}function fr(t,n){return ir(t,Cr(t),n)}function cr(t,n){return function(r,u){var o=oi(r)?e:tn,i=n?n():{};return o(r,t,Rr(u),i)}}function ar(t){return je(function(n,r){var e=-1,u=r.length,o=u>1?r[u-1]:q,i=u>2?r[2]:q,o=typeof o=="function"?(u--,o):q;for(i&&Zr(r[0],r[1],i)&&(o=3>u?q:o,u=1),n=Object(n);++e<u;)(i=r[e])&&t(n,i,e,o);return n})}function lr(t,n){return function(r,e){if(null==r)return r;
+if(!ke(r))return t(r,e);for(var u=r.length,o=n?u:-1,i=Object(r);(n?o--:++o<u)&&false!==e(i[o],o,i););return r}}function sr(t){return function(n,r,e){var u=-1,o=Object(n);e=e(n);for(var i=e.length;i--;){var f=e[t?i:++u];if(false===r(o[f],f,o))break}return n}}function hr(t,n,r){function e(){return(this&&this!==Yt&&this instanceof e?o:t).apply(u?r:this,arguments)}var u=1&n,o=vr(t);return e}function pr(t){return function(n){n=Ke(n);var r=Bt.test(n)?n.match(Rt):q,e=r?r[0]:n.charAt(0);return n=r?tr(r,1).join(""):n.slice(1),
+e[t]()+n}}function _r(t){return function(n){return s(uu(eu(n).replace(It,"")),t,"")}}function vr(t){return function(){var n=arguments;switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3]);case 5:return new t(n[0],n[1],n[2],n[3],n[4]);case 6:return new t(n[0],n[1],n[2],n[3],n[4],n[5]);case 7:return new t(n[0],n[1],n[2],n[3],n[4],n[5],n[6])}var r=fn(t.prototype),n=t.apply(r,n);return Be(n)?n:r;
+}}function gr(t,n,e){function u(){for(var i=arguments.length,f=Array(i),c=i,a=Lr(u);c--;)f[c]=arguments[c];return c=3>i&&f[0]!==a&&f[i-1]!==a?[]:F(f,a),i-=c.length,e>i?Ar(t,n,yr,u.placeholder,q,f,c,q,q,e-i):r(this&&this!==Yt&&this instanceof u?o:t,this,f)}var o=vr(t);return u}function dr(t){return je(function(n){n=hn(n,1);var r=n.length,e=r,u=kt.prototype.thru;for(t&&n.reverse();e--;){var o=n[e];if(typeof o!="function")throw new vu("Expected a function");if(u&&!i&&"wrapper"==Sr(o))var i=new kt([],true);
+}for(e=i?e:r;++e<r;)var o=n[e],u=Sr(o),f="wrapper"==u?jo(o):q,i=f&&Vr(f[0])&&424==f[1]&&!f[4].length&&1==f[9]?i[Sr(f[0])].apply(i,f[3]):1==o.length&&Vr(o)?i[u]():i.thru(o);return function(){var t=arguments,e=t[0];if(i&&1==t.length&&oi(e)&&e.length>=200)return i.plant(e).value();for(var u=0,t=r?n[u].apply(this,t):e;++u<r;)t=n[u].call(this,t);return t}})}function yr(t,n,r,e,u,o,i,f,c,a){function l(){for(var d=arguments.length,y=d,b=Array(d);y--;)b[y]=arguments[y];if(_){var x,j=Lr(l),y=b.length;for(x=0;y--;)b[y]===j&&x++;
+}if(e&&(b=er(b,e,u,_)),o&&(b=ur(b,o,i,_)),d-=x,_&&a>d)return j=F(b,j),Ar(t,n,yr,l.placeholder,r,b,j,f,c,a-d);if(j=h?r:this,y=p?j[t]:t,d=b.length,f){x=b.length;for(var m=qu(f.length,x),w=or(b);m--;){var A=f[m];b[m]=U(A,x)?w[A]:q}}else v&&d>1&&b.reverse();return s&&d>c&&(b.length=c),this&&this!==Yt&&this instanceof l&&(y=g||vr(y)),y.apply(j,b)}var s=128&n,h=1&n,p=2&n,_=24&n,v=512&n,g=p?q:vr(t);return l}function br(t,n){return function(r,e){return jn(r,t,n(e))}}function xr(t){return je(function(n){return n=1==n.length&&oi(n[0])?a(n[0],O(Rr())):a(hn(n,1,Pr),O(Rr())),
+je(function(e){var u=this;return t(n,function(t){return r(t,u,e)})})})}function jr(t,n){n=n===q?" ":n+"";var r=n.length;return 2>r?r?Fn(n,t):n:(r=Fn(n,Du(t/P(n))),Bt.test(n)?tr(r.match(Rt),0,t).join(""):r.slice(0,t))}function mr(t,n,e,u){function o(){for(var n=-1,c=arguments.length,a=-1,l=u.length,s=Array(l+c),h=this&&this!==Yt&&this instanceof o?f:t;++a<l;)s[a]=u[a];for(;c--;)s[a++]=arguments[++n];return r(h,i?e:this,s)}var i=1&n,f=vr(t);return o}function wr(t){return function(n,r,e){e&&typeof e!="number"&&Zr(n,r,e)&&(r=e=q),
+n=qe(n),n=n===n?n:0,r===q?(r=n,n=0):r=qe(r)||0,e=e===q?r>n?1:-1:qe(e)||0;var u=-1;r=Tu(Du((r-n)/(e||1)),0);for(var o=Array(r);r--;)o[t?r:++u]=n,n+=e;return o}}function Ar(t,n,r,e,u,o,i,f,c,a){var l=8&n,s=l?i:q;i=l?q:i;var h=l?o:q;return o=l?q:o,n=(n|(l?32:64))&~(l?64:32),4&n||(n&=-4),n=[t,n,u,h,s,o,i,f,c,a],r=r.apply(q,n),Vr(t)&&Ao(r,n),r.placeholder=e,r}function Or(t){var n=pu[t];return function(t,r){if(t=qe(t),r=Ze(r)){var e=(Ke(t)+"e").split("e"),e=n(e[0]+"e"+(+e[1]+r)),e=(Ke(e)+"e").split("e");
+return+(e[0]+"e"+(+e[1]-r))}return n(t)}}function kr(t,n,r,e,u,o,i,f){var c=2&n;if(!c&&typeof t!="function")throw new vu("Expected a function");var a=e?e.length:0;if(a||(n&=-97,e=u=q),i=i===q?i:Tu(Ze(i),0),f=f===q?f:Ze(f),a-=u?u.length:0,64&n){var l=e,s=u;e=u=q}var h=c?q:jo(t);return o=[t,n,r,e,u,l,s,o,i,f],h&&(r=o[1],t=h[1],n=r|t,e=128==t&&8==r||128==t&&256==r&&h[8]>=o[7].length||384==t&&h[8]>=h[7].length&&8==r,131>n||e)&&(1&t&&(o[2]=h[2],n|=1&r?0:4),(r=h[3])&&(e=o[3],o[3]=e?er(e,r,h[4]):r,o[4]=e?F(o[3],"__lodash_placeholder__"):h[4]),
+(r=h[5])&&(e=o[5],o[5]=e?ur(e,r,h[6]):r,o[6]=e?F(o[5],"__lodash_placeholder__"):h[6]),(r=h[7])&&(o[7]=r),128&t&&(o[8]=null==o[8]?h[8]:qu(o[8],h[8])),null==o[9]&&(o[9]=h[9]),o[0]=h[0],o[1]=n),t=o[0],n=o[1],r=o[2],e=o[3],u=o[4],f=o[9]=null==o[9]?c?0:t.length:Tu(o[9]-a,0),!f&&24&n&&(n&=-25),(h?bo:Ao)(n&&1!=n?8==n||16==n?gr(t,n,f):32!=n&&33!=n||u.length?yr.apply(q,o):mr(t,n,r,e):hr(t,n,r),o)}function Er(t,n,r,e,u,o){var i=-1,f=2&u,c=1&u,a=t.length,l=n.length;if(!(a==l||f&&l>a))return false;if(l=o.get(t))return l==n;
+for(l=true,o.set(t,n);++i<a;){var s=t[i],h=n[i];if(e)var _=f?e(h,s,i,n,t,o):e(s,h,i,t,n,o);if(_!==q){if(_)continue;l=false;break}if(c){if(!p(n,function(t){return s===t||r(s,t,e,u,o)})){l=false;break}}else if(s!==h&&!r(s,h,e,u,o)){l=false;break}}return o["delete"](t),l}function Ir(t,n,r,e,u,o,i){switch(r){case"[object DataView]":if(t.byteLength!=n.byteLength||t.byteOffset!=n.byteOffset)break;t=t.buffer,n=n.buffer;case"[object ArrayBuffer]":if(t.byteLength!=n.byteLength||!e(new Su(t),new Su(n)))break;return true;
+case"[object Boolean]":case"[object Date]":return+t==+n;case"[object Error]":return t.name==n.name&&t.message==n.message;case"[object Number]":return t!=+t?n!=+n:t==+n;case"[object RegExp]":case"[object String]":return t==n+"";case"[object Map]":var f=$;case"[object Set]":if(f||(f=N),t.size!=n.size&&!(2&o))break;return(r=i.get(t))?r==n:(o|=1,i.set(t,n),Er(f(t),f(n),e,u,o,i));case"[object Symbol]":if(ho)return ho.call(t)==ho.call(n)}return false}function Sr(t){for(var n=t.name+"",r=oo[n],e=xu.call(oo,n)?r.length:0;e--;){
+var u=r[e],o=u.func;if(null==o||o==t)return u.name}return n}function Rr(){var t=jt.iteratee||fu,t=t===fu?On:t;return arguments.length?t(arguments[0],arguments[1]):t}function Wr(t){t=Xe(t);for(var n=t.length;n--;){var r=t[n][1];t[n][2]=r===r&&!Be(r)}return t}function Br(t,n){var r=t[n];return Ce(r)?r:q}function Lr(t){return(xu.call(jt,"placeholder")?jt:t).placeholder}function Cr(t){return Bu(Object(t))}function Mr(t){return wu.call(t)}function zr(t,n,r){n=Tr(n,t)?[n]:Xn(n);for(var e,u=-1,o=n.length;++u<o;){
+var i=n[u];if(!(e=null!=t&&r(t,i)))break;t=t[i]}return e?e:(o=t?t.length:0,!!o&&We(o)&&U(i,o)&&(oi(t)||De(t)||Oe(t)))}function Ur(t){var n=t.length,r=t.constructor(n);return n&&"string"==typeof t[0]&&xu.call(t,"index")&&(r.index=t.index,r.input=t.input),r}function Dr(t){return typeof t.constructor!="function"||Kr(t)?{}:fn(Fu(Object(t)))}function $r(r,e,u,o){var i=r.constructor;switch(e){case"[object ArrayBuffer]":return rr(r);case"[object Boolean]":case"[object Date]":return new i(+r);case"[object DataView]":
+return e=o?rr(r.buffer):r.buffer,new r.constructor(e,r.byteOffset,r.byteLength);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return e=o?rr(r.buffer):r.buffer,new r.constructor(e,r.byteOffset,r.length);case"[object Map]":return e=o?u($(r),true):$(r),s(e,t,new r.constructor);case"[object Number]":case"[object String]":
+return new i(r);case"[object RegExp]":return e=new r.constructor(r.source,vt.exec(r)),e.lastIndex=r.lastIndex,e;case"[object Set]":return e=o?u(N(r),true):N(r),s(e,n,new r.constructor);case"[object Symbol]":return ho?Object(ho.call(r)):{}}}function Fr(t){var n=t?t.length:q;return We(n)&&(oi(t)||De(t)||Oe(t))?w(n,String):null}function Nr(t){return Ee(t)&&(oi(t)||Oe(t))}function Pr(t){return oi(t)&&!(2==t.length&&!Se(t[0]))}function Zr(t,n,r){if(!Be(r))return false;var e=typeof n;return("number"==e?ke(r)&&U(n,r.length):"string"==e&&n in r)?we(r[n],t):false;
+}function Tr(t,n){var r=typeof t;return"number"==r||"symbol"==r?true:!oi(t)&&($e(t)||ot.test(t)||!ut.test(t)||null!=n&&t in Object(n))}function qr(t){var n=typeof t;return"number"==n||"boolean"==n||"string"==n&&"__proto__"!=t||null==t}function Vr(t){var n=Sr(t),r=jt[n];return typeof r=="function"&&n in Et.prototype?t===r?true:(n=jo(r),!!n&&t===n[0]):false}function Kr(t){var n=t&&t.constructor;return t===(typeof n=="function"&&n.prototype||du)}function Gr(t,n){return function(r){return null==r?false:r[t]===n&&(n!==q||t in Object(r));
+}}function Jr(t,n,r,e,u,o){return Be(t)&&Be(n)&&Rn(t,n,q,Jr,o.set(n,t)),t}function Yr(t,n){return 1==n.length?t:gn(t,Pn(n,0,-1))}function Hr(t){return typeof t=="string"||$e(t)?t:t+""}function Qr(t){if(null!=t){try{return bu.call(t)}catch(n){}return t+""}return""}function Xr(t){if(t instanceof Et)return t.clone();var n=new kt(t.__wrapped__,t.__chain__);return n.__actions__=or(t.__actions__),n.__index__=t.__index__,n.__values__=t.__values__,n}function te(t,n,r){var e=t?t.length:0;return e?(n=r||n===q?1:Ze(n),
+Pn(t,0>n?0:n,e)):[]}function ne(t,n,r){var e=t?t.length:0;return e?(n=r||n===q?1:Ze(n),n=e-n,Pn(t,0,0>n?0:n)):[]}function re(t){return t&&t.length?t[0]:q}function ee(t){var n=t?t.length:0;return n?t[n-1]:q}function ue(t,n){return t&&t.length&&n&&n.length?Un(t,n):t}function oe(t){return t?Ju.call(t):t}function ie(t){if(!t||!t.length)return[];var n=0;return t=i(t,function(t){return Ee(t)?(n=Tu(t.length,n),true):void 0}),w(n,function(n){return a(t,Mn(n))})}function fe(t,n){if(!t||!t.length)return[];var e=ie(t);
+return null==n?e:a(e,function(t){return r(n,q,t)})}function ce(t){return t=jt(t),t.__chain__=true,t}function ae(t,n){return n(t)}function le(){return this}function se(t,n){return typeof n=="function"&&oi(t)?u(t,n):_o(t,Rr(n))}function he(t,n){var r;if(typeof n=="function"&&oi(t)){for(r=t.length;r--&&false!==n(t[r],r,t););r=t}else r=vo(t,Rr(n));return r}function pe(t,n){return(oi(t)?a:En)(t,Rr(n,3))}function _e(t,n,r){var e=-1,u=Pe(t),o=u.length,i=o-1;for(n=(r?Zr(t,n,r):n===q)?1:en(Ze(n),0,o);++e<n;)t=$n(e,i),
+r=u[t],u[t]=u[e],u[e]=r;return u.length=n,u}function ve(t,n,r){return n=r?q:n,n=t&&null==n?t.length:n,kr(t,128,q,q,q,q,n)}function ge(t,n){var r;if(typeof n!="function")throw new vu("Expected a function");return t=Ze(t),function(){return 0<--t&&(r=n.apply(this,arguments)),1>=t&&(n=q),r}}function de(t,n,r){return n=r?q:n,t=kr(t,8,q,q,q,q,q,n),t.placeholder=de.placeholder,t}function ye(t,n,r){return n=r?q:n,t=kr(t,16,q,q,q,q,q,n),t.placeholder=ye.placeholder,t}function be(t,n,r){function e(n){var r=c,e=a;
+return c=a=q,_=n,s=t.apply(e,r)}function u(t){var r=t-p;return t-=_,!p||r>=n||0>r||g&&t>=l}function o(){var t=Yo();if(u(t))return i(t);var r;r=t-_,t=n-(t-p),r=g?qu(t,l-r):t,h=zu(o,r)}function i(t){return Ru(h),h=q,d&&c?e(t):(c=a=q,s)}function f(){var t=Yo(),r=u(t);if(c=arguments,a=this,p=t,r){if(h===q)return _=t=p,h=zu(o,n),v?e(t):s;if(g)return Ru(h),h=zu(o,n),e(p)}return h===q&&(h=zu(o,n)),s}var c,a,l,s,h,p=0,_=0,v=false,g=false,d=true;if(typeof t!="function")throw new vu("Expected a function");return n=qe(n)||0,
+Be(r)&&(v=!!r.leading,l=(g="maxWait"in r)?Tu(qe(r.maxWait)||0,n):l,d="trailing"in r?!!r.trailing:d),f.cancel=function(){h!==q&&Ru(h),p=_=0,c=a=h=q},f.flush=function(){return h===q?s:i(Yo())},f}function xe(t,n){function r(){var e=arguments,u=n?n.apply(this,e):e[0],o=r.cache;return o.has(u)?o.get(u):(e=t.apply(this,e),r.cache=o.set(u,e),e)}if(typeof t!="function"||n&&typeof n!="function")throw new vu("Expected a function");return r.cache=new(xe.Cache||Dt),r}function je(t,n){if(typeof t!="function")throw new vu("Expected a function");
+return n=Tu(n===q?t.length-1:Ze(n),0),function(){for(var e=arguments,u=-1,o=Tu(e.length-n,0),i=Array(o);++u<o;)i[u]=e[n+u];switch(n){case 0:return t.call(this,i);case 1:return t.call(this,e[0],i);case 2:return t.call(this,e[0],e[1],i)}for(o=Array(n+1),u=-1;++u<n;)o[u]=e[u];return o[n]=i,r(t,this,o)}}function me(){if(!arguments.length)return[];var t=arguments[0];return oi(t)?t:[t]}function we(t,n){return t===n||t!==t&&n!==n}function Ae(t,n){return t>n}function Oe(t){return Ee(t)&&xu.call(t,"callee")&&(!Mu.call(t,"callee")||"[object Arguments]"==wu.call(t));
+}function ke(t){return null!=t&&We(mo(t))&&!Se(t)}function Ee(t){return Le(t)&&ke(t)}function Ie(t){return Le(t)?"[object Error]"==wu.call(t)||typeof t.message=="string"&&typeof t.name=="string":false}function Se(t){return t=Be(t)?wu.call(t):"","[object Function]"==t||"[object GeneratorFunction]"==t}function Re(t){return typeof t=="number"&&t==Ze(t)}function We(t){return typeof t=="number"&&t>-1&&0==t%1&&9007199254740991>=t}function Be(t){var n=typeof t;return!!t&&("object"==n||"function"==n)}function Le(t){
+return!!t&&typeof t=="object"}function Ce(t){return Be(t)?(Se(t)||z(t)?Ou:bt).test(Qr(t)):false}function Me(t){return typeof t=="number"||Le(t)&&"[object Number]"==wu.call(t)}function ze(t){return!Le(t)||"[object Object]"!=wu.call(t)||z(t)?false:(t=Fu(Object(t)),null===t?true:(t=xu.call(t,"constructor")&&t.constructor,typeof t=="function"&&t instanceof t&&bu.call(t)==mu))}function Ue(t){return Be(t)&&"[object RegExp]"==wu.call(t)}function De(t){return typeof t=="string"||!oi(t)&&Le(t)&&"[object String]"==wu.call(t);
+}function $e(t){return typeof t=="symbol"||Le(t)&&"[object Symbol]"==wu.call(t)}function Fe(t){return Le(t)&&We(t.length)&&!!Mt[wu.call(t)]}function Ne(t,n){return n>t}function Pe(t){if(!t)return[];if(ke(t))return De(t)?t.match(Rt):or(t);if(Lu&&t[Lu])return D(t[Lu]());var n=Mr(t);return("[object Map]"==n?$:"[object Set]"==n?N:nu)(t)}function Ze(t){if(!t)return 0===t?t:0;if(t=qe(t),t===V||t===-V)return 1.7976931348623157e308*(0>t?-1:1);var n=t%1;return t===t?n?t-n:t:0}function Te(t){return t?en(Ze(t),0,4294967295):0;
+}function qe(t){if(typeof t=="number")return t;if($e(t))return K;if(Be(t)&&(t=Se(t.valueOf)?t.valueOf():t,t=Be(t)?t+"":t),typeof t!="string")return 0===t?t:+t;t=t.replace(at,"");var n=yt.test(t);return n||xt.test(t)?Zt(t.slice(2),n?2:8):dt.test(t)?K:+t}function Ve(t){return ir(t,Qe(t))}function Ke(t){if(typeof t=="string")return t;if(null==t)return"";if($e(t))return po?po.call(t):"";var n=t+"";return"0"==n&&1/t==-V?"-0":n}function Ge(t,n,r){return t=null==t?q:gn(t,n),t===q?r:t}function Je(t,n){return null!=t&&zr(t,n,yn);
+}function Ye(t,n){return null!=t&&zr(t,n,bn)}function He(t){var n=Kr(t);if(!n&&!ke(t))return Zu(Object(t));var r,e=Fr(t),u=!!e,e=e||[],o=e.length;for(r in t)!yn(t,r)||u&&("length"==r||U(r,o))||n&&"constructor"==r||e.push(r);return e}function Qe(t){for(var n=-1,r=Kr(t),e=kn(t),u=e.length,o=Fr(t),i=!!o,o=o||[],f=o.length;++n<u;){var c=e[n];i&&("length"==c||U(c,f))||"constructor"==c&&(r||!xu.call(t,c))||o.push(c)}return o}function Xe(t){return A(t,He(t))}function tu(t){return A(t,Qe(t))}function nu(t){
+return t?k(t,He(t)):[]}function ru(t){return Ii(Ke(t).toLowerCase())}function eu(t){return(t=Ke(t))&&t.replace(mt,B).replace(St,"")}function uu(t,n,r){return t=Ke(t),n=r?q:n,n===q&&(n=Lt.test(t)?Wt:ht),t.match(n)||[]}function ou(t){return function(){return t}}function iu(t){return t}function fu(t){return On(typeof t=="function"?t:un(t,true))}function cu(t,n,r){var e=He(n),o=vn(n,e);null!=r||Be(n)&&(o.length||!e.length)||(r=n,n=t,t=this,o=vn(n,He(n)));var i=!(Be(r)&&"chain"in r&&!r.chain),f=Se(t);return u(o,function(r){
+var e=n[r];t[r]=e,f&&(t.prototype[r]=function(){var n=this.__chain__;if(i||n){var r=t(this.__wrapped__);return(r.__actions__=or(this.__actions__)).push({func:e,args:arguments,thisArg:t}),r.__chain__=n,r}return e.apply(t,l([this.value()],arguments))})}),t}function au(){}function lu(t){return Tr(t)?Mn(t):zn(t)}S=S?Ht.defaults({},S,Ht.pick(Yt,Ct)):Yt;var su=S.Date,hu=S.Error,pu=S.Math,_u=S.RegExp,vu=S.TypeError,gu=S.Array.prototype,du=S.Object.prototype,yu=S.String.prototype,bu=S.Function.prototype.toString,xu=du.hasOwnProperty,ju=0,mu=bu.call(Object),wu=du.toString,Au=Yt._,Ou=_u("^"+bu.call(xu).replace(ft,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ku=Vt?S.Buffer:q,Eu=S.Reflect,Iu=S.Symbol,Su=S.Uint8Array,Ru=S.clearTimeout,Wu=Eu?Eu.f:q,Bu=Object.getOwnPropertySymbols,Lu=typeof(Lu=Iu&&Iu.iterator)=="symbol"?Lu:q,Cu=Object.create,Mu=du.propertyIsEnumerable,zu=S.setTimeout,Uu=gu.splice,Du=pu.ceil,$u=pu.floor,Fu=Object.getPrototypeOf,Nu=S.isFinite,Pu=gu.join,Zu=Object.keys,Tu=pu.max,qu=pu.min,Vu=S.parseInt,Ku=pu.random,Gu=yu.replace,Ju=gu.reverse,Yu=yu.split,Hu=Br(S,"DataView"),Qu=Br(S,"Map"),Xu=Br(S,"Promise"),to=Br(S,"Set"),no=Br(S,"WeakMap"),ro=Br(Object,"create"),eo=no&&new no,uo=!Mu.call({
+valueOf:1},"valueOf"),oo={},io=Qr(Hu),fo=Qr(Qu),co=Qr(Xu),ao=Qr(to),lo=Qr(no),so=Iu?Iu.prototype:q,ho=so?so.valueOf:q,po=so?so.toString:q;jt.templateSettings={escape:nt,evaluate:rt,interpolate:et,variable:"",imports:{_:jt}},jt.prototype=Ot.prototype,jt.prototype.constructor=jt,kt.prototype=fn(Ot.prototype),kt.prototype.constructor=kt,Et.prototype=fn(Ot.prototype),Et.prototype.constructor=Et,Ut.prototype=ro?ro(null):du,Dt.prototype.clear=function(){this.__data__={hash:new Ut,map:Qu?new Qu:[],string:new Ut
+}},Dt.prototype["delete"]=function(t){var n=this.__data__;return qr(t)?(n=typeof t=="string"?n.string:n.hash,t=(ro?n[t]!==q:xu.call(n,t))&&delete n[t]):t=Qu?n.map["delete"](t):Tt(n.map,t),t},Dt.prototype.get=function(t){var n=this.__data__;return qr(t)?(n=typeof t=="string"?n.string:n.hash,ro?(t=n[t],t="__lodash_hash_undefined__"===t?q:t):t=xu.call(n,t)?n[t]:q):t=Qu?n.map.get(t):qt(n.map,t),t},Dt.prototype.has=function(t){var n=this.__data__;return qr(t)?(n=typeof t=="string"?n.string:n.hash,t=ro?n[t]!==q:xu.call(n,t)):t=Qu?n.map.has(t):-1<Kt(n.map,t),
+t},Dt.prototype.set=function(t,n){var r=this.__data__;return qr(t)?(typeof t=="string"?r.string:r.hash)[t]=ro&&n===q?"__lodash_hash_undefined__":n:Qu?r.map.set(t,n):Gt(r.map,t,n),this},$t.prototype.push=function(t){var n=this.__data__;qr(t)?(n=n.__data__,(typeof t=="string"?n.string:n.hash)[t]="__lodash_hash_undefined__"):n.set(t,"__lodash_hash_undefined__")},Nt.prototype.clear=function(){this.__data__={array:[],map:null}},Nt.prototype["delete"]=function(t){var n=this.__data__,r=n.array;return r?Tt(r,t):n.map["delete"](t);
+},Nt.prototype.get=function(t){var n=this.__data__,r=n.array;return r?qt(r,t):n.map.get(t)},Nt.prototype.has=function(t){var n=this.__data__,r=n.array;return r?-1<Kt(r,t):n.map.has(t)},Nt.prototype.set=function(t,n){var r=this.__data__,e=r.array;return e&&(199>e.length?Gt(e,t,n):(r.array=null,r.map=new Dt(e))),(r=r.map)&&r.set(t,n),this};var _o=lr(pn),vo=lr(_n,true),go=sr(),yo=sr(true);Wu&&!Mu.call({valueOf:1},"valueOf")&&(kn=function(t){return D(Wu(t))});var bo=eo?function(t,n){return eo.set(t,n),t}:iu,xo=to&&2===new to([1,2]).size?function(t){
+return new to(t)}:au,jo=eo?function(t){return eo.get(t)}:au,mo=Mn("length");Bu||(Cr=function(){return[]});var wo=Bu?function(t){for(var n=[];t;)l(n,Cr(t)),t=Fu(Object(t));return n}:Cr;(Hu&&"[object DataView]"!=Mr(new Hu(new ArrayBuffer(1)))||Qu&&"[object Map]"!=Mr(new Qu)||Xu&&"[object Promise]"!=Mr(Xu.resolve())||to&&"[object Set]"!=Mr(new to)||no&&"[object WeakMap]"!=Mr(new no))&&(Mr=function(t){var n=wu.call(t);if(t=(t="[object Object]"==n?t.constructor:q)?Qr(t):q)switch(t){case io:return"[object DataView]";
+case fo:return"[object Map]";case co:return"[object Promise]";case ao:return"[object Set]";case lo:return"[object WeakMap]"}return n});var Ao=function(){var t=0,n=0;return function(r,e){var u=Yo(),o=16-(u-n);if(n=u,o>0){if(150<=++t)return r}else t=0;return bo(r,e)}}(),Oo=xe(function(t){var n=[];return Ke(t).replace(it,function(t,r,e,u){n.push(e?u.replace(pt,"$1"):r||t)}),n}),ko=je(function(t,n){return Ee(t)?an(t,hn(n,1,Ee,true)):[]}),Eo=je(function(t,n){var r=ee(n);return Ee(r)&&(r=q),Ee(t)?an(t,hn(n,1,Ee,true),Rr(r)):[];
+}),Io=je(function(t,n){var r=ee(n);return Ee(r)&&(r=q),Ee(t)?an(t,hn(n,1,Ee,true),q,r):[]}),So=je(function(t){var n=a(t,Qn);return n.length&&n[0]===t[0]?xn(n):[]}),Ro=je(function(t){var n=ee(t),r=a(t,Qn);return n===ee(r)?n=q:r.pop(),r.length&&r[0]===t[0]?xn(r,Rr(n)):[]}),Wo=je(function(t){var n=ee(t),r=a(t,Qn);return n===ee(r)?n=q:r.pop(),r.length&&r[0]===t[0]?xn(r,q,n):[]}),Bo=je(ue),Lo=je(function(t,n){n=a(hn(n,1),String);var r=rn(t,n);return Dn(t,n.sort(R)),r}),Co=je(function(t){return Kn(hn(t,1,Ee,true));
+}),Mo=je(function(t){var n=ee(t);return Ee(n)&&(n=q),Kn(hn(t,1,Ee,true),Rr(n))}),zo=je(function(t){var n=ee(t);return Ee(n)&&(n=q),Kn(hn(t,1,Ee,true),q,n)}),Uo=je(function(t,n){return Ee(t)?an(t,n):[]}),Do=je(function(t){return Yn(i(t,Ee))}),$o=je(function(t){var n=ee(t);return Ee(n)&&(n=q),Yn(i(t,Ee),Rr(n))}),Fo=je(function(t){var n=ee(t);return Ee(n)&&(n=q),Yn(i(t,Ee),q,n)}),No=je(ie),Po=je(function(t){var n=t.length,n=n>1?t[n-1]:q,n=typeof n=="function"?(t.pop(),n):q;return fe(t,n)}),Zo=je(function(t){
+function n(n){return rn(n,t)}t=hn(t,1);var r=t.length,e=r?t[0]:0,u=this.__wrapped__;return 1>=r&&!this.__actions__.length&&u instanceof Et&&U(e)?(u=u.slice(e,+e+(r?1:0)),u.__actions__.push({func:ae,args:[n],thisArg:q}),new kt(u,this.__chain__).thru(function(t){return r&&!t.length&&t.push(q),t})):this.thru(n)}),To=cr(function(t,n,r){xu.call(t,r)?++t[r]:t[r]=1}),qo=cr(function(t,n,r){xu.call(t,r)?t[r].push(n):t[r]=[n]}),Vo=je(function(t,n,e){var u=-1,o=typeof n=="function",i=Tr(n),f=ke(t)?Array(t.length):[];
+return _o(t,function(t){var c=o?n:i&&null!=t?t[n]:q;f[++u]=c?r(c,t,e):mn(t,n,e)}),f}),Ko=cr(function(t,n,r){t[r]=n}),Go=cr(function(t,n,r){t[r?0:1].push(n)},function(){return[[],[]]}),Jo=je(function(t,n){if(null==t)return[];var r=n.length;return r>1&&Zr(t,n[0],n[1])?n=[]:r>2&&Zr(n[0],n[1],n[2])&&(n=[n[0]]),n=1==n.length&&oi(n[0])?n[0]:hn(n,1,Pr),Bn(t,n,[])}),Yo=su.now,Ho=je(function(t,n,r){var e=1;if(r.length)var u=F(r,Lr(Ho)),e=32|e;return kr(t,e,n,r,u)}),Qo=je(function(t,n,r){var e=3;if(r.length)var u=F(r,Lr(Qo)),e=32|e;
+return kr(n,e,t,r,u)}),Xo=je(function(t,n){return cn(t,1,n)}),ti=je(function(t,n,r){return cn(t,qe(n)||0,r)});xe.Cache=Dt;var ni=je(function(t,n){n=1==n.length&&oi(n[0])?a(n[0],O(Rr())):a(hn(n,1,Pr),O(Rr()));var e=n.length;return je(function(u){for(var o=-1,i=qu(u.length,e);++o<i;)u[o]=n[o].call(this,u[o]);return r(t,this,u)})}),ri=je(function(t,n){var r=F(n,Lr(ri));return kr(t,32,q,n,r)}),ei=je(function(t,n){var r=F(n,Lr(ei));return kr(t,64,q,n,r)}),ui=je(function(t,n){return kr(t,256,q,q,q,hn(n,1));
+}),oi=Array.isArray,ii=ku?function(t){return t instanceof ku}:ou(false),fi=ar(function(t,n){if(uo||Kr(n)||ke(n))ir(n,He(n),t);else for(var r in n)xu.call(n,r)&&Xt(t,r,n[r])}),ci=ar(function(t,n){if(uo||Kr(n)||ke(n))ir(n,Qe(n),t);else for(var r in n)Xt(t,r,n[r])}),ai=ar(function(t,n,r,e){ir(n,Qe(n),t,e)}),li=ar(function(t,n,r,e){ir(n,He(n),t,e)}),si=je(function(t,n){return rn(t,hn(n,1))}),hi=je(function(t){return t.push(q,Jt),r(ai,q,t)}),pi=je(function(t){return t.push(q,Jr),r(yi,q,t)}),_i=br(function(t,n,r){
+t[n]=r},ou(iu)),vi=br(function(t,n,r){xu.call(t,n)?t[n].push(r):t[n]=[r]},Rr),gi=je(mn),di=ar(function(t,n,r){Rn(t,n,r)}),yi=ar(function(t,n,r,e){Rn(t,n,r,e)}),bi=je(function(t,n){return null==t?{}:(n=a(hn(n,1),Hr),Ln(t,an(dn(t,Qe,wo),n)))}),xi=je(function(t,n){return null==t?{}:Ln(t,hn(n,1))}),ji=_r(function(t,n,r){return n=n.toLowerCase(),t+(r?ru(n):n)}),mi=_r(function(t,n,r){return t+(r?"-":"")+n.toLowerCase()}),wi=_r(function(t,n,r){return t+(r?" ":"")+n.toLowerCase()}),Ai=pr("toLowerCase"),Oi=_r(function(t,n,r){
+return t+(r?"_":"")+n.toLowerCase()}),ki=_r(function(t,n,r){return t+(r?" ":"")+Ii(n)}),Ei=_r(function(t,n,r){return t+(r?" ":"")+n.toUpperCase()}),Ii=pr("toUpperCase"),Si=je(function(t,n){try{return r(t,q,n)}catch(e){return Ie(e)?e:new hu(e)}}),Ri=je(function(t,n){return u(hn(n,1),function(n){t[n]=Ho(t[n],t)}),t}),Wi=dr(),Bi=dr(true),Li=je(function(t,n){return function(r){return mn(r,t,n)}}),Ci=je(function(t,n){return function(r){return mn(t,r,n)}}),Mi=xr(a),zi=xr(o),Ui=xr(p),Di=wr(),$i=wr(true),Fi=W(function(t,n){
+return t+n}),Ni=Or("ceil"),Pi=W(function(t,n){return t/n}),Zi=Or("floor"),Ti=W(function(t,n){return t*n}),qi=Or("round"),Vi=W(function(t,n){return t-n});return jt.after=function(t,n){if(typeof n!="function")throw new vu("Expected a function");return t=Ze(t),function(){return 1>--t?n.apply(this,arguments):void 0}},jt.ary=ve,jt.assign=fi,jt.assignIn=ci,jt.assignInWith=ai,jt.assignWith=li,jt.at=si,jt.before=ge,jt.bind=Ho,jt.bindAll=Ri,jt.bindKey=Qo,jt.castArray=me,jt.chain=ce,jt.chunk=function(t,n,r){
+if(n=(r?Zr(t,n,r):n===q)?1:Tu(Ze(n),0),r=t?t.length:0,!r||1>n)return[];for(var e=0,u=0,o=Array(Du(r/n));r>e;)o[u++]=Pn(t,e,e+=n);return o},jt.compact=function(t){for(var n=-1,r=t?t.length:0,e=0,u=[];++n<r;){var o=t[n];o&&(u[e++]=o)}return u},jt.concat=function(){var t=arguments.length,n=me(arguments[0]);if(2>t)return t?or(n):[];for(var r=Array(t-1);t--;)r[t-1]=arguments[t];for(var t=hn(r,1),r=-1,e=n.length,u=-1,o=t.length,i=Array(e+o);++r<e;)i[r]=n[r];for(;++u<o;)i[r++]=t[u];return i},jt.cond=function(t){
+var n=t?t.length:0,e=Rr();return t=n?a(t,function(t){if("function"!=typeof t[1])throw new vu("Expected a function");return[e(t[0]),t[1]]}):[],je(function(e){for(var u=-1;++u<n;){var o=t[u];if(r(o[0],this,e))return r(o[1],this,e)}})},jt.conforms=function(t){return on(un(t,true))},jt.constant=ou,jt.countBy=To,jt.create=function(t,n){var r=fn(t);return n?nn(r,n):r},jt.curry=de,jt.curryRight=ye,jt.debounce=be,jt.defaults=hi,jt.defaultsDeep=pi,jt.defer=Xo,jt.delay=ti,jt.difference=ko,jt.differenceBy=Eo,
+jt.differenceWith=Io,jt.drop=te,jt.dropRight=ne,jt.dropRightWhile=function(t,n){return t&&t.length?Gn(t,Rr(n,3),true,true):[]},jt.dropWhile=function(t,n){return t&&t.length?Gn(t,Rr(n,3),true):[]},jt.fill=function(t,n,r,e){var u=t?t.length:0;if(!u)return[];for(r&&typeof r!="number"&&Zr(t,n,r)&&(r=0,e=u),u=t.length,r=Ze(r),0>r&&(r=-r>u?0:u+r),e=e===q||e>u?u:Ze(e),0>e&&(e+=u),e=r>e?0:Te(e);e>r;)t[r++]=n;return t},jt.filter=function(t,n){return(oi(t)?i:sn)(t,Rr(n,3))},jt.flatMap=function(t,n){return hn(pe(t,n),1);
+},jt.flatMapDeep=function(t,n){return hn(pe(t,n),V)},jt.flatMapDepth=function(t,n,r){return r=r===q?1:Ze(r),hn(pe(t,n),r)},jt.flatten=function(t){return t&&t.length?hn(t,1):[]},jt.flattenDeep=function(t){return t&&t.length?hn(t,V):[]},jt.flattenDepth=function(t,n){return t&&t.length?(n=n===q?1:Ze(n),hn(t,n)):[]},jt.flip=function(t){return kr(t,512)},jt.flow=Wi,jt.flowRight=Bi,jt.fromPairs=function(t){for(var n=-1,r=t?t.length:0,e={};++n<r;){var u=t[n];e[u[0]]=u[1]}return e},jt.functions=function(t){
+return null==t?[]:vn(t,He(t))},jt.functionsIn=function(t){return null==t?[]:vn(t,Qe(t))},jt.groupBy=qo,jt.initial=function(t){return ne(t,1)},jt.intersection=So,jt.intersectionBy=Ro,jt.intersectionWith=Wo,jt.invert=_i,jt.invertBy=vi,jt.invokeMap=Vo,jt.iteratee=fu,jt.keyBy=Ko,jt.keys=He,jt.keysIn=Qe,jt.map=pe,jt.mapKeys=function(t,n){var r={};return n=Rr(n,3),pn(t,function(t,e,u){r[n(t,e,u)]=t}),r},jt.mapValues=function(t,n){var r={};return n=Rr(n,3),pn(t,function(t,e,u){r[e]=n(t,e,u)}),r},jt.matches=function(t){
+return In(un(t,true))},jt.matchesProperty=function(t,n){return Sn(t,un(n,true))},jt.memoize=xe,jt.merge=di,jt.mergeWith=yi,jt.method=Li,jt.methodOf=Ci,jt.mixin=cu,jt.negate=function(t){if(typeof t!="function")throw new vu("Expected a function");return function(){return!t.apply(this,arguments)}},jt.nthArg=function(t){return t=Ze(t),je(function(n){return Wn(n,t)})},jt.omit=bi,jt.omitBy=function(t,n){return n=Rr(n),Cn(t,function(t,r){return!n(t,r)})},jt.once=function(t){return ge(2,t)},jt.orderBy=function(t,n,r,e){
+return null==t?[]:(oi(n)||(n=null==n?[]:[n]),r=e?q:r,oi(r)||(r=null==r?[]:[r]),Bn(t,n,r))},jt.over=Mi,jt.overArgs=ni,jt.overEvery=zi,jt.overSome=Ui,jt.partial=ri,jt.partialRight=ei,jt.partition=Go,jt.pick=xi,jt.pickBy=function(t,n){return null==t?{}:Cn(t,Rr(n))},jt.property=lu,jt.propertyOf=function(t){return function(n){return null==t?q:gn(t,n)}},jt.pull=Bo,jt.pullAll=ue,jt.pullAllBy=function(t,n,r){return t&&t.length&&n&&n.length?Un(t,n,Rr(r)):t},jt.pullAllWith=function(t,n,r){return t&&t.length&&n&&n.length?Un(t,n,q,r):t;
+},jt.pullAt=Lo,jt.range=Di,jt.rangeRight=$i,jt.rearg=ui,jt.reject=function(t,n){var r=oi(t)?i:sn;return n=Rr(n,3),r(t,function(t,r,e){return!n(t,r,e)})},jt.remove=function(t,n){var r=[];if(!t||!t.length)return r;var e=-1,u=[],o=t.length;for(n=Rr(n,3);++e<o;){var i=t[e];n(i,e,t)&&(r.push(i),u.push(e))}return Dn(t,u),r},jt.rest=je,jt.reverse=oe,jt.sampleSize=_e,jt.set=function(t,n,r){return null==t?t:Nn(t,n,r)},jt.setWith=function(t,n,r,e){return e=typeof e=="function"?e:q,null==t?t:Nn(t,n,r,e)},jt.shuffle=function(t){
+return _e(t,4294967295)},jt.slice=function(t,n,r){var e=t?t.length:0;return e?(r&&typeof r!="number"&&Zr(t,n,r)?(n=0,r=e):(n=null==n?0:Ze(n),r=r===q?e:Ze(r)),Pn(t,n,r)):[]},jt.sortBy=Jo,jt.sortedUniq=function(t){return t&&t.length?Vn(t):[]},jt.sortedUniqBy=function(t,n){return t&&t.length?Vn(t,Rr(n)):[]},jt.split=function(t,n,r){return r&&typeof r!="number"&&Zr(t,n,r)&&(n=r=q),r=r===q?4294967295:r>>>0,r?(t=Ke(t))&&(typeof n=="string"||null!=n&&!Ue(n))&&(n+="",""==n&&Bt.test(t))?tr(t.match(Rt),0,r):Yu.call(t,n,r):[];
+},jt.spread=function(t,n){if(typeof t!="function")throw new vu("Expected a function");return n=n===q?0:Tu(Ze(n),0),je(function(e){var u=e[n];return e=tr(e,0,n),u&&l(e,u),r(t,this,e)})},jt.tail=function(t){return te(t,1)},jt.take=function(t,n,r){return t&&t.length?(n=r||n===q?1:Ze(n),Pn(t,0,0>n?0:n)):[]},jt.takeRight=function(t,n,r){var e=t?t.length:0;return e?(n=r||n===q?1:Ze(n),n=e-n,Pn(t,0>n?0:n,e)):[]},jt.takeRightWhile=function(t,n){return t&&t.length?Gn(t,Rr(n,3),false,true):[]},jt.takeWhile=function(t,n){
+return t&&t.length?Gn(t,Rr(n,3)):[]},jt.tap=function(t,n){return n(t),t},jt.throttle=function(t,n,r){var e=true,u=true;if(typeof t!="function")throw new vu("Expected a function");return Be(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),be(t,n,{leading:e,maxWait:n,trailing:u})},jt.thru=ae,jt.toArray=Pe,jt.toPairs=Xe,jt.toPairsIn=tu,jt.toPath=function(t){return oi(t)?a(t,Hr):$e(t)?[t]:or(Oo(t))},jt.toPlainObject=Ve,jt.transform=function(t,n,r){var e=oi(t)||Fe(t);if(n=Rr(n,4),null==r)if(e||Be(t)){
+var o=t.constructor;r=e?oi(t)?new o:[]:Se(o)?fn(Fu(Object(t))):{}}else r={};return(e?u:pn)(t,function(t,e,u){return n(r,t,e,u)}),r},jt.unary=function(t){return ve(t,1)},jt.union=Co,jt.unionBy=Mo,jt.unionWith=zo,jt.uniq=function(t){return t&&t.length?Kn(t):[]},jt.uniqBy=function(t,n){return t&&t.length?Kn(t,Rr(n)):[]},jt.uniqWith=function(t,n){return t&&t.length?Kn(t,q,n):[]},jt.unset=function(t,n){var r;if(null==t)r=true;else{r=t;var e=n,e=Tr(e,r)?[e]:Xn(e);r=Yr(r,e),e=ee(e),r=null!=r&&Je(r,e)?delete r[e]:true;
+}return r},jt.unzip=ie,jt.unzipWith=fe,jt.update=function(t,n,r){return null==t?t:Nn(t,n,(typeof r=="function"?r:iu)(gn(t,n)),void 0)},jt.updateWith=function(t,n,r,e){return e=typeof e=="function"?e:q,null!=t&&(t=Nn(t,n,(typeof r=="function"?r:iu)(gn(t,n)),e)),t},jt.values=nu,jt.valuesIn=function(t){return null==t?[]:k(t,Qe(t))},jt.without=Uo,jt.words=uu,jt.wrap=function(t,n){return n=null==n?iu:n,ri(n,t)},jt.xor=Do,jt.xorBy=$o,jt.xorWith=Fo,jt.zip=No,jt.zipObject=function(t,n){return Hn(t||[],n||[],Xt);
+},jt.zipObjectDeep=function(t,n){return Hn(t||[],n||[],Nn)},jt.zipWith=Po,jt.entries=Xe,jt.entriesIn=tu,jt.extend=ci,jt.extendWith=ai,cu(jt,jt),jt.add=Fi,jt.attempt=Si,jt.camelCase=ji,jt.capitalize=ru,jt.ceil=Ni,jt.clamp=function(t,n,r){return r===q&&(r=n,n=q),r!==q&&(r=qe(r),r=r===r?r:0),n!==q&&(n=qe(n),n=n===n?n:0),en(qe(t),n,r)},jt.clone=function(t){return un(t,false,true)},jt.cloneDeep=function(t){return un(t,true,true)},jt.cloneDeepWith=function(t,n){return un(t,true,true,n)},jt.cloneWith=function(t,n){return un(t,false,true,n);
+},jt.deburr=eu,jt.divide=Pi,jt.endsWith=function(t,n,r){t=Ke(t),n=typeof n=="string"?n:n+"";var e=t.length;return r=r===q?e:en(Ze(r),0,e),r-=n.length,r>=0&&t.indexOf(n,r)==r},jt.eq=we,jt.escape=function(t){return(t=Ke(t))&&tt.test(t)?t.replace(Q,L):t},jt.escapeRegExp=function(t){return(t=Ke(t))&&ct.test(t)?t.replace(ft,"\\$&"):t},jt.every=function(t,n,r){var e=oi(t)?o:ln;return r&&Zr(t,n,r)&&(n=q),e(t,Rr(n,3))},jt.find=function(t,n){if(n=Rr(n,3),oi(t)){var r=g(t,n);return r>-1?t[r]:q}return v(t,n,_o);
+},jt.findIndex=function(t,n){return t&&t.length?g(t,Rr(n,3)):-1},jt.findKey=function(t,n){return v(t,Rr(n,3),pn,true)},jt.findLast=function(t,n){if(n=Rr(n,3),oi(t)){var r=g(t,n,true);return r>-1?t[r]:q}return v(t,n,vo)},jt.findLastIndex=function(t,n){return t&&t.length?g(t,Rr(n,3),true):-1},jt.findLastKey=function(t,n){return v(t,Rr(n,3),_n,true)},jt.floor=Zi,jt.forEach=se,jt.forEachRight=he,jt.forIn=function(t,n){return null==t?t:go(t,Rr(n),Qe)},jt.forInRight=function(t,n){return null==t?t:yo(t,Rr(n),Qe);
+},jt.forOwn=function(t,n){return t&&pn(t,Rr(n))},jt.forOwnRight=function(t,n){return t&&_n(t,Rr(n))},jt.get=Ge,jt.gt=Ae,jt.gte=function(t,n){return t>=n},jt.has=Je,jt.hasIn=Ye,jt.head=re,jt.identity=iu,jt.includes=function(t,n,r,e){return t=ke(t)?t:nu(t),r=r&&!e?Ze(r):0,e=t.length,0>r&&(r=Tu(e+r,0)),De(t)?e>=r&&-1<t.indexOf(n,r):!!e&&-1<d(t,n,r)},jt.indexOf=function(t,n,r){var e=t?t.length:0;return e?(r=Ze(r),0>r&&(r=Tu(e+r,0)),d(t,n,r)):-1},jt.inRange=function(t,n,r){return n=qe(n)||0,r===q?(r=n,
+n=0):r=qe(r)||0,t=qe(t),t>=qu(n,r)&&t<Tu(n,r)},jt.invoke=gi,jt.isArguments=Oe,jt.isArray=oi,jt.isArrayBuffer=function(t){return Le(t)&&"[object ArrayBuffer]"==wu.call(t)},jt.isArrayLike=ke,jt.isArrayLikeObject=Ee,jt.isBoolean=function(t){return true===t||false===t||Le(t)&&"[object Boolean]"==wu.call(t)},jt.isBuffer=ii,jt.isDate=function(t){return Le(t)&&"[object Date]"==wu.call(t)},jt.isElement=function(t){return!!t&&1===t.nodeType&&Le(t)&&!ze(t)},jt.isEmpty=function(t){if(ke(t)&&(oi(t)||De(t)||Se(t.splice)||Oe(t)||ii(t)))return!t.length;
+if(Le(t)){var n=Mr(t);if("[object Map]"==n||"[object Set]"==n)return!t.size}for(var r in t)if(xu.call(t,r))return false;return!(uo&&He(t).length)},jt.isEqual=function(t,n){return wn(t,n)},jt.isEqualWith=function(t,n,r){var e=(r=typeof r=="function"?r:q)?r(t,n):q;return e===q?wn(t,n,r):!!e},jt.isError=Ie,jt.isFinite=function(t){return typeof t=="number"&&Nu(t)},jt.isFunction=Se,jt.isInteger=Re,jt.isLength=We,jt.isMap=function(t){return Le(t)&&"[object Map]"==Mr(t)},jt.isMatch=function(t,n){return t===n||An(t,n,Wr(n));
+},jt.isMatchWith=function(t,n,r){return r=typeof r=="function"?r:q,An(t,n,Wr(n),r)},jt.isNaN=function(t){return Me(t)&&t!=+t},jt.isNative=Ce,jt.isNil=function(t){return null==t},jt.isNull=function(t){return null===t},jt.isNumber=Me,jt.isObject=Be,jt.isObjectLike=Le,jt.isPlainObject=ze,jt.isRegExp=Ue,jt.isSafeInteger=function(t){return Re(t)&&t>=-9007199254740991&&9007199254740991>=t},jt.isSet=function(t){return Le(t)&&"[object Set]"==Mr(t)},jt.isString=De,jt.isSymbol=$e,jt.isTypedArray=Fe,jt.isUndefined=function(t){
+return t===q},jt.isWeakMap=function(t){return Le(t)&&"[object WeakMap]"==Mr(t)},jt.isWeakSet=function(t){return Le(t)&&"[object WeakSet]"==wu.call(t)},jt.join=function(t,n){return t?Pu.call(t,n):""},jt.kebabCase=mi,jt.last=ee,jt.lastIndexOf=function(t,n,r){var e=t?t.length:0;if(!e)return-1;var u=e;if(r!==q&&(u=Ze(r),u=(0>u?Tu(e+u,0):qu(u,e-1))+1),n!==n)return M(t,u,true);for(;u--;)if(t[u]===n)return u;return-1},jt.lowerCase=wi,jt.lowerFirst=Ai,jt.lt=Ne,jt.lte=function(t,n){return n>=t},jt.max=function(t){
+return t&&t.length?_(t,iu,Ae):q},jt.maxBy=function(t,n){return t&&t.length?_(t,Rr(n),Ae):q},jt.mean=function(t){return b(t,iu)},jt.meanBy=function(t,n){return b(t,Rr(n))},jt.min=function(t){return t&&t.length?_(t,iu,Ne):q},jt.minBy=function(t,n){return t&&t.length?_(t,Rr(n),Ne):q},jt.multiply=Ti,jt.nth=function(t,n){return t&&t.length?Wn(t,Ze(n)):q},jt.noConflict=function(){return Yt._===this&&(Yt._=Au),this},jt.noop=au,jt.now=Yo,jt.pad=function(t,n,r){t=Ke(t);var e=(n=Ze(n))?P(t):0;return n&&n>e?(n=(n-e)/2,
+jr($u(n),r)+t+jr(Du(n),r)):t},jt.padEnd=function(t,n,r){t=Ke(t);var e=(n=Ze(n))?P(t):0;return n&&n>e?t+jr(n-e,r):t},jt.padStart=function(t,n,r){t=Ke(t);var e=(n=Ze(n))?P(t):0;return n&&n>e?jr(n-e,r)+t:t},jt.parseInt=function(t,n,r){return r||null==n?n=0:n&&(n=+n),t=Ke(t).replace(at,""),Vu(t,n||(gt.test(t)?16:10))},jt.random=function(t,n,r){if(r&&typeof r!="boolean"&&Zr(t,n,r)&&(n=r=q),r===q&&(typeof n=="boolean"?(r=n,n=q):typeof t=="boolean"&&(r=t,t=q)),t===q&&n===q?(t=0,n=1):(t=qe(t)||0,n===q?(n=t,
+t=0):n=qe(n)||0),t>n){var e=t;t=n,n=e}return r||t%1||n%1?(r=Ku(),qu(t+r*(n-t+Pt("1e-"+((r+"").length-1))),n)):$n(t,n)},jt.reduce=function(t,n,r){var e=oi(t)?s:x,u=3>arguments.length;return e(t,Rr(n,4),r,u,_o)},jt.reduceRight=function(t,n,r){var e=oi(t)?h:x,u=3>arguments.length;return e(t,Rr(n,4),r,u,vo)},jt.repeat=function(t,n,r){return n=(r?Zr(t,n,r):n===q)?1:Ze(n),Fn(Ke(t),n)},jt.replace=function(){var t=arguments,n=Ke(t[0]);return 3>t.length?n:Gu.call(n,t[1],t[2])},jt.result=function(t,n,r){n=Tr(n,t)?[n]:Xn(n);
+var e=-1,u=n.length;for(u||(t=q,u=1);++e<u;){var o=null==t?q:t[n[e]];o===q&&(e=u,o=r),t=Se(o)?o.call(t):o}return t},jt.round=qi,jt.runInContext=T,jt.sample=function(t){t=ke(t)?t:nu(t);var n=t.length;return n>0?t[$n(0,n-1)]:q},jt.size=function(t){if(null==t)return 0;if(ke(t)){var n=t.length;return n&&De(t)?P(t):n}return Le(t)&&(n=Mr(t),"[object Map]"==n||"[object Set]"==n)?t.size:He(t).length},jt.snakeCase=Oi,jt.some=function(t,n,r){var e=oi(t)?p:Zn;return r&&Zr(t,n,r)&&(n=q),e(t,Rr(n,3))},jt.sortedIndex=function(t,n){
+return Tn(t,n)},jt.sortedIndexBy=function(t,n,r){return qn(t,n,Rr(r))},jt.sortedIndexOf=function(t,n){var r=t?t.length:0;if(r){var e=Tn(t,n);if(r>e&&we(t[e],n))return e}return-1},jt.sortedLastIndex=function(t,n){return Tn(t,n,true)},jt.sortedLastIndexBy=function(t,n,r){return qn(t,n,Rr(r),true)},jt.sortedLastIndexOf=function(t,n){if(t&&t.length){var r=Tn(t,n,true)-1;if(we(t[r],n))return r}return-1},jt.startCase=ki,jt.startsWith=function(t,n,r){return t=Ke(t),r=en(Ze(r),0,t.length),t.lastIndexOf(n,r)==r;
+},jt.subtract=Vi,jt.sum=function(t){return t&&t.length?m(t,iu):0},jt.sumBy=function(t,n){return t&&t.length?m(t,Rr(n)):0},jt.template=function(t,n,r){var e=jt.templateSettings;r&&Zr(t,n,r)&&(n=q),t=Ke(t),n=ai({},n,e,Jt),r=ai({},n.imports,e.imports,Jt);var u,o,i=He(r),f=k(r,i),c=0;r=n.interpolate||wt;var a="__p+='";r=_u((n.escape||wt).source+"|"+r.source+"|"+(r===et?_t:wt).source+"|"+(n.evaluate||wt).source+"|$","g");var l="sourceURL"in n?"//# sourceURL="+n.sourceURL+"\n":"";if(t.replace(r,function(n,r,e,i,f,l){
+return e||(e=i),a+=t.slice(c,l).replace(At,C),r&&(u=true,a+="'+__e("+r+")+'"),f&&(o=true,a+="';"+f+";\n__p+='"),e&&(a+="'+((__t=("+e+"))==null?'':__t)+'"),c=l+n.length,n}),a+="';",(n=n.variable)||(a="with(obj){"+a+"}"),a=(o?a.replace(G,""):a).replace(J,"$1").replace(Y,"$1;"),a="function("+(n||"obj")+"){"+(n?"":"obj||(obj={});")+"var __t,__p=''"+(u?",__e=_.escape":"")+(o?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+a+"return __p}",n=Si(function(){return Function(i,l+"return "+a).apply(q,f);
+}),n.source=a,Ie(n))throw n;return n},jt.times=function(t,n){if(t=Ze(t),1>t||t>9007199254740991)return[];var r=4294967295,e=qu(t,4294967295);for(n=Rr(n),t-=4294967295,e=w(e,n);++r<t;)n(r);return e},jt.toInteger=Ze,jt.toLength=Te,jt.toLower=function(t){return Ke(t).toLowerCase()},jt.toNumber=qe,jt.toSafeInteger=function(t){return en(Ze(t),-9007199254740991,9007199254740991)},jt.toString=Ke,jt.toUpper=function(t){return Ke(t).toUpperCase()},jt.trim=function(t,n,r){return(t=Ke(t))?r||n===q?t.replace(at,""):(n+="")?(t=t.match(Rt),
+n=n.match(Rt),tr(t,E(t,n),I(t,n)+1).join("")):t:t},jt.trimEnd=function(t,n,r){return(t=Ke(t))?r||n===q?t.replace(st,""):(n+="")?(t=t.match(Rt),n=I(t,n.match(Rt))+1,tr(t,0,n).join("")):t:t},jt.trimStart=function(t,n,r){return(t=Ke(t))?r||n===q?t.replace(lt,""):(n+="")?(t=t.match(Rt),n=E(t,n.match(Rt)),tr(t,n).join("")):t:t},jt.truncate=function(t,n){var r=30,e="...";if(Be(n))var u="separator"in n?n.separator:u,r="length"in n?Ze(n.length):r,e="omission"in n?Ke(n.omission):e;t=Ke(t);var o=t.length;if(Bt.test(t))var i=t.match(Rt),o=i.length;
+if(r>=o)return t;if(o=r-P(e),1>o)return e;if(r=i?tr(i,0,o).join(""):t.slice(0,o),u===q)return r+e;if(i&&(o+=r.length-o),Ue(u)){if(t.slice(o).search(u)){var f=r;for(u.global||(u=_u(u.source,Ke(vt.exec(u))+"g")),u.lastIndex=0;i=u.exec(f);)var c=i.index;r=r.slice(0,c===q?o:c)}}else t.indexOf(u,o)!=o&&(u=r.lastIndexOf(u),u>-1&&(r=r.slice(0,u)));return r+e},jt.unescape=function(t){return(t=Ke(t))&&X.test(t)?t.replace(H,Z):t},jt.uniqueId=function(t){var n=++ju;return Ke(t)+n},jt.upperCase=Ei,jt.upperFirst=Ii,
+jt.each=se,jt.eachRight=he,jt.first=re,cu(jt,function(){var t={};return pn(jt,function(n,r){xu.call(jt.prototype,r)||(t[r]=n)}),t}(),{chain:false}),jt.VERSION="4.11.1",u("bind bindKey curry curryRight partial partialRight".split(" "),function(t){jt[t].placeholder=jt}),u(["drop","take"],function(t,n){Et.prototype[t]=function(r){var e=this.__filtered__;if(e&&!n)return new Et(this);r=r===q?1:Tu(Ze(r),0);var u=this.clone();return e?u.__takeCount__=qu(r,u.__takeCount__):u.__views__.push({size:qu(r,4294967295),
+type:t+(0>u.__dir__?"Right":"")}),u},Et.prototype[t+"Right"]=function(n){return this.reverse()[t](n).reverse()}}),u(["filter","map","takeWhile"],function(t,n){var r=n+1,e=1==r||3==r;Et.prototype[t]=function(t){var n=this.clone();return n.__iteratees__.push({iteratee:Rr(t,3),type:r}),n.__filtered__=n.__filtered__||e,n}}),u(["head","last"],function(t,n){var r="take"+(n?"Right":"");Et.prototype[t]=function(){return this[r](1).value()[0]}}),u(["initial","tail"],function(t,n){var r="drop"+(n?"":"Right");
+Et.prototype[t]=function(){return this.__filtered__?new Et(this):this[r](1)}}),Et.prototype.compact=function(){return this.filter(iu)},Et.prototype.find=function(t){return this.filter(t).head()},Et.prototype.findLast=function(t){return this.reverse().find(t)},Et.prototype.invokeMap=je(function(t,n){return typeof t=="function"?new Et(this):this.map(function(r){return mn(r,t,n)})}),Et.prototype.reject=function(t){return t=Rr(t,3),this.filter(function(n){return!t(n)})},Et.prototype.slice=function(t,n){
+t=Ze(t);var r=this;return r.__filtered__&&(t>0||0>n)?new Et(r):(0>t?r=r.takeRight(-t):t&&(r=r.drop(t)),n!==q&&(n=Ze(n),r=0>n?r.dropRight(-n):r.take(n-t)),r)},Et.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Et.prototype.toArray=function(){return this.take(4294967295)},pn(Et.prototype,function(t,n){var r=/^(?:filter|find|map|reject)|While$/.test(n),e=/^(?:head|last)$/.test(n),u=jt[e?"take"+("last"==n?"Right":""):n],o=e||/^find/.test(n);u&&(jt.prototype[n]=function(){
+function n(t){return t=u.apply(jt,l([t],f)),e&&h?t[0]:t}var i=this.__wrapped__,f=e?[1]:arguments,c=i instanceof Et,a=f[0],s=c||oi(i);s&&r&&typeof a=="function"&&1!=a.length&&(c=s=false);var h=this.__chain__,p=!!this.__actions__.length,a=o&&!h,c=c&&!p;return!o&&s?(i=c?i:new Et(this),i=t.apply(i,f),i.__actions__.push({func:ae,args:[n],thisArg:q}),new kt(i,h)):a&&c?t.apply(this,f):(i=this.thru(n),a?e?i.value()[0]:i.value():i)})}),u("pop push shift sort splice unshift".split(" "),function(t){var n=gu[t],r=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",e=/^(?:pop|shift)$/.test(t);
+jt.prototype[t]=function(){var t=arguments;if(e&&!this.__chain__){var u=this.value();return n.apply(oi(u)?u:[],t)}return this[r](function(r){return n.apply(oi(r)?r:[],t)})}}),pn(Et.prototype,function(t,n){var r=jt[n];if(r){var e=r.name+"";(oo[e]||(oo[e]=[])).push({name:n,func:r})}}),oo[yr(q,2).name]=[{name:"wrapper",func:q}],Et.prototype.clone=function(){var t=new Et(this.__wrapped__);return t.__actions__=or(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=or(this.__iteratees__),
+t.__takeCount__=this.__takeCount__,t.__views__=or(this.__views__),t},Et.prototype.reverse=function(){if(this.__filtered__){var t=new Et(this);t.__dir__=-1,t.__filtered__=true}else t=this.clone(),t.__dir__*=-1;return t},Et.prototype.value=function(){var t,n=this.__wrapped__.value(),r=this.__dir__,e=oi(n),u=0>r,o=e?n.length:0;t=o;for(var i=this.__views__,f=0,c=-1,a=i.length;++c<a;){var l=i[c],s=l.size;switch(l.type){case"drop":f+=s;break;case"dropRight":t-=s;break;case"take":t=qu(t,f+s);break;case"takeRight":
+f=Tu(f,t-s)}}if(t={start:f,end:t},i=t.start,f=t.end,t=f-i,u=u?f:i-1,i=this.__iteratees__,f=i.length,c=0,a=qu(t,this.__takeCount__),!e||200>o||o==t&&a==t)return Jn(n,this.__actions__);e=[];t:for(;t--&&a>c;){for(u+=r,o=-1,l=n[u];++o<f;){var h=i[o],s=h.type,h=(0,h.iteratee)(l);if(2==s)l=h;else if(!h){if(1==s)continue t;break t}}e[c++]=l}return e},jt.prototype.at=Zo,jt.prototype.chain=function(){return ce(this)},jt.prototype.commit=function(){return new kt(this.value(),this.__chain__)},jt.prototype.next=function(){
+this.__values__===q&&(this.__values__=Pe(this.value()));var t=this.__index__>=this.__values__.length,n=t?q:this.__values__[this.__index__++];return{done:t,value:n}},jt.prototype.plant=function(t){for(var n,r=this;r instanceof Ot;){var e=Xr(r);e.__index__=0,e.__values__=q,n?u.__wrapped__=e:n=e;var u=e,r=r.__wrapped__}return u.__wrapped__=t,n},jt.prototype.reverse=function(){var t=this.__wrapped__;return t instanceof Et?(this.__actions__.length&&(t=new Et(this)),t=t.reverse(),t.__actions__.push({func:ae,
+args:[oe],thisArg:q}),new kt(t,this.__chain__)):this.thru(oe)},jt.prototype.toJSON=jt.prototype.valueOf=jt.prototype.value=function(){return Jn(this.__wrapped__,this.__actions__)},Lu&&(jt.prototype[Lu]=le),jt}var q,V=1/0,K=NaN,G=/\b__p\+='';/g,J=/\b(__p\+=)''\+/g,Y=/(__e\(.*?\)|\b__t\))\+'';/g,H=/&(?:amp|lt|gt|quot|#39|#96);/g,Q=/[&<>"'`]/g,X=RegExp(H.source),tt=RegExp(Q.source),nt=/<%-([\s\S]+?)%>/g,rt=/<%([\s\S]+?)%>/g,et=/<%=([\s\S]+?)%>/g,ut=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ot=/^\w*$/,it=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]/g,ft=/[\\^$.*+?()[\]{}|]/g,ct=RegExp(ft.source),at=/^\s+|\s+$/g,lt=/^\s+/,st=/\s+$/,ht=/[a-zA-Z0-9]+/g,pt=/\\(\\)?/g,_t=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,vt=/\w*$/,gt=/^0x/i,dt=/^[-+]0x[0-9a-f]+$/i,yt=/^0b[01]+$/i,bt=/^\[object .+?Constructor\]$/,xt=/^0o[0-7]+$/i,jt=/^(?:0|[1-9]\d*)$/,mt=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,wt=/($^)/,At=/['\n\r\u2028\u2029\\]/g,Ot="[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|\\ud83c[\\udffb-\\udfff])?)*",kt="(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])"+Ot,Et="(?:[^\\ud800-\\udfff][\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]?|[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff])",It=RegExp("['\u2019]","g"),St=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]","g"),Rt=RegExp("\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|"+Et+Ot,"g"),Wt=RegExp(["[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+(?:['\u2019](?:d|ll|m|re|s|t|ve))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\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]|[A-Z\\xc0-\\xd6\\xd8-\\xde]|$)|(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\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\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\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]|[A-Z\\xc0-\\xd6\\xd8-\\xde](?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\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\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])|$)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?(?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\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\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:d|ll|m|re|s|t|ve))?|[A-Z\\xc0-\\xd6\\xd8-\\xde]+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?|\\d+",kt].join("|"),"g"),Bt=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0\\ufe0e\\ufe0f]"),Lt=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ct="Array Buffer DataView Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Map Math Object Promise Reflect RegExp Set String Symbol TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array WeakMap _ clearTimeout isFinite parseInt setTimeout".split(" "),Mt={};
+Mt["[object Float32Array]"]=Mt["[object Float64Array]"]=Mt["[object Int8Array]"]=Mt["[object Int16Array]"]=Mt["[object Int32Array]"]=Mt["[object Uint8Array]"]=Mt["[object Uint8ClampedArray]"]=Mt["[object Uint16Array]"]=Mt["[object Uint32Array]"]=true,Mt["[object Arguments]"]=Mt["[object Array]"]=Mt["[object ArrayBuffer]"]=Mt["[object Boolean]"]=Mt["[object DataView]"]=Mt["[object Date]"]=Mt["[object Error]"]=Mt["[object Function]"]=Mt["[object Map]"]=Mt["[object Number]"]=Mt["[object Object]"]=Mt["[object RegExp]"]=Mt["[object Set]"]=Mt["[object String]"]=Mt["[object WeakMap]"]=false;
+var zt={};zt["[object Arguments]"]=zt["[object Array]"]=zt["[object ArrayBuffer]"]=zt["[object DataView]"]=zt["[object Boolean]"]=zt["[object Date]"]=zt["[object Float32Array]"]=zt["[object Float64Array]"]=zt["[object Int8Array]"]=zt["[object Int16Array]"]=zt["[object Int32Array]"]=zt["[object Map]"]=zt["[object Number]"]=zt["[object Object]"]=zt["[object RegExp]"]=zt["[object Set]"]=zt["[object String]"]=zt["[object Symbol]"]=zt["[object Uint8Array]"]=zt["[object Uint8ClampedArray]"]=zt["[object Uint16Array]"]=zt["[object Uint32Array]"]=true,
+zt["[object Error]"]=zt["[object Function]"]=zt["[object WeakMap]"]=false;var Ut={"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O",
+"\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss"},Dt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"},$t={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&#96;":"`"},Ft={"function":true,object:true},Nt={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"
+},Pt=parseFloat,Zt=parseInt,Tt=Ft[typeof exports]&&exports&&!exports.nodeType?exports:q,qt=Ft[typeof module]&&module&&!module.nodeType?module:q,Vt=qt&&qt.exports===Tt?Tt:q,Kt=S(Ft[typeof self]&&self),Gt=S(Ft[typeof window]&&window),Jt=S(Ft[typeof this]&&this),Yt=S(Tt&&qt&&typeof global=="object"&&global)||Gt!==(Jt&&Jt.window)&&Gt||Kt||Jt||Function("return this")(),Ht=T();(Gt||Kt||{})._=Ht,typeof define=="function"&&typeof define.amd=="object"&&define.amd? define(function(){return Ht}):Tt&&qt?(Vt&&((qt.exports=Ht)._=Ht),
+Tt._=Ht):Yt._=Ht}).call(this); \ No newline at end of file
diff --git a/tools/eslint/node_modules/lodash/map.js b/tools/eslint/node_modules/lodash/map.js
index cca7bd023f..e9f9f22ebe 100644
--- a/tools/eslint/node_modules/lodash/map.js
+++ b/tools/eslint/node_modules/lodash/map.js
@@ -14,8 +14,8 @@ var arrayMap = require('./_arrayMap'),
* The guarded methods are:
* `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,
* `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,
- * `sampleSize`, `slice`, `some`, `sortBy`, `take`, `takeRight`, `template`,
- * `trim`, `trimEnd`, `trimStart`, and `words`
+ * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,
+ * `template`, `trim`, `trimEnd`, `trimStart`, and `words`
*
* @static
* @memberOf _
diff --git a/tools/eslint/node_modules/lodash/mixin.js b/tools/eslint/node_modules/lodash/mixin.js
index 1e1e38e824..6dc9674671 100644
--- a/tools/eslint/node_modules/lodash/mixin.js
+++ b/tools/eslint/node_modules/lodash/mixin.js
@@ -46,7 +46,7 @@ function mixin(object, source, options) {
var props = keys(source),
methodNames = baseFunctions(source, props);
- var chain = (isObject(options) && 'chain' in options) ? options.chain : true,
+ var chain = !(isObject(options) && 'chain' in options) || !!options.chain,
isFunc = isFunction(object);
arrayEach(methodNames, function(methodName) {
diff --git a/tools/eslint/node_modules/lodash/nth.js b/tools/eslint/node_modules/lodash/nth.js
new file mode 100644
index 0000000000..eed69e2c5d
--- /dev/null
+++ b/tools/eslint/node_modules/lodash/nth.js
@@ -0,0 +1,29 @@
+var baseNth = require('./_baseNth'),
+ toInteger = require('./toInteger');
+
+/**
+ * Gets the nth element of `array`. If `n` is negative, the nth element
+ * from the end is returned.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.11.0
+ * @category Array
+ * @param {Array} array The array to query.
+ * @param {number} [n=0] The index of the element to return.
+ * @returns {*} Returns the nth element of `array`.
+ * @example
+ *
+ * var array = ['a', 'b', 'c', 'd'];
+ *
+ * _.nth(array, 1);
+ * // => 'b'
+ *
+ * _.nth(array, -2);
+ * // => 'c';
+ */
+function nth(array, n) {
+ return (array && array.length) ? baseNth(array, toInteger(n)) : undefined;
+}
+
+module.exports = nth;
diff --git a/tools/eslint/node_modules/lodash/nthArg.js b/tools/eslint/node_modules/lodash/nthArg.js
index 6844ac45a1..533747af3f 100644
--- a/tools/eslint/node_modules/lodash/nthArg.js
+++ b/tools/eslint/node_modules/lodash/nthArg.js
@@ -1,7 +1,10 @@
-var toInteger = require('./toInteger');
+var baseNth = require('./_baseNth'),
+ rest = require('./rest'),
+ toInteger = require('./toInteger');
/**
- * Creates a function that returns its nth argument.
+ * Creates a function that returns its nth argument. If `n` is negative,
+ * the nth argument from the end is returned.
*
* @static
* @memberOf _
@@ -12,15 +15,18 @@ var toInteger = require('./toInteger');
* @example
*
* var func = _.nthArg(1);
- *
- * func('a', 'b', 'c');
+ * func('a', 'b', 'c', 'd');
* // => 'b'
+ *
+ * var func = _.nthArg(-2);
+ * func('a', 'b', 'c', 'd');
+ * // => 'c'
*/
function nthArg(n) {
n = toInteger(n);
- return function() {
- return arguments[n];
- };
+ return rest(function(args) {
+ return baseNth(args, n);
+ });
}
module.exports = nthArg;
diff --git a/tools/eslint/node_modules/lodash/omit.js b/tools/eslint/node_modules/lodash/omit.js
index ba30980c1c..a19974da77 100644
--- a/tools/eslint/node_modules/lodash/omit.js
+++ b/tools/eslint/node_modules/lodash/omit.js
@@ -1,10 +1,10 @@
var arrayMap = require('./_arrayMap'),
- baseCastKey = require('./_baseCastKey'),
baseDifference = require('./_baseDifference'),
baseFlatten = require('./_baseFlatten'),
basePick = require('./_basePick'),
getAllKeysIn = require('./_getAllKeysIn'),
- rest = require('./rest');
+ rest = require('./rest'),
+ toKey = require('./_toKey');
/**
* The opposite of `_.pick`; this method creates an object composed of the
@@ -16,8 +16,7 @@ var arrayMap = require('./_arrayMap'),
* @memberOf _
* @category Object
* @param {Object} object The source object.
- * @param {...(string|string[])} [props] The property identifiers to omit,
- * specified individually or in arrays.
+ * @param {...(string|string[])} [props] The property identifiers to omit.
* @returns {Object} Returns the new object.
* @example
*
@@ -30,7 +29,7 @@ var omit = rest(function(object, props) {
if (object == null) {
return {};
}
- props = arrayMap(baseFlatten(props, 1), baseCastKey);
+ props = arrayMap(baseFlatten(props, 1), toKey);
return basePick(object, baseDifference(getAllKeysIn(object), props));
});
diff --git a/tools/eslint/node_modules/lodash/over.js b/tools/eslint/node_modules/lodash/over.js
index d448cef06b..2275bf70d0 100644
--- a/tools/eslint/node_modules/lodash/over.js
+++ b/tools/eslint/node_modules/lodash/over.js
@@ -9,7 +9,8 @@ var arrayMap = require('./_arrayMap'),
* @memberOf _
* @since 4.0.0
* @category Util
- * @param {...(Function|Function[])} iteratees The iteratees to invoke.
+ * @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])}
+ * [iteratees=[_.identity]] The iteratees to invoke.
* @returns {Function} Returns the new function.
* @example
*
diff --git a/tools/eslint/node_modules/lodash/overArgs.js b/tools/eslint/node_modules/lodash/overArgs.js
index a9cb53e88c..d6a7467179 100644
--- a/tools/eslint/node_modules/lodash/overArgs.js
+++ b/tools/eslint/node_modules/lodash/overArgs.js
@@ -2,6 +2,8 @@ var apply = require('./_apply'),
arrayMap = require('./_arrayMap'),
baseFlatten = require('./_baseFlatten'),
baseIteratee = require('./_baseIteratee'),
+ baseUnary = require('./_baseUnary'),
+ isArray = require('./isArray'),
isFlattenableIteratee = require('./_isFlattenableIteratee'),
rest = require('./rest');
@@ -17,8 +19,8 @@ var nativeMin = Math.min;
* @memberOf _
* @category Function
* @param {Function} func The function to wrap.
- * @param {...(Function|Function[])} [transforms] The functions to transform.
- * arguments, specified individually or in arrays.
+ * @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])}
+ * [transforms[_.identity]] The functions to transform.
* @returns {Function} Returns the new function.
* @example
*
@@ -41,7 +43,10 @@ var nativeMin = Math.min;
* // => [100, 10]
*/
var overArgs = rest(function(func, transforms) {
- transforms = arrayMap(baseFlatten(transforms, 1, isFlattenableIteratee), baseIteratee);
+ transforms = (transforms.length == 1 && isArray(transforms[0]))
+ ? arrayMap(transforms[0], baseUnary(baseIteratee))
+ : arrayMap(baseFlatten(transforms, 1, isFlattenableIteratee), baseUnary(baseIteratee));
+
var funcsLength = transforms.length;
return rest(function(args) {
var index = -1,
diff --git a/tools/eslint/node_modules/lodash/overEvery.js b/tools/eslint/node_modules/lodash/overEvery.js
index 28a873907e..4ea596a7bf 100644
--- a/tools/eslint/node_modules/lodash/overEvery.js
+++ b/tools/eslint/node_modules/lodash/overEvery.js
@@ -9,7 +9,8 @@ var arrayEvery = require('./_arrayEvery'),
* @memberOf _
* @since 4.0.0
* @category Util
- * @param {...(Function|Function[])} predicates The predicates to check.
+ * @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])}
+ * [predicates=[_.identity]] The predicates to check.
* @returns {Function} Returns the new function.
* @example
*
diff --git a/tools/eslint/node_modules/lodash/overSome.js b/tools/eslint/node_modules/lodash/overSome.js
index 4f31314cc9..55ff733f7e 100644
--- a/tools/eslint/node_modules/lodash/overSome.js
+++ b/tools/eslint/node_modules/lodash/overSome.js
@@ -9,7 +9,8 @@ var arraySome = require('./_arraySome'),
* @memberOf _
* @since 4.0.0
* @category Util
- * @param {...(Function|Function[])} predicates The predicates to check.
+ * @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])}
+ * [predicates=[_.identity]] The predicates to check.
* @returns {Function} Returns the new function.
* @example
*
diff --git a/tools/eslint/node_modules/lodash/package.json b/tools/eslint/node_modules/lodash/package.json
index 7248c759d9..55a4de95cc 100644
--- a/tools/eslint/node_modules/lodash/package.json
+++ b/tools/eslint/node_modules/lodash/package.json
@@ -2,18 +2,18 @@
"_args": [
[
"lodash@^4.0.0",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "lodash@>=4.0.0 <5.0.0",
- "_id": "lodash@4.9.0",
+ "_id": "lodash@4.11.1",
"_inCache": true,
"_installable": true,
"_location": "/lodash",
"_nodeVersion": "5.5.0",
"_npmOperationalInternal": {
- "host": "packages-12-west.internal.npmjs.com",
- "tmp": "tmp/lodash-4.9.0.tgz_1460128953630_0.9709006256889552"
+ "host": "packages-16-east.internal.npmjs.com",
+ "tmp": "tmp/lodash-4.11.1.tgz_1460618480099_0.40750555554404855"
},
"_npmUser": {
"email": "john.david.dalton@gmail.com",
@@ -30,15 +30,15 @@
"type": "range"
},
"_requiredBy": [
- "/",
+ "/eslint",
"/inquirer",
"/table"
],
- "_resolved": "https://registry.npmjs.org/lodash/-/lodash-4.9.0.tgz",
- "_shasum": "4c20d742f03ce85dc700e0dd7ab9bcab85e6fc14",
+ "_resolved": "https://registry.npmjs.org/lodash/-/lodash-4.11.1.tgz",
+ "_shasum": "a32106eb8e2ec8e82c241611414773c9df15f8bc",
"_shrinkwrap": null,
"_spec": "lodash@^4.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"author": {
"email": "john.david.dalton@gmail.com",
"name": "John-David Dalton",
@@ -49,18 +49,18 @@
},
"contributors": [
{
- "name": "John-David Dalton",
"email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
"url": "http://allyoucanleet.com/"
},
{
- "name": "Blaine Bublitz",
"email": "blaine.bublitz@gmail.com",
+ "name": "Blaine Bublitz",
"url": "https://github.com/phated"
},
{
- "name": "Mathias Bynens",
"email": "mathias@qiwi.be",
+ "name": "Mathias Bynens",
"url": "https://mathiasbynens.be/"
}
],
@@ -69,8 +69,8 @@
"devDependencies": {},
"directories": {},
"dist": {
- "shasum": "4c20d742f03ce85dc700e0dd7ab9bcab85e6fc14",
- "tarball": "https://registry.npmjs.org/lodash/-/lodash-4.9.0.tgz"
+ "shasum": "a32106eb8e2ec8e82c241611414773c9df15f8bc",
+ "tarball": "https://registry.npmjs.org/lodash/-/lodash-4.11.1.tgz"
},
"homepage": "https://lodash.com/",
"icon": "https://lodash.com/icon.svg",
@@ -83,20 +83,20 @@
"main": "lodash.js",
"maintainers": [
{
- "name": "jdalton",
- "email": "john.david.dalton@gmail.com"
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
},
{
- "name": "jridgewell",
- "email": "justin+npm@ridgewell.name"
+ "email": "justin+npm@ridgewell.name",
+ "name": "jridgewell"
},
{
- "name": "mathias",
- "email": "mathias@qiwi.be"
+ "email": "mathias@qiwi.be",
+ "name": "mathias"
},
{
- "name": "phated",
- "email": "blaine.bublitz@gmail.com"
+ "email": "blaine.bublitz@gmail.com",
+ "name": "phated"
}
],
"name": "lodash",
@@ -109,5 +109,5 @@
"scripts": {
"test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
},
- "version": "4.9.0"
+ "version": "4.11.1"
}
diff --git a/tools/eslint/node_modules/lodash/pick.js b/tools/eslint/node_modules/lodash/pick.js
index 32f3584b7b..f85ac4d9fd 100644
--- a/tools/eslint/node_modules/lodash/pick.js
+++ b/tools/eslint/node_modules/lodash/pick.js
@@ -10,8 +10,7 @@ var baseFlatten = require('./_baseFlatten'),
* @memberOf _
* @category Object
* @param {Object} object The source object.
- * @param {...(string|string[])} [props] The property identifiers to pick,
- * specified individually or in arrays.
+ * @param {...(string|string[])} [props] The property identifiers to pick.
* @returns {Object} Returns the new object.
* @example
*
diff --git a/tools/eslint/node_modules/lodash/pullAt.js b/tools/eslint/node_modules/lodash/pullAt.js
index aeb56699e0..c312aa1bb9 100644
--- a/tools/eslint/node_modules/lodash/pullAt.js
+++ b/tools/eslint/node_modules/lodash/pullAt.js
@@ -16,8 +16,7 @@ var arrayMap = require('./_arrayMap'),
* @since 3.0.0
* @category Array
* @param {Array} array The array to modify.
- * @param {...(number|number[])} [indexes] The indexes of elements to remove,
- * specified individually or in arrays.
+ * @param {...(number|number[])} [indexes] The indexes of elements to remove.
* @returns {Array} Returns the new array of removed elements.
* @example
*
diff --git a/tools/eslint/node_modules/lodash/rearg.js b/tools/eslint/node_modules/lodash/rearg.js
index 912312843b..6648ec834e 100644
--- a/tools/eslint/node_modules/lodash/rearg.js
+++ b/tools/eslint/node_modules/lodash/rearg.js
@@ -16,8 +16,7 @@ var REARG_FLAG = 256;
* @since 3.0.0
* @category Function
* @param {Function} func The function to rearrange arguments for.
- * @param {...(number|number[])} indexes The arranged argument indexes,
- * specified individually or in arrays.
+ * @param {...(number|number[])} indexes The arranged argument indexes.
* @returns {Function} Returns the new function.
* @example
*
diff --git a/tools/eslint/node_modules/lodash/replace.js b/tools/eslint/node_modules/lodash/replace.js
index 6e26ecd827..1d113e70a9 100644
--- a/tools/eslint/node_modules/lodash/replace.js
+++ b/tools/eslint/node_modules/lodash/replace.js
@@ -1,5 +1,11 @@
var toString = require('./toString');
+/** Used for built-in method references. */
+var stringProto = String.prototype;
+
+/* Built-in method references for those with the same name as other `lodash` methods. */
+var nativeReplace = stringProto.replace;
+
/**
* Replaces matches for `pattern` in `string` with `replacement`.
*
@@ -23,7 +29,7 @@ function replace() {
var args = arguments,
string = toString(args[0]);
- return args.length < 3 ? string : string.replace(args[1], args[2]);
+ return args.length < 3 ? string : nativeReplace.call(string, args[1], args[2]);
}
module.exports = replace;
diff --git a/tools/eslint/node_modules/lodash/result.js b/tools/eslint/node_modules/lodash/result.js
index caf18b0fb0..6a4c9d941c 100644
--- a/tools/eslint/node_modules/lodash/result.js
+++ b/tools/eslint/node_modules/lodash/result.js
@@ -1,4 +1,4 @@
-var baseCastPath = require('./_baseCastPath'),
+var castPath = require('./_castPath'),
isFunction = require('./isFunction'),
isKey = require('./_isKey');
@@ -32,7 +32,7 @@ var baseCastPath = require('./_baseCastPath'),
* // => 'default'
*/
function result(object, path, defaultValue) {
- path = isKey(path, object) ? [path] : baseCastPath(path);
+ path = isKey(path, object) ? [path] : castPath(path);
var index = -1,
length = path.length;
diff --git a/tools/eslint/node_modules/lodash/sortBy.js b/tools/eslint/node_modules/lodash/sortBy.js
index 17f9748aa1..c6d40bbb70 100644
--- a/tools/eslint/node_modules/lodash/sortBy.js
+++ b/tools/eslint/node_modules/lodash/sortBy.js
@@ -1,5 +1,7 @@
var baseFlatten = require('./_baseFlatten'),
baseOrderBy = require('./_baseOrderBy'),
+ isArray = require('./isArray'),
+ isFlattenableIteratee = require('./_isFlattenableIteratee'),
isIterateeCall = require('./_isIterateeCall'),
rest = require('./rest');
@@ -15,8 +17,7 @@ var baseFlatten = require('./_baseFlatten'),
* @category Collection
* @param {Array|Object} collection The collection to iterate over.
* @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])}
- * [iteratees=[_.identity]] The iteratees to sort by, specified individually
- * or in arrays.
+ * [iteratees=[_.identity]] The iteratees to sort by.
* @returns {Array} Returns the new sorted array.
* @example
*
@@ -46,9 +47,13 @@ var sortBy = rest(function(collection, iteratees) {
if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {
iteratees = [];
} else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {
- iteratees.length = 1;
+ iteratees = [iteratees[0]];
}
- return baseOrderBy(collection, baseFlatten(iteratees, 1), []);
+ iteratees = (iteratees.length == 1 && isArray(iteratees[0]))
+ ? iteratees[0]
+ : baseFlatten(iteratees, 1, isFlattenableIteratee);
+
+ return baseOrderBy(collection, iteratees, []);
});
module.exports = sortBy;
diff --git a/tools/eslint/node_modules/lodash/split.js b/tools/eslint/node_modules/lodash/split.js
index e53ee99b4d..0718e3fb62 100644
--- a/tools/eslint/node_modules/lodash/split.js
+++ b/tools/eslint/node_modules/lodash/split.js
@@ -1,18 +1,18 @@
-var isRegExp = require('./isRegExp'),
+var castSlice = require('./_castSlice'),
+ isIterateeCall = require('./_isIterateeCall'),
+ isRegExp = require('./isRegExp'),
+ reHasComplexSymbol = require('./_reHasComplexSymbol'),
stringToArray = require('./_stringToArray'),
toString = require('./toString');
-/** Used to compose unicode character classes. */
-var rsAstralRange = '\\ud800-\\udfff',
- rsComboMarksRange = '\\u0300-\\u036f\\ufe20-\\ufe23',
- rsComboSymbolsRange = '\\u20d0-\\u20f0',
- rsVarRange = '\\ufe0e\\ufe0f';
+/** Used as references for the maximum length and index of an array. */
+var MAX_ARRAY_LENGTH = 4294967295;
-/** Used to compose unicode capture groups. */
-var rsZWJ = '\\u200d';
+/** Used for built-in method references. */
+var stringProto = String.prototype;
-/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */
-var reHasComplexSymbol = RegExp('[' + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + ']');
+/* Built-in method references for those with the same name as other `lodash` methods. */
+var nativeSplit = stringProto.split;
/**
* Splits `string` by `separator`.
@@ -34,6 +34,13 @@ var reHasComplexSymbol = RegExp('[' + rsZWJ + rsAstralRange + rsComboMarksRange
* // => ['a', 'b']
*/
function split(string, separator, limit) {
+ if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) {
+ separator = limit = undefined;
+ }
+ limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;
+ if (!limit) {
+ return [];
+ }
string = toString(string);
if (string && (
typeof separator == 'string' ||
@@ -41,11 +48,10 @@ function split(string, separator, limit) {
)) {
separator += '';
if (separator == '' && reHasComplexSymbol.test(string)) {
- var strSymbols = stringToArray(string);
- return limit === undefined ? strSymbols : strSymbols.slice(0, limit < 0 ? 0 : limit);
+ return castSlice(stringToArray(string), 0, limit);
}
}
- return string.split(separator, limit);
+ return nativeSplit.call(string, separator, limit);
}
module.exports = split;
diff --git a/tools/eslint/node_modules/lodash/spread.js b/tools/eslint/node_modules/lodash/spread.js
index c142004c10..9d32bb96ed 100644
--- a/tools/eslint/node_modules/lodash/spread.js
+++ b/tools/eslint/node_modules/lodash/spread.js
@@ -1,5 +1,6 @@
var apply = require('./_apply'),
arrayPush = require('./_arrayPush'),
+ castSlice = require('./_castSlice'),
rest = require('./rest'),
toInteger = require('./toInteger');
@@ -50,7 +51,7 @@ function spread(func, start) {
start = start === undefined ? 0 : nativeMax(toInteger(start), 0);
return rest(function(args) {
var array = args[start],
- otherArgs = args.slice(0, start);
+ otherArgs = castSlice(args, 0, start);
if (array) {
arrayPush(otherArgs, array);
diff --git a/tools/eslint/node_modules/lodash/toPath.js b/tools/eslint/node_modules/lodash/toPath.js
index 7fe9fe6d19..e2dc7ae7ef 100644
--- a/tools/eslint/node_modules/lodash/toPath.js
+++ b/tools/eslint/node_modules/lodash/toPath.js
@@ -1,9 +1,9 @@
var arrayMap = require('./_arrayMap'),
- baseCastKey = require('./_baseCastKey'),
copyArray = require('./_copyArray'),
isArray = require('./isArray'),
isSymbol = require('./isSymbol'),
- stringToPath = require('./_stringToPath');
+ stringToPath = require('./_stringToPath'),
+ toKey = require('./_toKey');
/**
* Converts `value` to a property path array.
@@ -33,7 +33,7 @@ var arrayMap = require('./_arrayMap'),
*/
function toPath(value) {
if (isArray(value)) {
- return arrayMap(value, baseCastKey);
+ return arrayMap(value, toKey);
}
return isSymbol(value) ? [value] : copyArray(stringToPath(value));
}
diff --git a/tools/eslint/node_modules/lodash/toString.js b/tools/eslint/node_modules/lodash/toString.js
index 52ce4785f8..2b29ab18f4 100644
--- a/tools/eslint/node_modules/lodash/toString.js
+++ b/tools/eslint/node_modules/lodash/toString.js
@@ -9,8 +9,8 @@ var symbolProto = Symbol ? Symbol.prototype : undefined,
symbolToString = symbolProto ? symbolProto.toString : undefined;
/**
- * Converts `value` to a string if it's not one. An empty string is returned
- * for `null` and `undefined` values. The sign of `-0` is preserved.
+ * Converts `value` to a string. An empty string is returned for `null`
+ * and `undefined` values. The sign of `-0` is preserved.
*
* @static
* @memberOf _
diff --git a/tools/eslint/node_modules/lodash/trim.js b/tools/eslint/node_modules/lodash/trim.js
index 936e801dd7..ed086523d7 100644
--- a/tools/eslint/node_modules/lodash/trim.js
+++ b/tools/eslint/node_modules/lodash/trim.js
@@ -1,4 +1,5 @@
-var charsEndIndex = require('./_charsEndIndex'),
+var castSlice = require('./_castSlice'),
+ charsEndIndex = require('./_charsEndIndex'),
charsStartIndex = require('./_charsStartIndex'),
stringToArray = require('./_stringToArray'),
toString = require('./toString');
@@ -36,16 +37,15 @@ function trim(string, chars, guard) {
if (guard || chars === undefined) {
return string.replace(reTrim, '');
}
- chars = (chars + '');
- if (!chars) {
+ if (!(chars += '')) {
return string;
}
var strSymbols = stringToArray(string),
- chrSymbols = stringToArray(chars);
+ chrSymbols = stringToArray(chars),
+ start = charsStartIndex(strSymbols, chrSymbols),
+ end = charsEndIndex(strSymbols, chrSymbols) + 1;
- return strSymbols
- .slice(charsStartIndex(strSymbols, chrSymbols), charsEndIndex(strSymbols, chrSymbols) + 1)
- .join('');
+ return castSlice(strSymbols, start, end).join('');
}
module.exports = trim;
diff --git a/tools/eslint/node_modules/lodash/trimEnd.js b/tools/eslint/node_modules/lodash/trimEnd.js
index 51b5599875..c86302c49d 100644
--- a/tools/eslint/node_modules/lodash/trimEnd.js
+++ b/tools/eslint/node_modules/lodash/trimEnd.js
@@ -1,4 +1,5 @@
-var charsEndIndex = require('./_charsEndIndex'),
+var castSlice = require('./_castSlice'),
+ charsEndIndex = require('./_charsEndIndex'),
stringToArray = require('./_stringToArray'),
toString = require('./toString');
@@ -32,14 +33,13 @@ function trimEnd(string, chars, guard) {
if (guard || chars === undefined) {
return string.replace(reTrimEnd, '');
}
- chars = (chars + '');
- if (!chars) {
+ if (!(chars += '')) {
return string;
}
- var strSymbols = stringToArray(string);
- return strSymbols
- .slice(0, charsEndIndex(strSymbols, stringToArray(chars)) + 1)
- .join('');
+ var strSymbols = stringToArray(string),
+ end = charsEndIndex(strSymbols, stringToArray(chars)) + 1;
+
+ return castSlice(strSymbols, 0, end).join('');
}
module.exports = trimEnd;
diff --git a/tools/eslint/node_modules/lodash/trimStart.js b/tools/eslint/node_modules/lodash/trimStart.js
index d8db3724ae..bf7111a587 100644
--- a/tools/eslint/node_modules/lodash/trimStart.js
+++ b/tools/eslint/node_modules/lodash/trimStart.js
@@ -1,4 +1,5 @@
-var charsStartIndex = require('./_charsStartIndex'),
+var castSlice = require('./_castSlice'),
+ charsStartIndex = require('./_charsStartIndex'),
stringToArray = require('./_stringToArray'),
toString = require('./toString');
@@ -32,14 +33,13 @@ function trimStart(string, chars, guard) {
if (guard || chars === undefined) {
return string.replace(reTrimStart, '');
}
- chars = (chars + '');
- if (!chars) {
+ if (!(chars += '')) {
return string;
}
- var strSymbols = stringToArray(string);
- return strSymbols
- .slice(charsStartIndex(strSymbols, stringToArray(chars)))
- .join('');
+ var strSymbols = stringToArray(string),
+ start = charsStartIndex(strSymbols, stringToArray(chars));
+
+ return castSlice(strSymbols, start).join('');
}
module.exports = trimStart;
diff --git a/tools/eslint/node_modules/lodash/truncate.js b/tools/eslint/node_modules/lodash/truncate.js
index ec7379480b..473cacbeb3 100644
--- a/tools/eslint/node_modules/lodash/truncate.js
+++ b/tools/eslint/node_modules/lodash/truncate.js
@@ -1,5 +1,7 @@
-var isObject = require('./isObject'),
+var castSlice = require('./_castSlice'),
+ isObject = require('./isObject'),
isRegExp = require('./isRegExp'),
+ reHasComplexSymbol = require('./_reHasComplexSymbol'),
stringSize = require('./_stringSize'),
stringToArray = require('./_stringToArray'),
toInteger = require('./toInteger'),
@@ -12,18 +14,6 @@ var DEFAULT_TRUNC_LENGTH = 30,
/** Used to match `RegExp` flags from their coerced string values. */
var reFlags = /\w*$/;
-/** Used to compose unicode character classes. */
-var rsAstralRange = '\\ud800-\\udfff',
- rsComboMarksRange = '\\u0300-\\u036f\\ufe20-\\ufe23',
- rsComboSymbolsRange = '\\u20d0-\\u20f0',
- rsVarRange = '\\ufe0e\\ufe0f';
-
-/** Used to compose unicode capture groups. */
-var rsZWJ = '\\u200d';
-
-/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */
-var reHasComplexSymbol = RegExp('[' + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + ']');
-
/**
* Truncates `string` if it's longer than the given maximum string length.
* The last characters of the truncated string are replaced with the omission
@@ -85,7 +75,7 @@ function truncate(string, options) {
return omission;
}
var result = strSymbols
- ? strSymbols.slice(0, end).join('')
+ ? castSlice(strSymbols, 0, end).join('')
: string.slice(0, end);
if (separator === undefined) {
diff --git a/tools/eslint/node_modules/lodash/update.js b/tools/eslint/node_modules/lodash/update.js
index 4b2f560d98..b90098e6da 100644
--- a/tools/eslint/node_modules/lodash/update.js
+++ b/tools/eslint/node_modules/lodash/update.js
@@ -1,5 +1,5 @@
-var baseCastFunction = require('./_baseCastFunction'),
- baseUpdate = require('./_baseUpdate');
+var baseUpdate = require('./_baseUpdate'),
+ castFunction = require('./_castFunction');
/**
* This method is like `_.set` except that accepts `updater` to produce the
@@ -29,7 +29,7 @@ var baseCastFunction = require('./_baseCastFunction'),
* // => 0
*/
function update(object, path, updater) {
- return object == null ? object : baseUpdate(object, path, baseCastFunction(updater));
+ return object == null ? object : baseUpdate(object, path, castFunction(updater));
}
module.exports = update;
diff --git a/tools/eslint/node_modules/lodash/updateWith.js b/tools/eslint/node_modules/lodash/updateWith.js
index 2fee30f1f5..a2f4a2cfbf 100644
--- a/tools/eslint/node_modules/lodash/updateWith.js
+++ b/tools/eslint/node_modules/lodash/updateWith.js
@@ -1,5 +1,5 @@
-var baseCastFunction = require('./_baseCastFunction'),
- baseUpdate = require('./_baseUpdate');
+var baseUpdate = require('./_baseUpdate'),
+ castFunction = require('./_castFunction');
/**
* This method is like `_.update` except that it accepts `customizer` which is
@@ -27,7 +27,7 @@ var baseCastFunction = require('./_baseCastFunction'),
*/
function updateWith(object, path, updater, customizer) {
customizer = typeof customizer == 'function' ? customizer : undefined;
- return object == null ? object : baseUpdate(object, path, baseCastFunction(updater), customizer);
+ return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer);
}
module.exports = updateWith;
diff --git a/tools/eslint/node_modules/lodash/words.js b/tools/eslint/node_modules/lodash/words.js
index c6d712c600..9f4b55b392 100644
--- a/tools/eslint/node_modules/lodash/words.js
+++ b/tools/eslint/node_modules/lodash/words.js
@@ -1,5 +1,8 @@
var toString = require('./toString');
+/** Used to match non-compound words composed of alphanumeric characters. */
+var reBasicWord = /[a-zA-Z0-9]+/g;
+
/** Used to compose unicode character classes. */
var rsAstralRange = '\\ud800-\\udfff',
rsComboMarksRange = '\\u0300-\\u036f\\ufe20-\\ufe23',
@@ -15,7 +18,8 @@ var rsAstralRange = '\\ud800-\\udfff',
rsBreakRange = rsMathOpRange + rsNonCharRange + rsQuoteRange + rsSpaceRange;
/** Used to compose unicode capture groups. */
-var rsBreak = '[' + rsBreakRange + ']',
+var rsApos = "['\u2019]",
+ rsBreak = '[' + rsBreakRange + ']',
rsCombo = '[' + rsComboMarksRange + rsComboSymbolsRange + ']',
rsDigits = '\\d+',
rsDingbat = '[' + rsDingbatRange + ']',
@@ -32,21 +36,20 @@ var rsBreak = '[' + rsBreakRange + ']',
/** Used to compose unicode regexes. */
var rsLowerMisc = '(?:' + rsLower + '|' + rsMisc + ')',
rsUpperMisc = '(?:' + rsUpper + '|' + rsMisc + ')',
+ rsOptLowerContr = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',
+ rsOptUpperContr = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',
reOptMod = rsModifier + '?',
rsOptVar = '[' + rsVarRange + ']?',
rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',
rsSeq = rsOptVar + reOptMod + rsOptJoin,
rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;
-/** Used to match non-compound words composed of alphanumeric characters. */
-var reBasicWord = /[a-zA-Z0-9]+/g;
-
/** Used to match complex or compound words. */
var reComplexWord = RegExp([
- rsUpper + '?' + rsLower + '+(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',
- rsUpperMisc + '+(?=' + [rsBreak, rsUpper + rsLowerMisc, '$'].join('|') + ')',
- rsUpper + '?' + rsLowerMisc + '+',
- rsUpper + '+',
+ rsUpper + '?' + rsLower + '+' + rsOptLowerContr + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',
+ rsUpperMisc + '+' + rsOptUpperContr + '(?=' + [rsBreak, rsUpper + rsLowerMisc, '$'].join('|') + ')',
+ rsUpper + '?' + rsLowerMisc + '+' + rsOptLowerContr,
+ rsUpper + '+' + rsOptUpperContr,
rsDigits,
rsEmoji
].join('|'), 'g');
diff --git a/tools/eslint/node_modules/lodash/wrapperAt.js b/tools/eslint/node_modules/lodash/wrapperAt.js
index 631d7c5909..119089453c 100644
--- a/tools/eslint/node_modules/lodash/wrapperAt.js
+++ b/tools/eslint/node_modules/lodash/wrapperAt.js
@@ -13,8 +13,7 @@ var LazyWrapper = require('./_LazyWrapper'),
* @memberOf _
* @since 1.0.0
* @category Seq
- * @param {...(string|string[])} [paths] The property paths of elements to pick,
- * specified individually or in arrays.
+ * @param {...(string|string[])} [paths] The property paths of elements to pick.
* @returns {Object} Returns the new `lodash` wrapper instance.
* @example
*
diff --git a/tools/eslint/node_modules/lodash/wrapperLodash.js b/tools/eslint/node_modules/lodash/wrapperLodash.js
index c17d6467f2..717ff8e3ef 100644
--- a/tools/eslint/node_modules/lodash/wrapperLodash.js
+++ b/tools/eslint/node_modules/lodash/wrapperLodash.js
@@ -91,7 +91,7 @@ var hasOwnProperty = objectProto.hasOwnProperty;
* `isSet`, `isString`, `isUndefined`, `isTypedArray`, `isWeakMap`, `isWeakSet`,
* `join`, `kebabCase`, `last`, `lastIndexOf`, `lowerCase`, `lowerFirst`,
* `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`, `min`, `minBy`, `multiply`,
- * `noConflict`, `noop`, `now`, `pad`, `padEnd`, `padStart`, `parseInt`,
+ * `noConflict`, `noop`, `now`, `nth`, `pad`, `padEnd`, `padStart`, `parseInt`,
* `pop`, `random`, `reduce`, `reduceRight`, `repeat`, `result`, `round`,
* `runInContext`, `sample`, `shift`, `size`, `snakeCase`, `some`, `sortedIndex`,
* `sortedIndexBy`, `sortedLastIndex`, `sortedLastIndexBy`, `startCase`,
diff --git a/tools/eslint/node_modules/minimatch/package.json b/tools/eslint/node_modules/minimatch/package.json
index 3e4dee3e5d..a1ba807325 100644
--- a/tools/eslint/node_modules/minimatch/package.json
+++ b/tools/eslint/node_modules/minimatch/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"minimatch@2 || 3",
- "/Users/silverwind/git/node/tools/package/package/node_modules/globby/node_modules/glob"
+ "/Users/trott/io.js/tools/node_modules/globby/node_modules/glob"
]
],
"_from": "minimatch@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0",
@@ -33,7 +33,7 @@
"_shasum": "5236157a51e4f004c177fb3c527ff7dd78f0ef83",
"_shrinkwrap": null,
"_spec": "minimatch@2 || 3",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/globby/node_modules/glob",
+ "_where": "/Users/trott/io.js/tools/node_modules/globby/node_modules/glob",
"author": {
"email": "i@izs.me",
"name": "Isaac Z. Schlueter",
@@ -67,8 +67,8 @@
"main": "minimatch.js",
"maintainers": [
{
- "name": "isaacs",
- "email": "i@izs.me"
+ "email": "i@izs.me",
+ "name": "isaacs"
}
],
"name": "minimatch",
diff --git a/tools/eslint/node_modules/minimist/index.js b/tools/eslint/node_modules/minimist/index.js
index a5793cecce..584f551a6d 100644
--- a/tools/eslint/node_modules/minimist/index.js
+++ b/tools/eslint/node_modules/minimist/index.js
@@ -1,16 +1,16 @@
module.exports = function (args, opts) {
if (!opts) opts = {};
-
+
var flags = { bools : {}, strings : {} };
-
+
[].concat(opts['boolean']).filter(Boolean).forEach(function (key) {
flags.bools[key] = true;
});
-
+
[].concat(opts.string).filter(Boolean).forEach(function (key) {
flags.strings[key] = true;
});
-
+
var aliases = {};
Object.keys(opts.alias || {}).forEach(function (key) {
aliases[key] = [].concat(opts.alias[key]);
@@ -20,14 +20,14 @@ module.exports = function (args, opts) {
}));
});
});
-
+
var defaults = opts['default'] || {};
-
+
var argv = { _ : [] };
Object.keys(flags.bools).forEach(function (key) {
setArg(key, defaults[key] === undefined ? false : defaults[key]);
});
-
+
var notFlags = [];
if (args.indexOf('--') !== -1) {
@@ -40,15 +40,15 @@ module.exports = function (args, opts) {
? Number(val) : val
;
setKey(argv, key.split('.'), value);
-
+
(aliases[key] || []).forEach(function (x) {
setKey(argv, x.split('.'), value);
});
}
-
+
for (var i = 0; i < args.length; i++) {
var arg = args[i];
-
+
if (/^--.+=/.test(arg)) {
// Using [\s\S] instead of . because js doesn't support the
// 'dotall' regex modifier. See:
@@ -79,23 +79,23 @@ module.exports = function (args, opts) {
}
else if (/^-[^-]+/.test(arg)) {
var letters = arg.slice(1,-1).split('');
-
+
var broken = false;
for (var j = 0; j < letters.length; j++) {
var next = arg.slice(j+2);
-
+
if (next === '-') {
setArg(letters[j], next)
continue;
}
-
+
if (/[A-Za-z]/.test(letters[j])
&& /-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) {
setArg(letters[j], next);
broken = true;
break;
}
-
+
if (letters[j+1] && letters[j+1].match(/\W/)) {
setArg(letters[j], arg.slice(j+2));
broken = true;
@@ -105,7 +105,7 @@ module.exports = function (args, opts) {
setArg(letters[j], flags.strings[letters[j]] ? '' : true);
}
}
-
+
var key = arg.slice(-1)[0];
if (!broken && key !== '-') {
if (args[i+1] && !/^(-|--)[^-]/.test(args[i+1])
@@ -129,17 +129,17 @@ module.exports = function (args, opts) {
);
}
}
-
+
Object.keys(defaults).forEach(function (key) {
if (!hasKey(argv, key.split('.'))) {
setKey(argv, key.split('.'), defaults[key]);
-
+
(aliases[key] || []).forEach(function (x) {
setKey(argv, x.split('.'), defaults[key]);
});
}
});
-
+
notFlags.forEach(function(key) {
argv._.push(key);
});
@@ -163,7 +163,7 @@ function setKey (obj, keys, value) {
if (o[key] === undefined) o[key] = {};
o = o[key];
});
-
+
var key = keys[keys.length - 1];
if (o[key] === undefined || typeof o[key] === 'boolean') {
o[key] = value;
diff --git a/tools/eslint/node_modules/minimist/package.json b/tools/eslint/node_modules/minimist/package.json
index d60f3487d5..e5c12e88ac 100644
--- a/tools/eslint/node_modules/minimist/package.json
+++ b/tools/eslint/node_modules/minimist/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"minimist@0.0.8",
- "/Users/silverwind/git/node/tools/package/package/node_modules/mkdirp"
+ "/Users/trott/io.js/tools/node_modules/mkdirp"
]
],
"_from": "minimist@0.0.8",
@@ -31,7 +31,7 @@
"_shasum": "857fcabfc3397d2625b8228262e86aa7a011b05d",
"_shrinkwrap": null,
"_spec": "minimist@0.0.8",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/mkdirp",
+ "_where": "/Users/trott/io.js/tools/node_modules/mkdirp",
"author": {
"email": "mail@substack.net",
"name": "James Halliday",
@@ -55,15 +55,15 @@
"keywords": [
"argv",
"getopt",
- "optimist",
- "parser"
+ "parser",
+ "optimist"
],
"license": "MIT",
"main": "index.js",
"maintainers": [
{
- "name": "substack",
- "email": "mail@substack.net"
+ "email": "mail@substack.net",
+ "name": "substack"
}
],
"name": "minimist",
@@ -78,14 +78,14 @@
},
"testling": {
"browsers": [
- "chrome/10",
- "chrome/latest",
+ "ie/6..latest",
"ff/5",
"firefox/latest",
- "ie/6..latest",
- "opera/12",
+ "chrome/10",
+ "chrome/latest",
"safari/5.1",
- "safari/latest"
+ "safari/latest",
+ "opera/12"
],
"files": "test/*.js"
},
diff --git a/tools/eslint/node_modules/mkdirp/package.json b/tools/eslint/node_modules/mkdirp/package.json
index 15795ba7b3..b30b978d47 100644
--- a/tools/eslint/node_modules/mkdirp/package.json
+++ b/tools/eslint/node_modules/mkdirp/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"mkdirp@^0.5.0",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "mkdirp@>=0.5.0 <0.6.0",
@@ -26,14 +26,14 @@
"type": "range"
},
"_requiredBy": [
- "/",
+ "/eslint",
"/write"
],
"_resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"_shasum": "30057438eac6cf7f8c4767f38648d6697d75c903",
"_shrinkwrap": null,
"_spec": "mkdirp@^0.5.0",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"author": {
"email": "mail@substack.net",
"name": "James Halliday",
@@ -61,15 +61,15 @@
"gitHead": "d4eff0f06093aed4f387e88e9fc301cb76beedc7",
"homepage": "https://github.com/substack/node-mkdirp#readme",
"keywords": [
- "directory",
- "mkdir"
+ "mkdir",
+ "directory"
],
"license": "MIT",
"main": "index.js",
"maintainers": [
{
- "name": "substack",
- "email": "mail@substack.net"
+ "email": "mail@substack.net",
+ "name": "substack"
}
],
"name": "mkdirp",
diff --git a/tools/eslint/node_modules/ms/package.json b/tools/eslint/node_modules/ms/package.json
index bbe7f3a421..275f0b0ea8 100644
--- a/tools/eslint/node_modules/ms/package.json
+++ b/tools/eslint/node_modules/ms/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"ms@0.7.1",
- "/Users/silverwind/git/node/tools/package/package/node_modules/debug"
+ "/Users/trott/io.js/tools/node_modules/debug"
]
],
"_from": "ms@0.7.1",
@@ -32,7 +32,7 @@
"_shasum": "9cd13c03adbff25b65effde7ce864ee952017098",
"_shrinkwrap": null,
"_spec": "ms@0.7.1",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/debug",
+ "_where": "/Users/trott/io.js/tools/node_modules/debug",
"bugs": {
"url": "https://github.com/guille/ms.js/issues"
},
@@ -58,8 +58,8 @@
"main": "./index",
"maintainers": [
{
- "name": "rauchg",
- "email": "rauchg@gmail.com"
+ "email": "rauchg@gmail.com",
+ "name": "rauchg"
}
],
"name": "ms",
diff --git a/tools/eslint/node_modules/mute-stream/package.json b/tools/eslint/node_modules/mute-stream/package.json
index 21873b85d5..734ae4af44 100644
--- a/tools/eslint/node_modules/mute-stream/package.json
+++ b/tools/eslint/node_modules/mute-stream/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"mute-stream@0.0.5",
- "/Users/silverwind/git/node/tools/package/package/node_modules/readline2"
+ "/Users/trott/io.js/tools/node_modules/readline2"
]
],
"_from": "mute-stream@0.0.5",
@@ -32,7 +32,7 @@
"_shasum": "8fbfabb0a98a253d3184331f9e8deb7372fac6c0",
"_shrinkwrap": null,
"_spec": "mute-stream@0.0.5",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/readline2",
+ "_where": "/Users/trott/io.js/tools/node_modules/readline2",
"author": {
"email": "i@izs.me",
"name": "Isaac Z. Schlueter",
@@ -57,15 +57,15 @@
"homepage": "https://github.com/isaacs/mute-stream#readme",
"keywords": [
"mute",
- "pipe",
- "stream"
+ "stream",
+ "pipe"
],
"license": "ISC",
"main": "mute.js",
"maintainers": [
{
- "name": "isaacs",
- "email": "i@izs.me"
+ "email": "i@izs.me",
+ "name": "isaacs"
}
],
"name": "mute-stream",
diff --git a/tools/eslint/node_modules/number-is-nan/package.json b/tools/eslint/node_modules/number-is-nan/package.json
index 536c70fc9c..bcbbc5b194 100644
--- a/tools/eslint/node_modules/number-is-nan/package.json
+++ b/tools/eslint/node_modules/number-is-nan/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"number-is-nan@^1.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/code-point-at"
+ "/Users/trott/io.js/tools/node_modules/code-point-at"
]
],
"_from": "number-is-nan@>=1.0.0 <2.0.0",
@@ -33,7 +33,7 @@
"_shasum": "c020f529c5282adfdd233d91d4b181c3d686dc4b",
"_shrinkwrap": null,
"_spec": "number-is-nan@^1.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/code-point-at",
+ "_where": "/Users/trott/io.js/tools/node_modules/code-point-at",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -61,23 +61,23 @@
"gitHead": "0f394b1bc33185c40304363b209e3f0588dbeeb3",
"homepage": "https://github.com/sindresorhus/number-is-nan#readme",
"keywords": [
- "ecmascript",
- "es2015",
"es6",
+ "es2015",
+ "ecmascript",
"harmony",
+ "ponyfill",
+ "polyfill",
+ "shim",
+ "number",
"is",
"nan",
- "not",
- "number",
- "polyfill",
- "ponyfill",
- "shim"
+ "not"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "number-is-nan",
diff --git a/tools/eslint/node_modules/object-assign/package.json b/tools/eslint/node_modules/object-assign/package.json
index 8323c38b91..5fbfdaa638 100644
--- a/tools/eslint/node_modules/object-assign/package.json
+++ b/tools/eslint/node_modules/object-assign/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"object-assign@^4.0.1",
- "/Users/silverwind/git/node/tools/package/package/node_modules/esrecurse"
+ "/Users/trott/io.js/tools/node_modules/esrecurse"
]
],
"_from": "object-assign@>=4.0.1 <5.0.0",
@@ -35,7 +35,7 @@
"_shasum": "99504456c3598b5cad4fc59c26e8a9bb107fe0bd",
"_shrinkwrap": null,
"_spec": "object-assign@^4.0.1",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/esrecurse",
+ "_where": "/Users/trott/io.js/tools/node_modules/esrecurse",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -66,24 +66,24 @@
"gitHead": "b0c40d37cbc43e89ad3326a9bad4c6b3133ba6d3",
"homepage": "https://github.com/sindresorhus/object-assign#readme",
"keywords": [
+ "object",
"assign",
- "browser",
- "ecmascript",
- "es6",
"extend",
+ "properties",
+ "es6",
+ "ecmascript",
"harmony",
- "object",
- "polyfill",
"ponyfill",
"prollyfill",
- "properties",
- "shim"
+ "polyfill",
+ "shim",
+ "browser"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "object-assign",
@@ -100,8 +100,8 @@
"version": "4.0.1",
"xo": {
"envs": [
- "mocha",
- "node"
+ "node",
+ "mocha"
]
}
}
diff --git a/tools/eslint/node_modules/once/package.json b/tools/eslint/node_modules/once/package.json
index ceb6c17041..f63e5f7457 100644
--- a/tools/eslint/node_modules/once/package.json
+++ b/tools/eslint/node_modules/once/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"once@^1.3.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/globby/node_modules/glob"
+ "/Users/trott/io.js/tools/node_modules/globby/node_modules/glob"
]
],
"_from": "once@>=1.3.0 <2.0.0",
@@ -35,7 +35,7 @@
"_shasum": "b2e261557ce4c314ec8304f3fa82663e4297ca20",
"_shrinkwrap": null,
"_spec": "once@^1.3.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/globby/node_modules/glob",
+ "_where": "/Users/trott/io.js/tools/node_modules/globby/node_modules/glob",
"author": {
"email": "i@izs.me",
"name": "Isaac Z. Schlueter",
@@ -64,8 +64,8 @@
"gitHead": "2ad558657e17fafd24803217ba854762842e4178",
"homepage": "https://github.com/isaacs/once#readme",
"keywords": [
- "function",
"once",
+ "function",
"one",
"single"
],
@@ -73,8 +73,8 @@
"main": "once.js",
"maintainers": [
{
- "name": "isaacs",
- "email": "i@izs.me"
+ "email": "i@izs.me",
+ "name": "isaacs"
}
],
"name": "once",
diff --git a/tools/eslint/node_modules/onetime/package.json b/tools/eslint/node_modules/onetime/package.json
index e059fd9269..00cc120166 100644
--- a/tools/eslint/node_modules/onetime/package.json
+++ b/tools/eslint/node_modules/onetime/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"onetime@^1.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/restore-cursor"
+ "/Users/trott/io.js/tools/node_modules/restore-cursor"
]
],
"_from": "onetime@>=1.0.0 <2.0.0",
@@ -32,7 +32,7 @@
"_shasum": "a1f7838f8314c516f05ecefcbc4ccfe04b4ed789",
"_shrinkwrap": null,
"_spec": "onetime@^1.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/restore-cursor",
+ "_where": "/Users/trott/io.js/tools/node_modules/restore-cursor",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -61,18 +61,18 @@
"gitHead": "6fae2fb77b95b49719d1c270d8ba07d9515bdfe8",
"homepage": "https://github.com/sindresorhus/onetime",
"keywords": [
- "call",
- "function",
"once",
"one",
- "prevent",
- "single"
+ "single",
+ "call",
+ "function",
+ "prevent"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "onetime",
diff --git a/tools/eslint/node_modules/onetime/readme.md b/tools/eslint/node_modules/onetime/readme.md
index a51cada0b2..e27d2bcb47 100644
--- a/tools/eslint/node_modules/onetime/readme.md
+++ b/tools/eslint/node_modules/onetime/readme.md
@@ -39,7 +39,7 @@ Function that should only be called once.
#### shouldThrow
-Type: `boolean`
+Type: `boolean`
Default: `false`
![](screenshot-shouldthrow.png)
diff --git a/tools/eslint/node_modules/optionator/package.json b/tools/eslint/node_modules/optionator/package.json
index 3bce321a1f..0a23d2ec59 100644
--- a/tools/eslint/node_modules/optionator/package.json
+++ b/tools/eslint/node_modules/optionator/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"optionator@^0.8.1",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "optionator@>=0.8.1 <0.9.0",
@@ -26,13 +26,13 @@
"type": "range"
},
"_requiredBy": [
- "/"
+ "/eslint"
],
"_resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.1.tgz",
"_shasum": "e31b4932cdd5fb862a8b0d10bc63d3ee1ec7d78b",
"_shrinkwrap": null,
"_spec": "optionator@^0.8.1",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"author": {
"email": "z@georgezahariev.com",
"name": "George Zahariev"
@@ -63,24 +63,24 @@
"node": ">= 0.8.0"
},
"files": [
- "LICENSE",
+ "lib",
"README.md",
- "lib"
+ "LICENSE"
],
"gitHead": "88e905d2546df814bc20ff88af93eec8c47c216c",
"homepage": "https://github.com/gkz/optionator",
"keywords": [
- "cli",
+ "options",
"flags",
"option parsing",
- "options"
+ "cli"
],
"license": "MIT",
"main": "./lib/",
"maintainers": [
{
- "name": "gkz",
- "email": "z@georgezahariev.com"
+ "email": "z@georgezahariev.com",
+ "name": "gkz"
}
],
"name": "optionator",
diff --git a/tools/eslint/node_modules/os-homedir/package.json b/tools/eslint/node_modules/os-homedir/package.json
index 356180ab56..c52db9372e 100644
--- a/tools/eslint/node_modules/os-homedir/package.json
+++ b/tools/eslint/node_modules/os-homedir/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"os-homedir@^1.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/user-home"
+ "/Users/trott/io.js/tools/node_modules/user-home"
]
],
"_from": "os-homedir@>=1.0.0 <2.0.0",
@@ -32,7 +32,7 @@
"_shasum": "0d62bdf44b916fd3bbdcf2cab191948fb094f007",
"_shrinkwrap": null,
"_spec": "os-homedir@^1.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/user-home",
+ "_where": "/Users/trott/io.js/tools/node_modules/user-home",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -50,7 +50,7 @@
"directories": {},
"dist": {
"shasum": "0d62bdf44b916fd3bbdcf2cab191948fb094f007",
- "tarball": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz"
+ "tarball": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz"
},
"engines": {
"node": ">=0.10.0"
@@ -63,23 +63,23 @@
"keywords": [
"built-in",
"core",
+ "ponyfill",
+ "polyfill",
+ "shim",
+ "os",
+ "homedir",
+ "home",
"dir",
"directory",
"folder",
- "home",
- "homedir",
- "os",
- "path",
- "polyfill",
- "ponyfill",
- "shim",
- "user"
+ "user",
+ "path"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "os-homedir",
diff --git a/tools/eslint/node_modules/path-is-absolute/package.json b/tools/eslint/node_modules/path-is-absolute/package.json
index cab1282926..b272f1e065 100644
--- a/tools/eslint/node_modules/path-is-absolute/package.json
+++ b/tools/eslint/node_modules/path-is-absolute/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"path-is-absolute@^1.0.0",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "path-is-absolute@>=1.0.0 <2.0.0",
@@ -26,7 +26,7 @@
"type": "range"
},
"_requiredBy": [
- "/",
+ "/eslint",
"/glob",
"/globby/glob"
],
@@ -34,7 +34,7 @@
"_shasum": "263dada66ab3f2fb10bf7f9d24dd8f3e570ef912",
"_shrinkwrap": null,
"_spec": "path-is-absolute@^1.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -60,29 +60,29 @@
"gitHead": "7a76a0c9f2263192beedbe0a820e4d0baee5b7a1",
"homepage": "https://github.com/sindresorhus/path-is-absolute",
"keywords": [
+ "path",
+ "paths",
+ "file",
+ "dir",
"absolute",
+ "isabsolute",
+ "is-absolute",
"built-in",
- "check",
+ "util",
+ "utils",
"core",
- "detect",
- "dir",
- "file",
- "is",
- "is-absolute",
- "isabsolute",
- "path",
- "paths",
- "polyfill",
"ponyfill",
+ "polyfill",
"shim",
- "util",
- "utils"
+ "is",
+ "detect",
+ "check"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "path-is-absolute",
diff --git a/tools/eslint/node_modules/path-is-inside/package.json b/tools/eslint/node_modules/path-is-inside/package.json
index ffa120b55f..fdfb35ab1b 100644
--- a/tools/eslint/node_modules/path-is-inside/package.json
+++ b/tools/eslint/node_modules/path-is-inside/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"path-is-inside@^1.0.1",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "path-is-inside@>=1.0.1 <2.0.0",
@@ -25,14 +25,14 @@
"type": "range"
},
"_requiredBy": [
- "/",
+ "/eslint",
"/is-path-inside"
],
"_resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz",
"_shasum": "98d8f1d030bf04bd7aeee4a1ba5485d40318fd89",
"_shrinkwrap": null,
"_spec": "path-is-inside@^1.0.1",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"author": {
"email": "domenic@domenicdenicola.com",
"name": "Domenic Denicola",
@@ -54,18 +54,18 @@
},
"homepage": "https://github.com/domenic/path-is-inside",
"keywords": [
+ "path",
"directory",
"folder",
"inside",
- "path",
"relative"
],
"license": "WTFPL",
"main": "lib/path-is-inside.js",
"maintainers": [
{
- "name": "domenic",
- "email": "domenic@domenicdenicola.com"
+ "email": "domenic@domenicdenicola.com",
+ "name": "domenic"
}
],
"name": "path-is-inside",
diff --git a/tools/eslint/node_modules/pify/package.json b/tools/eslint/node_modules/pify/package.json
index 7632bef1df..bf8e9afa9b 100644
--- a/tools/eslint/node_modules/pify/package.json
+++ b/tools/eslint/node_modules/pify/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"pify@^2.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/del"
+ "/Users/trott/io.js/tools/node_modules/del"
]
],
"_from": "pify@>=2.0.0 <3.0.0",
@@ -33,7 +33,7 @@
"_shasum": "ed141a6ac043a849ea588498e7dca8b15330e90c",
"_shrinkwrap": null,
"_spec": "pify@^2.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/del",
+ "_where": "/Users/trott/io.js/tools/node_modules/del",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -64,30 +64,30 @@
"gitHead": "2dd0d8b880e4ebcc5cc33ae126b02647418e4440",
"homepage": "https://github.com/sindresorhus/pify",
"keywords": [
- "async",
- "bind",
- "callback",
- "cb",
- "convert",
- "denodeify",
- "denodify",
- "es2015",
- "node",
"promise",
"promises",
"promisify",
+ "denodify",
+ "denodeify",
+ "callback",
+ "cb",
+ "node",
"then",
"thenify",
- "to",
+ "convert",
"transform",
"wrap",
- "wrapper"
+ "wrapper",
+ "bind",
+ "to",
+ "async",
+ "es2015"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "pify",
diff --git a/tools/eslint/node_modules/pify/readme.md b/tools/eslint/node_modules/pify/readme.md
index 97aeeb628b..c79ca8bf64 100644
--- a/tools/eslint/node_modules/pify/readme.md
+++ b/tools/eslint/node_modules/pify/readme.md
@@ -56,7 +56,7 @@ Check out [`pinkie-promise`](https://github.com/floatdrop/pinkie-promise) if you
##### multiArgs
-Type: `boolean`
+Type: `boolean`
Default: `false`
By default, the promisified function will only return the second argument from the callback, which works fine for most APIs. This option can be useful for modules like `request` that return multiple arguments. Turning this on will make it return an array of all arguments from the callback, excluding the error argument, instead of just the second argument.
@@ -78,14 +78,14 @@ Methods in a module to promisify. Remaining methods will be left untouched.
##### exclude
-Type: `array` of (`string`|`regex`)
+Type: `array` of (`string`|`regex`)
Default: `[/.+Sync$/]`
Methods in a module **not** to promisify. Methods with names ending with `'Sync'` are excluded by default.
##### excludeMain
-Type: `boolean`
+Type: `boolean`
Default: `false`
By default, if given module is a function itself, this function will be promisified. Turn this option on if you want to promisify only methods of the module.
diff --git a/tools/eslint/node_modules/pinkie-promise/index.js b/tools/eslint/node_modules/pinkie-promise/index.js
index cc64b902c8..777377a1f7 100644
--- a/tools/eslint/node_modules/pinkie-promise/index.js
+++ b/tools/eslint/node_modules/pinkie-promise/index.js
@@ -1,3 +1,3 @@
'use strict';
-module.exports = global.Promise || require('pinkie');
+module.exports = typeof Promise === 'function' ? Promise : require('pinkie');
diff --git a/tools/eslint/node_modules/pinkie-promise/package.json b/tools/eslint/node_modules/pinkie-promise/package.json
index 3cd9e76b70..91770fb785 100644
--- a/tools/eslint/node_modules/pinkie-promise/package.json
+++ b/tools/eslint/node_modules/pinkie-promise/package.json
@@ -2,20 +2,24 @@
"_args": [
[
"pinkie-promise@^2.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/del"
+ "/Users/trott/io.js/tools/node_modules/del"
]
],
"_from": "pinkie-promise@>=2.0.0 <3.0.0",
- "_id": "pinkie-promise@2.0.0",
+ "_id": "pinkie-promise@2.0.1",
"_inCache": true,
"_installable": true,
"_location": "/pinkie-promise",
- "_nodeVersion": "4.2.0",
+ "_nodeVersion": "4.4.1",
+ "_npmOperationalInternal": {
+ "host": "packages-16-east.internal.npmjs.com",
+ "tmp": "tmp/pinkie-promise-2.0.1.tgz_1460309839126_0.3422858319245279"
+ },
"_npmUser": {
"email": "floatdrop@gmail.com",
"name": "floatdrop"
},
- "_npmVersion": "2.14.7",
+ "_npmVersion": "2.14.20",
"_phantomChildren": {},
"_requested": {
"name": "pinkie-promise",
@@ -29,11 +33,11 @@
"/del",
"/globby"
],
- "_resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.0.tgz",
- "_shasum": "4c83538de1f6e660c29e0a13446844f7a7e88259",
+ "_resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "_shasum": "2135d6dfa7a358c069ac9b178776288228450ffa",
"_shrinkwrap": null,
"_spec": "pinkie-promise@^2.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/del",
+ "_where": "/Users/trott/io.js/tools/node_modules/del",
"author": {
"email": "floatdrop@gmail.com",
"name": "Vsevolod Strukchinsky",
@@ -51,8 +55,8 @@
},
"directories": {},
"dist": {
- "shasum": "4c83538de1f6e660c29e0a13446844f7a7e88259",
- "tarball": "http://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.0.tgz"
+ "shasum": "2135d6dfa7a358c069ac9b178776288228450ffa",
+ "tarball": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
},
"engines": {
"node": ">=0.10.0"
@@ -60,21 +64,21 @@
"files": [
"index.js"
],
- "gitHead": "f90fcae9838bcae7ae1ae4ebc9b29f11e5db4980",
+ "gitHead": "4a936c09c34ad591a25db93f1216d242de0d6184",
"homepage": "https://github.com/floatdrop/pinkie-promise",
"keywords": [
+ "promise",
+ "promises",
"es2015",
"es6",
"polyfill",
- "ponyfill",
- "promise",
- "promises"
+ "ponyfill"
],
"license": "MIT",
"maintainers": [
{
- "name": "floatdrop",
- "email": "floatdrop@gmail.com"
+ "email": "floatdrop@gmail.com",
+ "name": "floatdrop"
}
],
"name": "pinkie-promise",
@@ -87,5 +91,5 @@
"scripts": {
"test": "mocha"
},
- "version": "2.0.0"
+ "version": "2.0.1"
}
diff --git a/tools/eslint/node_modules/pinkie/package.json b/tools/eslint/node_modules/pinkie/package.json
index 46e4697863..a7a2a00b09 100644
--- a/tools/eslint/node_modules/pinkie/package.json
+++ b/tools/eslint/node_modules/pinkie/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"pinkie@^2.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/pinkie-promise"
+ "/Users/trott/io.js/tools/node_modules/pinkie-promise"
]
],
"_from": "pinkie@>=2.0.0 <3.0.0",
@@ -32,7 +32,7 @@
"_shasum": "72556b80cfa0d48a974e80e77248e80ed4f7f870",
"_shrinkwrap": null,
"_spec": "pinkie@^2.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/pinkie-promise",
+ "_where": "/Users/trott/io.js/tools/node_modules/pinkie-promise",
"author": {
"email": "floatdrop@gmail.com",
"name": "Vsevolod Strukchinsky",
@@ -54,7 +54,7 @@
"directories": {},
"dist": {
"shasum": "72556b80cfa0d48a974e80e77248e80ed4f7f870",
- "tarball": "http://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz"
+ "tarball": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz"
},
"engines": {
"node": ">=0.10.0"
@@ -65,16 +65,16 @@
"gitHead": "8d4a92447a5c62bff9f89756caeb4c9c8770579b",
"homepage": "https://github.com/floatdrop/pinkie",
"keywords": [
- "es2015",
- "es6",
"promise",
- "promises"
+ "promises",
+ "es2015",
+ "es6"
],
"license": "MIT",
"maintainers": [
{
- "name": "floatdrop",
- "email": "floatdrop@gmail.com"
+ "email": "floatdrop@gmail.com",
+ "name": "floatdrop"
}
],
"name": "pinkie",
diff --git a/tools/eslint/node_modules/pinkie/readme.md b/tools/eslint/node_modules/pinkie/readme.md
index 54747f60cc..1565f95889 100644
--- a/tools/eslint/node_modules/pinkie/readme.md
+++ b/tools/eslint/node_modules/pinkie/readme.md
@@ -51,7 +51,7 @@ Returns new instance of `Promise`.
##### executor
-*Required*
+*Required*
Type: `function`
Function with two arguments `resolve` and `reject`. The first argument fulfills the promise, the second argument rejects it.
diff --git a/tools/eslint/node_modules/pluralize/package.json b/tools/eslint/node_modules/pluralize/package.json
index 78369cfcd0..f4b7011095 100644
--- a/tools/eslint/node_modules/pluralize/package.json
+++ b/tools/eslint/node_modules/pluralize/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"pluralize@^1.2.1",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "pluralize@>=1.2.1 <2.0.0",
@@ -26,13 +26,13 @@
"type": "range"
},
"_requiredBy": [
- "/"
+ "/eslint"
],
"_resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz",
"_shasum": "d1a21483fd22bb41e58a12fa3421823140897c45",
"_shrinkwrap": null,
"_spec": "pluralize@^1.2.1",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"author": {
"email": "hello@blakeembrey.com",
"name": "Blake Embrey",
@@ -53,18 +53,18 @@
"directories": {},
"dist": {
"shasum": "d1a21483fd22bb41e58a12fa3421823140897c45",
- "tarball": "http://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz"
+ "tarball": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz"
},
"files": [
- "LICENSE",
- "pluralize.js"
+ "pluralize.js",
+ "LICENSE"
],
"gitHead": "a956c0dbca8782b588f8cd3229f16e8436d1ee73",
"homepage": "https://github.com/blakeembrey/pluralize",
"keywords": [
"plural",
- "pluralize",
"plurals",
+ "pluralize",
"singular",
"singularize"
],
@@ -72,8 +72,8 @@
"main": "pluralize.js",
"maintainers": [
{
- "name": "blakeembrey",
- "email": "me@blakeembrey.com"
+ "email": "me@blakeembrey.com",
+ "name": "blakeembrey"
}
],
"name": "pluralize",
diff --git a/tools/eslint/node_modules/prelude-ls/package.json b/tools/eslint/node_modules/prelude-ls/package.json
index 18f35bcd6c..8ecbb9a301 100644
--- a/tools/eslint/node_modules/prelude-ls/package.json
+++ b/tools/eslint/node_modules/prelude-ls/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"prelude-ls@~1.1.2",
- "/Users/silverwind/git/node/tools/package/package/node_modules/optionator"
+ "/Users/trott/io.js/tools/node_modules/optionator"
]
],
"_from": "prelude-ls@>=1.1.2 <1.2.0",
@@ -34,7 +34,7 @@
"_shasum": "21932a549f5e52ffd9a827f570e04be62a97da54",
"_shrinkwrap": null,
"_spec": "prelude-ls@~1.1.2",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/optionator",
+ "_where": "/Users/trott/io.js/tools/node_modules/optionator",
"author": {
"email": "z@georgezahariev.com",
"name": "George Zahariev"
@@ -61,25 +61,25 @@
"node": ">= 0.8.0"
},
"files": [
- "LICENSE",
+ "lib/",
"README.md",
- "lib/"
+ "LICENSE"
],
"gitHead": "d69be8fd8a682321ba24eced17caf3a1b8ca73b8",
"homepage": "http://preludels.com",
"keywords": [
- "array",
+ "prelude",
+ "livescript",
+ "utility",
+ "ls",
"coffeescript",
- "functional",
"javascript",
"library",
+ "functional",
+ "array",
"list",
- "livescript",
- "ls",
"object",
- "prelude",
- "string",
- "utility"
+ "string"
],
"licenses": [
{
@@ -90,8 +90,8 @@
"main": "lib/",
"maintainers": [
{
- "name": "gkz",
- "email": "z@georgezahariev.com"
+ "email": "z@georgezahariev.com",
+ "name": "gkz"
}
],
"name": "prelude-ls",
diff --git a/tools/eslint/node_modules/process-nextick-args/package.json b/tools/eslint/node_modules/process-nextick-args/package.json
index 0e19c03f4c..b29ea9dd4d 100644
--- a/tools/eslint/node_modules/process-nextick-args/package.json
+++ b/tools/eslint/node_modules/process-nextick-args/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"process-nextick-args@~1.0.6",
- "/Users/silverwind/git/node/tools/package/package/node_modules/readable-stream"
+ "/Users/trott/io.js/tools/node_modules/readable-stream"
]
],
"_from": "process-nextick-args@>=1.0.6 <1.1.0",
@@ -32,7 +32,7 @@
"_shasum": "0f96b001cea90b12592ce566edb97ec11e69bd05",
"_shrinkwrap": null,
"_spec": "process-nextick-args@~1.0.6",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/readable-stream",
+ "_where": "/Users/trott/io.js/tools/node_modules/readable-stream",
"author": "",
"bugs": {
"url": "https://github.com/calvinmetcalf/process-nextick-args/issues"
@@ -53,8 +53,8 @@
"main": "index.js",
"maintainers": [
{
- "name": "cwmma",
- "email": "calvin.metcalf@gmail.com"
+ "email": "calvin.metcalf@gmail.com",
+ "name": "cwmma"
}
],
"name": "process-nextick-args",
diff --git a/tools/eslint/node_modules/progress/package.json b/tools/eslint/node_modules/progress/package.json
index 8cd6b0a4f9..c8036599be 100644
--- a/tools/eslint/node_modules/progress/package.json
+++ b/tools/eslint/node_modules/progress/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"progress@^1.1.8",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "progress@>=1.1.8 <2.0.0",
@@ -25,13 +25,13 @@
"type": "range"
},
"_requiredBy": [
- "/"
+ "/eslint"
],
"_resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
"_shasum": "e260c78f6161cdd9b0e56cc3e0a85de17c7a57be",
"_shrinkwrap": null,
"_spec": "progress@^1.1.8",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"author": {
"email": "tj@vision-media.ca",
"name": "TJ Holowaychuk"
@@ -41,12 +41,12 @@
},
"contributors": [
{
- "name": "Christoffer Hallas",
- "email": "christoffer.hallas@gmail.com"
+ "email": "christoffer.hallas@gmail.com",
+ "name": "Christoffer Hallas"
},
{
- "name": "Jordan Scales",
- "email": "scalesjordan@gmail.com"
+ "email": "scalesjordan@gmail.com",
+ "name": "Jordan Scales"
}
],
"dependencies": {},
@@ -69,16 +69,16 @@
"main": "index",
"maintainers": [
{
- "name": "tjholowaychuk",
- "email": "tj@vision-media.ca"
+ "email": "tj@vision-media.ca",
+ "name": "tjholowaychuk"
},
{
- "name": "hallas",
- "email": "christoffer.hallas@forsvikgroup.com"
+ "email": "christoffer.hallas@forsvikgroup.com",
+ "name": "hallas"
},
{
- "name": "prezjordan",
- "email": "scalesjordan@gmail.com"
+ "email": "scalesjordan@gmail.com",
+ "name": "prezjordan"
}
],
"name": "progress",
diff --git a/tools/eslint/node_modules/read-json-sync/README.md b/tools/eslint/node_modules/read-json-sync/README.md
index d395cf3774..822c694d79 100755
--- a/tools/eslint/node_modules/read-json-sync/README.md
+++ b/tools/eslint/node_modules/read-json-sync/README.md
@@ -33,8 +33,8 @@ const readJsonSync = require('read-json-sync');
### readJsonSync(*filePath* [, *options*])
-*filePath*: `String` (path to a JSON file)
-*options*: `Object` ([`fs.readFile`](https://nodejs.org/api/fs.html#fs_fs_readfile_filename_options_callback) options)
+*filePath*: `String` (path to a JSON file)
+*options*: `Object` ([`fs.readFile`](https://nodejs.org/api/fs.html#fs_fs_readfile_filename_options_callback) options)
Return: `Object` (parsed [JSON](https://tools.ietf.org/html/rfc7159) data)
## License
diff --git a/tools/eslint/node_modules/read-json-sync/package.json b/tools/eslint/node_modules/read-json-sync/package.json
index d2152d45dd..fccbcc6a21 100644
--- a/tools/eslint/node_modules/read-json-sync/package.json
+++ b/tools/eslint/node_modules/read-json-sync/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"read-json-sync@^1.1.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/flat-cache"
+ "/Users/trott/io.js/tools/node_modules/flat-cache"
]
],
"_from": "read-json-sync@>=1.1.0 <2.0.0",
@@ -32,7 +32,7 @@
"_shasum": "43c669ae864aae308dfbbb2721a67e295ec8fff6",
"_shrinkwrap": null,
"_spec": "read-json-sync@^1.1.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/flat-cache",
+ "_where": "/Users/trott/io.js/tools/node_modules/flat-cache",
"author": {
"name": "Shinnosuke Watanabe",
"url": "https://github.com/shinnn"
@@ -63,20 +63,20 @@
"homepage": "https://github.com/shinnn/read-json-sync#readme",
"keywords": [
"data",
- "file",
"json",
+ "file",
+ "read",
"load",
"parse",
- "read",
- "sync",
"synchronous",
- "synchronously"
+ "synchronously",
+ "sync"
],
"license": "MIT",
"maintainers": [
{
- "name": "shinnn",
- "email": "snnskwtnb@gmail.com"
+ "email": "snnskwtnb@gmail.com",
+ "name": "shinnn"
}
],
"name": "read-json-sync",
diff --git a/tools/eslint/node_modules/readable-stream/README.md b/tools/eslint/node_modules/readable-stream/README.md
index 1a67c48cd0..86b95a3bf6 100644
--- a/tools/eslint/node_modules/readable-stream/README.md
+++ b/tools/eslint/node_modules/readable-stream/README.md
@@ -21,7 +21,7 @@ Node-core, including [documentation](doc/stream.markdown).
If you want to guarantee a stable streams base, regardless of what version of
Node you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *"stream"* module in Node-core, for background see [this blogpost](http://r.va.gg/2014/06/why-i-dont-use-nodes-core-stream-module.html).
-As of version 2.0.0 **readable-stream** uses semantic versioning.
+As of version 2.0.0 **readable-stream** uses semantic versioning.
# Streams WG Team Members
diff --git a/tools/eslint/node_modules/readable-stream/package.json b/tools/eslint/node_modules/readable-stream/package.json
index 12395c9827..1bf4d021ae 100644
--- a/tools/eslint/node_modules/readable-stream/package.json
+++ b/tools/eslint/node_modules/readable-stream/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"readable-stream@~2.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/concat-stream"
+ "/Users/trott/io.js/tools/node_modules/concat-stream"
]
],
"_from": "readable-stream@>=2.0.0 <2.1.0",
@@ -36,7 +36,7 @@
"_shasum": "8f90341e68a53ccc928788dacfcd11b36eb9b78e",
"_shrinkwrap": null,
"_spec": "readable-stream@~2.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/concat-stream",
+ "_where": "/Users/trott/io.js/tools/node_modules/concat-stream",
"browser": {
"util": false
},
@@ -60,33 +60,33 @@
"directories": {},
"dist": {
"shasum": "8f90341e68a53ccc928788dacfcd11b36eb9b78e",
- "tarball": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz"
+ "tarball": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz"
},
"gitHead": "01fb5608a970b42c900b96746cadc13d27dd9d7e",
"homepage": "https://github.com/nodejs/readable-stream#readme",
"keywords": [
- "pipe",
"readable",
- "stream"
+ "stream",
+ "pipe"
],
"license": "MIT",
"main": "readable.js",
"maintainers": [
{
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
+ "email": "isaacs@npmjs.com",
+ "name": "isaacs"
},
{
- "name": "tootallnate",
- "email": "nathan@tootallnate.net"
+ "email": "nathan@tootallnate.net",
+ "name": "tootallnate"
},
{
- "name": "rvagg",
- "email": "rod@vagg.org"
+ "email": "rod@vagg.org",
+ "name": "rvagg"
},
{
- "name": "cwmma",
- "email": "calvin.metcalf@gmail.com"
+ "email": "calvin.metcalf@gmail.com",
+ "name": "cwmma"
}
],
"name": "readable-stream",
diff --git a/tools/eslint/node_modules/readline2/package.json b/tools/eslint/node_modules/readline2/package.json
index 2330090a4c..646942df2d 100644
--- a/tools/eslint/node_modules/readline2/package.json
+++ b/tools/eslint/node_modules/readline2/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"readline2@^1.0.1",
- "/Users/silverwind/git/node/tools/package/package/node_modules/inquirer"
+ "/Users/trott/io.js/tools/node_modules/inquirer"
]
],
"_from": "readline2@>=1.0.1 <2.0.0",
@@ -32,7 +32,7 @@
"_shasum": "41059608ffc154757b715d9989d199ffbf372e35",
"_shrinkwrap": null,
"_spec": "readline2@^1.0.1",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/inquirer",
+ "_where": "/Users/trott/io.js/tools/node_modules/inquirer",
"author": {
"email": "admin@simonboudrias.com",
"name": "Simon Boudrias"
@@ -62,17 +62,17 @@
"gitHead": "32aa9851e2cbb0610364d5009165be6fb2fed4ef",
"homepage": "https://github.com/sboudrias/readline2#readme",
"keywords": [
- "ansi",
"cli",
- "readline",
"terminal",
- "tty"
+ "readline",
+ "tty",
+ "ansi"
],
"license": "MIT",
"maintainers": [
{
- "name": "sboudrias",
- "email": "admin@simonboudrias.com"
+ "email": "admin@simonboudrias.com",
+ "name": "sboudrias"
}
],
"name": "readline2",
diff --git a/tools/eslint/node_modules/require-uncached/package.json b/tools/eslint/node_modules/require-uncached/package.json
index c08f560d49..560f8c1875 100644
--- a/tools/eslint/node_modules/require-uncached/package.json
+++ b/tools/eslint/node_modules/require-uncached/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"require-uncached@^1.0.2",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "require-uncached@>=1.0.2 <2.0.0",
@@ -25,13 +25,13 @@
"type": "range"
},
"_requiredBy": [
- "/"
+ "/eslint"
],
"_resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.2.tgz",
"_shasum": "67dad3b733089e77030124678a459589faf6a7ec",
"_shrinkwrap": null,
"_spec": "require-uncached@^1.0.2",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -51,7 +51,7 @@
"directories": {},
"dist": {
"shasum": "67dad3b733089e77030124678a459589faf6a7ec",
- "tarball": "http://registry.npmjs.org/require-uncached/-/require-uncached-1.0.2.tgz"
+ "tarball": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.2.tgz"
},
"engines": {
"node": ">=0.10.0"
@@ -61,19 +61,19 @@
],
"homepage": "https://github.com/sindresorhus/require-uncached",
"keywords": [
- "bypass",
- "cache",
- "fresh",
- "module",
"require",
+ "cache",
"uncache",
- "uncached"
+ "uncached",
+ "module",
+ "fresh",
+ "bypass"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "require-uncached",
diff --git a/tools/eslint/node_modules/resolve-from/package.json b/tools/eslint/node_modules/resolve-from/package.json
index 4f850d23ea..6e3afa5c99 100644
--- a/tools/eslint/node_modules/resolve-from/package.json
+++ b/tools/eslint/node_modules/resolve-from/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"resolve-from@^1.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/require-uncached"
+ "/Users/trott/io.js/tools/node_modules/require-uncached"
]
],
"_from": "resolve-from@>=1.0.0 <2.0.0",
@@ -32,7 +32,7 @@
"_shasum": "26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226",
"_shrinkwrap": null,
"_spec": "resolve-from@^1.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/require-uncached",
+ "_where": "/Users/trott/io.js/tools/node_modules/require-uncached",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -61,19 +61,19 @@
"gitHead": "bae2cf1d66c616ad2eb27e0fe85a10ff0f2dfc92",
"homepage": "https://github.com/sindresorhus/resolve-from",
"keywords": [
+ "require",
+ "resolve",
+ "path",
+ "module",
"from",
"like",
- "module",
- "path",
- "path",
- "require",
- "resolve"
+ "path"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "resolve-from",
diff --git a/tools/eslint/node_modules/restore-cursor/package.json b/tools/eslint/node_modules/restore-cursor/package.json
index 3338e669c4..033867aac0 100644
--- a/tools/eslint/node_modules/restore-cursor/package.json
+++ b/tools/eslint/node_modules/restore-cursor/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"restore-cursor@^1.0.1",
- "/Users/silverwind/git/node/tools/package/package/node_modules/cli-cursor"
+ "/Users/trott/io.js/tools/node_modules/cli-cursor"
]
],
"_from": "restore-cursor@>=1.0.1 <2.0.0",
@@ -32,7 +32,7 @@
"_shasum": "34661f46886327fed2991479152252df92daa541",
"_shrinkwrap": null,
"_spec": "restore-cursor@^1.0.1",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/cli-cursor",
+ "_where": "/Users/trott/io.js/tools/node_modules/cli-cursor",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -61,32 +61,32 @@
"gitHead": "91542e5be16d7ccda8e42a63d56cc783d2cfaba2",
"homepage": "https://github.com/sindresorhus/restore-cursor#readme",
"keywords": [
- "ansi",
- "cli",
- "command-line",
- "console",
- "cursor",
"exit",
- "graceful",
- "kill",
- "process",
"quit",
- "shell",
- "show",
+ "process",
+ "graceful",
"shutdown",
- "sigint",
"sigterm",
+ "sigint",
+ "terminate",
+ "kill",
"stop",
+ "cli",
+ "cursor",
+ "ansi",
+ "show",
"term",
"terminal",
- "terminate",
- "tty"
+ "console",
+ "tty",
+ "shell",
+ "command-line"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "restore-cursor",
diff --git a/tools/eslint/node_modules/rimraf/package.json b/tools/eslint/node_modules/rimraf/package.json
index ffab90b9b1..5c5532fe7c 100644
--- a/tools/eslint/node_modules/rimraf/package.json
+++ b/tools/eslint/node_modules/rimraf/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"rimraf@^2.2.8",
- "/Users/silverwind/git/node/tools/package/package/node_modules/del"
+ "/Users/trott/io.js/tools/node_modules/del"
]
],
"_from": "rimraf@>=2.2.8 <3.0.0",
@@ -36,7 +36,7 @@
"_shasum": "62ba947fa4c0b4363839aefecd4f0fbad6059726",
"_shrinkwrap": null,
"_spec": "rimraf@^2.2.8",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/del",
+ "_where": "/Users/trott/io.js/tools/node_modules/del",
"author": {
"email": "i@izs.me",
"name": "Isaac Z. Schlueter",
@@ -73,8 +73,8 @@
"main": "rimraf.js",
"maintainers": [
{
- "name": "isaacs",
- "email": "i@izs.me"
+ "email": "i@izs.me",
+ "name": "isaacs"
}
],
"name": "rimraf",
diff --git a/tools/eslint/node_modules/run-async/README.md b/tools/eslint/node_modules/run-async/README.md
index c86374b23f..d89123ca19 100644
--- a/tools/eslint/node_modules/run-async/README.md
+++ b/tools/eslint/node_modules/run-async/README.md
@@ -46,5 +46,5 @@ runAsync(asyncFn, function (answer) {
Licence
========
-Copyright (c) 2014 Simon Boudrias (twitter: @vaxilart)
+Copyright (c) 2014 Simon Boudrias (twitter: @vaxilart)
Licensed under the MIT license.
diff --git a/tools/eslint/node_modules/run-async/package.json b/tools/eslint/node_modules/run-async/package.json
index 81fc26e0cf..a90fe41c7a 100644
--- a/tools/eslint/node_modules/run-async/package.json
+++ b/tools/eslint/node_modules/run-async/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"run-async@^0.1.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/inquirer"
+ "/Users/trott/io.js/tools/node_modules/inquirer"
]
],
"_from": "run-async@>=0.1.0 <0.2.0",
@@ -31,7 +31,7 @@
"_shasum": "c8ad4a5e110661e402a7d21b530e009f25f8e389",
"_shrinkwrap": null,
"_spec": "run-async@^0.1.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/inquirer",
+ "_where": "/Users/trott/io.js/tools/node_modules/inquirer",
"author": {
"email": "admin@simonboudrias.com",
"name": "Simon Boudrias"
@@ -53,16 +53,16 @@
},
"homepage": "https://github.com/SBoudrias/run-async",
"keywords": [
- "async",
"flow",
- "flow-control"
+ "flow-control",
+ "async"
],
"license": "MIT",
"main": "index.js",
"maintainers": [
{
- "name": "sboudrias",
- "email": "admin@simonboudrias.com"
+ "email": "admin@simonboudrias.com",
+ "name": "sboudrias"
}
],
"name": "run-async",
diff --git a/tools/eslint/node_modules/rx-lite/package.json b/tools/eslint/node_modules/rx-lite/package.json
index 7688ac0f24..46937107f8 100644
--- a/tools/eslint/node_modules/rx-lite/package.json
+++ b/tools/eslint/node_modules/rx-lite/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"rx-lite@^3.1.2",
- "/Users/silverwind/git/node/tools/package/package/node_modules/inquirer"
+ "/Users/trott/io.js/tools/node_modules/inquirer"
]
],
"_from": "rx-lite@>=3.1.2 <4.0.0",
@@ -32,7 +32,7 @@
"_shasum": "19ce502ca572665f3b647b10939f97fd1615f102",
"_shrinkwrap": null,
"_spec": "rx-lite@^3.1.2",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/inquirer",
+ "_where": "/Users/trott/io.js/tools/node_modules/inquirer",
"author": {
"name": "Cloud Programmability Team",
"url": "https://github.com/Reactive-Extensions/RxJS/blob/master/authors.txt"
@@ -56,9 +56,9 @@
"main": "rx.lite.js"
},
"keywords": [
- "Events",
"React",
"Reactive",
+ "Events",
"Rx",
"RxJS"
],
@@ -71,8 +71,8 @@
"main": "rx.lite.js",
"maintainers": [
{
- "name": "mattpodwysocki",
- "email": "matthew.podwysocki@gmail.com"
+ "email": "matthew.podwysocki@gmail.com",
+ "name": "mattpodwysocki"
}
],
"name": "rx-lite",
diff --git a/tools/eslint/node_modules/rx-lite/readme.md b/tools/eslint/node_modules/rx-lite/readme.md
index e4eb3dbba7..8143ccc2b2 100644
--- a/tools/eslint/node_modules/rx-lite/readme.md
+++ b/tools/eslint/node_modules/rx-lite/readme.md
@@ -4,7 +4,7 @@ The Reactive Extensions for JavaScript Lite version is a lightweight version of
## Getting Started
-There are a number of ways to get started with RxJS.
+There are a number of ways to get started with RxJS.
### Installing with [NPM](https://npmjs.org/)
@@ -63,7 +63,7 @@ var Rx = require('rx-lite');
- [`concat`](../../doc/api/core/operators/concatproto.md)
- [`concatMap`](../../doc/api/core/operators/concatmap.md)
- [`connect`](../../doc/api/core/operators/connect.md)
-- [`debounce`](../../doc/api/core/operators/debounce.md)
+- [`debounce`](../../doc/api/core/operators/debounce.md)
- [`defaultIfEmpty`](../../doc/api/core/operators/defaultifempty.md)
- [`delay`](../../doc/api/core/operators/delay.md)
- [`dematerialize`](../../doc/api/core/operators/dematerialize.md)
diff --git a/tools/eslint/node_modules/rx-lite/rx.lite.js b/tools/eslint/node_modules/rx-lite/rx.lite.js
index e38d7a5def..21e9aa5b97 100644
--- a/tools/eslint/node_modules/rx-lite/rx.lite.js
+++ b/tools/eslint/node_modules/rx-lite/rx.lite.js
@@ -1811,7 +1811,7 @@ var FlatMapObservable = (function(__super__){
this.sources = sources;
__super__.call(this);
}
-
+
ConcatEnumerableObservable.prototype.subscribeCore = function (o) {
var isDisposed, subscription = new SerialDisposable();
var cancelable = immediateScheduler.scheduleRecursiveWithState(this.sources[$iterator$](), function (e, self) {
@@ -1836,7 +1836,7 @@ var FlatMapObservable = (function(__super__){
isDisposed = true;
}));
};
-
+
function InnerObserver(o, s, e) {
this.o = o;
this.s = s;
@@ -1865,21 +1865,21 @@ var FlatMapObservable = (function(__super__){
}
return false;
};
-
+
return ConcatEnumerableObservable;
}(ObservableBase));
Enumerable.prototype.concat = function () {
return new ConcatEnumerableObservable(this);
};
-
+
var CatchErrorObservable = (function(__super__) {
inherits(CatchErrorObservable, __super__);
function CatchErrorObservable(sources) {
this.sources = sources;
__super__.call(this);
}
-
+
CatchErrorObservable.prototype.subscribeCore = function (o) {
var e = this.sources[$iterator$]();
@@ -1908,7 +1908,7 @@ var FlatMapObservable = (function(__super__){
isDisposed = true;
}));
};
-
+
return CatchErrorObservable;
}(ObservableBase));
@@ -1969,18 +1969,18 @@ var FlatMapObservable = (function(__super__){
}));
});
};
-
+
var RepeatEnumerable = (function (__super__) {
inherits(RepeatEnumerable, __super__);
-
+
function RepeatEnumerable(v, c) {
this.v = v;
this.c = c == null ? -1 : c;
}
RepeatEnumerable.prototype[$iterator$] = function () {
- return new RepeatEnumerator(this);
+ return new RepeatEnumerator(this);
};
-
+
function RepeatEnumerator(p) {
this.v = p.v;
this.l = p.c;
@@ -1988,16 +1988,16 @@ var FlatMapObservable = (function(__super__){
RepeatEnumerator.prototype.next = function () {
if (this.l === 0) { return doneEnumerator; }
if (this.l > 0) { this.l--; }
- return { done: false, value: this.v };
+ return { done: false, value: this.v };
};
-
+
return RepeatEnumerable;
}(Enumerable));
var enumerableRepeat = Enumerable.repeat = function (value, repeatCount) {
return new RepeatEnumerable(value, repeatCount);
};
-
+
var OfEnumerable = (function(__super__) {
inherits(OfEnumerable, __super__);
function OfEnumerable(s, fn, thisArg) {
@@ -2007,7 +2007,7 @@ var FlatMapObservable = (function(__super__){
OfEnumerable.prototype[$iterator$] = function () {
return new OfEnumerator(this);
};
-
+
function OfEnumerator(p) {
this.i = -1;
this.s = p.s;
@@ -2017,9 +2017,9 @@ var FlatMapObservable = (function(__super__){
OfEnumerator.prototype.next = function () {
return ++this.i < this.l ?
{ done: false, value: !this.fn ? this.s[this.i] : this.fn(this.s[this.i], this.i, this.s) } :
- doneEnumerator;
+ doneEnumerator;
};
-
+
return OfEnumerable;
}(Enumerable));
@@ -2064,7 +2064,7 @@ var FlatMapObservable = (function(__super__){
this.o.onError(e);
return true;
}
-
+
return false;
};
@@ -3862,7 +3862,7 @@ observableProto.zipIterable = function () {
};
/**
- * Repeats the source observable sequence upon error each time the notifier emits or until it successfully terminates.
+ * Repeats the source observable sequence upon error each time the notifier emits or until it successfully terminates.
* if the notifier completes, the observable sequence completes.
*
* @example
@@ -4138,11 +4138,11 @@ Rx.Observable.prototype.flatMapLatest = function(selector, resultSelector, thisA
this.skipCount = count;
__super__.call(this);
}
-
+
SkipObservable.prototype.subscribeCore = function (o) {
return this.source.subscribe(new InnerObserver(o, this.skipCount));
};
-
+
function InnerObserver(o, c) {
this.c = c;
this.r = c;
@@ -4151,7 +4151,7 @@ Rx.Observable.prototype.flatMapLatest = function(selector, resultSelector, thisA
}
InnerObserver.prototype.onNext = function (x) {
if (this.isStopped) { return; }
- if (this.r <= 0) {
+ if (this.r <= 0) {
this.o.onNext(x);
} else {
this.r--;
@@ -4172,10 +4172,10 @@ Rx.Observable.prototype.flatMapLatest = function(selector, resultSelector, thisA
}
return false;
};
-
+
return SkipObservable;
- }(ObservableBase));
-
+ }(ObservableBase));
+
/**
* Bypasses a specified number of elements in an observable sequence and then returns the remaining elements.
* @param {Number} count The number of elements to skip before returning the remaining elements.
@@ -4280,7 +4280,7 @@ Rx.Observable.prototype.flatMapLatest = function(selector, resultSelector, thisA
FilterObservable.prototype.subscribeCore = function (o) {
return this.source.subscribe(new InnerObserver(o, this.predicate, this));
};
-
+
function innerPredicate(predicate, self) {
return function(x, i, o) { return self.predicate(x, i, o) && predicate.call(this, x, i, o); }
}
@@ -4288,7 +4288,7 @@ Rx.Observable.prototype.flatMapLatest = function(selector, resultSelector, thisA
FilterObservable.prototype.internalFilter = function(predicate, thisArg) {
return new FilterObservable(this.source, innerPredicate(predicate, this), thisArg);
};
-
+
function InnerObserver(o, predicate, source) {
this.o = o;
this.predicate = predicate;
@@ -4296,7 +4296,7 @@ Rx.Observable.prototype.flatMapLatest = function(selector, resultSelector, thisA
this.i = 0;
this.isStopped = false;
}
-
+
InnerObserver.prototype.onNext = function(x) {
if (this.isStopped) { return; }
var shouldYield = tryCatch(this.predicate)(x, this.i++, this.source);
@@ -4376,7 +4376,7 @@ function createCbHandler(o, ctx, selector) {
*/
Observable.fromCallback = function (fn, ctx, selector) {
return function () {
- typeof ctx === 'undefined' && (ctx = this);
+ typeof ctx === 'undefined' && (ctx = this);
var len = arguments.length, args = new Array(len)
for(var i = 0; i < len; i++) { args[i] = arguments[i]; }
@@ -4426,7 +4426,7 @@ function createNodeHandler(o, ctx, selector) {
*/
Observable.fromNodeCallback = function (fn, ctx, selector) {
return function () {
- typeof ctx === 'undefined' && (ctx = this);
+ typeof ctx === 'undefined' && (ctx = this);
var len = arguments.length, args = new Array(len);
for(var i = 0; i < len; i++) { args[i] = arguments[i]; }
return createNodeObservable(fn, ctx, selector, args);
@@ -5150,7 +5150,7 @@ Observable.fromNodeCallback = function (fn, ctx, selector) {
function (e) { o.onError(e); },
function () {
atEnd = true;
- sourceSubscription.dispose();
+ sourceSubscription.dispose();
}
));
diff --git a/tools/eslint/node_modules/shelljs/LICENSE b/tools/eslint/node_modules/shelljs/LICENSE
index be169d8d61..0f0f119be8 100644
--- a/tools/eslint/node_modules/shelljs/LICENSE
+++ b/tools/eslint/node_modules/shelljs/LICENSE
@@ -14,13 +14,13 @@ modification, are permitted provided that the following conditions are met:
names of the 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
+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 ARTUR ADIB 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
+(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/tools/eslint/node_modules/shelljs/package.json b/tools/eslint/node_modules/shelljs/package.json
index 288b839f87..f366ad9b3a 100644
--- a/tools/eslint/node_modules/shelljs/package.json
+++ b/tools/eslint/node_modules/shelljs/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"shelljs@^0.6.0",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "shelljs@>=0.6.0 <0.7.0",
@@ -30,13 +30,13 @@
"type": "range"
},
"_requiredBy": [
- "/"
+ "/eslint"
],
"_resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.6.0.tgz",
"_shasum": "ce1ed837b4b0e55b5ec3dab84251ab9dbdc0c7ec",
"_shrinkwrap": null,
"_spec": "shelljs@^0.6.0",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"author": {
"email": "arturadib@gmail.com",
"name": "Artur Adib"
@@ -49,13 +49,13 @@
},
"contributors": [
{
- "name": "Ari Porad",
"email": "ari@ariporad.com",
+ "name": "Ari Porad",
"url": "http://ariporad.com/"
},
{
- "name": "Nate Fischer",
- "email": "ntfschr@gmail.com"
+ "email": "ntfschr@gmail.com",
+ "name": "Nate Fischer"
}
],
"dependencies": {},
@@ -75,27 +75,27 @@
"gitHead": "fe06baf1173ec6f0a70cd58ddb7d373f4c6446f5",
"homepage": "http://github.com/shelljs/shelljs",
"keywords": [
- "jake",
- "make",
- "makefile",
+ "unix",
"shell",
- "synchronous",
- "unix"
+ "makefile",
+ "make",
+ "jake",
+ "synchronous"
],
"license": "BSD-3-Clause",
"main": "./shell.js",
"maintainers": [
{
- "name": "ariporad",
- "email": "ari@ariporad.com"
+ "email": "ari@ariporad.com",
+ "name": "ariporad"
},
{
- "name": "artur",
- "email": "arturadib@gmail.com"
+ "email": "arturadib@gmail.com",
+ "name": "artur"
},
{
- "name": "nfischer",
- "email": "ntfschr@gmail.com"
+ "email": "ntfschr@gmail.com",
+ "name": "nfischer"
}
],
"name": "shelljs",
diff --git a/tools/eslint/node_modules/slice-ansi/index.js b/tools/eslint/node_modules/slice-ansi/index.js
index fbf1c5a2a3..c65de4d4a5 100755
--- a/tools/eslint/node_modules/slice-ansi/index.js
+++ b/tools/eslint/node_modules/slice-ansi/index.js
@@ -77,3 +77,4 @@ module.exports = function (str, begin, end) {
return output;
};
+
diff --git a/tools/eslint/node_modules/slice-ansi/package.json b/tools/eslint/node_modules/slice-ansi/package.json
index 410e515a96..b71d24f677 100644
--- a/tools/eslint/node_modules/slice-ansi/package.json
+++ b/tools/eslint/node_modules/slice-ansi/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"slice-ansi@0.0.4",
- "/Users/silverwind/git/node/tools/package/package/node_modules/table"
+ "/Users/trott/io.js/tools/node_modules/table"
]
],
"_from": "slice-ansi@0.0.4",
@@ -32,7 +32,7 @@
"_shasum": "edbf8903f66f7ce2f8eafd6ceed65e264c831b35",
"_shrinkwrap": null,
"_spec": "slice-ansi@0.0.4",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/table",
+ "_where": "/Users/trott/io.js/tools/node_modules/table",
"author": {
"email": "threedeecee@gmail.com",
"name": "David Caccavella"
@@ -62,33 +62,33 @@
"gitHead": "8670277262281964b13f051d51b2e24bcfda8a66",
"homepage": "https://github.com/chalk/slice-ansi#readme",
"keywords": [
- "256",
+ "slice",
+ "string",
"ansi",
- "cli",
+ "styles",
"color",
- "colors",
"colour",
- "command-line",
+ "colors",
+ "terminal",
"console",
+ "cli",
+ "tty",
"escape",
"formatting",
- "log",
- "logging",
"rgb",
+ "256",
"shell",
- "slice",
- "string",
- "styles",
- "terminal",
- "text",
- "tty",
- "xterm"
+ "xterm",
+ "log",
+ "logging",
+ "command-line",
+ "text"
],
"license": "MIT",
"maintainers": [
{
- "name": "dthree",
- "email": "threedeecee@gmail.com"
+ "email": "threedeecee@gmail.com",
+ "name": "dthree"
}
],
"name": "slice-ansi",
diff --git a/tools/eslint/node_modules/slice-ansi/readme.md b/tools/eslint/node_modules/slice-ansi/readme.md
index 920b929887..31be6124db 100755
--- a/tools/eslint/node_modules/slice-ansi/readme.md
+++ b/tools/eslint/node_modules/slice-ansi/readme.md
@@ -1,4 +1,4 @@
-# slice-ansi
+# slice-ansi
[![Build Status](https://travis-ci.org/vorpaljs/slice-ansi.svg?branch=master)](https://travis-ci.org/vorpaljs/slice-ansi)
[![XO: Linted](https://img.shields.io/badge/xo-linted-blue.svg)](https://github.com/sindresorhus/xo)
diff --git a/tools/eslint/node_modules/sprintf-js/package.json b/tools/eslint/node_modules/sprintf-js/package.json
index ccfa96e8b1..2fabbfab45 100644
--- a/tools/eslint/node_modules/sprintf-js/package.json
+++ b/tools/eslint/node_modules/sprintf-js/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"sprintf-js@~1.0.2",
- "/Users/silverwind/git/node/tools/package/package/node_modules/argparse"
+ "/Users/trott/io.js/tools/node_modules/argparse"
]
],
"_from": "sprintf-js@>=1.0.2 <1.1.0",
@@ -32,7 +32,7 @@
"_shasum": "04e6926f662895354f3dd015203633b857297e2c",
"_shrinkwrap": null,
"_spec": "sprintf-js@~1.0.2",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/argparse",
+ "_where": "/Users/trott/io.js/tools/node_modules/argparse",
"author": {
"email": "hello@alexei.ro",
"name": "Alexandru Marasteanu",
@@ -60,8 +60,8 @@
"main": "src/sprintf.js",
"maintainers": [
{
- "name": "alexei",
- "email": "hello@alexei.ro"
+ "email": "hello@alexei.ro",
+ "name": "alexei"
}
],
"name": "sprintf-js",
diff --git a/tools/eslint/node_modules/string-width/package.json b/tools/eslint/node_modules/string-width/package.json
index 87610fc464..0ec302382e 100644
--- a/tools/eslint/node_modules/string-width/package.json
+++ b/tools/eslint/node_modules/string-width/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"string-width@^1.0.1",
- "/Users/silverwind/git/node/tools/package/package/node_modules/inquirer"
+ "/Users/trott/io.js/tools/node_modules/inquirer"
]
],
"_from": "string-width@>=1.0.1 <2.0.0",
@@ -33,7 +33,7 @@
"_shasum": "c92129b6f1d7f52acf9af424a26e3864a05ceb0a",
"_shrinkwrap": null,
"_spec": "string-width@^1.0.1",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/inquirer",
+ "_where": "/Users/trott/io.js/tools/node_modules/inquirer",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -65,36 +65,36 @@
"gitHead": "f279cfd14835f0a3c8df69ba18e9a3960156e135",
"homepage": "https://github.com/sindresorhus/string-width",
"keywords": [
- "ansi",
- "char",
+ "string",
+ "str",
"character",
- "chinese",
- "cjk",
- "cli",
- "codes",
+ "char",
+ "unicode",
+ "width",
+ "visual",
"column",
"columns",
+ "fullwidth",
+ "full-width",
+ "full",
+ "ansi",
+ "escape",
+ "codes",
+ "cli",
"command-line",
+ "terminal",
"console",
- "escape",
- "fixed-width",
- "full",
- "full-width",
- "fullwidth",
+ "cjk",
+ "chinese",
"japanese",
"korean",
- "str",
- "string",
- "terminal",
- "unicode",
- "visual",
- "width"
+ "fixed-width"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "string-width",
diff --git a/tools/eslint/node_modules/string_decoder/package.json b/tools/eslint/node_modules/string_decoder/package.json
index c0fe7cf3e3..1c26751f90 100644
--- a/tools/eslint/node_modules/string_decoder/package.json
+++ b/tools/eslint/node_modules/string_decoder/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"string_decoder@~0.10.x",
- "/Users/silverwind/git/node/tools/package/package/node_modules/readable-stream"
+ "/Users/trott/io.js/tools/node_modules/readable-stream"
]
],
"_from": "string_decoder@>=0.10.0 <0.11.0",
@@ -31,7 +31,7 @@
"_shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94",
"_shrinkwrap": null,
"_spec": "string_decoder@~0.10.x",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/readable-stream",
+ "_where": "/Users/trott/io.js/tools/node_modules/readable-stream",
"bugs": {
"url": "https://github.com/rvagg/string_decoder/issues"
},
@@ -48,21 +48,21 @@
"gitHead": "d46d4fd87cf1d06e031c23f1ba170ca7d4ade9a0",
"homepage": "https://github.com/rvagg/string_decoder",
"keywords": [
- "browser",
- "browserify",
+ "string",
"decoder",
- "string"
+ "browser",
+ "browserify"
],
"license": "MIT",
"main": "index.js",
"maintainers": [
{
- "name": "substack",
- "email": "mail@substack.net"
+ "email": "mail@substack.net",
+ "name": "substack"
},
{
- "name": "rvagg",
- "email": "rod@vagg.org"
+ "email": "rod@vagg.org",
+ "name": "rvagg"
}
],
"name": "string_decoder",
diff --git a/tools/eslint/node_modules/strip-ansi/package.json b/tools/eslint/node_modules/strip-ansi/package.json
index dc273a87c9..5549445f70 100644
--- a/tools/eslint/node_modules/strip-ansi/package.json
+++ b/tools/eslint/node_modules/strip-ansi/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"strip-ansi@^3.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/chalk"
+ "/Users/trott/io.js/tools/node_modules/chalk"
]
],
"_from": "strip-ansi@>=3.0.0 <4.0.0",
@@ -39,7 +39,7 @@
"_shasum": "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf",
"_shrinkwrap": null,
"_spec": "strip-ansi@^3.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/chalk",
+ "_where": "/Users/trott/io.js/tools/node_modules/chalk",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -59,7 +59,7 @@
"directories": {},
"dist": {
"shasum": "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf",
- "tarball": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"
+ "tarball": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"
},
"engines": {
"node": ">=0.10.0"
@@ -70,38 +70,38 @@
"gitHead": "8270705c704956da865623e564eba4875c3ea17f",
"homepage": "https://github.com/chalk/strip-ansi",
"keywords": [
- "256",
+ "strip",
+ "trim",
+ "remove",
"ansi",
+ "styles",
"color",
- "colors",
"colour",
- "command-line",
+ "colors",
+ "terminal",
"console",
+ "string",
+ "tty",
"escape",
"formatting",
- "log",
- "logging",
- "remove",
"rgb",
+ "256",
"shell",
- "string",
- "strip",
- "styles",
- "terminal",
- "text",
- "trim",
- "tty",
- "xterm"
+ "xterm",
+ "log",
+ "logging",
+ "command-line",
+ "text"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
},
{
- "name": "jbnicolai",
- "email": "jappelman@xebia.com"
+ "email": "jappelman@xebia.com",
+ "name": "jbnicolai"
}
],
"name": "strip-ansi",
diff --git a/tools/eslint/node_modules/strip-json-comments/package.json b/tools/eslint/node_modules/strip-json-comments/package.json
index f0574ec260..d504405aef 100644
--- a/tools/eslint/node_modules/strip-json-comments/package.json
+++ b/tools/eslint/node_modules/strip-json-comments/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"strip-json-comments@~1.0.1",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "strip-json-comments@>=1.0.1 <1.1.0",
@@ -26,13 +26,13 @@
"type": "range"
},
"_requiredBy": [
- "/"
+ "/eslint"
],
"_resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz",
"_shasum": "1e15fbcac97d3ee99bf2d73b4c656b082bbafb91",
"_shrinkwrap": null,
"_spec": "strip-json-comments@~1.0.1",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -64,30 +64,30 @@
"gitHead": "f58348696368583cc5bb18525fe31eacc9bd00e1",
"homepage": "https://github.com/sindresorhus/strip-json-comments",
"keywords": [
- "bin",
- "cli",
+ "json",
+ "strip",
+ "remove",
+ "delete",
+ "trim",
"comments",
- "conf",
+ "multiline",
+ "parse",
"config",
"configuration",
- "delete",
+ "conf",
+ "settings",
+ "util",
"env",
"environment",
- "json",
- "multiline",
- "parse",
- "remove",
- "settings",
- "strip",
- "trim",
- "util"
+ "cli",
+ "bin"
],
"license": "MIT",
"main": "strip-json-comments",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "strip-json-comments",
diff --git a/tools/eslint/node_modules/supports-color/package.json b/tools/eslint/node_modules/supports-color/package.json
index 6d39985d35..9740f02034 100644
--- a/tools/eslint/node_modules/supports-color/package.json
+++ b/tools/eslint/node_modules/supports-color/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"supports-color@^2.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/chalk"
+ "/Users/trott/io.js/tools/node_modules/chalk"
]
],
"_from": "supports-color@>=2.0.0 <3.0.0",
@@ -32,7 +32,7 @@
"_shasum": "535d045ce6b6363fa40117084629995e9df324c7",
"_shrinkwrap": null,
"_spec": "supports-color@^2.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/chalk",
+ "_where": "/Users/trott/io.js/tools/node_modules/chalk",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -50,7 +50,7 @@
"directories": {},
"dist": {
"shasum": "535d045ce6b6363fa40117084629995e9df324c7",
- "tarball": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"
+ "tarball": "http://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"
},
"engines": {
"node": ">=0.8.0"
@@ -61,34 +61,34 @@
"gitHead": "8400d98ade32b2adffd50902c06d9e725a5c6588",
"homepage": "https://github.com/chalk/supports-color",
"keywords": [
- "256",
- "ansi",
- "capability",
- "cli",
"color",
- "colors",
"colour",
- "command-line",
+ "colors",
+ "terminal",
"console",
- "detect",
+ "cli",
+ "ansi",
+ "styles",
+ "tty",
"rgb",
+ "256",
"shell",
- "styles",
+ "xterm",
+ "command-line",
"support",
"supports",
- "terminal",
- "tty",
- "xterm"
+ "capability",
+ "detect"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
},
{
- "name": "jbnicolai",
- "email": "jappelman@xebia.com"
+ "email": "jappelman@xebia.com",
+ "name": "jbnicolai"
}
],
"name": "supports-color",
diff --git a/tools/eslint/node_modules/table/README.md b/tools/eslint/node_modules/table/README.md
index be0589bc48..2b56697555 100644
--- a/tools/eslint/node_modules/table/README.md
+++ b/tools/eslint/node_modules/table/README.md
@@ -484,7 +484,7 @@ setInterval(() => {
`table` package uses ANSI escape codes to overwrite the output of the last line when a new row is printed.
-The underlying implementation is explained in this [Stack Overflow answer](http://stackoverflow.com/a/32938658/368691).
+The underlying implementation is explained in this [Stack Overflow answer](http://stackoverflow.com/a/32938658/368691).
Streaming supports all of the configuration properties and functionality of a static table (such as auto text wrapping, alignment and padding), e.g.
@@ -649,3 +649,4 @@ console.log(output);
║ amet viverra. ║
╚══════════════════════╝
```
+
diff --git a/tools/eslint/node_modules/table/package.json b/tools/eslint/node_modules/table/package.json
index 9c7d21e3a1..1d8bca3d3f 100644
--- a/tools/eslint/node_modules/table/package.json
+++ b/tools/eslint/node_modules/table/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"table@^3.7.8",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "table@>=3.7.8 <4.0.0",
@@ -26,13 +26,13 @@
"type": "range"
},
"_requiredBy": [
- "/"
+ "/eslint"
],
"_resolved": "https://registry.npmjs.org/table/-/table-3.7.8.tgz",
"_shasum": "b424433ef596851922b2fd77224a69a1951618eb",
"_shrinkwrap": null,
"_spec": "table@^3.7.8",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"author": {
"email": "gajus@gajus.com",
"name": "Gajus Kuizinas",
@@ -62,23 +62,23 @@
"directories": {},
"dist": {
"shasum": "b424433ef596851922b2fd77224a69a1951618eb",
- "tarball": "http://registry.npmjs.org/table/-/table-3.7.8.tgz"
+ "tarball": "https://registry.npmjs.org/table/-/table-3.7.8.tgz"
},
"gitHead": "7464b27999c5c6da43c754fb5f94931423d41839",
"homepage": "https://github.com/gajus/table#readme",
"keywords": [
- "align",
- "ansi",
"ascii",
+ "text",
"table",
- "text"
+ "align",
+ "ansi"
],
"license": "BSD-3-Clause",
"main": "./dist/index.js",
"maintainers": [
{
- "name": "gajus",
- "email": "gk@anuary.com"
+ "email": "gk@anuary.com",
+ "name": "gajus"
}
],
"name": "table",
diff --git a/tools/eslint/node_modules/text-table/package.json b/tools/eslint/node_modules/text-table/package.json
index 794595d339..05b25746ab 100644
--- a/tools/eslint/node_modules/text-table/package.json
+++ b/tools/eslint/node_modules/text-table/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"text-table@~0.2.0",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "text-table@>=0.2.0 <0.3.0",
@@ -25,13 +25,13 @@
"type": "range"
},
"_requiredBy": [
- "/"
+ "/eslint"
],
"_resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
"_shasum": "7f5ee823ae805207c00af2df4a84ec3fcfa570b4",
"_shrinkwrap": null,
"_spec": "text-table@~0.2.0",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"author": {
"email": "mail@substack.net",
"name": "James Halliday",
@@ -50,23 +50,23 @@
"directories": {},
"dist": {
"shasum": "7f5ee823ae805207c00af2df4a84ec3fcfa570b4",
- "tarball": "http://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz"
+ "tarball": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz"
},
"homepage": "https://github.com/substack/text-table",
"keywords": [
+ "text",
+ "table",
"align",
"ascii",
"rows",
- "table",
- "tabular",
- "text"
+ "tabular"
],
"license": "MIT",
"main": "index.js",
"maintainers": [
{
- "name": "substack",
- "email": "mail@substack.net"
+ "email": "mail@substack.net",
+ "name": "substack"
}
],
"name": "text-table",
@@ -82,13 +82,13 @@
},
"testling": {
"browsers": [
+ "ie/6..latest",
"chrome/20..latest",
"firefox/10..latest",
- "ie/6..latest",
- "ipad/6",
- "iphone/6",
+ "safari/latest",
"opera/11.0..latest",
- "safari/latest"
+ "iphone/6",
+ "ipad/6"
],
"files": "test/*.js"
},
diff --git a/tools/eslint/node_modules/through/LICENSE.MIT b/tools/eslint/node_modules/through/LICENSE.MIT
index 49e7da41fe..6eafbd734a 100644
--- a/tools/eslint/node_modules/through/LICENSE.MIT
+++ b/tools/eslint/node_modules/through/LICENSE.MIT
@@ -2,23 +2,23 @@ The MIT License
Copyright (c) 2011 Dominic Tarr
-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,
+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
+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
+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/tools/eslint/node_modules/through/index.js b/tools/eslint/node_modules/through/index.js
index 9f443ffd2b..ca5fc5901f 100644
--- a/tools/eslint/node_modules/through/index.js
+++ b/tools/eslint/node_modules/through/index.js
@@ -105,3 +105,4 @@ function through (write, end, opts) {
}
return stream
}
+
diff --git a/tools/eslint/node_modules/through/package.json b/tools/eslint/node_modules/through/package.json
index bb29a8eca3..b7446ea02b 100644
--- a/tools/eslint/node_modules/through/package.json
+++ b/tools/eslint/node_modules/through/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"through@^2.3.6",
- "/Users/silverwind/git/node/tools/package/package/node_modules/inquirer"
+ "/Users/trott/io.js/tools/node_modules/inquirer"
]
],
"_from": "through@>=2.3.6 <3.0.0",
@@ -32,7 +32,7 @@
"_shasum": "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5",
"_shrinkwrap": null,
"_spec": "through@^2.3.6",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/inquirer",
+ "_where": "/Users/trott/io.js/tools/node_modules/inquirer",
"author": {
"email": "dominic.tarr@gmail.com",
"name": "Dominic Tarr",
@@ -56,17 +56,17 @@
"gitHead": "2c5a6f9a0cc54da759b6e10964f2081c358e49dc",
"homepage": "https://github.com/dominictarr/through",
"keywords": [
- "pipe",
"stream",
"streams",
- "user-streams"
+ "user-streams",
+ "pipe"
],
"license": "MIT",
"main": "index.js",
"maintainers": [
{
- "name": "dominictarr",
- "email": "dominic.tarr@gmail.com"
+ "email": "dominic.tarr@gmail.com",
+ "name": "dominictarr"
}
],
"name": "through",
@@ -81,9 +81,9 @@
},
"testling": {
"browsers": [
- "chrome/20..latest",
- "ff/15..latest",
"ie/8..latest",
+ "ff/15..latest",
+ "chrome/20..latest",
"safari/5.1..latest"
],
"files": "test/*.js"
diff --git a/tools/eslint/node_modules/through/readme.markdown b/tools/eslint/node_modules/through/readme.markdown
index 4939fffe42..cb34c8135f 100644
--- a/tools/eslint/node_modules/through/readme.markdown
+++ b/tools/eslint/node_modules/through/readme.markdown
@@ -3,14 +3,14 @@
[![build status](https://secure.travis-ci.org/dominictarr/through.png)](http://travis-ci.org/dominictarr/through)
[![testling badge](https://ci.testling.com/dominictarr/through.png)](https://ci.testling.com/dominictarr/through)
-Easy way to create a `Stream` that is both `readable` and `writable`.
+Easy way to create a `Stream` that is both `readable` and `writable`.
* Pass in optional `write` and `end` methods.
* `through` takes care of pause/resume logic if you use `this.queue(data)` instead of `this.emit('data', data)`.
* Use `this.pause()` and `this.resume()` to manage flow.
* Check `this.paused` to see current flow state. (`write` always returns `!this.paused`).
-This function is the basis for most of the synchronous streams in
+This function is the basis for most of the synchronous streams in
[event-stream](http://github.com/dominictarr/event-stream).
``` js
@@ -32,7 +32,7 @@ var through = require('through')
through(function write(data) {
this.emit('data', data)
- //this.pause()
+ //this.pause()
},
function end () { //optional
this.emit('end')
diff --git a/tools/eslint/node_modules/tryit/README.md b/tools/eslint/node_modules/tryit/README.md
index 25a6ad5809..80418843eb 100644
--- a/tools/eslint/node_modules/tryit/README.md
+++ b/tools/eslint/node_modules/tryit/README.md
@@ -1,6 +1,6 @@
# tryit
-Tiny module wrapping try/catch in JavaScript.
+Tiny module wrapping try/catch in JavaScript.
It's *literally 11 lines of code*, [just read it](tryit.js) that's all the documentation you'll need.
@@ -11,7 +11,7 @@ It's *literally 11 lines of code*, [just read it](tryit.js) that's all the docum
npm install tryit
```
-## usage
+## usage
What you'd normally do:
```js
@@ -40,15 +40,15 @@ tryit(dangerousThing, function (e) {
The second function follows error-first pattern common in node. So if you pass a callback it gets called in both cases. But will have an error as the first argument if it fails.
-## WHAT? WHY DO THIS!?
+## WHAT? WHY DO THIS!?
-Primary motivation is having a clean way to wrap things that might fail, where I don't care if it fails. I just want to try it.
+Primary motivation is having a clean way to wrap things that might fail, where I don't care if it fails. I just want to try it.
This includes stuff like blindly reading/parsing stuff from localStorage in the browser. If it's not there or if parsing it fails, that's fine. But I don't want to leave a bunch of empty `catch (e) {}` blocks in the code.
Obviously, this is useful any time you're going to attempt to read some unknown data structure.
-In addition, my understanding is that it's hard for JS engines to optimize code in try blocks. By actually passing the code to be executed into a re-used try block, we can avoid having to have more than a single try block in our app. Again, this is not a primary motivation, just a potential side benefit.
+In addition, my understanding is that it's hard for JS engines to optimize code in try blocks. By actually passing the code to be executed into a re-used try block, we can avoid having to have more than a single try block in our app. Again, this is not a primary motivation, just a potential side benefit.
## license
diff --git a/tools/eslint/node_modules/tryit/package.json b/tools/eslint/node_modules/tryit/package.json
index 8bb7e14a8a..56fd925cb5 100644
--- a/tools/eslint/node_modules/tryit/package.json
+++ b/tools/eslint/node_modules/tryit/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"tryit@^1.0.1",
- "/Users/silverwind/git/node/tools/package/package/node_modules/is-resolvable"
+ "/Users/trott/io.js/tools/node_modules/is-resolvable"
]
],
"_from": "tryit@>=1.0.1 <2.0.0",
@@ -32,7 +32,7 @@
"_shasum": "c196b0073e6b1c595d93c9c830855b7acc32a453",
"_shrinkwrap": null,
"_spec": "tryit@^1.0.1",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/is-resolvable",
+ "_where": "/Users/trott/io.js/tools/node_modules/is-resolvable",
"author": {
"email": "henrik@andyet.net",
"name": "Henrik Joreteg"
@@ -54,16 +54,16 @@
"gitHead": "b567b4feb491e2ee89addd3d06f66d6ec2217cf5",
"homepage": "https://github.com/HenrikJoreteg/tryit#readme",
"keywords": [
- "errorhandling",
"errors",
- "try"
+ "try",
+ "errorhandling"
],
"license": "MIT",
"main": "tryit.js",
"maintainers": [
{
- "name": "henrikjoreteg",
- "email": "henrik@andyet.net"
+ "email": "henrik@andyet.net",
+ "name": "henrikjoreteg"
}
],
"name": "tryit",
diff --git a/tools/eslint/node_modules/tv4/lang/nb.js b/tools/eslint/node_modules/tv4/lang/nb.js
index 41831a17f9..d6b1a84f82 100644
--- a/tools/eslint/node_modules/tv4/lang/nb.js
+++ b/tools/eslint/node_modules/tv4/lang/nb.js
@@ -36,7 +36,7 @@
// Non-standard validation options
UNKNOWN_PROPERTY: "Ukjent variabel (eksisterer ikke i skjemaet)"
};
-
+
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['../tv4'], function(tv4) {
@@ -53,3 +53,4 @@
global.tv4.addLanguage('nb', lang);
}
})(this);
+
diff --git a/tools/eslint/node_modules/tv4/lang/pl-PL.js b/tools/eslint/node_modules/tv4/lang/pl-PL.js
index f46aaa4388..c4b8ba86ee 100755
--- a/tools/eslint/node_modules/tv4/lang/pl-PL.js
+++ b/tools/eslint/node_modules/tv4/lang/pl-PL.js
@@ -36,7 +36,7 @@
// Non-standard validation options
UNKNOWN_PROPERTY: "Nie znane pole (brak we wzorze(schema))"
};
-
+
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['../tv4'], function(tv4) {
diff --git a/tools/eslint/node_modules/tv4/lang/pt-PT.js b/tools/eslint/node_modules/tv4/lang/pt-PT.js
index 0413251d2b..6fa5a98e14 100644
--- a/tools/eslint/node_modules/tv4/lang/pt-PT.js
+++ b/tools/eslint/node_modules/tv4/lang/pt-PT.js
@@ -36,7 +36,7 @@
// Non-standard validation options
UNKNOWN_PROPERTY: "Propriedade desconhecida (não está em 'schema')"
};
-
+
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['../tv4'], function(tv4) {
diff --git a/tools/eslint/node_modules/tv4/lang/sv-SE.js b/tools/eslint/node_modules/tv4/lang/sv-SE.js
index 28f2994c4a..3621a3480d 100644
--- a/tools/eslint/node_modules/tv4/lang/sv-SE.js
+++ b/tools/eslint/node_modules/tv4/lang/sv-SE.js
@@ -1,42 +1,42 @@
(function (global) {
var lang = {
- INVALID_TYPE: "Otillåten typ: {type} (skall vara {expected})",
- ENUM_MISMATCH: "Otillåtet värde: {value}",
- ANY_OF_MISSING: "Värdet matchar inget av schemana \"anyOf\"",
- ONE_OF_MISSING: "Värdet matchar inget av schemana \"oneOf\"",
- ONE_OF_MULTIPLE: "Värdet matchar flera scheman \"oneOf\": index {index1} och {index2}",
- NOT_PASSED: "Värdet matchar schemat från \"not\"",
- // Numeric errors
- NUMBER_MULTIPLE_OF: "Värdet {value} är inte en multipel av {multipleOf}",
- NUMBER_MINIMUM: "Värdet {value} får inte vara mindre än {minimum}",
- NUMBER_MINIMUM_EXCLUSIVE: "Värdet {value} måste vara större än {minimum}",
- NUMBER_MAXIMUM: "Värdet {value} får inte vara större än {maximum}",
- NUMBER_MAXIMUM_EXCLUSIVE: "Värdet {value} måste vara mindre än {maximum}",
- NUMBER_NOT_A_NUMBER: "Värdet {value} är inte ett giltigt tal",
- // String errors
- STRING_LENGTH_SHORT: "Texten är för kort ({length} tecken), ska vara minst {minimum} tecken",
- STRING_LENGTH_LONG: "Texten är för lång ({length} tecken), ska vara högst {maximum}",
- STRING_PATTERN: "Texten har fel format: {pattern}",
- // Object errors
- OBJECT_PROPERTIES_MINIMUM: "För få parametrar ({propertyCount}), ska minst vara {minimum}",
- OBJECT_PROPERTIES_MAXIMUM: "För många parametrar ({propertyCount}), får högst vara {maximum}",
- OBJECT_REQUIRED: "Egenskap saknas: {key}",
- OBJECT_ADDITIONAL_PROPERTIES: "Extra parametrar är inte tillåtna",
- OBJECT_DEPENDENCY_KEY: "Saknar beroende - saknad nyckel: {missing} (beroende nyckel: {key})",
- // Array errors
- ARRAY_LENGTH_SHORT: "Listan är för kort ({length}), ska minst vara {minimum}",
- ARRAY_LENGTH_LONG: "Listan är för lång ({length}), ska högst vara {maximum}",
- ARRAY_UNIQUE: "Listvärden är inte unika (index {match1} och {match2})",
- ARRAY_ADDITIONAL_ITEMS: "Extra värden är inte tillåtna",
- // Format errors
- FORMAT_CUSTOM: "Misslyckad validering ({message})",
- KEYWORD_CUSTOM: "Misslyckat nyckelord: {key} ({message})",
- // Schema structure
- CIRCULAR_REFERENCE: "Cirkulär $refs: {urls}",
- // Non-standard validation options
- UNKNOWN_PROPERTY: "Okänd egenskap (finns ej i schema)"
+ INVALID_TYPE: "Otillåten typ: {type} (skall vara {expected})",
+ ENUM_MISMATCH: "Otillåtet värde: {value}",
+ ANY_OF_MISSING: "Värdet matchar inget av schemana \"anyOf\"",
+ ONE_OF_MISSING: "Värdet matchar inget av schemana \"oneOf\"",
+ ONE_OF_MULTIPLE: "Värdet matchar flera scheman \"oneOf\": index {index1} och {index2}",
+ NOT_PASSED: "Värdet matchar schemat från \"not\"",
+ // Numeric errors
+ NUMBER_MULTIPLE_OF: "Värdet {value} är inte en multipel av {multipleOf}",
+ NUMBER_MINIMUM: "Värdet {value} får inte vara mindre än {minimum}",
+ NUMBER_MINIMUM_EXCLUSIVE: "Värdet {value} måste vara större än {minimum}",
+ NUMBER_MAXIMUM: "Värdet {value} får inte vara större än {maximum}",
+ NUMBER_MAXIMUM_EXCLUSIVE: "Värdet {value} måste vara mindre än {maximum}",
+ NUMBER_NOT_A_NUMBER: "Värdet {value} är inte ett giltigt tal",
+ // String errors
+ STRING_LENGTH_SHORT: "Texten är för kort ({length} tecken), ska vara minst {minimum} tecken",
+ STRING_LENGTH_LONG: "Texten är för lång ({length} tecken), ska vara högst {maximum}",
+ STRING_PATTERN: "Texten har fel format: {pattern}",
+ // Object errors
+ OBJECT_PROPERTIES_MINIMUM: "För få parametrar ({propertyCount}), ska minst vara {minimum}",
+ OBJECT_PROPERTIES_MAXIMUM: "För många parametrar ({propertyCount}), får högst vara {maximum}",
+ OBJECT_REQUIRED: "Egenskap saknas: {key}",
+ OBJECT_ADDITIONAL_PROPERTIES: "Extra parametrar är inte tillåtna",
+ OBJECT_DEPENDENCY_KEY: "Saknar beroende - saknad nyckel: {missing} (beroende nyckel: {key})",
+ // Array errors
+ ARRAY_LENGTH_SHORT: "Listan är för kort ({length}), ska minst vara {minimum}",
+ ARRAY_LENGTH_LONG: "Listan är för lång ({length}), ska högst vara {maximum}",
+ ARRAY_UNIQUE: "Listvärden är inte unika (index {match1} och {match2})",
+ ARRAY_ADDITIONAL_ITEMS: "Extra värden är inte tillåtna",
+ // Format errors
+ FORMAT_CUSTOM: "Misslyckad validering ({message})",
+ KEYWORD_CUSTOM: "Misslyckat nyckelord: {key} ({message})",
+ // Schema structure
+ CIRCULAR_REFERENCE: "Cirkulär $refs: {urls}",
+ // Non-standard validation options
+ UNKNOWN_PROPERTY: "Okänd egenskap (finns ej i schema)"
};
-
+
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['../tv4'], function(tv4) {
diff --git a/tools/eslint/node_modules/tv4/package.json b/tools/eslint/node_modules/tv4/package.json
index 74c36f57d3..587c38bb32 100644
--- a/tools/eslint/node_modules/tv4/package.json
+++ b/tools/eslint/node_modules/tv4/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"tv4@^1.2.7",
- "/Users/silverwind/git/node/tools/package/package/node_modules/table"
+ "/Users/trott/io.js/tools/node_modules/table"
]
],
"_from": "tv4@>=1.2.7 <2.0.0",
@@ -32,7 +32,7 @@
"_shasum": "bd29389afc73ade49ae5f48142b5d544bf68d120",
"_shrinkwrap": null,
"_spec": "tv4@^1.2.7",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/table",
+ "_where": "/Users/trott/io.js/tools/node_modules/table",
"author": {
"name": "Geraint Luff"
},
@@ -65,7 +65,7 @@
"directories": {},
"dist": {
"shasum": "bd29389afc73ade49ae5f48142b5d544bf68d120",
- "tarball": "http://registry.npmjs.org/tv4/-/tv4-1.2.7.tgz"
+ "tarball": "https://registry.npmjs.org/tv4/-/tv4-1.2.7.tgz"
},
"engines": {
"node": ">= 0.8.0"
@@ -75,8 +75,8 @@
"keywords": [
"json-schema",
"schema",
- "tv4",
- "validator"
+ "validator",
+ "tv4"
],
"license:": [
{
@@ -91,12 +91,12 @@
"main": "tv4.js",
"maintainers": [
{
- "name": "geraintluff",
- "email": "luffgd@gmail.com"
+ "email": "luffgd@gmail.com",
+ "name": "geraintluff"
},
{
- "name": "bartvds",
- "email": "bartvanderschoor@gmail.com"
+ "email": "bartvanderschoor@gmail.com",
+ "name": "bartvds"
}
],
"name": "tv4",
diff --git a/tools/eslint/node_modules/type-check/package.json b/tools/eslint/node_modules/type-check/package.json
index fd9f152366..ab691cba01 100644
--- a/tools/eslint/node_modules/type-check/package.json
+++ b/tools/eslint/node_modules/type-check/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"type-check@~0.3.2",
- "/Users/silverwind/git/node/tools/package/package/node_modules/optionator"
+ "/Users/trott/io.js/tools/node_modules/optionator"
]
],
"_from": "type-check@>=0.3.2 <0.4.0",
@@ -33,7 +33,7 @@
"_shasum": "5884cab512cf1d355e3fb784f30804b2b520db72",
"_shrinkwrap": null,
"_spec": "type-check@~0.3.2",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/optionator",
+ "_where": "/Users/trott/io.js/tools/node_modules/optionator",
"author": {
"email": "z@georgezahariev.com",
"name": "George Zahariev"
@@ -60,24 +60,24 @@
"node": ">= 0.8.0"
},
"files": [
- "LICENSE",
+ "lib",
"README.md",
- "lib"
+ "LICENSE"
],
"gitHead": "0ab04e7a660485d0cc3aa87e95f2f9a6464cf8e6",
"homepage": "https://github.com/gkz/type-check",
"keywords": [
+ "type",
"check",
"checking",
- "library",
- "type"
+ "library"
],
"license": "MIT",
"main": "./lib/",
"maintainers": [
{
- "name": "gkz",
- "email": "z@georgezahariev.com"
+ "email": "z@georgezahariev.com",
+ "name": "gkz"
}
],
"name": "type-check",
diff --git a/tools/eslint/node_modules/typedarray/package.json b/tools/eslint/node_modules/typedarray/package.json
index 900eaa0f23..08ddc62523 100644
--- a/tools/eslint/node_modules/typedarray/package.json
+++ b/tools/eslint/node_modules/typedarray/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"typedarray@~0.0.5",
- "/Users/silverwind/git/node/tools/package/package/node_modules/concat-stream"
+ "/Users/trott/io.js/tools/node_modules/concat-stream"
]
],
"_from": "typedarray@>=0.0.5 <0.1.0",
@@ -31,7 +31,7 @@
"_shasum": "867ac74e3864187b1d3d47d996a78ec5c8830777",
"_shrinkwrap": null,
"_spec": "typedarray@~0.0.5",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/concat-stream",
+ "_where": "/Users/trott/io.js/tools/node_modules/concat-stream",
"author": {
"email": "mail@substack.net",
"name": "James Halliday",
@@ -56,23 +56,23 @@
"DataView",
"Float32Array",
"Float64Array",
+ "Int8Array",
"Int16Array",
"Int32Array",
- "Int8Array",
- "Uint16Array",
- "Uint32Array",
"Uint8Array",
"Uint8ClampedArray",
+ "Uint16Array",
+ "Uint32Array",
+ "typed",
"array",
- "polyfill",
- "typed"
+ "polyfill"
],
"license": "MIT",
"main": "index.js",
"maintainers": [
{
- "name": "substack",
- "email": "mail@substack.net"
+ "email": "mail@substack.net",
+ "name": "substack"
}
],
"name": "typedarray",
@@ -87,17 +87,17 @@
},
"testling": {
"browsers": [
- "android-browser/4.2..latest",
- "chrome/22..latest",
- "chrome/canary",
+ "ie/6..latest",
"firefox/16..latest",
"firefox/nightly",
- "ie/6..latest",
- "ipad/6.0..latest",
- "iphone/6.0..latest",
+ "chrome/22..latest",
+ "chrome/canary",
"opera/12..latest",
"opera/next",
- "safari/5.1..latest"
+ "safari/5.1..latest",
+ "ipad/6.0..latest",
+ "iphone/6.0..latest",
+ "android-browser/4.2..latest"
],
"files": "test/*.js"
},
diff --git a/tools/eslint/node_modules/user-home/package.json b/tools/eslint/node_modules/user-home/package.json
index 8560a50c4b..a4375f7bb1 100644
--- a/tools/eslint/node_modules/user-home/package.json
+++ b/tools/eslint/node_modules/user-home/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"user-home@^2.0.0",
- "/Users/silverwind/git/node/tools/package/package"
+ "/Users/trott/io.js/tools/node_modules/eslint"
]
],
"_from": "user-home@>=2.0.0 <3.0.0",
@@ -26,13 +26,13 @@
"type": "range"
},
"_requiredBy": [
- "/"
+ "/eslint"
],
"_resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz",
"_shasum": "9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f",
"_shrinkwrap": null,
"_spec": "user-home@^2.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package",
+ "_where": "/Users/trott/io.js/tools/node_modules/eslint",
"author": {
"email": "sindresorhus@gmail.com",
"name": "Sindre Sorhus",
@@ -63,25 +63,25 @@
"gitHead": "23e6d1e2dd553b599c787348f82bd2463225cc80",
"homepage": "https://github.com/sindresorhus/user-home",
"keywords": [
- "dir",
- "directory",
- "env",
- "environment",
- "folder",
+ "user",
"home",
"homedir",
"os-homedir",
+ "dir",
+ "directory",
+ "folder",
"path",
- "user",
- "userprofile",
+ "env",
+ "vars",
+ "environment",
"variables",
- "vars"
+ "userprofile"
],
"license": "MIT",
"maintainers": [
{
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
}
],
"name": "user-home",
diff --git a/tools/eslint/node_modules/util-deprecate/package.json b/tools/eslint/node_modules/util-deprecate/package.json
index a887dd46d3..f2b883cdf3 100644
--- a/tools/eslint/node_modules/util-deprecate/package.json
+++ b/tools/eslint/node_modules/util-deprecate/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"util-deprecate@~1.0.1",
- "/Users/silverwind/git/node/tools/package/package/node_modules/readable-stream"
+ "/Users/trott/io.js/tools/node_modules/readable-stream"
]
],
"_from": "util-deprecate@>=1.0.1 <1.1.0",
@@ -32,7 +32,7 @@
"_shasum": "450d4dc9fa70de732762fbd2d4a28981419a0ccf",
"_shrinkwrap": null,
"_spec": "util-deprecate@~1.0.1",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/readable-stream",
+ "_where": "/Users/trott/io.js/tools/node_modules/readable-stream",
"author": {
"email": "nathan@tootallnate.net",
"name": "Nathan Rajlich",
@@ -53,18 +53,18 @@
"gitHead": "475fb6857cd23fafff20c1be846c1350abf8e6d4",
"homepage": "https://github.com/TooTallNate/util-deprecate",
"keywords": [
- "browser",
- "browserify",
+ "util",
"deprecate",
- "node",
- "util"
+ "browserify",
+ "browser",
+ "node"
],
"license": "MIT",
"main": "node.js",
"maintainers": [
{
- "name": "tootallnate",
- "email": "nathan@tootallnate.net"
+ "email": "nathan@tootallnate.net",
+ "name": "tootallnate"
}
],
"name": "util-deprecate",
diff --git a/tools/eslint/node_modules/wordwrap/index.js b/tools/eslint/node_modules/wordwrap/index.js
index 67c8a61ecb..c9bc94521d 100644
--- a/tools/eslint/node_modules/wordwrap/index.js
+++ b/tools/eslint/node_modules/wordwrap/index.js
@@ -4,22 +4,22 @@ var wordwrap = module.exports = function (start, stop, params) {
start = params.start;
stop = params.stop;
}
-
+
if (typeof stop === 'object') {
params = stop;
start = start || params.start;
stop = undefined;
}
-
+
if (!stop) {
stop = start;
start = 0;
}
-
+
if (!params) params = {};
var mode = params.mode || 'soft';
var re = mode === 'hard' ? /\b/ : /(\S+\s+)/;
-
+
return function (text) {
var chunks = text.toString()
.split(re)
@@ -33,16 +33,16 @@ var wordwrap = module.exports = function (start, stop, params) {
return acc;
}, [])
;
-
+
return chunks.reduce(function (lines, rawChunk) {
if (rawChunk === '') return lines;
-
+
var chunk = rawChunk.replace(/\t/g, ' ');
-
+
var i = lines.length - 1;
if (lines[i].length + chunk.length > stop) {
lines[i] = lines[i].replace(/\s+$/, '');
-
+
chunk.split(/\n/).forEach(function (c) {
lines.push(
new Array(start + 1).join(' ')
@@ -63,7 +63,7 @@ var wordwrap = module.exports = function (start, stop, params) {
else {
lines[i] += chunk;
}
-
+
return lines;
}, [ new Array(start + 1).join(' ') ]).join('\n');
};
diff --git a/tools/eslint/node_modules/wordwrap/package.json b/tools/eslint/node_modules/wordwrap/package.json
index 31e44d9bd2..2c069debb8 100644
--- a/tools/eslint/node_modules/wordwrap/package.json
+++ b/tools/eslint/node_modules/wordwrap/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"wordwrap@~1.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/optionator"
+ "/Users/trott/io.js/tools/node_modules/optionator"
]
],
"_from": "wordwrap@>=1.0.0 <1.1.0",
@@ -32,7 +32,7 @@
"_shasum": "27584810891456a4171c8d0226441ade90cbcaeb",
"_shrinkwrap": null,
"_spec": "wordwrap@~1.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/optionator",
+ "_where": "/Users/trott/io.js/tools/node_modules/optionator",
"author": {
"email": "mail@substack.net",
"name": "James Halliday",
@@ -58,18 +58,18 @@
"gitHead": "9f02667e901f2f10d87c33f7093fcf94788ab2f8",
"homepage": "https://github.com/substack/node-wordwrap#readme",
"keywords": [
- "column",
- "format",
- "rule",
"word",
- "wrap"
+ "wrap",
+ "rule",
+ "format",
+ "column"
],
"license": "MIT",
"main": "./index.js",
"maintainers": [
{
- "name": "substack",
- "email": "mail@substack.net"
+ "email": "mail@substack.net",
+ "name": "substack"
}
],
"name": "wordwrap",
diff --git a/tools/eslint/node_modules/wrappy/package.json b/tools/eslint/node_modules/wrappy/package.json
index 434227ac46..4713c4acc6 100644
--- a/tools/eslint/node_modules/wrappy/package.json
+++ b/tools/eslint/node_modules/wrappy/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"wrappy@1",
- "/Users/silverwind/git/node/tools/package/package/node_modules/inflight"
+ "/Users/trott/io.js/tools/node_modules/inflight"
]
],
"_from": "wrappy@>=1.0.0 <2.0.0",
@@ -33,7 +33,7 @@
"_shasum": "1e65969965ccbc2db4548c6b84a6f2c5aedd4739",
"_shrinkwrap": null,
"_spec": "wrappy@1",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/inflight",
+ "_where": "/Users/trott/io.js/tools/node_modules/inflight",
"author": {
"email": "i@izs.me",
"name": "Isaac Z. Schlueter",
@@ -60,8 +60,8 @@
"main": "wrappy.js",
"maintainers": [
{
- "name": "isaacs",
- "email": "i@izs.me"
+ "email": "i@izs.me",
+ "name": "isaacs"
}
],
"name": "wrappy",
diff --git a/tools/eslint/node_modules/write/package.json b/tools/eslint/node_modules/write/package.json
index 8c71a17eaa..7c0e2e07d1 100644
--- a/tools/eslint/node_modules/write/package.json
+++ b/tools/eslint/node_modules/write/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"write@^0.2.1",
- "/Users/silverwind/git/node/tools/package/package/node_modules/flat-cache"
+ "/Users/trott/io.js/tools/node_modules/flat-cache"
]
],
"_from": "write@>=0.2.1 <0.3.0",
@@ -32,7 +32,7 @@
"_shasum": "5fc03828e264cea3fe91455476f7a3c566cb0757",
"_shrinkwrap": null,
"_spec": "write@^0.2.1",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/flat-cache",
+ "_where": "/Users/trott/io.js/tools/node_modules/flat-cache",
"author": {
"name": "Jon Schlinkert",
"url": "https://github.com/jonschlinkert"
@@ -79,8 +79,8 @@
"main": "index.js",
"maintainers": [
{
- "name": "jonschlinkert",
- "email": "github@sellside.com"
+ "email": "github@sellside.com",
+ "name": "jonschlinkert"
}
],
"name": "write",
diff --git a/tools/eslint/node_modules/xregexp/package.json b/tools/eslint/node_modules/xregexp/package.json
index 0e755063e3..76cb517195 100644
--- a/tools/eslint/node_modules/xregexp/package.json
+++ b/tools/eslint/node_modules/xregexp/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"xregexp@^3.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/table"
+ "/Users/trott/io.js/tools/node_modules/table"
]
],
"_from": "xregexp@>=3.0.0 <4.0.0",
@@ -36,7 +36,7 @@
"_shasum": "14d8461e0bdd38224bfee5039a0898fc42fcd336",
"_shrinkwrap": null,
"_spec": "xregexp@^3.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/table",
+ "_where": "/Users/trott/io.js/tools/node_modules/table",
"author": {
"email": "steves_list@hotmail.com",
"name": "Steven Levithan"
@@ -67,8 +67,8 @@
"main": "./src/index.js",
"maintainers": [
{
- "name": "slevithan",
- "email": "steves_list@hotmail.com"
+ "email": "steves_list@hotmail.com",
+ "name": "slevithan"
}
],
"name": "xregexp",
diff --git a/tools/eslint/node_modules/xtend/package.json b/tools/eslint/node_modules/xtend/package.json
index 374b756396..d1d256d3ea 100644
--- a/tools/eslint/node_modules/xtend/package.json
+++ b/tools/eslint/node_modules/xtend/package.json
@@ -2,7 +2,7 @@
"_args": [
[
"xtend@^4.0.0",
- "/Users/silverwind/git/node/tools/package/package/node_modules/is-my-json-valid"
+ "/Users/trott/io.js/tools/node_modules/is-my-json-valid"
]
],
"_from": "xtend@>=4.0.0 <5.0.0",
@@ -32,7 +32,7 @@
"_shasum": "a5c6d532be656e23db820efb943a1f04998d63af",
"_shrinkwrap": null,
"_spec": "xtend@^4.0.0",
- "_where": "/Users/silverwind/git/node/tools/package/package/node_modules/is-my-json-valid",
+ "_where": "/Users/trott/io.js/tools/node_modules/is-my-json-valid",
"author": {
"email": "raynos2@gmail.com",
"name": "Raynos"
@@ -57,7 +57,7 @@
"directories": {},
"dist": {
"shasum": "a5c6d532be656e23db820efb943a1f04998d63af",
- "tarball": "http://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+ "tarball": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
},
"engines": {
"node": ">=0.4"
@@ -65,19 +65,19 @@
"gitHead": "23dc302a89756da89c1897bc732a752317e35390",
"homepage": "https://github.com/Raynos/xtend",
"keywords": [
- "array",
"extend",
"merge",
- "object",
"options",
- "opts"
+ "opts",
+ "object",
+ "array"
],
"license": "MIT",
"main": "immutable",
"maintainers": [
{
- "name": "raynos",
- "email": "raynos2@gmail.com"
+ "email": "raynos2@gmail.com",
+ "name": "raynos"
}
],
"name": "xtend",
@@ -92,16 +92,16 @@
},
"testling": {
"browsers": [
- "chrome/22..latest",
- "chrome/canary",
+ "ie/7..latest",
"firefox/16..latest",
"firefox/nightly",
- "ie/7..latest",
- "ipad/6.0..latest",
- "iphone/6.0..latest",
+ "chrome/22..latest",
+ "chrome/canary",
"opera/12..latest",
"opera/next",
- "safari/5.1..latest"
+ "safari/5.1..latest",
+ "ipad/6.0..latest",
+ "iphone/6.0..latest"
],
"files": "test.js"
},