Bug 1531350 - [release 128] Add a BigInt rep. (#7975). r=dwalsh
authorNicolas Chevobbe <nchevobbe@users.noreply.github.com>
Thu, 28 Feb 2019 14:36:52 -0500
changeset 520006 2856ab932b13e044656067702612b36c1f40d13a
parent 520005 0291de30d95876833df4a415a4a5502d1168130f
child 520007 9560b0da49d4316b8f543f51d9eb133d0b38ace8
push id10862
push userffxbld-merge
push dateMon, 11 Mar 2019 13:01:11 +0000
treeherdermozilla-beta@a2e7f5c935da [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdwalsh
bugs1531350
milestone67.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1531350 - [release 128] Add a BigInt rep. (#7975). r=dwalsh
devtools/client/debugger/new/dist/parser-worker.js
devtools/client/debugger/new/dist/pretty-print-worker.js
devtools/client/debugger/new/dist/search-worker.js
devtools/client/debugger/new/dist/vendors.js
devtools/client/debugger/new/packages/devtools-reps/src/object-inspector/tests/utils/should-render-roots-in-reps.js
devtools/client/debugger/new/packages/devtools-reps/src/object-inspector/utils/node.js
devtools/client/debugger/new/packages/devtools-reps/src/reps/big-int.js
devtools/client/debugger/new/packages/devtools-reps/src/reps/rep.js
devtools/client/debugger/new/packages/devtools-reps/src/reps/stubs/big-int.js
devtools/client/debugger/new/packages/devtools-reps/src/reps/tests/big-int.js
devtools/client/shared/components/reps/reps.js
devtools/client/shared/source-map/index.js
devtools/client/shared/source-map/worker.js
--- a/devtools/client/debugger/new/dist/parser-worker.js
+++ b/devtools/client/debugger/new/dist/parser-worker.js
@@ -65,17 +65,17 @@ return /******/ (function(modules) { // 
 /******/
 /******/ 	// Object.prototype.hasOwnProperty.call
 /******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
 /******/
 /******/ 	// __webpack_public_path__
 /******/ 	__webpack_require__.p = "/assets/build";
 /******/
 /******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 548);
+/******/ 	return __webpack_require__(__webpack_require__.s = 549);
 /******/ })
 /************************************************************************/
 /******/ ([
 /* 0 */,
 /* 1 */,
 /* 2 */,
 /* 3 */,
 /* 4 */,
@@ -459,77 +459,77 @@ Object.defineProperty(exports, "validate
 Object.defineProperty(exports, "buildMatchMemberExpression", {
   enumerable: true,
   get: function () {
     return _buildMatchMemberExpression.default;
   }
 });
 exports.react = void 0;
 
-var _isReactComponent = _interopRequireDefault(__webpack_require__(550));
-
-var _isCompatTag = _interopRequireDefault(__webpack_require__(551));
-
-var _buildChildren = _interopRequireDefault(__webpack_require__(552));
-
-var _assertNode = _interopRequireDefault(__webpack_require__(624));
-
-var _generated = __webpack_require__(625);
+var _isReactComponent = _interopRequireDefault(__webpack_require__(551));
+
+var _isCompatTag = _interopRequireDefault(__webpack_require__(552));
+
+var _buildChildren = _interopRequireDefault(__webpack_require__(553));
+
+var _assertNode = _interopRequireDefault(__webpack_require__(625));
+
+var _generated = __webpack_require__(626);
 
 Object.keys(_generated).forEach(function (key) {
   if (key === "default" || key === "__esModule") return;
   if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
   Object.defineProperty(exports, key, {
     enumerable: true,
     get: function () {
       return _generated[key];
     }
   });
 });
 
-var _createTypeAnnotationBasedOnTypeof = _interopRequireDefault(__webpack_require__(626));
-
-var _createUnionTypeAnnotation = _interopRequireDefault(__webpack_require__(627));
+var _createTypeAnnotationBasedOnTypeof = _interopRequireDefault(__webpack_require__(627));
+
+var _createUnionTypeAnnotation = _interopRequireDefault(__webpack_require__(628));
 
 var _generated2 = __webpack_require__(40);
 
 Object.keys(_generated2).forEach(function (key) {
   if (key === "default" || key === "__esModule") return;
   if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
   Object.defineProperty(exports, key, {
     enumerable: true,
     get: function () {
       return _generated2[key];
     }
   });
 });
 
-var _cloneNode = _interopRequireDefault(__webpack_require__(115));
-
-var _clone = _interopRequireDefault(__webpack_require__(327));
-
-var _cloneDeep = _interopRequireDefault(__webpack_require__(628));
-
-var _cloneWithoutLoc = _interopRequireDefault(__webpack_require__(629));
-
-var _addComment = _interopRequireDefault(__webpack_require__(630));
-
-var _addComments = _interopRequireDefault(__webpack_require__(328));
-
-var _inheritInnerComments = _interopRequireDefault(__webpack_require__(329));
-
-var _inheritLeadingComments = _interopRequireDefault(__webpack_require__(332));
-
-var _inheritsComments = _interopRequireDefault(__webpack_require__(333));
-
-var _inheritTrailingComments = _interopRequireDefault(__webpack_require__(334));
-
-var _removeComments = _interopRequireDefault(__webpack_require__(642));
-
-var _generated3 = __webpack_require__(643);
+var _cloneNode = _interopRequireDefault(__webpack_require__(116));
+
+var _clone = _interopRequireDefault(__webpack_require__(328));
+
+var _cloneDeep = _interopRequireDefault(__webpack_require__(629));
+
+var _cloneWithoutLoc = _interopRequireDefault(__webpack_require__(630));
+
+var _addComment = _interopRequireDefault(__webpack_require__(631));
+
+var _addComments = _interopRequireDefault(__webpack_require__(329));
+
+var _inheritInnerComments = _interopRequireDefault(__webpack_require__(330));
+
+var _inheritLeadingComments = _interopRequireDefault(__webpack_require__(333));
+
+var _inheritsComments = _interopRequireDefault(__webpack_require__(334));
+
+var _inheritTrailingComments = _interopRequireDefault(__webpack_require__(335));
+
+var _removeComments = _interopRequireDefault(__webpack_require__(643));
+
+var _generated3 = __webpack_require__(644);
 
 Object.keys(_generated3).forEach(function (key) {
   if (key === "default" || key === "__esModule") return;
   if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
   Object.defineProperty(exports, key, {
     enumerable: true,
     get: function () {
       return _generated3[key];
@@ -545,104 +545,104 @@ Object.keys(_constants).forEach(function
   Object.defineProperty(exports, key, {
     enumerable: true,
     get: function () {
       return _constants[key];
     }
   });
 });
 
-var _ensureBlock = _interopRequireDefault(__webpack_require__(644));
-
-var _toBindingIdentifierName = _interopRequireDefault(__webpack_require__(645));
-
-var _toBlock = _interopRequireDefault(__webpack_require__(335));
-
-var _toComputedKey = _interopRequireDefault(__webpack_require__(646));
-
-var _toExpression = _interopRequireDefault(__webpack_require__(647));
-
-var _toIdentifier = _interopRequireDefault(__webpack_require__(336));
-
-var _toKeyAlias = _interopRequireDefault(__webpack_require__(648));
-
-var _toSequenceExpression = _interopRequireDefault(__webpack_require__(649));
-
-var _toStatement = _interopRequireDefault(__webpack_require__(651));
-
-var _valueToNode = _interopRequireDefault(__webpack_require__(652));
+var _ensureBlock = _interopRequireDefault(__webpack_require__(645));
+
+var _toBindingIdentifierName = _interopRequireDefault(__webpack_require__(646));
+
+var _toBlock = _interopRequireDefault(__webpack_require__(336));
+
+var _toComputedKey = _interopRequireDefault(__webpack_require__(647));
+
+var _toExpression = _interopRequireDefault(__webpack_require__(648));
+
+var _toIdentifier = _interopRequireDefault(__webpack_require__(337));
+
+var _toKeyAlias = _interopRequireDefault(__webpack_require__(649));
+
+var _toSequenceExpression = _interopRequireDefault(__webpack_require__(650));
+
+var _toStatement = _interopRequireDefault(__webpack_require__(652));
+
+var _valueToNode = _interopRequireDefault(__webpack_require__(653));
 
 var _definitions = __webpack_require__(44);
 
 Object.keys(_definitions).forEach(function (key) {
   if (key === "default" || key === "__esModule") return;
   if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
   Object.defineProperty(exports, key, {
     enumerable: true,
     get: function () {
       return _definitions[key];
     }
   });
 });
 
-var _appendToMemberExpression = _interopRequireDefault(__webpack_require__(656));
-
-var _inherits = _interopRequireDefault(__webpack_require__(657));
-
-var _prependToMemberExpression = _interopRequireDefault(__webpack_require__(658));
-
-var _removeProperties = _interopRequireDefault(__webpack_require__(339));
-
-var _removePropertiesDeep = _interopRequireDefault(__webpack_require__(337));
-
-var _removeTypeDuplicates = _interopRequireDefault(__webpack_require__(326));
-
-var _getBindingIdentifiers = _interopRequireDefault(__webpack_require__(145));
-
-var _getOuterBindingIdentifiers = _interopRequireDefault(__webpack_require__(659));
-
-var _traverse = _interopRequireDefault(__webpack_require__(660));
-
-var _traverseFast = _interopRequireDefault(__webpack_require__(338));
-
-var _shallowEqual = _interopRequireDefault(__webpack_require__(237));
-
-var _is = _interopRequireDefault(__webpack_require__(249));
-
-var _isBinding = _interopRequireDefault(__webpack_require__(661));
-
-var _isBlockScoped = _interopRequireDefault(__webpack_require__(662));
-
-var _isImmutable = _interopRequireDefault(__webpack_require__(663));
-
-var _isLet = _interopRequireDefault(__webpack_require__(340));
-
-var _isNode = _interopRequireDefault(__webpack_require__(325));
-
-var _isNodesEquivalent = _interopRequireDefault(__webpack_require__(664));
-
-var _isReferenced = _interopRequireDefault(__webpack_require__(665));
-
-var _isScope = _interopRequireDefault(__webpack_require__(666));
-
-var _isSpecifierDefault = _interopRequireDefault(__webpack_require__(667));
-
-var _isType = _interopRequireDefault(__webpack_require__(250));
-
-var _isValidES3Identifier = _interopRequireDefault(__webpack_require__(668));
-
-var _isValidIdentifier = _interopRequireDefault(__webpack_require__(114));
-
-var _isVar = _interopRequireDefault(__webpack_require__(669));
-
-var _matchesPattern = _interopRequireDefault(__webpack_require__(307));
-
-var _validate = _interopRequireDefault(__webpack_require__(324));
-
-var _buildMatchMemberExpression = _interopRequireDefault(__webpack_require__(306));
+var _appendToMemberExpression = _interopRequireDefault(__webpack_require__(657));
+
+var _inherits = _interopRequireDefault(__webpack_require__(658));
+
+var _prependToMemberExpression = _interopRequireDefault(__webpack_require__(659));
+
+var _removeProperties = _interopRequireDefault(__webpack_require__(340));
+
+var _removePropertiesDeep = _interopRequireDefault(__webpack_require__(338));
+
+var _removeTypeDuplicates = _interopRequireDefault(__webpack_require__(327));
+
+var _getBindingIdentifiers = _interopRequireDefault(__webpack_require__(146));
+
+var _getOuterBindingIdentifiers = _interopRequireDefault(__webpack_require__(660));
+
+var _traverse = _interopRequireDefault(__webpack_require__(661));
+
+var _traverseFast = _interopRequireDefault(__webpack_require__(339));
+
+var _shallowEqual = _interopRequireDefault(__webpack_require__(238));
+
+var _is = _interopRequireDefault(__webpack_require__(250));
+
+var _isBinding = _interopRequireDefault(__webpack_require__(662));
+
+var _isBlockScoped = _interopRequireDefault(__webpack_require__(663));
+
+var _isImmutable = _interopRequireDefault(__webpack_require__(664));
+
+var _isLet = _interopRequireDefault(__webpack_require__(341));
+
+var _isNode = _interopRequireDefault(__webpack_require__(326));
+
+var _isNodesEquivalent = _interopRequireDefault(__webpack_require__(665));
+
+var _isReferenced = _interopRequireDefault(__webpack_require__(666));
+
+var _isScope = _interopRequireDefault(__webpack_require__(667));
+
+var _isSpecifierDefault = _interopRequireDefault(__webpack_require__(668));
+
+var _isType = _interopRequireDefault(__webpack_require__(251));
+
+var _isValidES3Identifier = _interopRequireDefault(__webpack_require__(669));
+
+var _isValidIdentifier = _interopRequireDefault(__webpack_require__(115));
+
+var _isVar = _interopRequireDefault(__webpack_require__(670));
+
+var _matchesPattern = _interopRequireDefault(__webpack_require__(308));
+
+var _validate = _interopRequireDefault(__webpack_require__(325));
+
+var _buildMatchMemberExpression = _interopRequireDefault(__webpack_require__(307));
 
 var _generated4 = __webpack_require__(19);
 
 Object.keys(_generated4).forEach(function (key) {
   if (key === "default" || key === "__esModule") return;
   if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
   Object.defineProperty(exports, key, {
     enumerable: true,
@@ -947,17 +947,17 @@ exports.isJSX = isJSX;
 exports.isPrivate = isPrivate;
 exports.isTSTypeElement = isTSTypeElement;
 exports.isTSType = isTSType;
 exports.isNumberLiteral = isNumberLiteral;
 exports.isRegexLiteral = isRegexLiteral;
 exports.isRestProperty = isRestProperty;
 exports.isSpreadProperty = isSpreadProperty;
 
-var _shallowEqual = _interopRequireDefault(__webpack_require__(237));
+var _shallowEqual = _interopRequireDefault(__webpack_require__(238));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function isArrayExpression(node, opts) {
   if (!node) return false;
   const nodeType = node.type;
 
   if (nodeType === "ArrayExpression") {
@@ -5439,17 +5439,17 @@ exports.tSTypeAnnotation = exports.tsTyp
 exports.tSTypeParameterInstantiation = exports.tsTypeParameterInstantiation = exports.TSTypeParameterInstantiation = TSTypeParameterInstantiation;
 exports.tSTypeParameterDeclaration = exports.tsTypeParameterDeclaration = exports.TSTypeParameterDeclaration = TSTypeParameterDeclaration;
 exports.tSTypeParameter = exports.tsTypeParameter = exports.TSTypeParameter = TSTypeParameter;
 exports.numberLiteral = exports.NumberLiteral = NumberLiteral;
 exports.regexLiteral = exports.RegexLiteral = RegexLiteral;
 exports.restProperty = exports.RestProperty = RestProperty;
 exports.spreadProperty = exports.SpreadProperty = SpreadProperty;
 
-var _builder = _interopRequireDefault(__webpack_require__(554));
+var _builder = _interopRequireDefault(__webpack_require__(555));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function ArrayExpression(...args) {
   return (0, _builder.default)("ArrayExpression", ...args);
 }
 
 function AssignmentExpression(...args) {
@@ -6816,39 +6816,39 @@ Object.defineProperty(exports, "DEPRECAT
   enumerable: true,
   get: function () {
     return _utils.DEPRECATED_KEYS;
   }
 });
 exports.TYPES = void 0;
 
 function _toFastProperties() {
-  const data = _interopRequireDefault(__webpack_require__(615));
+  const data = _interopRequireDefault(__webpack_require__(616));
 
   _toFastProperties = function () {
     return data;
   };
 
   return data;
 }
 
-__webpack_require__(248);
-
-__webpack_require__(251);
-
-__webpack_require__(619);
+__webpack_require__(249);
+
+__webpack_require__(252);
 
 __webpack_require__(620);
 
 __webpack_require__(621);
 
 __webpack_require__(622);
 
 __webpack_require__(623);
 
+__webpack_require__(624);
+
 var _utils = __webpack_require__(56);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 (0, _toFastProperties().default)(_utils.VISITOR_KEYS);
 (0, _toFastProperties().default)(_utils.ALIAS_KEYS);
 (0, _toFastProperties().default)(_utils.FLIPPED_ALIAS_KEYS);
 (0, _toFastProperties().default)(_utils.NODE_FIELDS);
@@ -6875,33 +6875,33 @@ exports.parse = parse;
 exports.parseConsoleScript = parseConsoleScript;
 exports.parseScript = parseScript;
 exports.getAst = getAst;
 exports.clearASTs = clearASTs;
 exports.traverseAst = traverseAst;
 exports.hasNode = hasNode;
 exports.replaceNode = replaceNode;
 
-var _parseScriptTags = __webpack_require__(670);
+var _parseScriptTags = __webpack_require__(671);
 
 var _parseScriptTags2 = _interopRequireDefault(_parseScriptTags);
 
-var _parser = __webpack_require__(674);
+var _parser = __webpack_require__(675);
 
 var babelParser = _interopRequireWildcard(_parser);
 
 var _types = __webpack_require__(12);
 
 var t = _interopRequireWildcard(_types);
 
-var _isEmpty = __webpack_require__(342);
+var _isEmpty = __webpack_require__(343);
 
 var _isEmpty2 = _interopRequireDefault(_isEmpty);
 
-var _sources = __webpack_require__(343);
+var _sources = __webpack_require__(344);
 
 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; } }
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 let ASTs = new Map(); /* This Source Code Form is subject to the terms of the Mozilla Public
                        * License, v. 2.0. If a copy of the MPL was not distributed with this
                        * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
@@ -7170,17 +7170,17 @@ exports.assertEach = assertEach;
 exports.assertOneOf = assertOneOf;
 exports.assertNodeType = assertNodeType;
 exports.assertNodeOrValueType = assertNodeOrValueType;
 exports.assertValueType = assertValueType;
 exports.chain = chain;
 exports.default = defineType;
 exports.DEPRECATED_KEYS = exports.BUILDER_KEYS = exports.NODE_FIELDS = exports.FLIPPED_ALIAS_KEYS = exports.ALIAS_KEYS = exports.VISITOR_KEYS = void 0;
 
-var _is = _interopRequireDefault(__webpack_require__(249));
+var _is = _interopRequireDefault(__webpack_require__(250));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 const VISITOR_KEYS = {};
 exports.VISITOR_KEYS = VISITOR_KEYS;
 const ALIAS_KEYS = {};
 exports.ALIAS_KEYS = ALIAS_KEYS;
 const FLIPPED_ALIAS_KEYS = {};
@@ -7380,18 +7380,18 @@ const store = {};
 /* 59 */,
 /* 60 */,
 /* 61 */,
 /* 62 */,
 /* 63 */,
 /* 64 */
 /***/ (function(module, exports, __webpack_require__) {
 
-var baseIsNative = __webpack_require__(567),
-    getValue = __webpack_require__(570);
+var baseIsNative = __webpack_require__(568),
+    getValue = __webpack_require__(571);
 
 /**
  * Gets the native function at `key` of `object`.
  *
  * @private
  * @param {Object} object The object to query.
  * @param {string} key The key of the method to get.
  * @returns {*} Returns the function if it's native, else `undefined`.
@@ -7689,26 +7689,27 @@ module.exports = objectToString;
 /* 105 */,
 /* 106 */,
 /* 107 */,
 /* 108 */,
 /* 109 */,
 /* 110 */,
 /* 111 */,
 /* 112 */,
-/* 113 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var DataView = __webpack_require__(600),
-    Map = __webpack_require__(239),
-    Promise = __webpack_require__(601),
-    Set = __webpack_require__(321),
-    WeakMap = __webpack_require__(602),
+/* 113 */,
+/* 114 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var DataView = __webpack_require__(601),
+    Map = __webpack_require__(240),
+    Promise = __webpack_require__(602),
+    Set = __webpack_require__(322),
+    WeakMap = __webpack_require__(603),
     baseGetTag = __webpack_require__(35),
-    toSource = __webpack_require__(309);
+    toSource = __webpack_require__(310);
 
 /** `Object#toString` result references. */
 var mapTag = '[object Map]',
     objectTag = '[object Object]',
     promiseTag = '[object Promise]',
     setTag = '[object Set]',
     weakMapTag = '[object WeakMap]';
 
@@ -7753,29 +7754,29 @@ if ((DataView && getTag(new DataView(new
     return result;
   };
 }
 
 module.exports = getTag;
 
 
 /***/ }),
-/* 114 */
+/* 115 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = isValidIdentifier;
 
 function _esutils() {
-  const data = _interopRequireDefault(__webpack_require__(616));
+  const data = _interopRequireDefault(__webpack_require__(617));
 
   _esutils = function () {
     return data;
   };
 
   return data;
 }
 
@@ -7787,17 +7788,17 @@ function isValidIdentifier(name) {
   } else if (name === "await") {
     return false;
   } else {
     return _esutils().default.keyword.isIdentifierNameES6(name);
   }
 }
 
 /***/ }),
-/* 115 */
+/* 116 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -7863,30 +7864,30 @@ function cloneNode(node, deep = true) {
   if (has(node, "extra")) {
     newNode.extra = Object.assign({}, node.extra);
   }
 
   return newNode;
 }
 
 /***/ }),
-/* 116 */
+/* 117 */
 /***/ (function(module, exports, __webpack_require__) {
 
 /* -*- Mode: js; js-indent-level: 2; -*- */
 /*
  * Copyright 2011 Mozilla Foundation and contributors
  * Licensed under the New BSD license. See LICENSE or:
  * http://opensource.org/licenses/BSD-3-Clause
  */
 
-var base64VLQ = __webpack_require__(117);
+var base64VLQ = __webpack_require__(118);
 var util = __webpack_require__(41);
-var ArraySet = __webpack_require__(118).ArraySet;
-var MappingList = __webpack_require__(257).MappingList;
+var ArraySet = __webpack_require__(119).ArraySet;
+var MappingList = __webpack_require__(258).MappingList;
 
 /**
  * An instance of the SourceMapGenerator represents a source map which is
  * being built incrementally. You may pass an object with the following
  * properties:
  *
  *   - file: The filename of the generated source.
  *   - sourceRoot: A root for all relative URLs in this source map.
@@ -8285,17 +8286,17 @@ SourceMapGenerator.prototype.toString =
   function SourceMapGenerator_toString() {
     return JSON.stringify(this.toJSON());
   };
 
 exports.SourceMapGenerator = SourceMapGenerator;
 
 
 /***/ }),
-/* 117 */
+/* 118 */
 /***/ (function(module, exports, __webpack_require__) {
 
 /* -*- Mode: js; js-indent-level: 2; -*- */
 /*
  * Copyright 2011 Mozilla Foundation and contributors
  * Licensed under the New BSD license. See LICENSE or:
  * http://opensource.org/licenses/BSD-3-Clause
  *
@@ -8325,17 +8326,17 @@ exports.SourceMapGenerator = SourceMapGe
  * 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.
  */
 
-var base64 = __webpack_require__(256);
+var base64 = __webpack_require__(257);
 
 // A single base 64 digit can contain 6 bits of data. For the base 64 variable
 // length quantities we use in the source map spec, the first bit is the sign,
 // the next four bits are the actual value, and the 6th bit is the
 // continuation bit. The continuation bit tells us whether there are more
 // digits in this value following this digit.
 //
 //   Continuation
@@ -8431,17 +8432,17 @@ exports.decode = function base64VLQ_deco
   } while (continuation);
 
   aOutParam.value = fromVLQSigned(result);
   aOutParam.rest = aIndex;
 };
 
 
 /***/ }),
-/* 118 */
+/* 119 */
 /***/ (function(module, exports, __webpack_require__) {
 
 /* -*- Mode: js; js-indent-level: 2; -*- */
 /*
  * Copyright 2011 Mozilla Foundation and contributors
  * Licensed under the New BSD license. See LICENSE or:
  * http://opensource.org/licenses/BSD-3-Clause
  */
@@ -8558,38 +8559,38 @@ ArraySet.prototype.at = function ArraySe
 ArraySet.prototype.toArray = function ArraySet_toArray() {
   return this._array.slice();
 };
 
 exports.ArraySet = ArraySet;
 
 
 /***/ }),
-/* 119 */,
 /* 120 */,
 /* 121 */,
 /* 122 */,
 /* 123 */,
 /* 124 */,
 /* 125 */,
 /* 126 */,
 /* 127 */,
 /* 128 */,
 /* 129 */,
 /* 130 */,
 /* 131 */,
 /* 132 */,
-/* 133 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var listCacheClear = __webpack_require__(557),
-    listCacheDelete = __webpack_require__(558),
-    listCacheGet = __webpack_require__(559),
-    listCacheHas = __webpack_require__(560),
-    listCacheSet = __webpack_require__(561);
+/* 133 */,
+/* 134 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var listCacheClear = __webpack_require__(558),
+    listCacheDelete = __webpack_require__(559),
+    listCacheGet = __webpack_require__(560),
+    listCacheHas = __webpack_require__(561),
+    listCacheSet = __webpack_require__(562);
 
 /**
  * Creates an list cache object.
  *
  * @private
  * @constructor
  * @param {Array} [entries] The key-value pairs to cache.
  */
@@ -8610,20 +8611,20 @@ ListCache.prototype['delete'] = listCach
 ListCache.prototype.get = listCacheGet;
 ListCache.prototype.has = listCacheHas;
 ListCache.prototype.set = listCacheSet;
 
 module.exports = ListCache;
 
 
 /***/ }),
-/* 134 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var eq = __webpack_require__(135);
+/* 135 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var eq = __webpack_require__(136);
 
 /**
  * Gets the index at which the `key` is found in `array` of key-value pairs.
  *
  * @private
  * @param {Array} array The array to inspect.
  * @param {*} key The key to search for.
  * @returns {number} Returns the index of the matched value, else `-1`.
@@ -8637,17 +8638,17 @@ function assocIndexOf(array, key) {
   }
   return -1;
 }
 
 module.exports = assocIndexOf;
 
 
 /***/ }),
-/* 135 */
+/* 136 */
 /***/ (function(module, exports) {
 
 /**
  * Performs a
  * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
  * comparison between two values to determine if they are equivalent.
  *
  * @static
@@ -8680,32 +8681,32 @@ module.exports = assocIndexOf;
 function eq(value, other) {
   return value === other || (value !== value && other !== other);
 }
 
 module.exports = eq;
 
 
 /***/ }),
-/* 136 */
+/* 137 */
 /***/ (function(module, exports, __webpack_require__) {
 
 var getNative = __webpack_require__(64);
 
 /* Built-in method references that are verified to be native. */
 var nativeCreate = getNative(Object, 'create');
 
 module.exports = nativeCreate;
 
 
 /***/ }),
-/* 137 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var isKeyable = __webpack_require__(579);
+/* 138 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var isKeyable = __webpack_require__(580);
 
 /**
  * Gets the data for `map`.
  *
  * @private
  * @param {Object} map The map to query.
  * @param {string} key The reference key.
  * @returns {*} Returns the map data.
@@ -8716,21 +8717,21 @@ function getMapData(map, key) {
     ? data[typeof key == 'string' ? 'string' : 'hash']
     : data.map;
 }
 
 module.exports = getMapData;
 
 
 /***/ }),
-/* 138 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var assignValue = __webpack_require__(310),
-    baseAssignValue = __webpack_require__(311);
+/* 139 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var assignValue = __webpack_require__(311),
+    baseAssignValue = __webpack_require__(312);
 
 /**
  * Copies properties of `source` to `object`.
  *
  * @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.
@@ -8762,22 +8763,22 @@ function copyObject(source, props, objec
   }
   return object;
 }
 
 module.exports = copyObject;
 
 
 /***/ }),
-/* 139 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var arrayLikeKeys = __webpack_require__(312),
-    baseKeys = __webpack_require__(313),
-    isArrayLike = __webpack_require__(144);
+/* 140 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var arrayLikeKeys = __webpack_require__(313),
+    baseKeys = __webpack_require__(314),
+    isArrayLike = __webpack_require__(145);
 
 /**
  * Creates an array of the own enumerable property names of `object`.
  *
  * **Note:** Non-object values are coerced to objects. See the
  * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
  * for more details.
  *
@@ -8805,21 +8806,21 @@ var arrayLikeKeys = __webpack_require__(
 function keys(object) {
   return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
 }
 
 module.exports = keys;
 
 
 /***/ }),
-/* 140 */
+/* 141 */
 /***/ (function(module, exports, __webpack_require__) {
 
 /* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(21),
-    stubFalse = __webpack_require__(588);
+    stubFalse = __webpack_require__(589);
 
 /** Detect free variable `exports`. */
 var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
 
 /** Detect free variable `module`. */
 var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
 
 /** Detect the popular CommonJS extension `module.exports`. */
@@ -8850,17 +8851,17 @@ var nativeIsBuffer = Buffer ? Buffer.isB
  */
 var isBuffer = nativeIsBuffer || stubFalse;
 
 module.exports = isBuffer;
 
 /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(42)(module)))
 
 /***/ }),
-/* 141 */
+/* 142 */
 /***/ (function(module, exports) {
 
 /**
  * The base implementation of `_.unary` without support for storing metadata.
  *
  * @private
  * @param {Function} func The function to cap arguments for.
  * @returns {Function} Returns the new capped function.
@@ -8870,17 +8871,17 @@ function baseUnary(func) {
     return func(value);
   };
 }
 
 module.exports = baseUnary;
 
 
 /***/ }),
-/* 142 */
+/* 143 */
 /***/ (function(module, exports, __webpack_require__) {
 
 /* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(70);
 
 /** Detect free variable `exports`. */
 var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
 
 /** Detect free variable `module`. */
@@ -8907,17 +8908,17 @@ var nodeUtil = (function() {
   } catch (e) {}
 }());
 
 module.exports = nodeUtil;
 
 /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(42)(module)))
 
 /***/ }),
-/* 143 */
+/* 144 */
 /***/ (function(module, exports) {
 
 /** Used for built-in method references. */
 var objectProto = Object.prototype;
 
 /**
  * Checks if `value` is likely a prototype object.
  *
@@ -8931,21 +8932,21 @@ function isPrototype(value) {
 
   return value === proto;
 }
 
 module.exports = isPrototype;
 
 
 /***/ }),
-/* 144 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var isFunction = __webpack_require__(308),
-    isLength = __webpack_require__(244);
+/* 145 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var isFunction = __webpack_require__(309),
+    isLength = __webpack_require__(245);
 
 /**
  * Checks if `value` is array-like. A value is considered array-like if it's
  * not a function and has a `value.length` that's an integer greater than or
  * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
  *
  * @static
  * @memberOf _
@@ -8970,17 +8971,17 @@ var isFunction = __webpack_require__(308
 function isArrayLike(value) {
   return value != null && isLength(value.length) && !isFunction(value);
 }
 
 module.exports = isArrayLike;
 
 
 /***/ }),
-/* 145 */
+/* 146 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -9079,17 +9080,17 @@ getBindingIdentifiers.keys = {
   AssignmentPattern: ["left"],
   ArrayPattern: ["elements"],
   ObjectPattern: ["properties"],
   VariableDeclaration: ["declarations"],
   VariableDeclarator: ["id"]
 };
 
 /***/ }),
-/* 146 */
+/* 147 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -9109,17 +9110,17 @@ exports.isTopLevel = isTopLevel;
 exports.nodeHasSameLocation = nodeHasSameLocation;
 exports.sameLocation = sameLocation;
 exports.getFunctionParameterNames = getFunctionParameterNames;
 
 var _types = __webpack_require__(12);
 
 var t = _interopRequireWildcard(_types);
 
-var _generator = __webpack_require__(147);
+var _generator = __webpack_require__(148);
 
 var _generator2 = _interopRequireDefault(_generator);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 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; } }
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
@@ -9300,31 +9301,31 @@ function getFunctionParameterNames(path)
         return `${param.left.name} = null`;
       }
     });
   }
   return [];
 }
 
 /***/ }),
-/* 147 */
+/* 148 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = _default;
 exports.CodeGenerator = void 0;
 
-var _sourceMap = _interopRequireDefault(__webpack_require__(675));
-
-var _printer = _interopRequireDefault(__webpack_require__(676));
+var _sourceMap = _interopRequireDefault(__webpack_require__(676));
+
+var _printer = _interopRequireDefault(__webpack_require__(677));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 class Generator extends _printer.default {
   constructor(ast, opts = {}, code) {
     const format = normalizeOptions(code, opts);
     const map = opts.sourceMaps ? new _sourceMap.default(opts, code) : null;
     super(format, map);
@@ -9398,20 +9399,20 @@ class CodeGenerator {
 exports.CodeGenerator = CodeGenerator;
 
 function _default(ast, opts, code) {
   const gen = new Generator(ast, opts, code);
   return gen.generate();
 }
 
 /***/ }),
-/* 148 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var toFinite = __webpack_require__(678);
+/* 149 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var toFinite = __webpack_require__(679);
 
 /**
  * Converts `value` to an integer.
  *
  * **Note:** This method is loosely based on
  * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).
  *
  * @static
@@ -9440,33 +9441,33 @@ function toInteger(value) {
 
   return result === result ? (remainder ? result - remainder : result) : 0;
 }
 
 module.exports = toInteger;
 
 
 /***/ }),
-/* 149 */
+/* 150 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 /* WEBPACK VAR INJECTION */(function(global) {/*!
  * The buffer module from node.js, for the browser.
  *
  * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
  * @license  MIT
  */
 /* eslint-disable no-proto */
 
 
 
-var base64 = __webpack_require__(263)
-var ieee754 = __webpack_require__(264)
-var isArray = __webpack_require__(265)
+var base64 = __webpack_require__(264)
+var ieee754 = __webpack_require__(265)
+var isArray = __webpack_require__(266)
 
 exports.Buffer = Buffer
 exports.SlowBuffer = SlowBuffer
 exports.INSPECT_MAX_BYTES = 50
 
 /**
  * If `Buffer.TYPED_ARRAY_SUPPORT`:
  *   === true    Use Uint8Array implementation (fastest)
@@ -11237,17 +11238,17 @@ function blitBuffer (src, dst, offset, l
 
 function isnan (val) {
   return val !== val // eslint-disable-line no-self-compare
 }
 
 /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(27)))
 
 /***/ }),
-/* 150 */
+/* 151 */
 /***/ (function(module, exports, __webpack_require__) {
 
 var isSymbol = __webpack_require__(51);
 
 /** Used as references for various `Number` constants. */
 var INFINITY = 1 / 0;
 
 /**
@@ -11264,17 +11265,16 @@ function toKey(value) {
   var result = (value + '');
   return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
 }
 
 module.exports = toKey;
 
 
 /***/ }),
-/* 151 */,
 /* 152 */,
 /* 153 */,
 /* 154 */,
 /* 155 */,
 /* 156 */,
 /* 157 */,
 /* 158 */,
 /* 159 */,
@@ -11349,43 +11349,44 @@ module.exports = toKey;
 /* 228 */,
 /* 229 */,
 /* 230 */,
 /* 231 */,
 /* 232 */,
 /* 233 */,
 /* 234 */,
 /* 235 */,
-/* 236 */
+/* 236 */,
+/* 237 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.clearSymbols = clearSymbols;
 exports.getSymbols = getSymbols;
 
 var _types = __webpack_require__(12);
 
 var t = _interopRequireWildcard(_types);
 
-var _simplePath = __webpack_require__(341);
+var _simplePath = __webpack_require__(342);
 
 var _simplePath2 = _interopRequireDefault(_simplePath);
 
 var _ast = __webpack_require__(49);
 
-var _helpers = __webpack_require__(146);
-
-var _inferClassName = __webpack_require__(698);
-
-var _getFunctionName = __webpack_require__(346);
+var _helpers = __webpack_require__(147);
+
+var _inferClassName = __webpack_require__(699);
+
+var _getFunctionName = __webpack_require__(347);
 
 var _getFunctionName2 = _interopRequireDefault(_getFunctionName);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 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; } }
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
@@ -11756,17 +11757,17 @@ function getSymbols(sourceId) {
 
   const symbols = extractSymbols(sourceId);
 
   symbolDeclarations.set(sourceId, symbols);
   return symbols;
 }
 
 /***/ }),
-/* 237 */
+/* 238 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -11780,25 +11781,25 @@ function shallowEqual(actual, expected) 
       return false;
     }
   }
 
   return true;
 }
 
 /***/ }),
-/* 238 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var ListCache = __webpack_require__(133),
-    stackClear = __webpack_require__(562),
-    stackDelete = __webpack_require__(563),
-    stackGet = __webpack_require__(564),
-    stackHas = __webpack_require__(565),
-    stackSet = __webpack_require__(566);
+/* 239 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var ListCache = __webpack_require__(134),
+    stackClear = __webpack_require__(563),
+    stackDelete = __webpack_require__(564),
+    stackGet = __webpack_require__(565),
+    stackHas = __webpack_require__(566),
+    stackSet = __webpack_require__(567);
 
 /**
  * Creates a stack cache object to store key-value pairs.
  *
  * @private
  * @constructor
  * @param {Array} [entries] The key-value pairs to cache.
  */
@@ -11813,37 +11814,37 @@ Stack.prototype['delete'] = stackDelete;
 Stack.prototype.get = stackGet;
 Stack.prototype.has = stackHas;
 Stack.prototype.set = stackSet;
 
 module.exports = Stack;
 
 
 /***/ }),
-/* 239 */
+/* 240 */
 /***/ (function(module, exports, __webpack_require__) {
 
 var getNative = __webpack_require__(64),
     root = __webpack_require__(21);
 
 /* Built-in method references that are verified to be native. */
 var Map = getNative(root, 'Map');
 
 module.exports = Map;
 
 
 /***/ }),
-/* 240 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var mapCacheClear = __webpack_require__(571),
-    mapCacheDelete = __webpack_require__(578),
-    mapCacheGet = __webpack_require__(580),
-    mapCacheHas = __webpack_require__(581),
-    mapCacheSet = __webpack_require__(582);
+/* 241 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var mapCacheClear = __webpack_require__(572),
+    mapCacheDelete = __webpack_require__(579),
+    mapCacheGet = __webpack_require__(581),
+    mapCacheHas = __webpack_require__(582),
+    mapCacheSet = __webpack_require__(583);
 
 /**
  * Creates a map cache object to store key-value pairs.
  *
  * @private
  * @constructor
  * @param {Array} [entries] The key-value pairs to cache.
  */
@@ -11864,20 +11865,20 @@ MapCache.prototype['delete'] = mapCacheD
 MapCache.prototype.get = mapCacheGet;
 MapCache.prototype.has = mapCacheHas;
 MapCache.prototype.set = mapCacheSet;
 
 module.exports = MapCache;
 
 
 /***/ }),
-/* 241 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var baseIsArguments = __webpack_require__(587),
+/* 242 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var baseIsArguments = __webpack_require__(588),
     isObjectLike = __webpack_require__(29);
 
 /** Used for built-in method references. */
 var objectProto = Object.prototype;
 
 /** Used to check objects for own properties. */
 var hasOwnProperty = objectProto.hasOwnProperty;
 
@@ -11906,17 +11907,17 @@ var isArguments = baseIsArguments(functi
   return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&
     !propertyIsEnumerable.call(value, 'callee');
 };
 
 module.exports = isArguments;
 
 
 /***/ }),
-/* 242 */
+/* 243 */
 /***/ (function(module, exports) {
 
 /** Used as references for various `Number` constants. */
 var MAX_SAFE_INTEGER = 9007199254740991;
 
 /** Used to detect unsigned integer values. */
 var reIsUint = /^(?:0|[1-9]\d*)$/;
 
@@ -11937,22 +11938,22 @@ function isIndex(value, length) {
       (type != 'symbol' && reIsUint.test(value))) &&
         (value > -1 && value % 1 == 0 && value < length);
 }
 
 module.exports = isIndex;
 
 
 /***/ }),
-/* 243 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var baseIsTypedArray = __webpack_require__(589),
-    baseUnary = __webpack_require__(141),
-    nodeUtil = __webpack_require__(142);
+/* 244 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var baseIsTypedArray = __webpack_require__(590),
+    baseUnary = __webpack_require__(142),
+    nodeUtil = __webpack_require__(143);
 
 /* Node.js helper references. */
 var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
 
 /**
  * Checks if `value` is classified as a typed array.
  *
  * @static
@@ -11970,17 +11971,17 @@ var nodeIsTypedArray = nodeUtil && nodeU
  * // => false
  */
 var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
 
 module.exports = isTypedArray;
 
 
 /***/ }),
-/* 244 */
+/* 245 */
 /***/ (function(module, exports) {
 
 /** Used as references for various `Number` constants. */
 var MAX_SAFE_INTEGER = 9007199254740991;
 
 /**
  * Checks if `value` is a valid array-like length.
  *
@@ -12011,21 +12012,21 @@ function isLength(value) {
   return typeof value == 'number' &&
     value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
 }
 
 module.exports = isLength;
 
 
 /***/ }),
-/* 245 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var arrayFilter = __webpack_require__(597),
-    stubArray = __webpack_require__(316);
+/* 246 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var arrayFilter = __webpack_require__(598),
+    stubArray = __webpack_require__(317);
 
 /** Used for built-in method references. */
 var objectProto = Object.prototype;
 
 /** Built-in value references. */
 var propertyIsEnumerable = objectProto.propertyIsEnumerable;
 
 /* Built-in method references for those with the same name as other `lodash` methods. */
@@ -12047,32 +12048,32 @@ var getSymbols = !nativeGetSymbols ? stu
     return propertyIsEnumerable.call(object, symbol);
   });
 };
 
 module.exports = getSymbols;
 
 
 /***/ }),
-/* 246 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var overArg = __webpack_require__(314);
+/* 247 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var overArg = __webpack_require__(315);
 
 /** Built-in value references. */
 var getPrototype = overArg(Object.getPrototypeOf, Object);
 
 module.exports = getPrototype;
 
 
 /***/ }),
-/* 247 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var Uint8Array = __webpack_require__(322);
+/* 248 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var Uint8Array = __webpack_require__(323);
 
 /**
  * Creates a clone of `arrayBuffer`.
  *
  * @private
  * @param {ArrayBuffer} arrayBuffer The array buffer to clone.
  * @returns {ArrayBuffer} Returns the cloned array buffer.
  */
@@ -12081,28 +12082,28 @@ function cloneArrayBuffer(arrayBuffer) {
   new Uint8Array(result).set(new Uint8Array(arrayBuffer));
   return result;
 }
 
 module.exports = cloneArrayBuffer;
 
 
 /***/ }),
-/* 248 */
+/* 249 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.patternLikeCommon = exports.functionDeclarationCommon = exports.functionTypeAnnotationCommon = exports.functionCommon = void 0;
 
-var _isValidIdentifier = _interopRequireDefault(__webpack_require__(114));
+var _isValidIdentifier = _interopRequireDefault(__webpack_require__(115));
 
 var _constants = __webpack_require__(65);
 
 var _utils = _interopRequireWildcard(__webpack_require__(56));
 
 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)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -12803,47 +12804,47 @@ exports.patternLikeCommon = patternLikeC
     },
     body: {
       validate: (0, _utils.assertNodeType)("BlockStatement", "Statement")
     }
   }
 });
 
 /***/ }),
-/* 249 */
+/* 250 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = is;
 
-var _shallowEqual = _interopRequireDefault(__webpack_require__(237));
-
-var _isType = _interopRequireDefault(__webpack_require__(250));
+var _shallowEqual = _interopRequireDefault(__webpack_require__(238));
+
+var _isType = _interopRequireDefault(__webpack_require__(251));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function is(type, node, opts) {
   if (!node) return false;
   const matches = (0, _isType.default)(node.type, type);
   if (!matches) return false;
 
   if (typeof opts === "undefined") {
     return true;
   } else {
     return (0, _shallowEqual.default)(node, opts);
   }
 }
 
 /***/ }),
-/* 250 */
+/* 251 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -12863,30 +12864,30 @@ function isType(nodeType, targetType) {
       if (nodeType === alias) return true;
     }
   }
 
   return false;
 }
 
 /***/ }),
-/* 251 */
+/* 252 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.classMethodOrDeclareMethodCommon = exports.classMethodOrPropertyCommon = void 0;
 
 var _utils = _interopRequireWildcard(__webpack_require__(56));
 
-var _core = __webpack_require__(248);
+var _core = __webpack_require__(249);
 
 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)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
 
 (0, _utils.default)("AssignmentPattern", {
   visitor: ["left", "right"],
   builder: ["left", "right"],
   aliases: ["Pattern", "PatternLike", "LVal"],
   fields: Object.assign({}, _core.patternLikeCommon, {
@@ -13254,29 +13255,29 @@ exports.classMethodOrDeclareMethodCommon
     argument: {
       optional: true,
       validate: (0, _utils.assertNodeType)("Expression")
     }
   }
 });
 
 /***/ }),
-/* 252 */
+/* 253 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = inherit;
 
 function _uniq() {
-  const data = _interopRequireDefault(__webpack_require__(631));
+  const data = _interopRequireDefault(__webpack_require__(632));
 
   _uniq = function () {
     return data;
   };
 
   return data;
 }
 
@@ -13284,17 +13285,17 @@ function _interopRequireDefault(obj) { r
 
 function inherit(key, child, parent) {
   if (child && parent) {
     child[key] = (0, _uniq().default)([].concat(child[key], parent[key]).filter(Boolean));
   }
 }
 
 /***/ }),
-/* 253 */
+/* 254 */
 /***/ (function(module, exports) {
 
 /**
  * The base implementation of `_.findIndex` and `_.findLastIndex` without
  * support for iteratee shorthands.
  *
  * @private
  * @param {Array} array The array to inspect.
@@ -13314,17 +13315,17 @@ function baseFindIndex(array, predicate,
   }
   return -1;
 }
 
 module.exports = baseFindIndex;
 
 
 /***/ }),
-/* 254 */
+/* 255 */
 /***/ (function(module, exports) {
 
 /**
  * Converts `set` to an array of its values.
  *
  * @private
  * @param {Object} set The set to convert.
  * @returns {Array} Returns the values.
@@ -13338,31 +13339,31 @@ function setToArray(set) {
   });
   return result;
 }
 
 module.exports = setToArray;
 
 
 /***/ }),
-/* 255 */
+/* 256 */
 /***/ (function(module, exports, __webpack_require__) {
 
 /*
  * Copyright 2009-2011 Mozilla Foundation and contributors
  * Licensed under the New BSD license. See LICENSE.txt or:
  * http://opensource.org/licenses/BSD-3-Clause
  */
-exports.SourceMapGenerator = __webpack_require__(116).SourceMapGenerator;
-exports.SourceMapConsumer = __webpack_require__(258).SourceMapConsumer;
-exports.SourceNode = __webpack_require__(261).SourceNode;
-
-
-/***/ }),
-/* 256 */
+exports.SourceMapGenerator = __webpack_require__(117).SourceMapGenerator;
+exports.SourceMapConsumer = __webpack_require__(259).SourceMapConsumer;
+exports.SourceNode = __webpack_require__(262).SourceNode;
+
+
+/***/ }),
+/* 257 */
 /***/ (function(module, exports) {
 
 /* -*- Mode: js; js-indent-level: 2; -*- */
 /*
  * Copyright 2011 Mozilla Foundation and contributors
  * Licensed under the New BSD license. See LICENSE or:
  * http://opensource.org/licenses/BSD-3-Clause
  */
@@ -13425,17 +13426,17 @@ exports.decode = function (charCode) {
   }
 
   // Invalid base64 digit.
   return -1;
 };
 
 
 /***/ }),
-/* 257 */
+/* 258 */
 /***/ (function(module, exports, __webpack_require__) {
 
 /* -*- Mode: js; js-indent-level: 2; -*- */
 /*
  * Copyright 2014 Mozilla Foundation and contributors
  * Licensed under the New BSD license. See LICENSE or:
  * http://opensource.org/licenses/BSD-3-Clause
  */
@@ -13510,31 +13511,31 @@ MappingList.prototype.toArray = function
   }
   return this._array;
 };
 
 exports.MappingList = MappingList;
 
 
 /***/ }),
-/* 258 */
+/* 259 */
 /***/ (function(module, exports, __webpack_require__) {
 
 /* -*- Mode: js; js-indent-level: 2; -*- */
 /*
  * Copyright 2011 Mozilla Foundation and contributors
  * Licensed under the New BSD license. See LICENSE or:
  * http://opensource.org/licenses/BSD-3-Clause
  */
 
 var util = __webpack_require__(41);
-var binarySearch = __webpack_require__(259);
-var ArraySet = __webpack_require__(118).ArraySet;
-var base64VLQ = __webpack_require__(117);
-var quickSort = __webpack_require__(260).quickSort;
+var binarySearch = __webpack_require__(260);
+var ArraySet = __webpack_require__(119).ArraySet;
+var base64VLQ = __webpack_require__(118);
+var quickSort = __webpack_require__(261).quickSort;
 
 function SourceMapConsumer(aSourceMap) {
   var sourceMap = aSourceMap;
   if (typeof aSourceMap === 'string') {
     sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, ''));
   }
 
   return sourceMap.sections != null
@@ -14598,17 +14599,17 @@ IndexedSourceMapConsumer.prototype._pars
     quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated);
     quickSort(this.__originalMappings, util.compareByOriginalPositions);
   };
 
 exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer;
 
 
 /***/ }),
-/* 259 */
+/* 260 */
 /***/ (function(module, exports) {
 
 /* -*- Mode: js; js-indent-level: 2; -*- */
 /*
  * Copyright 2011 Mozilla Foundation and contributors
  * Licensed under the New BSD license. See LICENSE or:
  * http://opensource.org/licenses/BSD-3-Clause
  */
@@ -14715,17 +14716,17 @@ exports.search = function search(aNeedle
     --index;
   }
 
   return index;
 };
 
 
 /***/ }),
-/* 260 */
+/* 261 */
 /***/ (function(module, exports) {
 
 /* -*- Mode: js; js-indent-level: 2; -*- */
 /*
  * Copyright 2011 Mozilla Foundation and contributors
  * Licensed under the New BSD license. See LICENSE or:
  * http://opensource.org/licenses/BSD-3-Clause
  */
@@ -14835,27 +14836,27 @@ function doQuickSort(ary, comparator, p,
  *        Function to use to compare two items.
  */
 exports.quickSort = function (ary, comparator) {
   doQuickSort(ary, comparator, 0, ary.length - 1);
 };
 
 
 /***/ }),
-/* 261 */
+/* 262 */
 /***/ (function(module, exports, __webpack_require__) {
 
 /* -*- Mode: js; js-indent-level: 2; -*- */
 /*
  * Copyright 2011 Mozilla Foundation and contributors
  * Licensed under the New BSD license. See LICENSE or:
  * http://opensource.org/licenses/BSD-3-Clause
  */
 
-var SourceMapGenerator = __webpack_require__(116).SourceMapGenerator;
+var SourceMapGenerator = __webpack_require__(117).SourceMapGenerator;
 var util = __webpack_require__(41);
 
 // Matches a Windows-style `\r\n` newline or a `\n` newline used by all other
 // operating systems these days (capturing the result).
 var REGEX_NEWLINE = /(\r?\n)/;
 
 // Newline character code for charCodeAt() comparisons
 var NEWLINE_CODE = 10;
@@ -15254,17 +15255,17 @@ SourceNode.prototype.toStringWithSourceM
 
   return { code: generated.code, map: map };
 };
 
 exports.SourceNode = SourceNode;
 
 
 /***/ }),
-/* 262 */
+/* 263 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -15287,17 +15288,17 @@ function t() {
   t = function () {
     return data;
   };
 
   return data;
 }
 
 function _jsesc() {
-  const data = _interopRequireDefault(__webpack_require__(693));
+  const data = _interopRequireDefault(__webpack_require__(694));
 
   _jsesc = function () {
     return data;
   };
 
   return data;
 }
 
@@ -15438,17 +15439,17 @@ function BigIntLiteral(node) {
     this.token(raw);
     return;
   }
 
   this.token(node.value);
 }
 
 /***/ }),
-/* 263 */
+/* 264 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 exports.byteLength = byteLength
 exports.toByteArray = toByteArray
 exports.fromByteArray = fromByteArray
@@ -15596,17 +15597,17 @@ function fromByteArray (uint8) {
     )
   }
 
   return parts.join('')
 }
 
 
 /***/ }),
-/* 264 */
+/* 265 */
 /***/ (function(module, exports) {
 
 exports.read = function (buffer, offset, isLE, mLen, nBytes) {
   var e, m
   var eLen = (nBytes * 8) - mLen - 1
   var eMax = (1 << eLen) - 1
   var eBias = eMax >> 1
   var nBits = -7
@@ -15686,28 +15687,28 @@ exports.write = function (buffer, value,
   eLen += mLen
   for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
 
   buffer[offset + i - d] |= s * 128
 }
 
 
 /***/ }),
-/* 265 */
+/* 266 */
 /***/ (function(module, exports) {
 
 var toString = {}.toString;
 
 module.exports = Array.isArray || function (arr) {
   return toString.call(arr) == '[object Array]';
 };
 
 
 /***/ }),
-/* 266 */
+/* 267 */
 /***/ (function(module, exports, __webpack_require__) {
 
 var isArray = __webpack_require__(22),
     isSymbol = __webpack_require__(51);
 
 /** Used to match property names within property paths. */
 var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
     reIsPlainProp = /^\w*$/;
@@ -15732,17 +15733,16 @@ function isKey(value, object) {
   return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||
     (object != null && value in Object(object));
 }
 
 module.exports = isKey;
 
 
 /***/ }),
-/* 267 */,
 /* 268 */,
 /* 269 */,
 /* 270 */,
 /* 271 */,
 /* 272 */,
 /* 273 */,
 /* 274 */,
 /* 275 */,
@@ -15771,38 +15771,39 @@ module.exports = isKey;
 /* 298 */,
 /* 299 */,
 /* 300 */,
 /* 301 */,
 /* 302 */,
 /* 303 */,
 /* 304 */,
 /* 305 */,
-/* 306 */
+/* 306 */,
+/* 307 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = buildMatchMemberExpression;
 
-var _matchesPattern = _interopRequireDefault(__webpack_require__(307));
+var _matchesPattern = _interopRequireDefault(__webpack_require__(308));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function buildMatchMemberExpression(match, allowPartial) {
   const parts = match.split(".");
   return member => (0, _matchesPattern.default)(member, parts, allowPartial);
 }
 
 /***/ }),
-/* 307 */
+/* 308 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -15838,17 +15839,17 @@ function matchesPattern(member, match, a
 
     if (parts[i] !== value) return false;
   }
 
   return true;
 }
 
 /***/ }),
-/* 308 */
+/* 309 */
 /***/ (function(module, exports, __webpack_require__) {
 
 var baseGetTag = __webpack_require__(35),
     isObject = __webpack_require__(55);
 
 /** `Object#toString` result references. */
 var asyncTag = '[object AsyncFunction]',
     funcTag = '[object Function]',
@@ -15881,17 +15882,17 @@ function isFunction(value) {
   var tag = baseGetTag(value);
   return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
 }
 
 module.exports = isFunction;
 
 
 /***/ }),
-/* 309 */
+/* 310 */
 /***/ (function(module, exports) {
 
 /** Used for built-in method references. */
 var funcProto = Function.prototype;
 
 /** Used to resolve the decompiled source of functions. */
 var funcToString = funcProto.toString;
 
@@ -15913,21 +15914,21 @@ function toSource(func) {
   }
   return '';
 }
 
 module.exports = toSource;
 
 
 /***/ }),
-/* 310 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var baseAssignValue = __webpack_require__(311),
-    eq = __webpack_require__(135);
+/* 311 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var baseAssignValue = __webpack_require__(312),
+    eq = __webpack_require__(136);
 
 /** Used for built-in method references. */
 var objectProto = Object.prototype;
 
 /** Used to check objects for own properties. */
 var hasOwnProperty = objectProto.hasOwnProperty;
 
 /**
@@ -15947,20 +15948,20 @@ function assignValue(object, key, value)
     baseAssignValue(object, key, value);
   }
 }
 
 module.exports = assignValue;
 
 
 /***/ }),
-/* 311 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var defineProperty = __webpack_require__(584);
+/* 312 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var defineProperty = __webpack_require__(585);
 
 /**
  * The base implementation of `assignValue` and `assignMergeValue` without
  * value checks.
  *
  * @private
  * @param {Object} object The object to modify.
  * @param {string} key The key of the property to assign.
@@ -15978,25 +15979,25 @@ function baseAssignValue(object, key, va
     object[key] = value;
   }
 }
 
 module.exports = baseAssignValue;
 
 
 /***/ }),
-/* 312 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var baseTimes = __webpack_require__(586),
-    isArguments = __webpack_require__(241),
+/* 313 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var baseTimes = __webpack_require__(587),
+    isArguments = __webpack_require__(242),
     isArray = __webpack_require__(22),
-    isBuffer = __webpack_require__(140),
-    isIndex = __webpack_require__(242),
-    isTypedArray = __webpack_require__(243);
+    isBuffer = __webpack_require__(141),
+    isIndex = __webpack_require__(243),
+    isTypedArray = __webpack_require__(244);
 
 /** Used for built-in method references. */
 var objectProto = Object.prototype;
 
 /** Used to check objects for own properties. */
 var hasOwnProperty = objectProto.hasOwnProperty;
 
 /**
@@ -16033,21 +16034,21 @@ function arrayLikeKeys(value, inherited)
   }
   return result;
 }
 
 module.exports = arrayLikeKeys;
 
 
 /***/ }),
-/* 313 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var isPrototype = __webpack_require__(143),
-    nativeKeys = __webpack_require__(590);
+/* 314 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var isPrototype = __webpack_require__(144),
+    nativeKeys = __webpack_require__(591);
 
 /** Used for built-in method references. */
 var objectProto = Object.prototype;
 
 /** Used to check objects for own properties. */
 var hasOwnProperty = objectProto.hasOwnProperty;
 
 /**
@@ -16069,17 +16070,17 @@ function baseKeys(object) {
   }
   return result;
 }
 
 module.exports = baseKeys;
 
 
 /***/ }),
-/* 314 */
+/* 315 */
 /***/ (function(module, exports) {
 
 /**
  * Creates a unary function that invokes `func` with its argument transformed.
  *
  * @private
  * @param {Function} func The function to wrap.
  * @param {Function} transform The argument transform.
@@ -16090,22 +16091,22 @@ function overArg(func, transform) {
     return func(transform(arg));
   };
 }
 
 module.exports = overArg;
 
 
 /***/ }),
-/* 315 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var arrayLikeKeys = __webpack_require__(312),
-    baseKeysIn = __webpack_require__(592),
-    isArrayLike = __webpack_require__(144);
+/* 316 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var arrayLikeKeys = __webpack_require__(313),
+    baseKeysIn = __webpack_require__(593),
+    isArrayLike = __webpack_require__(145);
 
 /**
  * Creates an array of the own and inherited enumerable property names of `object`.
  *
  * **Note:** Non-object values are coerced to objects.
  *
  * @static
  * @memberOf _
@@ -16128,17 +16129,17 @@ var arrayLikeKeys = __webpack_require__(
 function keysIn(object) {
   return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
 }
 
 module.exports = keysIn;
 
 
 /***/ }),
-/* 316 */
+/* 317 */
 /***/ (function(module, exports) {
 
 /**
  * This method returns a new empty array.
  *
  * @static
  * @memberOf _
  * @since 4.13.0
@@ -16157,23 +16158,23 @@ module.exports = keysIn;
 function stubArray() {
   return [];
 }
 
 module.exports = stubArray;
 
 
 /***/ }),
-/* 317 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var arrayPush = __webpack_require__(318),
-    getPrototype = __webpack_require__(246),
-    getSymbols = __webpack_require__(245),
-    stubArray = __webpack_require__(316);
+/* 318 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var arrayPush = __webpack_require__(319),
+    getPrototype = __webpack_require__(247),
+    getSymbols = __webpack_require__(246),
+    stubArray = __webpack_require__(317);
 
 /* Built-in method references for those with the same name as other `lodash` methods. */
 var nativeGetSymbols = Object.getOwnPropertySymbols;
 
 /**
  * Creates an array of the own and inherited enumerable symbols of `object`.
  *
  * @private
@@ -16188,17 +16189,17 @@ var getSymbolsIn = !nativeGetSymbols ? s
   }
   return result;
 };
 
 module.exports = getSymbolsIn;
 
 
 /***/ }),
-/* 318 */
+/* 319 */
 /***/ (function(module, exports) {
 
 /**
  * Appends the elements of `values` to `array`.
  *
  * @private
  * @param {Array} array The array to modify.
  * @param {Array} values The values to append.
@@ -16214,42 +16215,42 @@ function arrayPush(array, values) {
   }
   return array;
 }
 
 module.exports = arrayPush;
 
 
 /***/ }),
-/* 319 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var baseGetAllKeys = __webpack_require__(320),
-    getSymbols = __webpack_require__(245),
-    keys = __webpack_require__(139);
+/* 320 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var baseGetAllKeys = __webpack_require__(321),
+    getSymbols = __webpack_require__(246),
+    keys = __webpack_require__(140);
 
 /**
  * Creates an array of own enumerable property names and symbols of `object`.
  *
  * @private
  * @param {Object} object The object to query.
  * @returns {Array} Returns the array of property names and symbols.
  */
 function getAllKeys(object) {
   return baseGetAllKeys(object, keys, getSymbols);
 }
 
 module.exports = getAllKeys;
 
 
 /***/ }),
-/* 320 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var arrayPush = __webpack_require__(318),
+/* 321 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var arrayPush = __webpack_require__(319),
     isArray = __webpack_require__(22);
 
 /**
  * The base implementation of `getAllKeys` and `getAllKeysIn` which uses
  * `keysFunc` and `symbolsFunc` to get the enumerable property names and
  * symbols of `object`.
  *
  * @private
@@ -16262,42 +16263,42 @@ function baseGetAllKeys(object, keysFunc
   var result = keysFunc(object);
   return isArray(object) ? result : arrayPush(result, symbolsFunc(object));
 }
 
 module.exports = baseGetAllKeys;
 
 
 /***/ }),
-/* 321 */
+/* 322 */
 /***/ (function(module, exports, __webpack_require__) {
 
 var getNative = __webpack_require__(64),
     root = __webpack_require__(21);
 
 /* Built-in method references that are verified to be native. */
 var Set = getNative(root, 'Set');
 
 module.exports = Set;
 
 
 /***/ }),
-/* 322 */
+/* 323 */
 /***/ (function(module, exports, __webpack_require__) {
 
 var root = __webpack_require__(21);
 
 /** Built-in value references. */
 var Uint8Array = root.Uint8Array;
 
 module.exports = Uint8Array;
 
 
 /***/ }),
-/* 323 */
+/* 324 */
 /***/ (function(module, exports) {
 
 /*
   Copyright (C) 2013-2014 Yusuke Suzuki <utatane.tea@gmail.com>
   Copyright (C) 2014 Ivan Nikulin <ifaaan@gmail.com>
 
   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions are met:
@@ -16428,17 +16429,17 @@ module.exports = Uint8Array;
         isIdentifierStartES6: isIdentifierStartES6,
         isIdentifierPartES6: isIdentifierPartES6
     };
 }());
 /* vim: set sw=4 ts=4 et tw=80 : */
 
 
 /***/ }),
-/* 324 */
+/* 325 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -16452,17 +16453,17 @@ function validate(node, key, val) {
   if (!fields) return;
   const field = fields[key];
   if (!field || !field.validate) return;
   if (field.optional && val == null) return;
   field.validate(node, key, val);
 }
 
 /***/ }),
-/* 325 */
+/* 326 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -16470,17 +16471,17 @@ exports.default = isNode;
 
 var _definitions = __webpack_require__(44);
 
 function isNode(node) {
   return !!(node && _definitions.VISITOR_KEYS[node.type]);
 }
 
 /***/ }),
-/* 326 */
+/* 327 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -16550,37 +16551,37 @@ function removeTypeDuplicates(nodes) {
   for (const name in generics) {
     types.push(generics[name]);
   }
 
   return types;
 }
 
 /***/ }),
-/* 327 */
+/* 328 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = clone;
 
-var _cloneNode = _interopRequireDefault(__webpack_require__(115));
+var _cloneNode = _interopRequireDefault(__webpack_require__(116));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function clone(node) {
   return (0, _cloneNode.default)(node, false);
 }
 
 /***/ }),
-/* 328 */
+/* 329 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -16599,42 +16600,42 @@ function addComments(node, type, comment
   } else {
     node[key] = comments;
   }
 
   return node;
 }
 
 /***/ }),
-/* 329 */
+/* 330 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = inheritInnerComments;
 
-var _inherit = _interopRequireDefault(__webpack_require__(252));
+var _inherit = _interopRequireDefault(__webpack_require__(253));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function inheritInnerComments(child, parent) {
   (0, _inherit.default)("innerComments", child, parent);
 }
 
 /***/ }),
-/* 330 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var MapCache = __webpack_require__(240),
-    setCacheAdd = __webpack_require__(633),
-    setCacheHas = __webpack_require__(634);
+/* 331 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var MapCache = __webpack_require__(241),
+    setCacheAdd = __webpack_require__(634),
+    setCacheHas = __webpack_require__(635);
 
 /**
  *
  * Creates an array cache object to store unique values.
  *
  * @private
  * @constructor
  * @param {Array} [values] The values to cache.
@@ -16652,17 +16653,17 @@ function SetCache(values) {
 // Add methods to `SetCache`.
 SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
 SetCache.prototype.has = setCacheHas;
 
 module.exports = SetCache;
 
 
 /***/ }),
-/* 331 */
+/* 332 */
 /***/ (function(module, exports) {
 
 /**
  * Checks if a `cache` value for `key` exists.
  *
  * @private
  * @param {Object} cache The cache to query.
  * @param {string} key The key of the entry to check.
@@ -16671,84 +16672,84 @@ module.exports = SetCache;
 function cacheHas(cache, key) {
   return cache.has(key);
 }
 
 module.exports = cacheHas;
 
 
 /***/ }),
-/* 332 */
+/* 333 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = inheritLeadingComments;
 
-var _inherit = _interopRequireDefault(__webpack_require__(252));
+var _inherit = _interopRequireDefault(__webpack_require__(253));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function inheritLeadingComments(child, parent) {
   (0, _inherit.default)("leadingComments", child, parent);
 }
 
 /***/ }),
-/* 333 */
+/* 334 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = inheritsComments;
 
-var _inheritTrailingComments = _interopRequireDefault(__webpack_require__(334));
-
-var _inheritLeadingComments = _interopRequireDefault(__webpack_require__(332));
-
-var _inheritInnerComments = _interopRequireDefault(__webpack_require__(329));
+var _inheritTrailingComments = _interopRequireDefault(__webpack_require__(335));
+
+var _inheritLeadingComments = _interopRequireDefault(__webpack_require__(333));
+
+var _inheritInnerComments = _interopRequireDefault(__webpack_require__(330));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function inheritsComments(child, parent) {
   (0, _inheritTrailingComments.default)(child, parent);
   (0, _inheritLeadingComments.default)(child, parent);
   (0, _inheritInnerComments.default)(child, parent);
   return child;
 }
 
 /***/ }),
-/* 334 */
+/* 335 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = inheritTrailingComments;
 
-var _inherit = _interopRequireDefault(__webpack_require__(252));
+var _inherit = _interopRequireDefault(__webpack_require__(253));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function inheritTrailingComments(child, parent) {
   (0, _inherit.default)("trailingComments", child, parent);
 }
 
 /***/ }),
-/* 335 */
+/* 336 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -16778,28 +16779,28 @@ function toBlock(node, parent) {
 
     blockNodes = [node];
   }
 
   return (0, _generated2.blockStatement)(blockNodes);
 }
 
 /***/ }),
-/* 336 */
+/* 337 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = toIdentifier;
 
-var _isValidIdentifier = _interopRequireDefault(__webpack_require__(114));
+var _isValidIdentifier = _interopRequireDefault(__webpack_require__(115));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function toIdentifier(name) {
   name = name + "";
   name = name.replace(/[^a-zA-Z0-9$_]/g, "-");
   name = name.replace(/^[-0-9]+/, "");
   name = name.replace(/[-\s]+(.)?/g, function (match, c) {
@@ -16809,40 +16810,40 @@ function toIdentifier(name) {
   if (!(0, _isValidIdentifier.default)(name)) {
     name = `_${name}`;
   }
 
   return name || "_";
 }
 
 /***/ }),
-/* 337 */
+/* 338 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = removePropertiesDeep;
 
-var _traverseFast = _interopRequireDefault(__webpack_require__(338));
-
-var _removeProperties = _interopRequireDefault(__webpack_require__(339));
+var _traverseFast = _interopRequireDefault(__webpack_require__(339));
+
+var _removeProperties = _interopRequireDefault(__webpack_require__(340));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function removePropertiesDeep(tree, opts) {
   (0, _traverseFast.default)(tree, _removeProperties.default, opts);
   return tree;
 }
 
 /***/ }),
-/* 338 */
+/* 339 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -16866,17 +16867,17 @@ function traverseFast(node, enter, opts)
       }
     } else {
       traverseFast(subNode, enter, opts);
     }
   }
 }
 
 /***/ }),
-/* 339 */
+/* 340 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -16902,17 +16903,17 @@ function removeProperties(node, opts = {
   const symbols = Object.getOwnPropertySymbols(node);
 
   for (const sym of symbols) {
     node[sym] = null;
   }
 }
 
 /***/ }),
-/* 340 */
+/* 341 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -16922,17 +16923,17 @@ var _generated = __webpack_require__(19)
 
 var _constants = __webpack_require__(65);
 
 function isLet(node) {
   return (0, _generated.isVariableDeclaration)(node) && (node.kind !== "var" || node[_constants.BLOCK_SCOPED_SYMBOL]);
 }
 
 /***/ }),
-/* 341 */
+/* 342 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -17071,27 +17072,27 @@ class SimplePath {
       return null;
     }
 
     return new SimplePath(this._ancestors.slice(0, -1).concat([{ node, key, index: siblingIndex }]));
   }
 }
 
 /***/ }),
-/* 342 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var baseKeys = __webpack_require__(313),
-    getTag = __webpack_require__(113),
-    isArguments = __webpack_require__(241),
+/* 343 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var baseKeys = __webpack_require__(314),
+    getTag = __webpack_require__(114),
+    isArguments = __webpack_require__(242),
     isArray = __webpack_require__(22),
-    isArrayLike = __webpack_require__(144),
-    isBuffer = __webpack_require__(140),
-    isPrototype = __webpack_require__(143),
-    isTypedArray = __webpack_require__(243);
+    isArrayLike = __webpack_require__(145),
+    isBuffer = __webpack_require__(141),
+    isPrototype = __webpack_require__(144),
+    isTypedArray = __webpack_require__(244);
 
 /** `Object#toString` result references. */
 var mapTag = '[object Map]',
     setTag = '[object Set]';
 
 /** Used for built-in method references. */
 var objectProto = Object.prototype;
 
@@ -17154,17 +17155,17 @@ function isEmpty(value) {
   }
   return true;
 }
 
 module.exports = isEmpty;
 
 
 /***/ }),
-/* 343 */
+/* 344 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -17194,33 +17195,33 @@ function getSource(sourceId) {
   return cachedSources.get(sourceId);
 }
 
 function clearSources() {
   cachedSources = new Map();
 }
 
 /***/ }),
-/* 344 */
+/* 345 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.needsWhitespace = needsWhitespace;
 exports.needsWhitespaceBefore = needsWhitespaceBefore;
 exports.needsWhitespaceAfter = needsWhitespaceAfter;
 exports.needsParens = needsParens;
 
-var whitespace = _interopRequireWildcard(__webpack_require__(685));
-
-var parens = _interopRequireWildcard(__webpack_require__(686));
+var whitespace = _interopRequireWildcard(__webpack_require__(686));
+
+var parens = _interopRequireWildcard(__webpack_require__(687));
 
 function t() {
   const data = _interopRequireWildcard(__webpack_require__(12));
 
   t = function () {
     return data;
   };
 
@@ -17317,17 +17318,17 @@ function needsParens(node, parent, print
   if (t().isNewExpression(parent) && parent.callee === node) {
     if (isOrHasCallExpression(node)) return true;
   }
 
   return find(expandedParens, node, parent, printStack);
 }
 
 /***/ }),
-/* 345 */
+/* 346 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -17537,17 +17538,17 @@ function ImportNamespaceSpecifier(node) 
   this.token("*");
   this.space();
   this.word("as");
   this.space();
   this.print(node.local, node);
 }
 
 /***/ }),
-/* 346 */
+/* 347 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -17624,30 +17625,30 @@ function getFunctionName(node, parent) {
   }
 
   return "anonymous";
 } /* This Source Code Form is subject to the terms of the Mozilla Public
    * License, v. 2.0. If a copy of the MPL was not distributed with this
    * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 /***/ }),
-/* 347 */
+/* 348 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.buildScopeList = undefined;
 exports.default = getScopes;
 exports.clearScopes = clearScopes;
 
-var _visitor = __webpack_require__(699);
+var _visitor = __webpack_require__(700);
 
 let parsedScopesCache = new Map(); /* This Source Code Form is subject to the terms of the Mozilla Public
                                     * License, v. 2.0. If a copy of the MPL was not distributed with this
                                     * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 function getScopes(location) {
   const { sourceId } = location;
   let parsedScopes = parsedScopesCache.get(sourceId);
@@ -17700,20 +17701,20 @@ function findScopes(scopes, location) {
 function compareLocations(a, b) {
   // According to type of Location.column can be undefined, if will not be the
   // case here, ignoring flow error.
   // $FlowIgnore
   return a.line == b.line ? a.column - b.column : a.line - b.line;
 }
 
 /***/ }),
-/* 348 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var baseGet = __webpack_require__(349);
+/* 349 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var baseGet = __webpack_require__(350);
 
 /**
  * Gets the value at `path` of `object`. If the resolved value is
  * `undefined`, the `defaultValue` is returned in its place.
  *
  * @static
  * @memberOf _
  * @since 3.7.0
@@ -17739,21 +17740,21 @@ function get(object, path, defaultValue)
   var result = object == null ? undefined : baseGet(object, path);
   return result === undefined ? defaultValue : result;
 }
 
 module.exports = get;
 
 
 /***/ }),
-/* 349 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var castPath = __webpack_require__(350),
-    toKey = __webpack_require__(150);
+/* 350 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var castPath = __webpack_require__(351),
+    toKey = __webpack_require__(151);
 
 /**
  * The base implementation of `_.get` without support for default values.
  *
  * @private
  * @param {Object} object The object to query.
  * @param {Array|string} path The path of the property to get.
  * @returns {*} Returns the resolved value.
@@ -17769,22 +17770,22 @@ function baseGet(object, path) {
   }
   return (index && index == length) ? object : undefined;
 }
 
 module.exports = baseGet;
 
 
 /***/ }),
-/* 350 */
+/* 351 */
 /***/ (function(module, exports, __webpack_require__) {
 
 var isArray = __webpack_require__(22),
-    isKey = __webpack_require__(266),
-    stringToPath = __webpack_require__(701),
+    isKey = __webpack_require__(267),
+    stringToPath = __webpack_require__(702),
     toString = __webpack_require__(69);
 
 /**
  * Casts `value` to a path array if it's not one.
  *
  * @private
  * @param {*} value The value to inspect.
  * @param {Object} [object] The object to query keys on.
@@ -17796,24 +17797,24 @@ function castPath(value, object) {
   }
   return isKey(value, object) ? [value] : stringToPath(toString(value));
 }
 
 module.exports = castPath;
 
 
 /***/ }),
-/* 351 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var baseMatches = __webpack_require__(705),
-    baseMatchesProperty = __webpack_require__(713),
-    identity = __webpack_require__(717),
+/* 352 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var baseMatches = __webpack_require__(706),
+    baseMatchesProperty = __webpack_require__(714),
+    identity = __webpack_require__(718),
     isArray = __webpack_require__(22),
-    property = __webpack_require__(718);
+    property = __webpack_require__(719);
 
 /**
  * The base implementation of `_.iteratee`.
  *
  * @private
  * @param {*} [value=_.identity] The value to convert to an iteratee.
  * @returns {Function} Returns the iteratee.
  */
@@ -17833,20 +17834,20 @@ function baseIteratee(value) {
   }
   return property(value);
 }
 
 module.exports = baseIteratee;
 
 
 /***/ }),
-/* 352 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var baseIsEqualDeep = __webpack_require__(707),
+/* 353 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var baseIsEqualDeep = __webpack_require__(708),
     isObjectLike = __webpack_require__(29);
 
 /**
  * The base implementation of `_.isEqual` which supports partial comparisons
  * and tracks traversed objects.
  *
  * @private
  * @param {*} value The value to compare.
@@ -17867,22 +17868,22 @@ function baseIsEqual(value, other, bitma
   }
   return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
 }
 
 module.exports = baseIsEqual;
 
 
 /***/ }),
-/* 353 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var SetCache = __webpack_require__(330),
-    arraySome = __webpack_require__(708),
-    cacheHas = __webpack_require__(331);
+/* 354 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var SetCache = __webpack_require__(331),
+    arraySome = __webpack_require__(709),
+    cacheHas = __webpack_require__(332);
 
 /** Used to compose bitmasks for value comparisons. */
 var COMPARE_PARTIAL_FLAG = 1,
     COMPARE_UNORDERED_FLAG = 2;
 
 /**
  * A specialized version of `baseIsEqualDeep` for arrays with support for
  * partial deep comparisons.
@@ -17956,17 +17957,17 @@ function equalArrays(array, other, bitma
   stack['delete'](other);
   return result;
 }
 
 module.exports = equalArrays;
 
 
 /***/ }),
-/* 354 */
+/* 355 */
 /***/ (function(module, exports, __webpack_require__) {
 
 var isObject = __webpack_require__(55);
 
 /**
  * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
  *
  * @private
@@ -17977,17 +17978,17 @@ var isObject = __webpack_require__(55);
 function isStrictComparable(value) {
   return value === value && !isObject(value);
 }
 
 module.exports = isStrictComparable;
 
 
 /***/ }),
-/* 355 */
+/* 356 */
 /***/ (function(module, exports) {
 
 /**
  * A specialized version of `matchesProperty` for source values suitable
  * for strict equality comparisons, i.e. `===`.
  *
  * @private
  * @param {string} key The key of the property to get.
@@ -18003,17 +18004,17 @@ function matchesStrictComparable(key, sr
       (srcValue !== undefined || (key in Object(object)));
   };
 }
 
 module.exports = matchesStrictComparable;
 
 
 /***/ }),
-/* 356 */
+/* 357 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -18048,17 +18049,16 @@ function containsLocation(a, b) {
   return containsPosition(a, b.start) && containsPosition(a, b.end);
 }
 
 function nodeContainsPosition(node, position) {
   return containsPosition(node.loc, position);
 }
 
 /***/ }),
-/* 357 */,
 /* 358 */,
 /* 359 */,
 /* 360 */,
 /* 361 */,
 /* 362 */,
 /* 363 */,
 /* 364 */,
 /* 365 */,
@@ -18239,50 +18239,51 @@ function nodeContainsPosition(node, posi
 /* 540 */,
 /* 541 */,
 /* 542 */,
 /* 543 */,
 /* 544 */,
 /* 545 */,
 /* 546 */,
 /* 547 */,
-/* 548 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__(549);
-
-
-/***/ }),
+/* 548 */,
 /* 549 */
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-
-var _getSymbols = __webpack_require__(236);
+module.exports = __webpack_require__(550);
+
+
+/***/ }),
+/* 550 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var _getSymbols = __webpack_require__(237);
 
 var _ast = __webpack_require__(49);
 
-var _getScopes = __webpack_require__(347);
+var _getScopes = __webpack_require__(348);
 
 var _getScopes2 = _interopRequireDefault(_getScopes);
 
-var _sources = __webpack_require__(343);
-
-var _findOutOfScopeLocations = __webpack_require__(700);
+var _sources = __webpack_require__(344);
+
+var _findOutOfScopeLocations = __webpack_require__(701);
 
 var _findOutOfScopeLocations2 = _interopRequireDefault(_findOutOfScopeLocations);
 
-var _steps = __webpack_require__(722);
-
-var _validate = __webpack_require__(724);
-
-var _frameworks = __webpack_require__(725);
-
-var _mapExpression = __webpack_require__(726);
+var _steps = __webpack_require__(723);
+
+var _validate = __webpack_require__(725);
+
+var _frameworks = __webpack_require__(726);
+
+var _mapExpression = __webpack_require__(727);
 
 var _mapExpression2 = _interopRequireDefault(_mapExpression);
 
 var _devtoolsUtils = __webpack_require__(16);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
@@ -18303,66 +18304,66 @@ self.onmessage = workerHandler({
   clearSources: _sources.clearSources,
   getNextStep: _steps.getNextStep,
   hasSyntaxError: _validate.hasSyntaxError,
   getFramework: _frameworks.getFramework,
   mapExpression: _mapExpression2.default
 });
 
 /***/ }),
-/* 550 */
+/* 551 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = void 0;
 
-var _buildMatchMemberExpression = _interopRequireDefault(__webpack_require__(306));
+var _buildMatchMemberExpression = _interopRequireDefault(__webpack_require__(307));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 const isReactComponent = (0, _buildMatchMemberExpression.default)("React.Component");
 var _default = isReactComponent;
 exports.default = _default;
 
 /***/ }),
-/* 551 */
+/* 552 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = isCompatTag;
 
 function isCompatTag(tagName) {
   return !!tagName && /^[a-z]/.test(tagName);
 }
 
 /***/ }),
-/* 552 */
+/* 553 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = buildChildren;
 
 var _generated = __webpack_require__(19);
 
-var _cleanJSXElementLiteralChild = _interopRequireDefault(__webpack_require__(553));
+var _cleanJSXElementLiteralChild = _interopRequireDefault(__webpack_require__(554));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function buildChildren(node) {
   const elements = [];
 
   for (let i = 0; i < node.children.length; i++) {
     let child = node.children[i];
@@ -18376,17 +18377,17 @@ function buildChildren(node) {
     if ((0, _generated.isJSXEmptyExpression)(child)) continue;
     elements.push(child);
   }
 
   return elements;
 }
 
 /***/ }),
-/* 553 */
+/* 554 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -18429,40 +18430,40 @@ function cleanJSXElementLiteralChild(chi
       str += trimmedLine;
     }
   }
 
   if (str) args.push((0, _generated.stringLiteral)(str));
 }
 
 /***/ }),
-/* 554 */
+/* 555 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = builder;
 
 function _clone() {
-  const data = _interopRequireDefault(__webpack_require__(555));
+  const data = _interopRequireDefault(__webpack_require__(556));
 
   _clone = function () {
     return data;
   };
 
   return data;
 }
 
 var _definitions = __webpack_require__(44);
 
-var _validate = _interopRequireDefault(__webpack_require__(324));
+var _validate = _interopRequireDefault(__webpack_require__(325));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function builder(type, ...args) {
   const keys = _definitions.BUILDER_KEYS[type];
   const countArgs = args.length;
 
   if (countArgs > keys.length) {
@@ -18485,20 +18486,20 @@ function builder(type, ...args) {
   for (const key in node) {
     (0, _validate.default)(node, key, node[key]);
   }
 
   return node;
 }
 
 /***/ }),
-/* 555 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var baseClone = __webpack_require__(556);
+/* 556 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var baseClone = __webpack_require__(557);
 
 /** Used to compose bitmasks for cloning. */
 var CLONE_SYMBOLS_FLAG = 4;
 
 /**
  * Creates a shallow clone of `value`.
  *
  * **Note:** This method is loosely based on the
@@ -18527,40 +18528,40 @@ var CLONE_SYMBOLS_FLAG = 4;
 function clone(value) {
   return baseClone(value, CLONE_SYMBOLS_FLAG);
 }
 
 module.exports = clone;
 
 
 /***/ }),
-/* 556 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var Stack = __webpack_require__(238),
-    arrayEach = __webpack_require__(583),
-    assignValue = __webpack_require__(310),
-    baseAssign = __webpack_require__(585),
-    baseAssignIn = __webpack_require__(591),
-    cloneBuffer = __webpack_require__(594),
-    copyArray = __webpack_require__(595),
-    copySymbols = __webpack_require__(596),
-    copySymbolsIn = __webpack_require__(598),
-    getAllKeys = __webpack_require__(319),
-    getAllKeysIn = __webpack_require__(599),
-    getTag = __webpack_require__(113),
-    initCloneArray = __webpack_require__(603),
-    initCloneByTag = __webpack_require__(604),
-    initCloneObject = __webpack_require__(609),
+/* 557 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var Stack = __webpack_require__(239),
+    arrayEach = __webpack_require__(584),
+    assignValue = __webpack_require__(311),
+    baseAssign = __webpack_require__(586),
+    baseAssignIn = __webpack_require__(592),
+    cloneBuffer = __webpack_require__(595),
+    copyArray = __webpack_require__(596),
+    copySymbols = __webpack_require__(597),
+    copySymbolsIn = __webpack_require__(599),
+    getAllKeys = __webpack_require__(320),
+    getAllKeysIn = __webpack_require__(600),
+    getTag = __webpack_require__(114),
+    initCloneArray = __webpack_require__(604),
+    initCloneByTag = __webpack_require__(605),
+    initCloneObject = __webpack_require__(610),
     isArray = __webpack_require__(22),
-    isBuffer = __webpack_require__(140),
-    isMap = __webpack_require__(611),
+    isBuffer = __webpack_require__(141),
+    isMap = __webpack_require__(612),
     isObject = __webpack_require__(55),
-    isSet = __webpack_require__(613),
-    keys = __webpack_require__(139);
+    isSet = __webpack_require__(614),
+    keys = __webpack_require__(140);
 
 /** Used to compose bitmasks for cloning. */
 var CLONE_DEEP_FLAG = 1,
     CLONE_FLAT_FLAG = 2,
     CLONE_SYMBOLS_FLAG = 4;
 
 /** `Object#toString` result references. */
 var argsTag = '[object Arguments]',
@@ -18704,17 +18705,17 @@ function baseClone(value, bitmask, custo
   });
   return result;
 }
 
 module.exports = baseClone;
 
 
 /***/ }),
-/* 557 */
+/* 558 */
 /***/ (function(module, exports) {
 
 /**
  * Removes all key-value entries from the list cache.
  *
  * @private
  * @name clear
  * @memberOf ListCache
@@ -18723,20 +18724,20 @@ function listCacheClear() {
   this.__data__ = [];
   this.size = 0;
 }
 
 module.exports = listCacheClear;
 
 
 /***/ }),
-/* 558 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var assocIndexOf = __webpack_require__(134);
+/* 559 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var assocIndexOf = __webpack_require__(135);
 
 /** Used for built-in method references. */
 var arrayProto = Array.prototype;
 
 /** Built-in value references. */
 var splice = arrayProto.splice;
 
 /**
@@ -18764,20 +18765,20 @@ function listCacheDelete(key) {
   --this.size;
   return true;
 }
 
 module.exports = listCacheDelete;
 
 
 /***/ }),
-/* 559 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var assocIndexOf = __webpack_require__(134);
+/* 560 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var assocIndexOf = __webpack_require__(135);
 
 /**
  * Gets the list cache value for `key`.
  *
  * @private
  * @name get
  * @memberOf ListCache
  * @param {string} key The key of the value to get.
@@ -18789,20 +18790,20 @@ function listCacheGet(key) {
 
   return index < 0 ? undefined : data[index][1];
 }
 
 module.exports = listCacheGet;
 
 
 /***/ }),
-/* 560 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var assocIndexOf = __webpack_require__(134);
+/* 561 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var assocIndexOf = __webpack_require__(135);
 
 /**
  * Checks if a list cache value for `key` exists.
  *
  * @private
  * @name has
  * @memberOf ListCache
  * @param {string} key The key of the entry to check.
@@ -18811,20 +18812,20 @@ var assocIndexOf = __webpack_require__(1
 function listCacheHas(key) {
   return assocIndexOf(this.__data__, key) > -1;
 }
 
 module.exports = listCacheHas;
 
 
 /***/ }),
-/* 561 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var assocIndexOf = __webpack_require__(134);
+/* 562 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var assocIndexOf = __webpack_require__(135);
 
 /**
  * Sets the list cache `key` to `value`.
  *
  * @private
  * @name set
  * @memberOf ListCache
  * @param {string} key The key of the value to set.
@@ -18843,20 +18844,20 @@ function listCacheSet(key, value) {
   }
   return this;
 }
 
 module.exports = listCacheSet;
 
 
 /***/ }),
-/* 562 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var ListCache = __webpack_require__(133);
+/* 563 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var ListCache = __webpack_require__(134);
 
 /**
  * Removes all key-value entries from the stack.
  *
  * @private
  * @name clear
  * @memberOf Stack
  */
@@ -18864,17 +18865,17 @@ function stackClear() {
   this.__data__ = new ListCache;
   this.size = 0;
 }
 
 module.exports = stackClear;
 
 
 /***/ }),
-/* 563 */
+/* 564 */
 /***/ (function(module, exports) {
 
 /**
  * Removes `key` and its value from the stack.
  *
  * @private
  * @name delete
  * @memberOf Stack
@@ -18888,17 +18889,17 @@ function stackDelete(key) {
   this.size = data.size;
   return result;
 }
 
 module.exports = stackDelete;
 
 
 /***/ }),
-/* 564 */
+/* 565 */
 /***/ (function(module, exports) {
 
 /**
  * Gets the stack value for `key`.
  *
  * @private
  * @name get
  * @memberOf Stack
@@ -18908,17 +18909,17 @@ module.exports = stackDelete;
 function stackGet(key) {
   return this.__data__.get(key);
 }
 
 module.exports = stackGet;
 
 
 /***/ }),
-/* 565 */
+/* 566 */
 /***/ (function(module, exports) {
 
 /**
  * Checks if a stack value for `key` exists.
  *
  * @private
  * @name has
  * @memberOf Stack
@@ -18928,22 +18929,22 @@ module.exports = stackGet;
 function stackHas(key) {
   return this.__data__.has(key);
 }
 
 module.exports = stackHas;
 
 
 /***/ }),
-/* 566 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var ListCache = __webpack_require__(133),
-    Map = __webpack_require__(239),
-    MapCache = __webpack_require__(240);
+/* 567 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var ListCache = __webpack_require__(134),
+    Map = __webpack_require__(240),
+    MapCache = __webpack_require__(241);
 
 /** Used as the size to enable large array optimizations. */
 var LARGE_ARRAY_SIZE = 200;
 
 /**
  * Sets the stack `key` to `value`.
  *
  * @private
@@ -18968,23 +18969,23 @@ function stackSet(key, value) {
   this.size = data.size;
   return this;
 }
 
 module.exports = stackSet;
 
 
 /***/ }),
-/* 567 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var isFunction = __webpack_require__(308),
-    isMasked = __webpack_require__(568),
+/* 568 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var isFunction = __webpack_require__(309),
+    isMasked = __webpack_require__(569),
     isObject = __webpack_require__(55),
-    toSource = __webpack_require__(309);
+    toSource = __webpack_require__(310);
 
 /**
  * Used to match `RegExp`
  * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
  */
 var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
 
 /** Used to detect host constructors (Safari). */
@@ -19021,20 +19022,20 @@ function baseIsNative(value) {
   var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
   return pattern.test(toSource(value));
 }
 
 module.exports = baseIsNative;
 
 
 /***/ }),
-/* 568 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var coreJsData = __webpack_require__(569);
+/* 569 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var coreJsData = __webpack_require__(570);
 
 /** Used to detect methods masquerading as native. */
 var maskSrcKey = (function() {
   var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
   return uid ? ('Symbol(src)_1.' + uid) : '';
 }());
 
 /**
@@ -19047,29 +19048,29 @@ var maskSrcKey = (function() {
 function isMasked(func) {
   return !!maskSrcKey && (maskSrcKey in func);
 }
 
 module.exports = isMasked;
 
 
 /***/ }),
-/* 569 */
+/* 570 */
 /***/ (function(module, exports, __webpack_require__) {
 
 var root = __webpack_require__(21);
 
 /** Used to detect overreaching core-js shims. */
 var coreJsData = root['__core-js_shared__'];
 
 module.exports = coreJsData;
 
 
 /***/ }),
-/* 570 */
+/* 571 */
 /***/ (function(module, exports) {
 
 /**
  * Gets the value at `key` of `object`.
  *
  * @private
  * @param {Object} [object] The object to query.
  * @param {string} key The key of the property to get.
@@ -19078,22 +19079,22 @@ module.exports = coreJsData;
 function getValue(object, key) {
   return object == null ? undefined : object[key];
 }
 
 module.exports = getValue;
 
 
 /***/ }),
-/* 571 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var Hash = __webpack_require__(572),
-    ListCache = __webpack_require__(133),
-    Map = __webpack_require__(239);
+/* 572 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var Hash = __webpack_require__(573),
+    ListCache = __webpack_require__(134),
+    Map = __webpack_require__(240);
 
 /**
  * Removes all key-value entries from the map.
  *
  * @private
  * @name clear
  * @memberOf MapCache
  */
@@ -19105,24 +19106,24 @@ function mapCacheClear() {
     'string': new Hash
   };
 }
 
 module.exports = mapCacheClear;
 
 
 /***/ }),
-/* 572 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var hashClear = __webpack_require__(573),
-    hashDelete = __webpack_require__(574),
-    hashGet = __webpack_require__(575),
-    hashHas = __webpack_require__(576),
-    hashSet = __webpack_require__(577);
+/* 573 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var hashClear = __webpack_require__(574),
+    hashDelete = __webpack_require__(575),
+    hashGet = __webpack_require__(576),
+    hashHas = __webpack_require__(577),
+    hashSet = __webpack_require__(578);
 
 /**
  * Creates a hash object.
  *
  * @private
  * @constructor
  * @param {Array} [entries] The key-value pairs to cache.
  */
@@ -19143,20 +19144,20 @@ Hash.prototype['delete'] = hashDelete;
 Hash.prototype.get = hashGet;
 Hash.prototype.has = hashHas;
 Hash.prototype.set = hashSet;
 
 module.exports = Hash;
 
 
 /***/ }),
-/* 573 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var nativeCreate = __webpack_require__(136);
+/* 574 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var nativeCreate = __webpack_require__(137);
 
 /**
  * Removes all key-value entries from the hash.
  *
  * @private
  * @name clear
  * @memberOf Hash
  */
@@ -19164,17 +19165,17 @@ function hashClear() {
   this.__data__ = nativeCreate ? nativeCreate(null) : {};
   this.size = 0;
 }
 
 module.exports = hashClear;
 
 
 /***/ }),
-/* 574 */
+/* 575 */
 /***/ (function(module, exports) {
 
 /**
  * Removes `key` and its value from the hash.
  *
  * @private
  * @name delete
  * @memberOf Hash
@@ -19187,20 +19188,20 @@ function hashDelete(key) {
   this.size -= result ? 1 : 0;
   return result;
 }
 
 module.exports = hashDelete;
 
 
 /***/ }),
-/* 575 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var nativeCreate = __webpack_require__(136);
+/* 576 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var nativeCreate = __webpack_require__(137);
 
 /** Used to stand-in for `undefined` hash values. */
 var HASH_UNDEFINED = '__lodash_hash_undefined__';
 
 /** Used for built-in method references. */
 var objectProto = Object.prototype;
 
 /** Used to check objects for own properties. */
@@ -19223,20 +19224,20 @@ function hashGet(key) {
   }
   return hasOwnProperty.call(data, key) ? data[key] : undefined;
 }
 
 module.exports = hashGet;
 
 
 /***/ }),
-/* 576 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var nativeCreate = __webpack_require__(136);
+/* 577 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var nativeCreate = __webpack_require__(137);
 
 /** Used for built-in method references. */
 var objectProto = Object.prototype;
 
 /** Used to check objects for own properties. */
 var hasOwnProperty = objectProto.hasOwnProperty;
 
 /**
@@ -19252,20 +19253,20 @@ function hashHas(key) {
   var data = this.__data__;
   return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);
 }
 
 module.exports = hashHas;
 
 
 /***/ }),
-/* 577 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var nativeCreate = __webpack_require__(136);
+/* 578 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var nativeCreate = __webpack_require__(137);
 
 /** Used to stand-in for `undefined` hash values. */
 var HASH_UNDEFINED = '__lodash_hash_undefined__';
 
 /**
  * Sets the hash `key` to `value`.
  *
  * @private
@@ -19281,20 +19282,20 @@ function hashSet(key, value) {
   data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;
   return this;
 }
 
 module.exports = hashSet;
 
 
 /***/ }),
-/* 578 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var getMapData = __webpack_require__(137);
+/* 579 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var getMapData = __webpack_require__(138);
 
 /**
  * Removes `key` and its value from the map.
  *
  * @private
  * @name delete
  * @memberOf MapCache
  * @param {string} key The key of the value to remove.
@@ -19305,17 +19306,17 @@ function mapCacheDelete(key) {
   this.size -= result ? 1 : 0;
   return result;
 }
 
 module.exports = mapCacheDelete;
 
 
 /***/ }),
-/* 579 */
+/* 580 */
 /***/ (function(module, exports) {
 
 /**
  * Checks if `value` is suitable for use as unique object key.
  *
  * @private
  * @param {*} value The value to check.
  * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
@@ -19326,20 +19327,20 @@ function isKeyable(value) {
     ? (value !== '__proto__')
     : (value === null);
 }
 
 module.exports = isKeyable;
 
 
 /***/ }),
-/* 580 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var getMapData = __webpack_require__(137);
+/* 581 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var getMapData = __webpack_require__(138);
 
 /**
  * Gets the map value for `key`.
  *
  * @private
  * @name get
  * @memberOf MapCache
  * @param {string} key The key of the value to get.
@@ -19348,20 +19349,20 @@ var getMapData = __webpack_require__(137
 function mapCacheGet(key) {
   return getMapData(this, key).get(key);
 }
 
 module.exports = mapCacheGet;
 
 
 /***/ }),
-/* 581 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var getMapData = __webpack_require__(137);
+/* 582 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var getMapData = __webpack_require__(138);
 
 /**
  * Checks if a map value for `key` exists.
  *
  * @private
  * @name has
  * @memberOf MapCache
  * @param {string} key The key of the entry to check.
@@ -19370,20 +19371,20 @@ var getMapData = __webpack_require__(137
 function mapCacheHas(key) {
   return getMapData(this, key).has(key);
 }
 
 module.exports = mapCacheHas;
 
 
 /***/ }),
-/* 582 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var getMapData = __webpack_require__(137);
+/* 583 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var getMapData = __webpack_require__(138);
 
 /**
  * Sets the map `key` to `value`.
  *
  * @private
  * @name set
  * @memberOf MapCache
  * @param {string} key The key of the value to set.
@@ -19398,17 +19399,17 @@ function mapCacheSet(key, value) {
   this.size += data.size == size ? 0 : 1;
   return this;
 }
 
 module.exports = mapCacheSet;
 
 
 /***/ }),
-/* 583 */
+/* 584 */
 /***/ (function(module, exports) {
 
 /**
  * A specialized version of `_.forEach` for arrays without support for
  * iteratee shorthands.
  *
  * @private
  * @param {Array} [array] The array to iterate over.
@@ -19426,38 +19427,38 @@ function arrayEach(array, iteratee) {
   }
   return array;
 }
 
 module.exports = arrayEach;
 
 
 /***/ }),
-/* 584 */
+/* 585 */
 /***/ (function(module, exports, __webpack_require__) {
 
 var getNative = __webpack_require__(64);
 
 var defineProperty = (function() {
   try {
     var func = getNative(Object, 'defineProperty');
     func({}, '', {});
     return func;
   } catch (e) {}
 }());
 
 module.exports = defineProperty;
 
 
 /***/ }),
-/* 585 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var copyObject = __webpack_require__(138),
-    keys = __webpack_require__(139);
+/* 586 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var copyObject = __webpack_require__(139),
+    keys = __webpack_require__(140);
 
 /**
  * The base implementation of `_.assign` without support for multiple sources
  * or `customizer` functions.
  *
  * @private
  * @param {Object} object The destination object.
  * @param {Object} source The source object.
@@ -19466,17 +19467,17 @@ var copyObject = __webpack_require__(138
 function baseAssign(object, source) {
   return object && copyObject(source, keys(source), object);
 }
 
 module.exports = baseAssign;
 
 
 /***/ }),
-/* 586 */
+/* 587 */
 /***/ (function(module, exports) {
 
 /**
  * The base implementation of `_.times` without support for iteratee shorthands
  * or max array length checks.
  *
  * @private
  * @param {number} n The number of times to invoke `iteratee`.
@@ -19492,17 +19493,17 @@ function baseTimes(n, iteratee) {
   }
   return result;
 }
 
 module.exports = baseTimes;
 
 
 /***/ }),
-/* 587 */
+/* 588 */
 /***/ (function(module, exports, __webpack_require__) {
 
 var baseGetTag = __webpack_require__(35),
     isObjectLike = __webpack_require__(29);
 
 /** `Object#toString` result references. */
 var argsTag = '[object Arguments]';
 
@@ -19516,17 +19517,17 @@ var argsTag = '[object Arguments]';
 function baseIsArguments(value) {
   return isObjectLike(value) && baseGetTag(value) == argsTag;
 }
 
 module.exports = baseIsArguments;
 
 
 /***/ }),
-/* 588 */
+/* 589 */
 /***/ (function(module, exports) {
 
 /**
  * This method returns `false`.
  *
  * @static
  * @memberOf _
  * @since 4.13.0
@@ -19540,21 +19541,21 @@ module.exports = baseIsArguments;
 function stubFalse() {
   return false;
 }
 
 module.exports = stubFalse;
 
 
 /***/ }),
-/* 589 */
+/* 590 */
 /***/ (function(module, exports, __webpack_require__) {
 
 var baseGetTag = __webpack_require__(35),
-    isLength = __webpack_require__(244),
+    isLength = __webpack_require__(245),
     isObjectLike = __webpack_require__(29);
 
 /** `Object#toString` result references. */
 var argsTag = '[object Arguments]',
     arrayTag = '[object Array]',
     boolTag = '[object Boolean]',
     dateTag = '[object Date]',
     errorTag = '[object Error]',
@@ -19606,33 +19607,33 @@ function baseIsTypedArray(value) {
   return isObjectLike(value) &&
     isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
 }
 
 module.exports = baseIsTypedArray;
 
 
 /***/ }),
-/* 590 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var overArg = __webpack_require__(314);
+/* 591 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var overArg = __webpack_require__(315);
 
 /* Built-in method references for those with the same name as other `lodash` methods. */
 var nativeKeys = overArg(Object.keys, Object);
 
 module.exports = nativeKeys;
 
 
 /***/ }),
-/* 591 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var copyObject = __webpack_require__(138),
-    keysIn = __webpack_require__(315);
+/* 592 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var copyObject = __webpack_require__(139),
+    keysIn = __webpack_require__(316);
 
 /**
  * The base implementation of `_.assignIn` without support for multiple sources
  * or `customizer` functions.
  *
  * @private
  * @param {Object} object The destination object.
  * @param {Object} source The source object.
@@ -19641,22 +19642,22 @@ var copyObject = __webpack_require__(138
 function baseAssignIn(object, source) {
   return object && copyObject(source, keysIn(source), object);
 }
 
 module.exports = baseAssignIn;
 
 
 /***/ }),
-/* 592 */
+/* 593 */
 /***/ (function(module, exports, __webpack_require__) {
 
 var isObject = __webpack_require__(55),
-    isPrototype = __webpack_require__(143),
-    nativeKeysIn = __webpack_require__(593);
+    isPrototype = __webpack_require__(144),
+    nativeKeysIn = __webpack_require__(594);
 
 /** Used for built-in method references. */
 var objectProto = Object.prototype;
 
 /** Used to check objects for own properties. */
 var hasOwnProperty = objectProto.hasOwnProperty;
 
 /**
@@ -19680,17 +19681,17 @@ function baseKeysIn(object) {
   }
   return result;
 }
 
 module.exports = baseKeysIn;
 
 
 /***/ }),
-/* 593 */
+/* 594 */
 /***/ (function(module, exports) {
 
 /**
  * This function is like
  * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
  * except that it includes inherited enumerable properties.
  *
  * @private
@@ -19706,17 +19707,17 @@ function nativeKeysIn(object) {
   }
   return result;
 }
 
 module.exports = nativeKeysIn;
 
 
 /***/ }),
-/* 594 */
+/* 595 */
 /***/ (function(module, exports, __webpack_require__) {
 
 /* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(21);
 
 /** Detect free variable `exports`. */
 var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
 
 /** Detect free variable `module`. */
@@ -19748,17 +19749,17 @@ function cloneBuffer(buffer, isDeep) {
   return result;
 }
 
 module.exports = cloneBuffer;
 
 /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(42)(module)))
 
 /***/ }),
-/* 595 */
+/* 596 */
 /***/ (function(module, exports) {
 
 /**
  * Copies the values of `source` to `array`.
  *
  * @private
  * @param {Array} source The array to copy values from.
  * @param {Array} [array=[]] The array to copy values to.
@@ -19774,21 +19775,21 @@ function copyArray(source, array) {
   }
   return array;
 }
 
 module.exports = copyArray;
 
 
 /***/ }),
-/* 596 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var copyObject = __webpack_require__(138),
-    getSymbols = __webpack_require__(245);
+/* 597 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var copyObject = __webpack_require__(139),
+    getSymbols = __webpack_require__(246);
 
 /**
  * Copies own symbols of `source` to `object`.
  *
  * @private
  * @param {Object} source The object to copy symbols from.
  * @param {Object} [object={}] The object to copy symbols to.
  * @returns {Object} Returns `object`.
@@ -19796,17 +19797,17 @@ var copyObject = __webpack_require__(138
 function copySymbols(source, object) {
   return copyObject(source, getSymbols(source), object);
 }
 
 module.exports = copySymbols;
 
 
 /***/ }),
-/* 597 */
+/* 598 */
 /***/ (function(module, exports) {
 
 /**
  * A specialized version of `_.filter` for arrays without support for
  * iteratee shorthands.
  *
  * @private
  * @param {Array} [array] The array to iterate over.
@@ -19827,21 +19828,21 @@ function arrayFilter(array, predicate) {
   }
   return result;
 }
 
 module.exports = arrayFilter;
 
 
 /***/ }),
-/* 598 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var copyObject = __webpack_require__(138),
-    getSymbolsIn = __webpack_require__(317);
+/* 599 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var copyObject = __webpack_require__(139),
+    getSymbolsIn = __webpack_require__(318);
 
 /**
  * Copies own and inherited symbols of `source` to `object`.
  *
  * @private
  * @param {Object} source The object to copy symbols from.
  * @param {Object} [object={}] The object to copy symbols to.
  * @returns {Object} Returns `object`.
@@ -19849,22 +19850,22 @@ var copyObject = __webpack_require__(138
 function copySymbolsIn(source, object) {
   return copyObject(source, getSymbolsIn(source), object);
 }
 
 module.exports = copySymbolsIn;
 
 
 /***/ }),
-/* 599 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var baseGetAllKeys = __webpack_require__(320),
-    getSymbolsIn = __webpack_require__(317),
-    keysIn = __webpack_require__(315);
+/* 600 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var baseGetAllKeys = __webpack_require__(321),
+    getSymbolsIn = __webpack_require__(318),
+    keysIn = __webpack_require__(316);
 
 /**
  * Creates an array of own and inherited enumerable property names and
  * symbols of `object`.
  *
  * @private
  * @param {Object} object The object to query.
  * @returns {Array} Returns the array of property names and symbols.
@@ -19872,56 +19873,56 @@ var baseGetAllKeys = __webpack_require__
 function getAllKeysIn(object) {
   return baseGetAllKeys(object, keysIn, getSymbolsIn);
 }
 
 module.exports = getAllKeysIn;
 
 
 /***/ }),
-/* 600 */
+/* 601 */
 /***/ (function(module, exports, __webpack_require__) {
 
 var getNative = __webpack_require__(64),
     root = __webpack_require__(21);
 
 /* Built-in method references that are verified to be native. */
 var DataView = getNative(root, 'DataView');
 
 module.exports = DataView;
 
 
 /***/ }),
-/* 601 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var getNative = __webpack_require__(64),
-    root = __webpack_require__(21);
-
-/* Built-in method references that are verified to be native. */
-var Promise = getNative(root, 'Promise');
-
-module.exports = Promise;
-
-
-/***/ }),
 /* 602 */
 /***/ (function(module, exports, __webpack_require__) {
 
 var getNative = __webpack_require__(64),
     root = __webpack_require__(21);
 
 /* Built-in method references that are verified to be native. */
-var WeakMap = getNative(root, 'WeakMap');
-
-module.exports = WeakMap;
+var Promise = getNative(root, 'Promise');
+
+module.exports = Promise;
 
 
 /***/ }),
 /* 603 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var getNative = __webpack_require__(64),
+    root = __webpack_require__(21);
+
+/* Built-in method references that are verified to be native. */
+var WeakMap = getNative(root, 'WeakMap');
+
+module.exports = WeakMap;
+
+
+/***/ }),
+/* 604 */
 /***/ (function(module, exports) {
 
 /** Used for built-in method references. */
 var objectProto = Object.prototype;
 
 /** Used to check objects for own properties. */
 var hasOwnProperty = objectProto.hasOwnProperty;
 
@@ -19943,24 +19944,24 @@ function initCloneArray(array) {
   }
   return result;
 }
 
 module.exports = initCloneArray;
 
 
 /***/ }),
-/* 604 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var cloneArrayBuffer = __webpack_require__(247),
-    cloneDataView = __webpack_require__(605),
-    cloneRegExp = __webpack_require__(606),
-    cloneSymbol = __webpack_require__(607),
-    cloneTypedArray = __webpack_require__(608);
+/* 605 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var cloneArrayBuffer = __webpack_require__(248),
+    cloneDataView = __webpack_require__(606),
+    cloneRegExp = __webpack_require__(607),
+    cloneSymbol = __webpack_require__(608),
+    cloneTypedArray = __webpack_require__(609);
 
 /** `Object#toString` result references. */
 var boolTag = '[object Boolean]',
     dateTag = '[object Date]',
     mapTag = '[object Map]',
     numberTag = '[object Number]',
     regexpTag = '[object RegExp]',
     setTag = '[object Set]',
@@ -20026,20 +20027,20 @@ function initCloneByTag(object, tag, isD
       return cloneSymbol(object);
   }
 }
 
 module.exports = initCloneByTag;
 
 
 /***/ }),
-/* 605 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var cloneArrayBuffer = __webpack_require__(247);
+/* 606 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var cloneArrayBuffer = __webpack_require__(248);
 
 /**
  * Creates a clone of `dataView`.
  *
  * @private
  * @param {Object} dataView The data view to clone.
  * @param {boolean} [isDeep] Specify a deep clone.
  * @returns {Object} Returns the cloned data view.
@@ -20048,17 +20049,17 @@ function cloneDataView(dataView, isDeep)
   var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;
   return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);
 }
 
 module.exports = cloneDataView;
 
 
 /***/ }),
-/* 606 */
+/* 607 */
 /***/ (function(module, exports) {
 
 /** Used to match `RegExp` flags from their coerced string values. */
 var reFlags = /\w*$/;
 
 /**
  * Creates a clone of `regexp`.
  *
@@ -20071,17 +20072,17 @@ function cloneRegExp(regexp) {
   result.lastIndex = regexp.lastIndex;
   return result;
 }
 
 module.exports = cloneRegExp;
 
 
 /***/ }),
-/* 607 */
+/* 608 */
 /***/ (function(module, exports, __webpack_require__) {
 
 var Symbol = __webpack_require__(28);
 
 /** Used to convert symbols to primitives and strings. */
 var symbolProto = Symbol ? Symbol.prototype : undefined,
     symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;
 
@@ -20095,20 +20096,20 @@ var symbolProto = Symbol ? Symbol.protot
 function cloneSymbol(symbol) {
   return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};
 }
 
 module.exports = cloneSymbol;
 
 
 /***/ }),
-/* 608 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var cloneArrayBuffer = __webpack_require__(247);
+/* 609 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var cloneArrayBuffer = __webpack_require__(248);
 
 /**
  * Creates a clone of `typedArray`.
  *
  * @private
  * @param {Object} typedArray The typed array to clone.
  * @param {boolean} [isDeep] Specify a deep clone.
  * @returns {Object} Returns the cloned typed array.
@@ -20117,22 +20118,22 @@ function cloneTypedArray(typedArray, isD
   var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;
   return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
 }
 
 module.exports = cloneTypedArray;
 
 
 /***/ }),
-/* 609 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var baseCreate = __webpack_require__(610),
-    getPrototype = __webpack_require__(246),
-    isPrototype = __webpack_require__(143);
+/* 610 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var baseCreate = __webpack_require__(611),
+    getPrototype = __webpack_require__(247),
+    isPrototype = __webpack_require__(144);
 
 /**
  * Initializes an object clone.
  *
  * @private
  * @param {Object} object The object to clone.
  * @returns {Object} Returns the initialized clone.
  */
@@ -20141,17 +20142,17 @@ function initCloneObject(object) {
     ? baseCreate(getPrototype(object))
     : {};
 }
 
 module.exports = initCloneObject;
 
 
 /***/ }),
-/* 610 */
+/* 611 */
 /***/ (function(module, exports, __webpack_require__) {
 
 var isObject = __webpack_require__(55);
 
 /** Built-in value references. */
 var objectCreate = Object.create;
 
 /**
@@ -20177,22 +20178,22 @@ var baseCreate = (function() {
     return result;
   };
 }());
 
 module.exports = baseCreate;
 
 
 /***/ }),
-/* 611 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var baseIsMap = __webpack_require__(612),
-    baseUnary = __webpack_require__(141),
-    nodeUtil = __webpack_require__(142);
+/* 612 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var baseIsMap = __webpack_require__(613),
+    baseUnary = __webpack_require__(142),
+    nodeUtil = __webpack_require__(143);
 
 /* Node.js helper references. */
 var nodeIsMap = nodeUtil && nodeUtil.isMap;
 
 /**
  * Checks if `value` is classified as a `Map` object.
  *
  * @static
@@ -20210,20 +20211,20 @@ var nodeIsMap = nodeUtil && nodeUtil.isM
  * // => false
  */
 var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;
 
 module.exports = isMap;
 
 
 /***/ }),
-/* 612 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var getTag = __webpack_require__(113),
+/* 613 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var getTag = __webpack_require__(114),
     isObjectLike = __webpack_require__(29);
 
 /** `Object#toString` result references. */
 var mapTag = '[object Map]';
 
 /**
  * The base implementation of `_.isMap` without Node.js optimizations.
  *
@@ -20234,22 +20235,22 @@ var mapTag = '[object Map]';
 function baseIsMap(value) {
   return isObjectLike(value) && getTag(value) == mapTag;
 }
 
 module.exports = baseIsMap;
 
 
 /***/ }),
-/* 613 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var baseIsSet = __webpack_require__(614),
-    baseUnary = __webpack_require__(141),
-    nodeUtil = __webpack_require__(142);
+/* 614 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var baseIsSet = __webpack_require__(615),
+    baseUnary = __webpack_require__(142),
+    nodeUtil = __webpack_require__(143);
 
 /* Node.js helper references. */
 var nodeIsSet = nodeUtil && nodeUtil.isSet;
 
 /**
  * Checks if `value` is classified as a `Set` object.
  *
  * @static
@@ -20267,20 +20268,20 @@ var nodeIsSet = nodeUtil && nodeUtil.isS
  * // => false
  */
 var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;
 
 module.exports = isSet;
 
 
 /***/ }),
-/* 614 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var getTag = __webpack_require__(113),
+/* 615 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var getTag = __webpack_require__(114),
     isObjectLike = __webpack_require__(29);
 
 /** `Object#toString` result references. */
 var setTag = '[object Set]';
 
 /**
  * The base implementation of `_.isSet` without Node.js optimizations.
  *
@@ -20291,17 +20292,17 @@ var setTag = '[object Set]';
 function baseIsSet(value) {
   return isObjectLike(value) && getTag(value) == setTag;
 }
 
 module.exports = baseIsSet;
 
 
 /***/ }),
-/* 615 */
+/* 616 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 let fastProto = null;
 
 // Creates an object with permanently fast properties in V8. See Toon Verwaest's
@@ -20325,17 +20326,17 @@ function FastObject(o) {
 FastObject();
 
 module.exports = function toFastproperties(o) {
 	return FastObject(o);
 };
 
 
 /***/ }),
-/* 616 */
+/* 617 */
 /***/ (function(module, exports, __webpack_require__) {
 
 /*
   Copyright (C) 2013 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:
 
@@ -20356,25 +20357,25 @@ module.exports = function toFastproperti
   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
   THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
 
 (function () {
     'use strict';
 
-    exports.ast = __webpack_require__(617);
-    exports.code = __webpack_require__(323);
-    exports.keyword = __webpack_require__(618);
+    exports.ast = __webpack_require__(618);
+    exports.code = __webpack_require__(324);
+    exports.keyword = __webpack_require__(619);
 }());
 /* vim: set sw=4 ts=4 et tw=80 : */
 
 
 /***/ }),
-/* 617 */
+/* 618 */
 /***/ (function(module, exports) {
 
 /*
   Copyright (C) 2013 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:
 
@@ -20514,17 +20515,17 @@ module.exports = function toFastproperti
 
         trailingStatement: trailingStatement
     };
 }());
 /* vim: set sw=4 ts=4 et tw=80 : */
 
 
 /***/ }),
-/* 618 */
+/* 619 */
 /***/ (function(module, exports, __webpack_require__) {
 
 /*
   Copyright (C) 2013 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:
 
@@ -20544,17 +20545,17 @@ module.exports = function toFastproperti
   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.
 */
 
 (function () {
     'use strict';
 
-    var code = __webpack_require__(323);
+    var code = __webpack_require__(324);
 
     function isStrictModeReservedWordES6(id) {
         switch (id) {
         case 'implements':
         case 'interface':
         case 'package':
         case 'private':
         case 'protected':
@@ -20685,17 +20686,17 @@ module.exports = function toFastproperti
         isIdentifierES5: isIdentifierES5,
         isIdentifierES6: isIdentifierES6
     };
 }());
 /* vim: set sw=4 ts=4 et tw=80 : */
 
 
 /***/ }),
-/* 619 */
+/* 620 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 var _utils = _interopRequireWildcard(__webpack_require__(56));
 
 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)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
@@ -21076,17 +21077,17 @@ defineInterfaceishType("InterfaceDeclara
     kind: (0, _utils.validate)((0, _utils.assertOneOf)("minus", "plus"))
   }
 });
 (0, _utils.default)("VoidTypeAnnotation", {
   aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]
 });
 
 /***/ }),
-/* 620 */
+/* 621 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 var _utils = _interopRequireWildcard(__webpack_require__(56));
 
 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)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
@@ -21242,17 +21243,17 @@ function _interopRequireWildcard(obj) { 
 (0, _utils.default)("JSXOpeningFragment", {
   aliases: ["JSX", "Immutable"]
 });
 (0, _utils.default)("JSXClosingFragment", {
   aliases: ["JSX", "Immutable"]
 });
 
 /***/ }),
-/* 621 */
+/* 622 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 var _utils = _interopRequireWildcard(__webpack_require__(56));
 
 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)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
@@ -21266,25 +21267,25 @@ function _interopRequireWildcard(obj) { 
   fields: {
     expression: {
       validate: (0, _utils.assertNodeType)("Expression")
     }
   }
 });
 
 /***/ }),
-/* 622 */
+/* 623 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 var _utils = _interopRequireWildcard(__webpack_require__(56));
 
-var _es = __webpack_require__(251);
+var _es = __webpack_require__(252);
 
 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)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
 
 (0, _utils.default)("AwaitExpression", {
   builder: ["argument"],
   visitor: ["argument"],
   aliases: ["Expression", "Terminatorless"],
   fields: {
@@ -21442,27 +21443,27 @@ function _interopRequireWildcard(obj) { 
     value: {
       validate: (0, _utils.assertValueType)("string")
     }
   },
   aliases: ["Expression", "Pureish", "Literal", "Immutable"]
 });
 
 /***/ }),
-/* 623 */
+/* 624 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 var _utils = _interopRequireWildcard(__webpack_require__(56));
 
-var _core = __webpack_require__(248);
-
-var _es = __webpack_require__(251);
+var _core = __webpack_require__(249);
+
+var _es = __webpack_require__(252);
 
 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)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
 
 const bool = (0, _utils.assertValueType)("boolean");
 const tSFunctionTypeAnnotationCommon = {
   returnType: {
     validate: (0, _utils.assertNodeType)("TSTypeAnnotation", "Noop"),
     optional: true
@@ -21836,40 +21837,40 @@ const unionOrIntersection = {
     default: {
       validate: (0, _utils.assertNodeType)("TSType"),
       optional: true
     }
   }
 });
 
 /***/ }),
-/* 624 */
+/* 625 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = assertNode;
 
-var _isNode = _interopRequireDefault(__webpack_require__(325));
+var _isNode = _interopRequireDefault(__webpack_require__(326));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function assertNode(node) {
   if (!(0, _isNode.default)(node)) {
     const type = node && node.type || JSON.stringify(node);
     throw new TypeError(`Not a valid node of type "${type}"`);
   }
 }
 
 /***/ }),
-/* 625 */
+/* 626 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -22128,17 +22129,17 @@ exports.assertJSX = assertJSX;
 exports.assertPrivate = assertPrivate;
 exports.assertTSTypeElement = assertTSTypeElement;
 exports.assertTSType = assertTSType;
 exports.assertNumberLiteral = assertNumberLiteral;
 exports.assertRegexLiteral = assertRegexLiteral;
 exports.assertRestProperty = assertRestProperty;
 exports.assertSpreadProperty = assertSpreadProperty;
 
-var _is = _interopRequireDefault(__webpack_require__(249));
+var _is = _interopRequireDefault(__webpack_require__(250));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function assert(type, node, opts) {
   if (!(0, _is.default)(type, node, opts)) {
     throw new Error(`Expected type "${type}" with option ${JSON.stringify(opts)}, but instead got "${node.type}".`);
   }
 }
@@ -23179,17 +23180,17 @@ function assertRestProperty(node, opts) 
 }
 
 function assertSpreadProperty(node, opts) {
   console.trace("The node type SpreadProperty has been renamed to SpreadElement");
   assert("SpreadProperty", node, opts);
 }
 
 /***/ }),
-/* 626 */
+/* 627 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -23213,113 +23214,113 @@ function createTypeAnnotationBasedOnType
   } else if (type === "symbol") {
     return (0, _generated.genericTypeAnnotation)((0, _generated.identifier)("Symbol"));
   } else {
     throw new Error("Invalid typeof value");
   }
 }
 
 /***/ }),
-/* 627 */
+/* 628 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = createUnionTypeAnnotation;
 
 var _generated = __webpack_require__(40);
 
-var _removeTypeDuplicates = _interopRequireDefault(__webpack_require__(326));
+var _removeTypeDuplicates = _interopRequireDefault(__webpack_require__(327));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function createUnionTypeAnnotation(types) {
   const flattened = (0, _removeTypeDuplicates.default)(types);
 
   if (flattened.length === 1) {
     return flattened[0];
   } else {
     return (0, _generated.unionTypeAnnotation)(flattened);
   }
 }
 
 /***/ }),
-/* 628 */
+/* 629 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = cloneDeep;
 
-var _cloneNode = _interopRequireDefault(__webpack_require__(115));
+var _cloneNode = _interopRequireDefault(__webpack_require__(116));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function cloneDeep(node) {
   return (0, _cloneNode.default)(node);
 }
 
 /***/ }),
-/* 629 */
+/* 630 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = cloneWithoutLoc;
 
-var _clone = _interopRequireDefault(__webpack_require__(327));
+var _clone = _interopRequireDefault(__webpack_require__(328));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function cloneWithoutLoc(node) {
   const newNode = (0, _clone.default)(node);
   newNode.loc = null;
   return newNode;
 }
 
 /***/ }),
-/* 630 */
+/* 631 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = addComment;
 
-var _addComments = _interopRequireDefault(__webpack_require__(328));
+var _addComments = _interopRequireDefault(__webpack_require__(329));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function addComment(node, type, content, line) {
   return (0, _addComments.default)(node, type, [{
     type: line ? "CommentLine" : "CommentBlock",
     value: content
   }]);
 }
 
 /***/ }),
-/* 631 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var baseUniq = __webpack_require__(632);
+/* 632 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var baseUniq = __webpack_require__(633);
 
 /**
  * Creates a duplicate-free version of an array, using
  * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
  * for equality comparisons, in which only the first occurrence of each element
  * is kept. The order of result values is determined by the order they occur
  * in the array.
  *
@@ -23337,25 +23338,25 @@ var baseUniq = __webpack_require__(632);
 function uniq(array) {
   return (array && array.length) ? baseUniq(array) : [];
 }
 
 module.exports = uniq;
 
 
 /***/ }),
-/* 632 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var SetCache = __webpack_require__(330),
-    arrayIncludes = __webpack_require__(635),
-    arrayIncludesWith = __webpack_require__(639),
-    cacheHas = __webpack_require__(331),
-    createSet = __webpack_require__(640),
-    setToArray = __webpack_require__(254);
+/* 633 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var SetCache = __webpack_require__(331),
+    arrayIncludes = __webpack_require__(636),
+    arrayIncludesWith = __webpack_require__(640),
+    cacheHas = __webpack_require__(332),
+    createSet = __webpack_require__(641),
+    setToArray = __webpack_require__(255);
 
 /** Used as the size to enable large array optimizations. */
 var LARGE_ARRAY_SIZE = 200;
 
 /**
  * The base implementation of `_.uniqBy` without support for iteratee shorthands.
  *
  * @private
@@ -23415,17 +23416,17 @@ function baseUniq(array, iteratee, compa
   }
   return result;
 }
 
 module.exports = baseUniq;
 
 
 /***/ }),
-/* 633 */
+/* 634 */
 /***/ (function(module, exports) {
 
 /** Used to stand-in for `undefined` hash values. */
 var HASH_UNDEFINED = '__lodash_hash_undefined__';
 
 /**
  * Adds `value` to the array cache.
  *
@@ -23440,17 +23441,17 @@ function setCacheAdd(value) {
   this.__data__.set(value, HASH_UNDEFINED);
   return this;
 }
 
 module.exports = setCacheAdd;
 
 
 /***/ }),
-/* 634 */
+/* 635 */
 /***/ (function(module, exports) {
 
 /**
  * Checks if `value` is in the array cache.
  *
  * @private
  * @name has
  * @memberOf SetCache
@@ -23460,20 +23461,20 @@ module.exports = setCacheAdd;
 function setCacheHas(value) {
   return this.__data__.has(value);
 }
 
 module.exports = setCacheHas;
 
 
 /***/ }),
-/* 635 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var baseIndexOf = __webpack_require__(636);
+/* 636 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var baseIndexOf = __webpack_require__(637);
 
 /**
  * A specialized version of `_.includes` for arrays without support for
  * specifying an index to search from.
  *
  * @private
  * @param {Array} [array] The array to inspect.
  * @param {*} target The value to search for.
@@ -23483,22 +23484,22 @@ function arrayIncludes(array, value) {
   var length = array == null ? 0 : array.length;
   return !!length && baseIndexOf(array, value, 0) > -1;
 }
 
 module.exports = arrayIncludes;
 
 
 /***/ }),
-/* 636 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var baseFindIndex = __webpack_require__(253),
-    baseIsNaN = __webpack_require__(637),
-    strictIndexOf = __webpack_require__(638);
+/* 637 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var baseFindIndex = __webpack_require__(254),
+    baseIsNaN = __webpack_require__(638),
+    strictIndexOf = __webpack_require__(639);
 
 /**
  * The base implementation of `_.indexOf` without `fromIndex` bounds checks.
  *
  * @private
  * @param {Array} array The array to inspect.
  * @param {*} value The value to search for.
  * @param {number} fromIndex The index to search from.
@@ -23509,17 +23510,17 @@ function baseIndexOf(array, value, fromI
     ? strictIndexOf(array, value, fromIndex)
     : baseFindIndex(array, baseIsNaN, fromIndex);
 }
 
 module.exports = baseIndexOf;
 
 
 /***/ }),
-/* 637 */
+/* 638 */
 /***/ (function(module, exports) {
 
 /**
  * The base implementation of `_.isNaN` without support for number objects.
  *
  * @private
  * @param {*} value The value to check.
  * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.
@@ -23527,17 +23528,17 @@ module.exports = baseIndexOf;
 function baseIsNaN(value) {
   return value !== value;
 }
 
 module.exports = baseIsNaN;
 
 
 /***/ }),
-/* 638 */
+/* 639 */
 /***/ (function(module, exports) {
 
 /**
  * A specialized version of `_.indexOf` which performs strict equality
  * comparisons of values, i.e. `===`.
  *
  * @private
  * @param {Array} array The array to inspect.
@@ -23556,17 +23557,17 @@ function strictIndexOf(array, value, fro
   }
   return -1;
 }
 
 module.exports = strictIndexOf;
 
 
 /***/ }),
-/* 639 */
+/* 640 */
 /***/ (function(module, exports) {
 
 /**
  * This function is like `arrayIncludes` except that it accepts a comparator.
  *
  * @private
  * @param {Array} [array] The array to inspect.
  * @param {*} target The value to search for.
@@ -23584,22 +23585,22 @@ function arrayIncludesWith(array, value,
   }
   return false;
 }
 
 module.exports = arrayIncludesWith;
 
 
 /***/ }),
-/* 640 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var Set = __webpack_require__(321),
-    noop = __webpack_require__(641),
-    setToArray = __webpack_require__(254);
+/* 641 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var Set = __webpack_require__(322),
+    noop = __webpack_require__(642),
+    setToArray = __webpack_require__(255);
 
 /** Used as references for various `Number` constants. */
 var INFINITY = 1 / 0;
 
 /**
  * Creates a set object of `values`.
  *
  * @private
@@ -23609,17 +23610,17 @@ var INFINITY = 1 / 0;
 var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {
   return new Set(values);
 };
 
 module.exports = createSet;
 
 
 /***/ }),
-/* 641 */
+/* 642 */
 /***/ (function(module, exports) {
 
 /**
  * This method returns `undefined`.
  *
  * @static
  * @memberOf _
  * @since 2.3.0
@@ -23632,17 +23633,17 @@ module.exports = createSet;
 function noop() {
   // No operation performed.
 }
 
 module.exports = noop;
 
 
 /***/ }),
-/* 642 */
+/* 643 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -23654,17 +23655,17 @@ function removeComments(node) {
   _constants.COMMENT_KEYS.forEach(key => {
     node[key] = null;
   });
 
   return node;
 }
 
 /***/ }),
-/* 643 */
+/* 644 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -23753,59 +23754,59 @@ exports.JSX_TYPES = JSX_TYPES;
 const PRIVATE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Private"];
 exports.PRIVATE_TYPES = PRIVATE_TYPES;
 const TSTYPEELEMENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["TSTypeElement"];
 exports.TSTYPEELEMENT_TYPES = TSTYPEELEMENT_TYPES;
 const TSTYPE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["TSType"];
 exports.TSTYPE_TYPES = TSTYPE_TYPES;
 
 /***/ }),
-/* 644 */
+/* 645 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = ensureBlock;
 
-var _toBlock = _interopRequireDefault(__webpack_require__(335));
+var _toBlock = _interopRequireDefault(__webpack_require__(336));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function ensureBlock(node, key = "body") {
   return node[key] = (0, _toBlock.default)(node[key], node);
 }
 
 /***/ }),
-/* 645 */
+/* 646 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = toBindingIdentifierName;
 
-var _toIdentifier = _interopRequireDefault(__webpack_require__(336));
+var _toIdentifier = _interopRequireDefault(__webpack_require__(337));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function toBindingIdentifierName(name) {
   name = (0, _toIdentifier.default)(name);
   if (name === "eval" || name === "arguments") name = "_" + name;
   return name;
 }
 
 /***/ }),
-/* 646 */
+/* 647 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -23816,17 +23817,17 @@ var _generated = __webpack_require__(19)
 var _generated2 = __webpack_require__(40);
 
 function toComputedKey(node, key = node.key || node.property) {
   if (!node.computed && (0, _generated.isIdentifier)(key)) key = (0, _generated2.stringLiteral)(key.name);
   return key;
 }
 
 /***/ }),
-/* 647 */
+/* 648 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -23852,32 +23853,32 @@ function toExpression(node) {
   if (!(0, _generated.isExpression)(node)) {
     throw new Error(`cannot turn ${node.type} to an expression`);
   }
 
   return node;
 }
 
 /***/ }),
-/* 648 */
+/* 649 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = toKeyAlias;
 
 var _generated = __webpack_require__(19);
 
-var _cloneNode = _interopRequireDefault(__webpack_require__(115));
-
-var _removePropertiesDeep = _interopRequireDefault(__webpack_require__(337));
+var _cloneNode = _interopRequireDefault(__webpack_require__(116));
+
+var _removePropertiesDeep = _interopRequireDefault(__webpack_require__(338));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function toKeyAlias(node, key = node.key) {
   let alias;
 
   if (node.kind === "method") {
     return toKeyAlias.increment() + "";
@@ -23906,28 +23907,28 @@ toKeyAlias.increment = function () {
   if (toKeyAlias.uid >= Number.MAX_SAFE_INTEGER) {
     return toKeyAlias.uid = 0;
   } else {
     return toKeyAlias.uid++;
   }
 };
 
 /***/ }),
-/* 649 */
+/* 650 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = toSequenceExpression;
 
-var _gatherSequenceExpressions = _interopRequireDefault(__webpack_require__(650));
+var _gatherSequenceExpressions = _interopRequireDefault(__webpack_require__(651));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function toSequenceExpression(nodes, scope) {
   if (!nodes || !nodes.length) return;
   const declars = [];
   const result = (0, _gatherSequenceExpressions.default)(nodes, scope, declars);
   if (!result) return;
@@ -23935,34 +23936,34 @@ function toSequenceExpression(nodes, sco
   for (const declar of declars) {
     scope.push(declar);
   }
 
   return result;
 }
 
 /***/ }),
-/* 650 */
+/* 651 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = gatherSequenceExpressions;
 
-var _getBindingIdentifiers = _interopRequireDefault(__webpack_require__(145));
+var _getBindingIdentifiers = _interopRequireDefault(__webpack_require__(146));
 
 var _generated = __webpack_require__(19);
 
 var _generated2 = __webpack_require__(40);
 
-var _cloneNode = _interopRequireDefault(__webpack_require__(115));
+var _cloneNode = _interopRequireDefault(__webpack_require__(116));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function gatherSequenceExpressions(nodes, scope, declars) {
   const exprs = [];
   let ensureLastUndefined = true;
 
   for (const node of nodes) {
@@ -24014,17 +24015,17 @@ function gatherSequenceExpressions(nodes
   if (exprs.length === 1) {
     return exprs[0];
   } else {
     return (0, _generated2.sequenceExpression)(exprs);
   }
 }
 
 /***/ }),
-/* 651 */
+/* 652 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -24064,48 +24065,48 @@ function toStatement(node, ignore) {
     }
   }
 
   node.type = newType;
   return node;
 }
 
 /***/ }),
-/* 652 */
+/* 653 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = valueToNode;
 
 function _isPlainObject() {
-  const data = _interopRequireDefault(__webpack_require__(653));
+  const data = _interopRequireDefault(__webpack_require__(654));
 
   _isPlainObject = function () {
     return data;
   };
 
   return data;
 }
 
 function _isRegExp() {
-  const data = _interopRequireDefault(__webpack_require__(654));
+  const data = _interopRequireDefault(__webpack_require__(655));
 
   _isRegExp = function () {
     return data;
   };
 
   return data;
 }
 
-var _isValidIdentifier = _interopRequireDefault(__webpack_require__(114));
+var _isValidIdentifier = _interopRequireDefault(__webpack_require__(115));
 
 var _generated = __webpack_require__(40);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function valueToNode(value) {
   if (value === undefined) {
     return (0, _generated.identifier)("undefined");
@@ -24174,21 +24175,21 @@ function valueToNode(value) {
 
     return (0, _generated.objectExpression)(props);
   }
 
   throw new Error("don't know how to turn this value into a node");
 }
 
 /***/ }),
-/* 653 */
+/* 654 */
 /***/ (function(module, exports, __webpack_require__) {
 
 var baseGetTag = __webpack_require__(35),
-    getPrototype = __webpack_require__(246),
+    getPrototype = __webpack_require__(247),
     isObjectLike = __webpack_require__(29);
 
 /** `Object#toString` result references. */
 var objectTag = '[object Object]';
 
 /** Used for built-in method references. */
 var funcProto = Function.prototype,
     objectProto = Object.prototype;
@@ -24242,22 +24243,22 @@ function isPlainObject(value) {
   return typeof Ctor == 'function' && Ctor instanceof Ctor &&
     funcToString.call(Ctor) == objectCtorString;
 }
 
 module.exports = isPlainObject;
 
 
 /***/ }),
-/* 654 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var baseIsRegExp = __webpack_require__(655),
-    baseUnary = __webpack_require__(141),
-    nodeUtil = __webpack_require__(142);
+/* 655 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var baseIsRegExp = __webpack_require__(656),
+    baseUnary = __webpack_require__(142),
+    nodeUtil = __webpack_require__(143);
 
 /* Node.js helper references. */
 var nodeIsRegExp = nodeUtil && nodeUtil.isRegExp;
 
 /**
  * Checks if `value` is classified as a `RegExp` object.
  *
  * @static
@@ -24275,17 +24276,17 @@ var nodeIsRegExp = nodeUtil && nodeUtil.
  * // => false
  */
 var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;
 
 module.exports = isRegExp;
 
 
 /***/ }),
-/* 655 */
+/* 656 */
 /***/ (function(module, exports, __webpack_require__) {
 
 var baseGetTag = __webpack_require__(35),
     isObjectLike = __webpack_require__(29);
 
 /** `Object#toString` result references. */
 var regexpTag = '[object RegExp]';
 
@@ -24299,17 +24300,17 @@ var regexpTag = '[object RegExp]';
 function baseIsRegExp(value) {
   return isObjectLike(value) && baseGetTag(value) == regexpTag;
 }
 
 module.exports = baseIsRegExp;
 
 
 /***/ }),
-/* 656 */
+/* 657 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -24320,30 +24321,30 @@ var _generated = __webpack_require__(40)
 function appendToMemberExpression(member, append, computed = false) {
   member.object = (0, _generated.memberExpression)(member.object, member.property, member.computed);
   member.property = append;
   member.computed = !!computed;
   return member;
 }
 
 /***/ }),
-/* 657 */
+/* 658 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = inherits;
 
 var _constants = __webpack_require__(65);
 
-var _inheritsComments = _interopRequireDefault(__webpack_require__(333));
+var _inheritsComments = _interopRequireDefault(__webpack_require__(334));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function inherits(child, parent) {
   if (!child || !parent) return child;
 
   for (const key of _constants.INHERIT_KEYS.optional) {
     if (child[key] == null) {
@@ -24359,17 +24360,17 @@ function inherits(child, parent) {
     child[key] = parent[key];
   }
 
   (0, _inheritsComments.default)(child, parent);
   return child;
 }
 
 /***/ }),
-/* 658 */
+/* 659 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -24378,37 +24379,37 @@ exports.default = prependToMemberExpress
 var _generated = __webpack_require__(40);
 
 function prependToMemberExpression(member, prepend) {
   member.object = (0, _generated.memberExpression)(prepend, member.object);
   return member;
 }
 
 /***/ }),
-/* 659 */
+/* 660 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = getOuterBindingIdentifiers;
 
-var _getBindingIdentifiers = _interopRequireDefault(__webpack_require__(145));
+var _getBindingIdentifiers = _interopRequireDefault(__webpack_require__(146));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function getOuterBindingIdentifiers(node, duplicates) {
   return (0, _getBindingIdentifiers.default)(node, duplicates, true);
 }
 
 /***/ }),
-/* 660 */
+/* 661 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -24459,28 +24460,28 @@ function traverseSimpleImpl(node, enter,
       ancestors.pop();
     }
   }
 
   if (exit) exit(node, ancestors, state);
 }
 
 /***/ }),
-/* 661 */
+/* 662 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = isBinding;
 
-var _getBindingIdentifiers = _interopRequireDefault(__webpack_require__(145));
+var _getBindingIdentifiers = _interopRequireDefault(__webpack_require__(146));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function isBinding(node, parent) {
   const keys = _getBindingIdentifiers.default.keys[parent.type];
 
   if (keys) {
     for (let i = 0; i < keys.length; i++) {
@@ -24494,50 +24495,50 @@ function isBinding(node, parent) {
       }
     }
   }
 
   return false;
 }
 
 /***/ }),
-/* 662 */
+/* 663 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = isBlockScoped;
 
 var _generated = __webpack_require__(19);
 
-var _isLet = _interopRequireDefault(__webpack_require__(340));
+var _isLet = _interopRequireDefault(__webpack_require__(341));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function isBlockScoped(node) {
   return (0, _generated.isFunctionDeclaration)(node) || (0, _generated.isClassDeclaration)(node) || (0, _isLet.default)(node);
 }
 
 /***/ }),
-/* 663 */
+/* 664 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = isImmutable;
 
-var _isType = _interopRequireDefault(__webpack_require__(250));
+var _isType = _interopRequireDefault(__webpack_require__(251));
 
 var _generated = __webpack_require__(19);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function isImmutable(node) {
   if ((0, _isType.default)(node.type, "Immutable")) return true;
 
@@ -24548,17 +24549,17 @@ function isImmutable(node) {
       return false;
     }
   }
 
   return false;
 }
 
 /***/ }),
-/* 664 */
+/* 665 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -24615,17 +24616,17 @@ function isNodesEquivalent(a, b) {
       return false;
     }
   }
 
   return true;
 }
 
 /***/ }),
-/* 665 */
+/* 666 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -24711,17 +24712,17 @@ function isReferenced(node, parent) {
     case "ObjectTypeProperty":
       return parent.key !== node;
   }
 
   return true;
 }
 
 /***/ }),
-/* 666 */
+/* 667 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -24741,17 +24742,17 @@ function isScope(node, parent) {
   })) {
     return false;
   }
 
   return (0, _generated.isScopable)(node);
 }
 
 /***/ }),
-/* 667 */
+/* 668 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -24761,39 +24762,39 @@ var _generated = __webpack_require__(19)
 
 function isSpecifierDefault(specifier) {
   return (0, _generated.isImportDefaultSpecifier)(specifier) || (0, _generated.isIdentifier)(specifier.imported || specifier.exported, {
     name: "default"
   });
 }
 
 /***/ }),
-/* 668 */
+/* 669 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = isValidES3Identifier;
 
-var _isValidIdentifier = _interopRequireDefault(__webpack_require__(114));
+var _isValidIdentifier = _interopRequireDefault(__webpack_require__(115));
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 const RESERVED_WORDS_ES3_ONLY = new Set(["abstract", "boolean", "byte", "char", "double", "enum", "final", "float", "goto", "implements", "int", "interface", "long", "native", "package", "private", "protected", "public", "short", "static", "synchronized", "throws", "transient", "volatile"]);
 
 function isValidES3Identifier(name) {
   return (0, _isValidIdentifier.default)(name) && !RESERVED_WORDS_ES3_ONLY.has(name);
 }
 
 /***/ }),
-/* 669 */
+/* 670 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -24805,36 +24806,36 @@ var _constants = __webpack_require__(65)
 
 function isVar(node) {
   return (0, _generated.isVariableDeclaration)(node, {
     kind: "var"
   }) && !node[_constants.BLOCK_SCOPED_SYMBOL];
 }
 
 /***/ }),
-/* 670 */
+/* 671 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.parseScriptTags = exports.parseScripts = exports.parseScript = exports.getCandidateScriptLocations = exports.generateWhitespace = exports.extractScriptTags = undefined;
 
 var _types = __webpack_require__(12);
 
 var types = _interopRequireWildcard(_types);
 
-var _babylon = __webpack_require__(671);
+var _babylon = __webpack_require__(672);
 
 var babylon = _interopRequireWildcard(_babylon);
 
-var _customParse = __webpack_require__(672);
+var _customParse = __webpack_require__(673);
 
 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; } }
 
 function parseScript(_ref) {
   var source = _ref.source,
       line = _ref.line;
 
   // remove empty or only whitespace scripts
@@ -24880,17 +24881,17 @@ exports.default = parseScriptTags;
 exports.extractScriptTags = extractScriptTags;
 exports.generateWhitespace = _customParse.generateWhitespace;
 exports.getCandidateScriptLocations = _customParse.getCandidateScriptLocations;
 exports.parseScript = parseScript;
 exports.parseScripts = parseScripts;
 exports.parseScriptTags = parseScriptTags;
 
 /***/ }),
-/* 671 */
+/* 672 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, '__esModule', { value: true });
 
 function _AwaitValue(value) {
@@ -35054,32 +35055,32 @@ function getParserClass(pluginsFromOptio
 }
 
 exports.parse = parse;
 exports.parseExpression = parseExpression;
 exports.tokTypes = types;
 
 
 /***/ }),
-/* 672 */
+/* 673 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.parseScriptTags = exports.parseScripts = exports.getCandidateScriptLocations = exports.generateWhitespace = undefined;
 
 var _types = __webpack_require__(12);
 
 var types = _interopRequireWildcard(_types);
 
-var _parseScriptFragment = __webpack_require__(673);
+var _parseScriptFragment = __webpack_require__(674);
 
 var _parseScriptFragment2 = _interopRequireDefault(_parseScriptFragment);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 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; } }
 
 function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
@@ -35198,17 +35199,17 @@ function parseScriptTags(source, parser)
 
 exports.default = parseScriptTags;
 exports.generateWhitespace = generateWhitespace;
 exports.getCandidateScriptLocations = getCandidateScriptLocations;
 exports.parseScripts = parseScripts;
 exports.parseScriptTags = parseScriptTags;
 
 /***/ }),
-/* 673 */
+/* 674 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -35356,17 +35357,17 @@ function parseFragment(str) {
 
   return null;
 }
 
 exports.default = parseFragment;
 exports.parseFragment = parseFragment;
 
 /***/ }),
-/* 674 */
+/* 675 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, '__esModule', { value: true });
 
 function _AwaitValue(value) {
@@ -45824,29 +45825,29 @@ function getParserClass(pluginsFromOptio
 }
 
 exports.parse = parse;
 exports.parseExpression = parseExpression;
 exports.tokTypes = types;
 
 
 /***/ }),
-/* 675 */
+/* 676 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = void 0;
 
 function _sourceMap() {
-  const data = _interopRequireDefault(__webpack_require__(255));
+  const data = _interopRequireDefault(__webpack_require__(256));
 
   _sourceMap = function () {
     return data;
   };
 
   return data;
 }
 
@@ -45911,62 +45912,62 @@ class SourceMap {
     });
   }
 
 }
 
 exports.default = SourceMap;
 
 /***/ }),
-/* 676 */
+/* 677 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = void 0;
 
 function _isInteger() {
-  const data = _interopRequireDefault(__webpack_require__(677));
+  const data = _interopRequireDefault(__webpack_require__(678));
 
   _isInteger = function () {
     return data;
   };
 
   return data;
 }
 
 function _repeat() {
-  const data = _interopRequireDefault(__webpack_require__(680));
+  const data = _interopRequireDefault(__webpack_require__(681));
 
   _repeat = function () {
     return data;
   };
 
   return data;
 }
 
-var _buffer = _interopRequireDefault(__webpack_require__(683));
-
-var n = _interopRequireWildcard(__webpack_require__(344));
+var _buffer = _interopRequireDefault(__webpack_require__(684));
+
+var n = _interopRequireWildcard(__webpack_require__(345));
 
 function t() {
   const data = _interopRequireWildcard(__webpack_require__(12));
 
   t = function () {
     return data;
   };
 
   return data;
 }
 
-var generatorFunctions = _interopRequireWildcard(__webpack_require__(687));
+var generatorFunctions = _interopRequireWildcard(__webpack_require__(688));
 
 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)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 const SCIENTIFIC_NOTATION = /e/i;
 const ZERO_DECIMAL_INTEGER = /\.0+$/;
 const NON_DECIMAL_LITERAL = /^0[box]/;
@@ -46418,20 +46419,20 @@ exports.default = Printer;
 Object.assign(Printer.prototype, generatorFunctions);
 
 function commaSeparator() {
   this.token(",");
   this.space();
 }
 
 /***/ }),
-/* 677 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var toInteger = __webpack_require__(148);
+/* 678 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var toInteger = __webpack_require__(149);
 
 /**
  * Checks if `value` is an integer.
  *
  * **Note:** This method is based on
  * [`Number.isInteger`](https://mdn.io/Number/isInteger).
  *
  * @static
@@ -46457,20 +46458,20 @@ var toInteger = __webpack_require__(148)
 function isInteger(value) {
   return typeof value == 'number' && value == toInteger(value);
 }
 
 module.exports = isInteger;
 
 
 /***/ }),
-/* 678 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var toNumber = __webpack_require__(679);
+/* 679 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var toNumber = __webpack_require__(680);
 
 /** Used as references for various `Number` constants. */
 var INFINITY = 1 / 0,
     MAX_INTEGER = 1.7976931348623157e+308;
 
 /**
  * Converts `value` to a finite number.
  *
@@ -46505,17 +46506,17 @@ function toFinite(value) {
   }
   return value === value ? value : 0;
 }
 
 module.exports = toFinite;
 
 
 /***/ }),
-/* 679 */
+/* 680 */
 /***/ (function(module, exports, __webpack_require__) {
 
 var isObject = __webpack_require__(55),
     isSymbol = __webpack_require__(51);
 
 /** Used as references for various `Number` constants. */
 var NAN = 0 / 0;
 
@@ -46577,22 +46578,22 @@ function toNumber(value) {
     ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
     : (reIsBadHex.test(value) ? NAN : +value);
 }
 
 module.exports = toNumber;
 
 
 /***/ }),
-/* 680 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var baseRepeat = __webpack_require__(681),
-    isIterateeCall = __webpack_require__(682),
-    toInteger = __webpack_require__(148),
+/* 681 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var baseRepeat = __webpack_require__(682),
+    isIterateeCall = __webpack_require__(683),
+    toInteger = __webpack_require__(149),
     toString = __webpack_require__(69);
 
 /**
  * Repeats the given string `n` times.
  *
  * @static
  * @memberOf _
  * @since 3.0.0
@@ -46620,17 +46621,17 @@ function repeat(string, n, guard) {
   }
   return baseRepeat(toString(string), n);
 }
 
 module.exports = repeat;
 
 
 /***/ }),
-/* 681 */
+/* 682 */
 /***/ (function(module, exports) {
 
 /** Used as references for various `Number` constants. */
 var MAX_SAFE_INTEGER = 9007199254740991;
 
 /* Built-in method references for those with the same name as other `lodash` methods. */
 var nativeFloor = Math.floor;
 
@@ -46661,22 +46662,22 @@ function baseRepeat(string, n) {
 
   return result;
 }
 
 module.exports = baseRepeat;
 
 
 /***/ }),
-/* 682 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var eq = __webpack_require__(135),
-    isArrayLike = __webpack_require__(144),
-    isIndex = __webpack_require__(242),
+/* 683 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var eq = __webpack_require__(136),
+    isArrayLike = __webpack_require__(145),
+    isIndex = __webpack_require__(243),
     isObject = __webpack_require__(55);
 
 /**
  * Checks if the given arguments are from an iteratee call.
  *
  * @private
  * @param {*} value The potential iteratee value argument.
  * @param {*} index The potential iteratee index or key argument.
@@ -46697,29 +46698,29 @@ function isIterateeCall(value, index, ob
   }
   return false;
 }
 
 module.exports = isIterateeCall;
 
 
 /***/ }),
-/* 683 */
+/* 684 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = void 0;
 
 function _trimRight() {
-  const data = _interopRequireDefault(__webpack_require__(684));
+  const data = _interopRequireDefault(__webpack_require__(685));
 
   _trimRight = function () {
     return data;
   };
 
   return data;
 }
 
@@ -46960,34 +46961,34 @@ class Buffer {
     return this._position.line + count;
   }
 
 }
 
 exports.default = Buffer;
 
 /***/ }),
-/* 684 */
+/* 685 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 module.exports = function (str) {
 	var tail = str.length;
 
 	while (/[\s\uFEFF\u00A0]/.test(str[tail - 1])) {
 		tail--;
 	}
 
 	return str.slice(0, tail);
 };
 
 
 /***/ }),
-/* 685 */
+/* 686 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -47175,17 +47176,17 @@ exports.list = list;
   [type].concat(t().FLIPPED_ALIAS_KEYS[type] || []).forEach(function (type) {
     nodes[type] = function () {
       return amounts;
     };
   });
 });
 
 /***/ }),
-/* 686 */
+/* 687 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -47419,160 +47420,160 @@ function isFirstInStatement(printStack, 
       return false;
     }
   }
 
   return false;
 }
 
 /***/ }),
-/* 687 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var _templateLiterals = __webpack_require__(688);
+/* 688 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+
+var _templateLiterals = __webpack_require__(689);
 
 Object.keys(_templateLiterals).forEach(function (key) {
   if (key === "default" || key === "__esModule") return;
   Object.defineProperty(exports, key, {
     enumerable: true,
     get: function () {
       return _templateLiterals[key];
     }
   });
 });
 
-var _expressions = __webpack_require__(689);
+var _expressions = __webpack_require__(690);
 
 Object.keys(_expressions).forEach(function (key) {
   if (key === "default" || key === "__esModule") return;
   Object.defineProperty(exports, key, {
     enumerable: true,
     get: function () {
       return _expressions[key];
     }
   });
 });
 
-var _statements = __webpack_require__(690);
+var _statements = __webpack_require__(691);
 
 Object.keys(_statements).forEach(function (key) {
   if (key === "default" || key === "__esModule") return;
   Object.defineProperty(exports, key, {
     enumerable: true,
     get: function () {
       return _statements[key];
     }
   });
 });
 
-var _classes = __webpack_require__(691);
+var _classes = __webpack_require__(692);
 
 Object.keys(_classes).forEach(function (key) {
   if (key === "default" || key === "__esModule") return;
   Object.defineProperty(exports, key, {
     enumerable: true,
     get: function () {
       return _classes[key];
     }
   });
 });
 
-var _methods = __webpack_require__(692);
+var _methods = __webpack_require__(693);
 
 Object.keys(_methods).forEach(function (key) {
   if (key === "default" || key === "__esModule") return;
   Object.defineProperty(exports, key, {
     enumerable: true,
     get: function () {
       return _methods[key];
     }
   });
 });
 
-var _modules = __webpack_require__(345);
+var _modules = __webpack_require__(346);
 
 Object.keys(_modules).forEach(function (key) {
   if (key === "default" || key === "__esModule") return;
   Object.defineProperty(exports, key, {
     enumerable: true,
     get: function () {
       return _modules[key];
     }
   });
 });
 
-var _types = __webpack_require__(262);
+var _types = __webpack_require__(263);
 
 Object.keys(_types).forEach(function (key) {
   if (key === "default" || key === "__esModule") return;
   Object.defineProperty(exports, key, {
     enumerable: true,
     get: function () {
       return _types[key];
     }
   });
 });
 
-var _flow = __webpack_require__(694);
+var _flow = __webpack_require__(695);
 
 Object.keys(_flow).forEach(function (key) {
   if (key === "default" || key === "__esModule") return;
   Object.defineProperty(exports, key, {
     enumerable: true,
     get: function () {
       return _flow[key];
     }
   });
 });
 
-var _base = __webpack_require__(695);
+var _base = __webpack_require__(696);
 
 Object.keys(_base).forEach(function (key) {
   if (key === "default" || key === "__esModule") return;
   Object.defineProperty(exports, key, {
     enumerable: true,
     get: function () {
       return _base[key];
     }
   });
 });
 
-var _jsx = __webpack_require__(696);
+var _jsx = __webpack_require__(697);
 
 Object.keys(_jsx).forEach(function (key) {
   if (key === "default" || key === "__esModule") return;
   Object.defineProperty(exports, key, {
     enumerable: true,
     get: function () {
       return _jsx[key];
     }
   });
 });
 
-var _typescript = __webpack_require__(697);
+var _typescript = __webpack_require__(698);
 
 Object.keys(_typescript).forEach(function (key) {
   if (key === "default" || key === "__esModule") return;
   Object.defineProperty(exports, key, {
     enumerable: true,
     get: function () {
       return _typescript[key];
     }
   });
 });
 
 /***/ }),
-/* 688 */
+/* 689 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -47601,17 +47602,17 @@ function TemplateLiteral(node) {
 
     if (i + 1 < quasis.length) {
       this.print(node.expressions[i], node);
     }
   }
 }
 
 /***/ }),
-/* 689 */
+/* 690 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -47644,17 +47645,17 @@ function t() {
 
   t = function () {
     return data;
   };
 
   return data;
 }
 
-var n = _interopRequireWildcard(__webpack_require__(344));
+var n = _interopRequireWildcard(__webpack_require__(345));
 
 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)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
 
 function UnaryExpression(node) {
   if (node.operator === "void" || node.operator === "delete" || node.operator === "typeof") {
     this.word(node.operator);
     this.space();
   } else {
@@ -47899,17 +47900,17 @@ function MetaProperty(node) {
 }
 
 function PrivateName(node) {
   this.token("#");
   this.print(node.id, node);
 }
 
 /***/ }),
-/* 690 */
+/* 691 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -48224,17 +48225,17 @@ function VariableDeclarator(node) {
     this.space();
     this.token("=");
     this.space();
     this.print(node.init, node);
   }
 }
 
 /***/ }),
-/* 691 */
+/* 692 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -48411,17 +48412,17 @@ function _classMethodHead(node) {
     this.word("static");
     this.space();
   }
 
   this._methodHead(node);
 }
 
 /***/ }),
-/* 692 */
+/* 693 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -48568,17 +48569,17 @@ function ArrowFunctionExpression(node) {
   this.print(node.body, node);
 }
 
 function hasTypes(node, param) {
   return node.typeParameters || node.returnType || param.typeAnnotation || param.optional || param.trailingComments;
 }
 
 /***/ }),
-/* 693 */
+/* 694 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 /* WEBPACK VAR INJECTION */(function(Buffer) {
 
 const object = {};
 const hasOwnProperty = object.hasOwnProperty;
 const forOwn = (object, callback) => {
@@ -48902,20 +48903,20 @@ const jsesc = (argument, options) => {
 	}
 	return result;
 };
 
 jsesc.version = '2.5.1';
 
 module.exports = jsesc;
 
-/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(149).Buffer))
-
-/***/ }),
-/* 694 */
+/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(150).Buffer))
+
+/***/ }),
+/* 695 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -48987,19 +48988,19 @@ function t() {
 
   t = function () {
     return data;
   };
 
   return data;
 }
 
-var _modules = __webpack_require__(345);
-
-var _types2 = __webpack_require__(262);
+var _modules = __webpack_require__(346);
+
+var _types2 = __webpack_require__(263);
 
 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)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
 
 function AnyTypeAnnotation() {
   this.word("any");
 }
 
 function ArrayTypeAnnotation(node) {
@@ -49539,17 +49540,17 @@ function Variance(node) {
   }
 }
 
 function VoidTypeAnnotation() {
   this.word("void");
 }
 
 /***/ }),
-/* 695 */
+/* 696 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -49561,17 +49562,17 @@ exports.Directive = Directive;
 exports.InterpreterDirective = InterpreterDirective;
 Object.defineProperty(exports, "DirectiveLiteral", {
   enumerable: true,
   get: function () {
     return _types.StringLiteral;
   }
 });
 
-var _types = __webpack_require__(262);
+var _types = __webpack_require__(263);
 
 function File(node) {
   if (node.program) {
     this.print(node.program.interpreter, node);
   }
 
   this.print(node.program, node);
 }
@@ -49614,17 +49615,17 @@ function Directive(node) {
   this.semicolon();
 }
 
 function InterpreterDirective(node) {
   this.token(`#!${node.value}\n`);
 }
 
 /***/ }),
-/* 696 */
+/* 697 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -49765,17 +49766,17 @@ function JSXOpeningFragment() {
 }
 
 function JSXClosingFragment() {
   this.token("</");
   this.token(">");
 }
 
 /***/ }),
-/* 697 */
+/* 698 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -50447,17 +50448,17 @@ function tsPrintSignatureDeclarationBase
 
   this._parameters(parameters, node);
 
   this.token(")");
   this.print(node.typeAnnotation, node);
 }
 
 /***/ }),
-/* 698 */
+/* 699 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -50546,37 +50547,37 @@ function inferClassName(path) {
   if (assignment) {
     return fromPrototype(assignment);
   }
 
   return null;
 }
 
 /***/ }),
-/* 699 */
+/* 700 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.parseSourceScopes = parseSourceScopes;
 exports.buildScopeList = buildScopeList;
 
-var _isEmpty = __webpack_require__(342);
+var _isEmpty = __webpack_require__(343);
 
 var _isEmpty2 = _interopRequireDefault(_isEmpty);
 
 var _types = __webpack_require__(12);
 
 var t = _interopRequireWildcard(_types);
 
-var _getFunctionName = __webpack_require__(346);
+var _getFunctionName = __webpack_require__(347);
 
 var _getFunctionName2 = _interopRequireDefault(_getFunctionName);
 
 var _ast = __webpack_require__(49);
 
 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; } }
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -51291,41 +51292,41 @@ function stripModuleScope(rootScope) {
   });
   rootLexicalScope.children = moduleScope.children;
   rootLexicalScope.children.forEach(child => {
     child.parent = rootLexicalScope;
   });
 }
 
 /***/ }),
-/* 700 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var _get = __webpack_require__(348);
+/* 701 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+
+var _get = __webpack_require__(349);
 
 var _get2 = _interopRequireDefault(_get);
 
-var _findIndex = __webpack_require__(704);
+var _findIndex = __webpack_require__(705);
 
 var _findIndex2 = _interopRequireDefault(_findIndex);
 
-var _findLastIndex = __webpack_require__(721);
+var _findLastIndex = __webpack_require__(722);
 
 var _findLastIndex2 = _interopRequireDefault(_findLastIndex);
 
-var _contains = __webpack_require__(356);
-
-var _getSymbols = __webpack_require__(236);
+var _contains = __webpack_require__(357);
+
+var _getSymbols = __webpack_require__(237);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 function findSymbols(source) {
@@ -51429,20 +51430,20 @@ function findOutOfScopeLocations(sourceI
   // we will mis-judge in-scope inner locations as out of scope.
   locations = removeInnerLocations(locations, position).filter(loc => !(0, _contains.containsPosition)(loc, position));
   return removeOverlaps(locations);
 }
 
 exports.default = findOutOfScopeLocations;
 
 /***/ }),
-/* 701 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var memoizeCapped = __webpack_require__(702);
+/* 702 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var memoizeCapped = __webpack_require__(703);
 
 /** Used to match property names within property paths. */
 var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
 
 /** Used to match backslashes in property paths. */
 var reEscapeChar = /\\(\\)?/g;
 
 /**
@@ -51462,20 +51463,20 @@ var stringToPath = memoizeCapped(functio
   });
   return result;
 });
 
 module.exports = stringToPath;
 
 
 /***/ }),
-/* 702 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var memoize = __webpack_require__(703);
+/* 703 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var memoize = __webpack_require__(704);
 
 /** Used as the maximum memoize cache size. */
 var MAX_MEMOIZE_SIZE = 500;
 
 /**
  * A specialized version of `_.memoize` which clears the memoized function's
  * cache when it exceeds `MAX_MEMOIZE_SIZE`.
  *
@@ -51494,20 +51495,20 @@ function memoizeCapped(func) {
   var cache = result.cache;
   return result;
 }
 
 module.exports = memoizeCapped;
 
 
 /***/ }),
-/* 703 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var MapCache = __webpack_require__(240);
+/* 704 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var MapCache = __webpack_require__(241);
 
 /** Error message constants. */
 var FUNC_ERROR_TEXT = 'Expected a function';
 
 /**
  * Creates a function that memoizes the result of `func`. If `resolver` is
  * provided, it determines the cache key for storing the result based on the
  * arguments provided to the memoized function. By default, the first argument
@@ -51573,22 +51574,22 @@ function memoize(func, resolver) {
 
 // Expose `MapCache`.
 memoize.Cache = MapCache;
 
 module.exports = memoize;
 
 
 /***/ }),
-/* 704 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var baseFindIndex = __webpack_require__(253),
-    baseIteratee = __webpack_require__(351),
-    toInteger = __webpack_require__(148);
+/* 705 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var baseFindIndex = __webpack_require__(254),
+    baseIteratee = __webpack_require__(352),
+    toInteger = __webpack_require__(149);
 
 /* Built-in method references for those with the same name as other `lodash` methods. */
 var nativeMax = Math.max;
 
 /**
  * This method is like `_.find` except that it returns the index of the first
  * element `predicate` returns truthy for instead of the element itself.
  *
@@ -51634,22 +51635,22 @@ function findIndex(array, predicate, fro
   }
   return baseFindIndex(array, baseIteratee(predicate, 3), index);
 }
 
 module.exports = findIndex;
 
 
 /***/ }),
-/* 705 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var baseIsMatch = __webpack_require__(706),
-    getMatchData = __webpack_require__(712),
-    matchesStrictComparable = __webpack_require__(355);
+/* 706 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var baseIsMatch = __webpack_require__(707),
+    getMatchData = __webpack_require__(713),
+    matchesStrictComparable = __webpack_require__(356);
 
 /**
  * The base implementation of `_.matches` which doesn't clone `source`.
  *
  * @private
  * @param {Object} source The object of property values to match.
  * @returns {Function} Returns the new spec function.
  */
@@ -51662,21 +51663,21 @@ function baseMatches(source) {
     return object === source || baseIsMatch(object, source, matchData);
   };
 }
 
 module.exports = baseMatches;
 
 
 /***/ }),
-/* 706 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var Stack = __webpack_require__(238),
-    baseIsEqual = __webpack_require__(352);
+/* 707 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var Stack = __webpack_require__(239),
+    baseIsEqual = __webpack_require__(353);
 
 /** Used to compose bitmasks for value comparisons. */
 var COMPARE_PARTIAL_FLAG = 1,
     COMPARE_UNORDERED_FLAG = 2;
 
 /**
  * The base implementation of `_.isMatch` without support for iteratee shorthands.
  *
@@ -51730,27 +51731,27 @@ function baseIsMatch(object, source, mat
   }
   return true;
 }
 
 module.exports = baseIsMatch;
 
 
 /***/ }),
-/* 707 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var Stack = __webpack_require__(238),
-    equalArrays = __webpack_require__(353),
-    equalByTag = __webpack_require__(709),
-    equalObjects = __webpack_require__(711),
-    getTag = __webpack_require__(113),
+/* 708 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var Stack = __webpack_require__(239),
+    equalArrays = __webpack_require__(354),
+    equalByTag = __webpack_require__(710),
+    equalObjects = __webpack_require__(712),
+    getTag = __webpack_require__(114),
     isArray = __webpack_require__(22),
-    isBuffer = __webpack_require__(140),
-    isTypedArray = __webpack_require__(243);
+    isBuffer = __webpack_require__(141),
+    isTypedArray = __webpack_require__(244);
 
 /** Used to compose bitmasks for value comparisons. */
 var COMPARE_PARTIAL_FLAG = 1;
 
 /** `Object#toString` result references. */
 var argsTag = '[object Arguments]',
     arrayTag = '[object Array]',
     objectTag = '[object Object]';
@@ -51819,17 +51820,17 @@ function baseIsEqualDeep(object, other, 
   stack || (stack = new Stack);
   return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
 }
 
 module.exports = baseIsEqualDeep;
 
 
 /***/ }),
-/* 708 */
+/* 709 */
 /***/ (function(module, exports) {
 
 /**
  * A specialized version of `_.some` for arrays without support for iteratee
  * shorthands.
  *
  * @private
  * @param {Array} [array] The array to iterate over.
@@ -51848,25 +51849,25 @@ function arraySome(array, predicate) {
   }
   return false;
 }
 
 module.exports = arraySome;
 
 
 /***/ }),
-/* 709 */
+/* 710 */
 /***/ (function(module, exports, __webpack_require__) {
 
 var Symbol = __webpack_require__(28),
-    Uint8Array = __webpack_require__(322),
-    eq = __webpack_require__(135),
-    equalArrays = __webpack_require__(353),
-    mapToArray = __webpack_require__(710),
-    setToArray = __webpack_require__(254);
+    Uint8Array = __webpack_require__(323),
+    eq = __webpack_require__(136),
+    equalArrays = __webpack_require__(354),
+    mapToArray = __webpack_require__(711),
+    setToArray = __webpack_require__(255);
 
 /** Used to compose bitmasks for value comparisons. */
 var COMPARE_PARTIAL_FLAG = 1,
     COMPARE_UNORDERED_FLAG = 2;
 
 /** `Object#toString` result references. */
 var boolTag = '[object Boolean]',
     dateTag = '[object Date]',
@@ -51966,17 +51967,17 @@ function equalByTag(object, other, tag, 
   }
   return false;
 }
 
 module.exports = equalByTag;
 
 
 /***/ }),
-/* 710 */
+/* 711 */
 /***/ (function(module, exports) {
 
 /**
  * Converts `map` to its key-value pairs.
  *
  * @private
  * @param {Object} map The map to convert.
  * @returns {Array} Returns the key-value pairs.
@@ -51990,20 +51991,20 @@ function mapToArray(map) {
   });
   return result;
 }
 
 module.exports = mapToArray;
 
 
 /***/ }),
-/* 711 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var getAllKeys = __webpack_require__(319);
+/* 712 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var getAllKeys = __webpack_require__(320);
 
 /** Used to compose bitmasks for value comparisons. */
 var COMPARE_PARTIAL_FLAG = 1;
 
 /** Used for built-in method references. */
 var objectProto = Object.prototype;
 
 /** Used to check objects for own properties. */
@@ -52085,21 +52086,21 @@ function equalObjects(object, other, bit
   stack['delete'](other);
   return result;
 }
 
 module.exports = equalObjects;
 
 
 /***/ }),
-/* 712 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var isStrictComparable = __webpack_require__(354),
-    keys = __webpack_require__(139);
+/* 713 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var isStrictComparable = __webpack_require__(355),
+    keys = __webpack_require__(140);
 
 /**
  * Gets the property names, values, and compare flags of `object`.
  *
  * @private
  * @param {Object} object The object to query.
  * @returns {Array} Returns the match data of `object`.
  */
@@ -52115,26 +52116,26 @@ function getMatchData(object) {
   }
   return result;
 }
 
 module.exports = getMatchData;
 
 
 /***/ }),
-/* 713 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var baseIsEqual = __webpack_require__(352),
-    get = __webpack_require__(348),
-    hasIn = __webpack_require__(714),
-    isKey = __webpack_require__(266),
-    isStrictComparable = __webpack_require__(354),
-    matchesStrictComparable = __webpack_require__(355),
-    toKey = __webpack_require__(150);
+/* 714 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var baseIsEqual = __webpack_require__(353),
+    get = __webpack_require__(349),
+    hasIn = __webpack_require__(715),
+    isKey = __webpack_require__(267),
+    isStrictComparable = __webpack_require__(355),
+    matchesStrictComparable = __webpack_require__(356),
+    toKey = __webpack_require__(151);
 
 /** Used to compose bitmasks for value comparisons. */
 var COMPARE_PARTIAL_FLAG = 1,
     COMPARE_UNORDERED_FLAG = 2;
 
 /**
  * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.
  *
@@ -52154,21 +52155,21 @@ function baseMatchesProperty(path, srcVa
       : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
   };
 }
 
 module.exports = baseMatchesProperty;
 
 
 /***/ }),
-/* 714 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var baseHasIn = __webpack_require__(715),
-    hasPath = __webpack_require__(716);
+/* 715 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var baseHasIn = __webpack_require__(716),
+    hasPath = __webpack_require__(717);
 
 /**
  * Checks if `path` is a direct or inherited property of `object`.
  *
  * @static
  * @memberOf _
  * @since 4.0.0
  * @category Object
@@ -52194,17 +52195,17 @@ var baseHasIn = __webpack_require__(715)
 function hasIn(object, path) {
   return object != null && hasPath(object, path, baseHasIn);
 }
 
 module.exports = hasIn;
 
 
 /***/ }),
-/* 715 */
+/* 716 */
 /***/ (function(module, exports) {
 
 /**
  * The base implementation of `_.hasIn` without support for deep paths.
  *
  * @private
  * @param {Object} [object] The object to query.
  * @param {Array|string} key The key to check.
@@ -52213,25 +52214,25 @@ module.exports = hasIn;
 function baseHasIn(object, key) {
   return object != null && key in Object(object);
 }
 
 module.exports = baseHasIn;
 
 
 /***/ }),
-/* 716 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var castPath = __webpack_require__(350),
-    isArguments = __webpack_require__(241),
+/* 717 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var castPath = __webpack_require__(351),
+    isArguments = __webpack_require__(242),
     isArray = __webpack_require__(22),
-    isIndex = __webpack_require__(242),
-    isLength = __webpack_require__(244),
-    toKey = __webpack_require__(150);
+    isIndex = __webpack_require__(243),
+    isLength = __webpack_require__(245),
+    toKey = __webpack_require__(151);
 
 /**
  * Checks if `path` exists on `object`.
  *
  * @private
  * @param {Object} object The object to query.
  * @param {Array|string} path The path to check.
  * @param {Function} hasFunc The function to check properties.
@@ -52258,17 +52259,17 @@ function hasPath(object, path, hasFunc) 
   return !!length && isLength(length) && isIndex(key, length) &&
     (isArray(object) || isArguments(object));
 }
 
 module.exports = hasPath;
 
 
 /***/ }),
-/* 717 */
+/* 718 */
 /***/ (function(module, exports) {
 
 /**
  * This method returns the first argument it receives.
  *
  * @static
  * @since 0.1.0
  * @memberOf _
@@ -52285,23 +52286,23 @@ module.exports = hasPath;
 function identity(value) {
   return value;
 }
 
 module.exports = identity;
 
 
 /***/ }),
-/* 718 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var baseProperty = __webpack_require__(719),
-    basePropertyDeep = __webpack_require__(720),
-    isKey = __webpack_require__(266),
-    toKey = __webpack_require__(150);
+/* 719 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var baseProperty = __webpack_require__(720),
+    basePropertyDeep = __webpack_require__(721),
+    isKey = __webpack_require__(267),
+    toKey = __webpack_require__(151);
 
 /**
  * Creates a function that returns the value at `path` of a given object.
  *
  * @static
  * @memberOf _
  * @since 2.4.0
  * @category Util
@@ -52323,17 +52324,17 @@ var baseProperty = __webpack_require__(7
 function property(path) {
   return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);
 }
 
 module.exports = property;
 
 
 /***/ }),
-/* 719 */
+/* 720 */
 /***/ (function(module, exports) {
 
 /**
  * The base implementation of `_.property` without support for deep paths.
  *
  * @private
  * @param {string} key The key of the property to get.
  * @returns {Function} Returns the new accessor function.
@@ -52343,20 +52344,20 @@ function baseProperty(key) {
     return object == null ? undefined : object[key];
   };
 }
 
 module.exports = baseProperty;
 
 
 /***/ }),
-/* 720 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var baseGet = __webpack_require__(349);
+/* 721 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var baseGet = __webpack_require__(350);
 
 /**
  * A specialized version of `baseProperty` which supports deep paths.
  *
  * @private
  * @param {Array|string} path The path of the property to get.
  * @returns {Function} Returns the new accessor function.
  */
@@ -52365,22 +52366,22 @@ function basePropertyDeep(path) {
     return baseGet(object, path);
   };
 }
 
 module.exports = basePropertyDeep;
 
 
 /***/ }),
-/* 721 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var baseFindIndex = __webpack_require__(253),
-    baseIteratee = __webpack_require__(351),
-    toInteger = __webpack_require__(148);
+/* 722 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var baseFindIndex = __webpack_require__(254),
+    baseIteratee = __webpack_require__(352),
+    toInteger = __webpack_require__(149);
 
 /* Built-in method references for those with the same name as other `lodash` methods. */
 var nativeMax = Math.max,
     nativeMin = Math.min;
 
 /**
  * This method is like `_.findIndex` except that it iterates over elements
  * of `collection` from right to left.
@@ -52430,34 +52431,34 @@ function findLastIndex(array, predicate,
   }
   return baseFindIndex(array, baseIteratee(predicate, 3), index, true);
 }
 
 module.exports = findLastIndex;
 
 
 /***/ }),
-/* 722 */
+/* 723 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.getNextStep = getNextStep;
 
 var _types = __webpack_require__(12);
 
 var t = _interopRequireWildcard(_types);
 
-var _closest = __webpack_require__(723);
-
-var _helpers = __webpack_require__(146);
+var _closest = __webpack_require__(724);
+
+var _helpers = __webpack_require__(147);
 
 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; } }
 
 function getNextStep(sourceId, pausedPosition) {
   const currentExpression = getSteppableExpression(sourceId, pausedPosition);
   if (!currentExpression) {
     return null;
   }
@@ -52497,34 +52498,34 @@ function _getNextStep(statement, sourceI
       sourceId: sourceId
     };
   }
 
   return null;
 }
 
 /***/ }),
-/* 723 */
+/* 724 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.getClosestPath = getClosestPath;
 
-var _simplePath = __webpack_require__(341);
+var _simplePath = __webpack_require__(342);
 
 var _simplePath2 = _interopRequireDefault(_simplePath);
 
 var _ast = __webpack_require__(49);
 
-var _contains = __webpack_require__(356);
+var _contains = __webpack_require__(357);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function getClosestPath(sourceId, location) {
   let closestPath = null;
 
   (0, _ast.traverseAst)(sourceId, {
     enter(node, ancestors) {
@@ -52543,17 +52544,17 @@ function getClosestPath(sourceId, locati
   }
 
   return closestPath;
 } /* This Source Code Form is subject to the terms of the Mozilla Public
    * License, v. 2.0. If a copy of the MPL was not distributed with this
    * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 /***/ }),
-/* 724 */
+/* 725 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -52568,32 +52569,32 @@ function hasSyntaxError(input) {
   } catch (e) {
     return `${e.name} : ${e.message}`;
   }
 } /* This Source Code Form is subject to the terms of the Mozilla Public
    * License, v. 2.0. If a copy of the MPL was not distributed with this
    * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 /***/ }),
-/* 725 */
+/* 726 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.getFramework = getFramework;
 
 var _types = __webpack_require__(12);
 
 var t = _interopRequireWildcard(_types);
 
-var _getSymbols = __webpack_require__(236);
+var _getSymbols = __webpack_require__(237);
 
 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; } }
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 function getFramework(sourceId) {
@@ -52639,38 +52640,38 @@ const isAngularComponent = sourceSymbols
 // Vue
 
 const isVueComponent = sourceSymbols => {
   const { identifiers } = sourceSymbols;
   return identifiers.some(identifier => identifier.name == "Vue");
 };
 
 /***/ }),
-/* 726 */
+/* 727 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = mapExpression;
 
 var _ast = __webpack_require__(49);
 
-var _mapOriginalExpression = __webpack_require__(727);
+var _mapOriginalExpression = __webpack_require__(728);
 
 var _mapOriginalExpression2 = _interopRequireDefault(_mapOriginalExpression);
 
-var _mapBindings = __webpack_require__(728);
+var _mapBindings = __webpack_require__(729);
 
 var _mapBindings2 = _interopRequireDefault(_mapBindings);
 
-var _mapAwaitExpression = __webpack_require__(729);
+var _mapAwaitExpression = __webpack_require__(730);
 
 var _mapAwaitExpression2 = _interopRequireDefault(_mapAwaitExpression);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
@@ -52707,32 +52708,32 @@ function mapExpression(expression, mappi
 
   return {
     expression,
     mapped
   };
 }
 
 /***/ }),
-/* 727 */
+/* 728 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = mapOriginalExpression;
 
 var _ast = __webpack_require__(49);
 
-var _getScopes = __webpack_require__(347);
-
-var _generator = __webpack_require__(147);
+var _getScopes = __webpack_require__(348);
+
+var _generator = __webpack_require__(148);
 
 var _generator2 = _interopRequireDefault(_generator);
 
 var _types = __webpack_require__(12);
 
 var t = _interopRequireWildcard(_types);
 
 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; } }
@@ -52831,32 +52832,32 @@ function mapOriginalExpression(expressio
   if (shouldUpdate) {
     return (0, _generator2.default)(ast).code;
   }
 
   return expression;
 }
 
 /***/ }),
-/* 728 */
+/* 729 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = mapExpressionBindings;
 
 var _ast = __webpack_require__(49);
 
-var _helpers = __webpack_require__(146);
-
-var _generator = __webpack_require__(147);
+var _helpers = __webpack_require__(147);
+
+var _generator = __webpack_require__(148);
 
 var _generator2 = _interopRequireDefault(_generator);
 
 var _types = __webpack_require__(12);
 
 var t = _interopRequireWildcard(_types);
 
 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; } }
@@ -52959,38 +52960,38 @@ function mapExpressionBindings(expressio
   if (!shouldUpdate || !isMapped) {
     return expression;
   }
 
   return (0, _generator2.default)(ast).code;
 }
 
 /***/ }),
-/* 729 */
+/* 730 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = mapTopLevelAwait;
 
-var _generator = __webpack_require__(147);
+var _generator = __webpack_require__(148);
 
 var _generator2 = _interopRequireDefault(_generator);
 
 var _types = __webpack_require__(12);
 
 var t = _interopRequireWildcard(_types);
 
 var _ast = __webpack_require__(49);
 
-var _helpers = __webpack_require__(146);
+var _helpers = __webpack_require__(147);
 
 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; } }
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
--- a/devtools/client/debugger/new/dist/pretty-print-worker.js
+++ b/devtools/client/debugger/new/dist/pretty-print-worker.js
@@ -65,35 +65,35 @@ return /******/ (function(modules) { // 
 /******/
 /******/ 	// Object.prototype.hasOwnProperty.call
 /******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
 /******/
 /******/ 	// __webpack_public_path__
 /******/ 	__webpack_require__.p = "/assets/build";
 /******/
 /******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 730);
+/******/ 	return __webpack_require__(__webpack_require__.s = 731);
 /******/ })
 /************************************************************************/
 /******/ ({
 
-/***/ 116:
+/***/ 117:
 /***/ (function(module, exports, __webpack_require__) {
 
 /* -*- Mode: js; js-indent-level: 2; -*- */
 /*
  * Copyright 2011 Mozilla Foundation and contributors
  * Licensed under the New BSD license. See LICENSE or:
  * http://opensource.org/licenses/BSD-3-Clause
  */
 
-var base64VLQ = __webpack_require__(117);
+var base64VLQ = __webpack_require__(118);
 var util = __webpack_require__(41);
-var ArraySet = __webpack_require__(118).ArraySet;
-var MappingList = __webpack_require__(257).MappingList;
+var ArraySet = __webpack_require__(119).ArraySet;
+var MappingList = __webpack_require__(258).MappingList;
 
 /**
  * An instance of the SourceMapGenerator represents a source map which is
  * being built incrementally. You may pass an object with the following
  * properties:
  *
  *   - file: The filename of the generated source.
  *   - sourceRoot: A root for all relative URLs in this source map.
@@ -493,17 +493,17 @@ SourceMapGenerator.prototype.toString =
     return JSON.stringify(this.toJSON());
   };
 
 exports.SourceMapGenerator = SourceMapGenerator;
 
 
 /***/ }),
 
-/***/ 117:
+/***/ 118:
 /***/ (function(module, exports, __webpack_require__) {
 
 /* -*- Mode: js; js-indent-level: 2; -*- */
 /*
  * Copyright 2011 Mozilla Foundation and contributors
  * Licensed under the New BSD license. See LICENSE or:
  * http://opensource.org/licenses/BSD-3-Clause
  *
@@ -533,17 +533,17 @@ exports.SourceMapGenerator = SourceMapGe
  * 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.
  */
 
-var base64 = __webpack_require__(256);
+var base64 = __webpack_require__(257);
 
 // A single base 64 digit can contain 6 bits of data. For the base 64 variable
 // length quantities we use in the source map spec, the first bit is the sign,
 // the next four bits are the actual value, and the 6th bit is the
 // continuation bit. The continuation bit tells us whether there are more
 // digits in this value following this digit.
 //
 //   Continuation
@@ -640,17 +640,17 @@ exports.decode = function base64VLQ_deco
 
   aOutParam.value = fromVLQSigned(result);
   aOutParam.rest = aIndex;
 };
 
 
 /***/ }),
 
-/***/ 118:
+/***/ 119:
 /***/ (function(module, exports, __webpack_require__) {
 
 /* -*- Mode: js; js-indent-level: 2; -*- */
 /*
  * Copyright 2011 Mozilla Foundation and contributors
  * Licensed under the New BSD license. See LICENSE or:
  * http://opensource.org/licenses/BSD-3-Clause
  */
@@ -813,32 +813,32 @@ function networkRequest(url, opts) {
     return Promise.reject(`request failed with status ${res.status}`);
   });
 }
 
 module.exports = networkRequest;
 
 /***/ }),
 
-/***/ 255:
+/***/ 256:
 /***/ (function(module, exports, __webpack_require__) {
 
 /*
  * Copyright 2009-2011 Mozilla Foundation and contributors
  * Licensed under the New BSD license. See LICENSE.txt or:
  * http://opensource.org/licenses/BSD-3-Clause
  */
-exports.SourceMapGenerator = __webpack_require__(116).SourceMapGenerator;
-exports.SourceMapConsumer = __webpack_require__(258).SourceMapConsumer;
-exports.SourceNode = __webpack_require__(261).SourceNode;
+exports.SourceMapGenerator = __webpack_require__(117).SourceMapGenerator;
+exports.SourceMapConsumer = __webpack_require__(259).SourceMapConsumer;
+exports.SourceNode = __webpack_require__(262).SourceNode;
 
 
 /***/ }),
 
-/***/ 256:
+/***/ 257:
 /***/ (function(module, exports) {
 
 /* -*- Mode: js; js-indent-level: 2; -*- */
 /*
  * Copyright 2011 Mozilla Foundation and contributors
  * Licensed under the New BSD license. See LICENSE or:
  * http://opensource.org/licenses/BSD-3-Clause
  */
@@ -902,17 +902,17 @@ exports.decode = function (charCode) {
 
   // Invalid base64 digit.
   return -1;
 };
 
 
 /***/ }),
 
-/***/ 257:
+/***/ 258:
 /***/ (function(module, exports, __webpack_require__) {
 
 /* -*- Mode: js; js-indent-level: 2; -*- */
 /*
  * Copyright 2014 Mozilla Foundation and contributors
  * Licensed under the New BSD license. See LICENSE or:
  * http://opensource.org/licenses/BSD-3-Clause
  */
@@ -988,31 +988,31 @@ MappingList.prototype.toArray = function
   return this._array;
 };
 
 exports.MappingList = MappingList;
 
 
 /***/ }),
 
-/***/ 258:
+/***/ 259:
 /***/ (function(module, exports, __webpack_require__) {
 
 /* -*- Mode: js; js-indent-level: 2; -*- */
 /*
  * Copyright 2011 Mozilla Foundation and contributors
  * Licensed under the New BSD license. See LICENSE or:
  * http://opensource.org/licenses/BSD-3-Clause
  */
 
 var util = __webpack_require__(41);
-var binarySearch = __webpack_require__(259);
-var ArraySet = __webpack_require__(118).ArraySet;
-var base64VLQ = __webpack_require__(117);
-var quickSort = __webpack_require__(260).quickSort;
+var binarySearch = __webpack_require__(260);
+var ArraySet = __webpack_require__(119).ArraySet;
+var base64VLQ = __webpack_require__(118);
+var quickSort = __webpack_require__(261).quickSort;
 
 function SourceMapConsumer(aSourceMap) {
   var sourceMap = aSourceMap;
   if (typeof aSourceMap === 'string') {
     sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, ''));
   }
 
   return sourceMap.sections != null
@@ -2077,134 +2077,16 @@ IndexedSourceMapConsumer.prototype._pars
     quickSort(this.__originalMappings, util.compareByOriginalPositions);
   };
 
 exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer;
 
 
 /***/ }),
 
-/***/ 259:
-/***/ (function(module, exports) {
-
-/* -*- Mode: js; js-indent-level: 2; -*- */
-/*
- * Copyright 2011 Mozilla Foundation and contributors
- * Licensed under the New BSD license. See LICENSE or:
- * http://opensource.org/licenses/BSD-3-Clause
- */
-
-exports.GREATEST_LOWER_BOUND = 1;
-exports.LEAST_UPPER_BOUND = 2;
-
-/**
- * Recursive implementation of binary search.
- *
- * @param aLow Indices here and lower do not contain the needle.
- * @param aHigh Indices here and higher do not contain the needle.
- * @param aNeedle The element being searched for.
- * @param aHaystack The non-empty array being searched.
- * @param aCompare Function which takes two elements and returns -1, 0, or 1.
- * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or
- *     'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the
- *     closest element that is smaller than or greater than the one we are
- *     searching for, respectively, if the exact element cannot be found.
- */
-function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {
-  // This function terminates when one of the following is true:
-  //
-  //   1. We find the exact element we are looking for.
-  //
-  //   2. We did not find the exact element, but we can return the index of
-  //      the next-closest element.
-  //
-  //   3. We did not find the exact element, and there is no next-closest
-  //      element than the one we are searching for, so we return -1.
-  var mid = Math.floor((aHigh - aLow) / 2) + aLow;
-  var cmp = aCompare(aNeedle, aHaystack[mid], true);
-  if (cmp === 0) {
-    // Found the element we are looking for.
-    return mid;
-  }
-  else if (cmp > 0) {
-    // Our needle is greater than aHaystack[mid].
-    if (aHigh - mid > 1) {
-      // The element is in the upper half.
-      return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);
-    }
-
-    // The exact needle element was not found in this haystack. Determine if
-    // we are in termination case (3) or (2) and return the appropriate thing.
-    if (aBias == exports.LEAST_UPPER_BOUND) {
-      return aHigh < aHaystack.length ? aHigh : -1;
-    } else {
-      return mid;
-    }
-  }
-  else {
-    // Our needle is less than aHaystack[mid].
-    if (mid - aLow > 1) {
-      // The element is in the lower half.
-      return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);
-    }
-
-    // we are in termination case (3) or (2) and return the appropriate thing.
-    if (aBias == exports.LEAST_UPPER_BOUND) {
-      return mid;
-    } else {
-      return aLow < 0 ? -1 : aLow;
-    }
-  }
-}
-
-/**
- * This is an implementation of binary search which will always try and return
- * the index of the closest element if there is no exact hit. This is because
- * mappings between original and generated line/col pairs are single points,
- * and there is an implicit region between each of them, so a miss just means
- * that you aren't on the very start of a region.
- *
- * @param aNeedle The element you are looking for.
- * @param aHaystack The array that is being searched.
- * @param aCompare A function which takes the needle and an element in the
- *     array and returns -1, 0, or 1 depending on whether the needle is less
- *     than, equal to, or greater than the element, respectively.
- * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or
- *     'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the
- *     closest element that is smaller than or greater than the one we are
- *     searching for, respectively, if the exact element cannot be found.
- *     Defaults to 'binarySearch.GREATEST_LOWER_BOUND'.
- */
-exports.search = function search(aNeedle, aHaystack, aCompare, aBias) {
-  if (aHaystack.length === 0) {
-    return -1;
-  }
-
-  var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack,
-                              aCompare, aBias || exports.GREATEST_LOWER_BOUND);
-  if (index < 0) {
-    return -1;
-  }
-
-  // We have found either the exact element, or the next-closest element than
-  // the one we are searching for. However, there may be more than one such
-  // element. Make sure we always return the smallest of these.
-  while (index - 1 >= 0) {
-    if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {
-      break;
-    }
-    --index;
-  }
-
-  return index;
-};
-
-
-/***/ }),
-
 /***/ 26:
 /***/ (function(module, exports) {
 
 function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
 
 function WorkerDispatcher() {
   this.msgId = 1;
   this.worker = null;
@@ -2383,16 +2265,134 @@ module.exports = {
 
 /* -*- Mode: js; js-indent-level: 2; -*- */
 /*
  * Copyright 2011 Mozilla Foundation and contributors
  * Licensed under the New BSD license. See LICENSE or:
  * http://opensource.org/licenses/BSD-3-Clause
  */
 
+exports.GREATEST_LOWER_BOUND = 1;
+exports.LEAST_UPPER_BOUND = 2;
+
+/**
+ * Recursive implementation of binary search.
+ *
+ * @param aLow Indices here and lower do not contain the needle.
+ * @param aHigh Indices here and higher do not contain the needle.
+ * @param aNeedle The element being searched for.
+ * @param aHaystack The non-empty array being searched.
+ * @param aCompare Function which takes two elements and returns -1, 0, or 1.
+ * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or
+ *     'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the
+ *     closest element that is smaller than or greater than the one we are
+ *     searching for, respectively, if the exact element cannot be found.
+ */
+function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {
+  // This function terminates when one of the following is true:
+  //
+  //   1. We find the exact element we are looking for.
+  //
+  //   2. We did not find the exact element, but we can return the index of
+  //      the next-closest element.
+  //
+  //   3. We did not find the exact element, and there is no next-closest
+  //      element than the one we are searching for, so we return -1.
+  var mid = Math.floor((aHigh - aLow) / 2) + aLow;
+  var cmp = aCompare(aNeedle, aHaystack[mid], true);
+  if (cmp === 0) {
+    // Found the element we are looking for.
+    return mid;
+  }
+  else if (cmp > 0) {
+    // Our needle is greater than aHaystack[mid].
+    if (aHigh - mid > 1) {
+      // The element is in the upper half.
+      return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);
+    }
+
+    // The exact needle element was not found in this haystack. Determine if
+    // we are in termination case (3) or (2) and return the appropriate thing.
+    if (aBias == exports.LEAST_UPPER_BOUND) {
+      return aHigh < aHaystack.length ? aHigh : -1;
+    } else {
+      return mid;
+    }
+  }
+  else {
+    // Our needle is less than aHaystack[mid].
+    if (mid - aLow > 1) {
+      // The element is in the lower half.
+      return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);
+    }
+
+    // we are in termination case (3) or (2) and return the appropriate thing.
+    if (aBias == exports.LEAST_UPPER_BOUND) {
+      return mid;
+    } else {
+      return aLow < 0 ? -1 : aLow;
+    }
+  }
+}
+
+/**
+ * This is an implementation of binary search which will always try and return
+ * the index of the closest element if there is no exact hit. This is because
+ * mappings between original and generated line/col pairs are single points,
+ * and there is an implicit region between each of them, so a miss just means
+ * that you aren't on the very start of a region.
+ *
+ * @param aNeedle The element you are looking for.
+ * @param aHaystack The array that is being searched.
+ * @param aCompare A function which takes the needle and an element in the
+ *     array and returns -1, 0, or 1 depending on whether the needle is less
+ *     than, equal to, or greater than the element, respectively.
+ * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or
+ *     'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the
+ *     closest element that is smaller than or greater than the one we are
+ *     searching for, respectively, if the exact element cannot be found.
+ *     Defaults to 'binarySearch.GREATEST_LOWER_BOUND'.
+ */
+exports.search = function search(aNeedle, aHaystack, aCompare, aBias) {
+  if (aHaystack.length === 0) {
+    return -1;
+  }
+
+  var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack,
+                              aCompare, aBias || exports.GREATEST_LOWER_BOUND);
+  if (index < 0) {
+    return -1;
+  }
+
+  // We have found either the exact element, or the next-closest element than
+  // the one we are searching for. However, there may be more than one such
+  // element. Make sure we always return the smallest of these.
+  while (index - 1 >= 0) {
+    if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {
+      break;
+    }
+    --index;
+  }
+
+  return index;
+};
+
+
+/***/ }),
+
+/***/ 261:
+/***/ (function(module, exports) {
+
+/* -*- Mode: js; js-indent-level: 2; -*- */
+/*
+ * Copyright 2011 Mozilla Foundation and contributors
+ * Licensed under the New BSD license. See LICENSE or:
+ * http://opensource.org/licenses/BSD-3-Clause
+ */
+
 // It turns out that some (most?) JavaScript engines don't self-host
 // `Array.prototype.sort`. This makes sense because C++ will likely remain
 // faster than JS when doing raw CPU-intensive sorting. However, when using a
 // custom comparator function, calling back and forth between the VM's C++ and
 // JIT'd JS is rather slow *and* loses JIT type information, resulting in
 // worse generated code for the comparator function than would be optimal. In
 // fact, when sorting with a comparator, these costs outweigh the benefits of
 // sorting in C++. By using our own JS-implemented Quick Sort (below), we get
@@ -2494,27 +2494,27 @@ function doQuickSort(ary, comparator, p,
  */
 exports.quickSort = function (ary, comparator) {
   doQuickSort(ary, comparator, 0, ary.length - 1);
 };
 
 
 /***/ }),
 
-/***/ 261:
+/***/ 262:
 /***/ (function(module, exports, __webpack_require__) {
 
 /* -*- Mode: js; js-indent-level: 2; -*- */
 /*
  * Copyright 2011 Mozilla Foundation and contributors
  * Licensed under the New BSD license. See LICENSE or:
  * http://opensource.org/licenses/BSD-3-Clause
  */
 
-var SourceMapGenerator = __webpack_require__(116).SourceMapGenerator;
+var SourceMapGenerator = __webpack_require__(117).SourceMapGenerator;
 var util = __webpack_require__(41);
 
 // Matches a Windows-style `\r\n` newline or a `\n` newline used by all other
 // operating systems these days (capturing the result).
 var REGEX_NEWLINE = /(\r?\n)/;
 
 // Newline character code for charCodeAt() comparisons
 var NEWLINE_CODE = 10;
@@ -3338,31 +3338,31 @@ function compareByGeneratedPositionsInfl
 
   return strcmp(mappingA.name, mappingB.name);
 }
 exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;
 
 
 /***/ }),
 
-/***/ 730:
+/***/ 731:
 /***/ (function(module, exports, __webpack_require__) {
 
-module.exports = __webpack_require__(731);
+module.exports = __webpack_require__(732);
 
 
 /***/ }),
 
-/***/ 731:
+/***/ 732:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
-var _prettyFast = __webpack_require__(732);
+var _prettyFast = __webpack_require__(733);
 
 var _prettyFast2 = _interopRequireDefault(_prettyFast);
 
 var _devtoolsUtils = __webpack_require__(16);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
@@ -3402,17 +3402,17 @@ function invertMappings(mappings) {
     return mapping;
   });
 }
 
 self.onmessage = workerHandler({ prettyPrint });
 
 /***/ }),
 
-/***/ 732:
+/***/ 733:
 /***/ (function(module, exports, __webpack_require__) {
 
 var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/* -*- indent-tabs-mode: nil; js-indent-level: 2; fill-column: 80 -*- */
 /*
  * Copyright 2013 Mozilla Foundation and contributors
  * Licensed under the New BSD license. See LICENSE.md or:
  * http://opensource.org/licenses/BSD-2-Clause
  */
@@ -3428,18 +3428,18 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WE
   } else if (typeof exports === "object") {
     module.exports = factory();
   } else {
     root.prettyFast = factory();
   }
 }(this, function () {
   "use strict";
 
-  var acorn = this.acorn || __webpack_require__(733);
-  var sourceMap = this.sourceMap || __webpack_require__(255);
+  var acorn = this.acorn || __webpack_require__(734);
+  var sourceMap = this.sourceMap || __webpack_require__(256);
   var SourceNode = sourceMap.SourceNode;
 
   // If any of these tokens are seen before a "[" token, we know that "[" token
   // is the start of an array literal, rather than a property access.
   //
   // The only exception is "}", which would need to be disambiguated by
   // parsing. The majority of the time, an open bracket following a closing
   // curly is going to be an array literal, so we brush the complication under
@@ -4294,17 +4294,17 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WE
     return result.toStringWithSourceMap({ file: options.url });
   };
 
 }.bind(this)));
 
 
 /***/ }),
 
-/***/ 733:
+/***/ 734:
 /***/ (function(module, exports, __webpack_require__) {
 
 (function (global, factory) {
 	 true ? factory(exports) :
 	typeof define === 'function' && define.amd ? define(['exports'], factory) :
 	(factory((global.acorn = global.acorn || {})));
 }(this, (function (exports) { 'use strict';
 
--- a/devtools/client/debugger/new/dist/search-worker.js
+++ b/devtools/client/debugger/new/dist/search-worker.js
@@ -65,17 +65,17 @@ return /******/ (function(modules) { // 
 /******/
 /******/ 	// Object.prototype.hasOwnProperty.call
 /******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
 /******/
 /******/ 	// __webpack_public_path__
 /******/ 	__webpack_require__.p = "/assets/build";
 /******/
 /******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 734);
+/******/ 	return __webpack_require__(__webpack_require__.s = 735);
 /******/ })
 /************************************************************************/
 /******/ ({
 
 /***/ 16:
 /***/ (function(module, exports, __webpack_require__) {
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
@@ -87,28 +87,28 @@ const workerUtils = __webpack_require__(
 
 module.exports = {
   networkRequest,
   workerUtils
 };
 
 /***/ }),
 
-/***/ 164:
+/***/ 165:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = buildQuery;
 
-var _escapeRegExp = __webpack_require__(165);
+var _escapeRegExp = __webpack_require__(166);
 
 var _escapeRegExp2 = _interopRequireDefault(_escapeRegExp);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 /**
  * Ignore doing outline matches for less than 3 whitespaces
  *
@@ -167,17 +167,17 @@ function buildQuery(originalQuery, modif
     return new RegExp(query, flags);
   }
 
   return new RegExp(query);
 }
 
 /***/ }),
 
-/***/ 165:
+/***/ 166:
 /***/ (function(module, exports, __webpack_require__) {
 
 var toString = __webpack_require__(69);
 
 /**
  * Used to match `RegExp`
  * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
  */
@@ -625,32 +625,32 @@ function baseGetTag(value) {
     : objectToString(value);
 }
 
 module.exports = baseGetTag;
 
 
 /***/ }),
 
-/***/ 357:
+/***/ 358:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = getMatches;
 
 var _assert = __webpack_require__(57);
 
 var _assert2 = _interopRequireDefault(_assert);
 
-var _buildQuery = __webpack_require__(164);
+var _buildQuery = __webpack_require__(165);
 
 var _buildQuery2 = _interopRequireDefault(_buildQuery);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
@@ -988,60 +988,60 @@ module.exports = freeGlobal;
 
 /***/ 71:
 /***/ (function(module, exports) {
 
 module.exports = __WEBPACK_EXTERNAL_MODULE_71__;
 
 /***/ }),
 
-/***/ 734:
+/***/ 735:
 /***/ (function(module, exports, __webpack_require__) {
 
-module.exports = __webpack_require__(735);
+module.exports = __webpack_require__(736);
 
 
 /***/ }),
 
-/***/ 735:
+/***/ 736:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
-var _getMatches = __webpack_require__(357);
+var _getMatches = __webpack_require__(358);
 
 var _getMatches2 = _interopRequireDefault(_getMatches);
 
-var _projectSearch = __webpack_require__(736);
+var _projectSearch = __webpack_require__(737);
 
 var _devtoolsUtils = __webpack_require__(16);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 const { workerHandler } = _devtoolsUtils.workerUtils; /* This Source Code Form is subject to the terms of the Mozilla Public
                                                        * License, v. 2.0. If a copy of the MPL was not distributed with this
                                                        * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 self.onmessage = workerHandler({ getMatches: _getMatches2.default, findSourceMatches: _projectSearch.findSourceMatches });
 
 /***/ }),
 
-/***/ 736:
+/***/ 737:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.findSourceMatches = findSourceMatches;
 
-var _getMatches = __webpack_require__(357);
+var _getMatches = __webpack_require__(358);
 
 var _getMatches2 = _interopRequireDefault(_getMatches);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function findSourceMatches(source, queryText) {
   const { id, loadedState, text } = source;
   if (loadedState != "loaded" || typeof text != "string" || queryText == "") {
--- a/devtools/client/debugger/new/dist/vendors.js
+++ b/devtools/client/debugger/new/dist/vendors.js
@@ -65,17 +65,17 @@ return /******/ (function(modules) { // 
 /******/
 /******/ 	// Object.prototype.hasOwnProperty.call
 /******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
 /******/
 /******/ 	// __webpack_public_path__
 /******/ 	__webpack_require__.p = "/assets/build";
 /******/
 /******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 761);
+/******/ 	return __webpack_require__(__webpack_require__.s = 762);
 /******/ })
 /************************************************************************/
 /******/ ({
 
 /***/ 0:
 /***/ (function(module, exports) {
 
 module.exports = __WEBPACK_EXTERNAL_MODULE_0__;
@@ -91,17 +91,17 @@ module.exports = __WEBPACK_EXTERNAL_MODU
 
 /***/ 10:
 /***/ (function(module, exports) {
 
 module.exports = __WEBPACK_EXTERNAL_MODULE_10__;
 
 /***/ }),
 
-/***/ 100:
+/***/ 101:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -119,17 +119,17 @@ var _propTypes = __webpack_require__(0);
 var _propTypes2 = _interopRequireDefault(_propTypes);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 const { Component, createFactory } = _react2.default; /* This Source Code Form is subject to the terms of the Mozilla Public
                                                        * License, v. 2.0. If a copy of the MPL was not distributed with this
                                                        * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
-__webpack_require__(101);
+__webpack_require__(102);
 
 // depth
 const AUTO_EXPAND_DEPTH = 0;
 
 // Simplied selector targetting elements that can receive the focus,
 // full version at https://stackoverflow.com/questions/1599660.
 const FOCUSABLE_SELECTOR = ["a[href]:not([tabindex='-1'])", "button:not([disabled]):not([tabindex='-1'])", "iframe:not([tabindex='-1'])", "input:not([disabled]):not([tabindex='-1'])", "select:not([disabled]):not([tabindex='-1'])", "textarea:not([disabled]):not([tabindex='-1'])", "[tabindex]:not([tabindex='-1'])"].join(", ");
 
@@ -1057,24 +1057,24 @@ class Tree extends Component {
     }, nodes);
   }
 }
 
 exports.default = Tree;
 
 /***/ }),
 
-/***/ 101:
+/***/ 102:
 /***/ (function(module, exports) {
 
 // removed by extract-text-webpack-plugin
 
 /***/ }),
 
-/***/ 108:
+/***/ 109:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -1084,21 +1084,21 @@ var _createClass = function () { functio
 var _propTypes = __webpack_require__(0);
 
 var _propTypes2 = _interopRequireDefault(_propTypes);
 
 var _react = __webpack_require__(1);
 
 var _react2 = _interopRequireDefault(_react);
 
-var _tab = __webpack_require__(109);
+var _tab = __webpack_require__(110);
 
 var _tab2 = _interopRequireDefault(_tab);
 
-var _tabList = __webpack_require__(222);
+var _tabList = __webpack_require__(223);
 
 var _tabList2 = _interopRequireDefault(_tabList);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
 
 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
@@ -1228,17 +1228,17 @@ TabList.defaultProps = {
   children: null,
   className: _tabList2.default.container,
   onActivateTab: function onActivateTab() {},
   vertical: false
 };
 
 /***/ }),
 
-/***/ 109:
+/***/ 110:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -1247,21 +1247,21 @@ exports.default = Tab;
 var _propTypes = __webpack_require__(0);
 
 var _propTypes2 = _interopRequireDefault(_propTypes);
 
 var _react = __webpack_require__(1);
 
 var _react2 = _interopRequireDefault(_react);
 
-var _ref2 = __webpack_require__(220);
+var _ref2 = __webpack_require__(221);
 
 var _ref3 = _interopRequireDefault(_ref2);
 
-var _tab = __webpack_require__(221);
+var _tab = __webpack_require__(222);
 
 var _tab2 = _interopRequireDefault(_tab);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function Tab(_ref) {
   var accessibleId = _ref.accessibleId,
       active = _ref.active,
@@ -1300,17 +1300,17 @@ Tab.defaultProps = {
   active: false,
   className: _tab2.default.container,
   onActivate: undefined,
   tabRef: undefined
 };
 
 /***/ }),
 
-/***/ 110:
+/***/ 111:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -1356,17 +1356,17 @@ TabPanels.propTypes = {
 TabPanels.defaultProps = {
   accessibleId: undefined,
   activeIndex: 0,
   className: null
 };
 
 /***/ }),
 
-/***/ 111:
+/***/ 112:
 /***/ (function(module, exports, __webpack_require__) {
 
 (function() {
   var Query, coreChars, countDir, getCharCodes, getExtension, opt_char_re, truncatedUpperCase, _ref;
 
   _ref = __webpack_require__(63), countDir = _ref.countDir, getExtension = _ref.getExtension;
 
   module.exports = Query = (function() {
@@ -1420,40 +1420,40 @@ TabPanels.defaultProps = {
     return charCodes;
   };
 
 }).call(this);
 
 
 /***/ }),
 
-/***/ 130:
+/***/ 131:
 /***/ (function(module, exports, __webpack_require__) {
 
-const SplitBox = __webpack_require__(214);
+const SplitBox = __webpack_require__(215);
 
 module.exports = SplitBox;
 
 /***/ }),
 
-/***/ 131:
+/***/ 132:
 /***/ (function(module, exports, __webpack_require__) {
 
 /* WEBPACK VAR INJECTION */(function(process) {(function() {
   var Query, defaultPathSeparator, filter, matcher, parseOptions, pathScorer, preparedQueryCache, scorer;
 
-  filter = __webpack_require__(226);
-
-  matcher = __webpack_require__(227);
+  filter = __webpack_require__(227);
+
+  matcher = __webpack_require__(228);
 
   scorer = __webpack_require__(48);
 
   pathScorer = __webpack_require__(63);
 
-  Query = __webpack_require__(111);
+  Query = __webpack_require__(112);
 
   preparedQueryCache = null;
 
   defaultPathSeparator = (typeof process !== "undefined" && process !== null ? process.platform : void 0) === "win32" ? '\\' : '/';
 
   module.exports = {
     filter: function(candidates, query, options) {
       if (options == null) {
@@ -1548,43 +1548,43 @@ module.exports = SplitBox;
   };
 
 }).call(this);
 
 /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(52)))
 
 /***/ }),
 
-/***/ 132:
+/***/ 133:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 
-var _Svg = __webpack_require__(231);
+var _Svg = __webpack_require__(232);
 
 var _Svg2 = _interopRequireDefault(_Svg);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 exports.default = _Svg2.default; /* This Source Code Form is subject to the terms of the Mozilla Public
                                   * License, v. 2.0. If a copy of the MPL was not distributed with this
                                   * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 /**
  * This file maps the SVG React Components in the images directory.
  */
 
 /***/ }),
 
-/***/ 154:
+/***/ 155:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 var _devtoolsServices = __webpack_require__(20);
 
 var _devtoolsServices2 = _interopRequireDefault(_devtoolsServices);
@@ -1810,17 +1810,17 @@ Menu.sendActionToFirstResponder = () => 
 Menu.buildFromTemplate = () => {
   throw Error("Not implemented");
 };
 
 module.exports = Menu;
 
 /***/ }),
 
-/***/ 155:
+/***/ 156:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1848,17 +1848,17 @@ p.defer = function defer() {
     promise: promise
   };
 };
 
 module.exports = p;
 
 /***/ }),
 
-/***/ 156:
+/***/ 157:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1921,17 +1921,17 @@ function MenuItem({
   this.visible = visible;
   this.accelerator = accelerator;
 }
 
 module.exports = MenuItem;
 
 /***/ }),
 
-/***/ 157:
+/***/ 158:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -2110,17 +2110,17 @@ function makeObserver(self, cache, prefs
     }
   };
 }
 
 exports.PrefsHelper = PrefsHelper;
 
 /***/ }),
 
-/***/ 158:
+/***/ 159:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -2358,17 +2358,34 @@ KeyShortcuts.prototype = {
   off(key, listener) {
     this.eventEmitter.off(key, listener);
   }
 };
 module.exports = KeyShortcuts;
 
 /***/ }),
 
-/***/ 159:
+/***/ 16:
+/***/ (function(module, exports, __webpack_require__) {
+
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+const networkRequest = __webpack_require__(25);
+const workerUtils = __webpack_require__(26);
+
+module.exports = {
+  networkRequest,
+  workerUtils
+};
+
+/***/ }),
+
+/***/ 160:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 
@@ -2379,34 +2396,17 @@ module.exports = KeyShortcuts;
  * Based on nsIMarkupDocumentViewer.fullZoom API
  * https://developer.mozilla.org/en-US/Firefox/Releases/3/Full_page_zoom
  */
 
 exports.register = function (window) {};
 
 /***/ }),
 
-/***/ 16:
-/***/ (function(module, exports, __webpack_require__) {
-
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-const networkRequest = __webpack_require__(25);
-const workerUtils = __webpack_require__(26);
-
-module.exports = {
-  networkRequest,
-  workerUtils
-};
-
-/***/ }),
-
-/***/ 160:
+/***/ 161:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 /**
  *
  * Adapted from https://github.com/mozilla-b2g/gaia/blob/f09993563fb5fec4393eb71816ce76cb00463190/shared/js/async_storage.js
  * (converted to use Promises instead of callbacks).
  *
@@ -2589,17 +2589,17 @@ exports.getItem = getItem;
 exports.setItem = setItem;
 exports.removeItem = removeItem;
 exports.clear = clear;
 exports.length = length;
 exports.key = key;
 
 /***/ }),
 
-/***/ 161:
+/***/ 162:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -2906,17 +2906,17 @@ module.exports = {
   isContentScheme,
   isWASM,
   isDataScheme,
   getSourceMappedFile
 };
 
 /***/ }),
 
-/***/ 162:
+/***/ 163:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
@@ -3246,17 +3246,17 @@ class Telemetry {
    */
   toolClosed(id, sessionId, obj) {}
 }
 
 module.exports = Telemetry;
 
 /***/ }),
 
-/***/ 163:
+/***/ 164:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 // This file is a chrome-API-free version of the module
@@ -3365,17 +3365,17 @@ function getUnicodeUrl(url) {
 module.exports = {
   getUnicodeHostname,
   getUnicodeUrlPath,
   getUnicodeUrl
 };
 
 /***/ }),
 
-/***/ 172:
+/***/ 173:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -3417,17 +3417,17 @@ module.exports = __WEBPACK_EXTERNAL_MODU
 
 /***/ 20:
 /***/ (function(module, exports) {
 
 module.exports = __WEBPACK_EXTERNAL_MODULE_20__;
 
 /***/ }),
 
-/***/ 211:
+/***/ 212:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 exports.__esModule = true;
 exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = undefined;
 
@@ -3438,19 +3438,19 @@ var PropTypes = _interopRequireWildcard(
 var _react = __webpack_require__(1);
 
 var _react2 = _interopRequireDefault(_react);
 
 var _reactDom = __webpack_require__(24);
 
 var _reactDom2 = _interopRequireDefault(_reactDom);
 
-var _reactLifecyclesCompat = __webpack_require__(212);
-
-var _PropTypes = __webpack_require__(213);
+var _reactLifecyclesCompat = __webpack_require__(213);
+
+var _PropTypes = __webpack_require__(214);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 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; } }
 
 function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
 
 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -4021,17 +4021,17 @@ Transition.EXITED = 1;
 Transition.ENTERING = 2;
 Transition.ENTERED = 3;
 Transition.EXITING = 4;
 
 exports.default = (0, _reactLifecyclesCompat.polyfill)(Transition);
 
 /***/ }),
 
-/***/ 212:
+/***/ 213:
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "polyfill", function() { return polyfill; });
 /**
  * Copyright (c) 2013-present, Facebook, Inc.
  *
@@ -4189,17 +4189,17 @@ function polyfill(Component) {
   return Component;
 }
 
 
 
 
 /***/ }),
 
-/***/ 213:
+/***/ 214:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 exports.__esModule = true;
 exports.classNamesShape = exports.timeoutsShape = undefined;
 exports.transitionTimeout = transitionTimeout;
@@ -4246,31 +4246,31 @@ var classNamesShape = exports.classNames
   enterActive: _propTypes2.default.string,
   exit: _propTypes2.default.string,
   exitDone: _propTypes2.default.string,
   exitActive: _propTypes2.default.string
 })]);
 
 /***/ }),
 
-/***/ 214:
+/***/ 215:
 /***/ (function(module, exports, __webpack_require__) {
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 const React = __webpack_require__(1);
 const ReactDOM = __webpack_require__(24);
-const Draggable = React.createFactory(__webpack_require__(215));
+const Draggable = React.createFactory(__webpack_require__(216));
 const { Component } = React;
 const PropTypes = __webpack_require__(0);
 const dom = __webpack_require__(2);
 
-__webpack_require__(216);
+__webpack_require__(217);
 
 /**
  * This component represents a Splitter. The splitter supports vertical
  * as well as horizontal mode.
  */
 class SplitBox extends Component {
   static get propTypes() {
     return {
@@ -4504,17 +4504,17 @@ class SplitBox extends Component {
     }, endPanel) : null);
   }
 }
 
 module.exports = SplitBox;
 
 /***/ }),
 
-/***/ 215:
+/***/ 216:
 /***/ (function(module, exports, __webpack_require__) {
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 const React = __webpack_require__(1);
 const ReactDOM = __webpack_require__(24);
@@ -4577,74 +4577,74 @@ class Draggable extends Component {
     });
   }
 }
 
 module.exports = Draggable;
 
 /***/ }),
 
-/***/ 216:
+/***/ 217:
 /***/ (function(module, exports) {
 
 // removed by extract-text-webpack-plugin
 
 /***/ }),
 
-/***/ 219:
+/***/ 220:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 
-var _tabList = __webpack_require__(108);
+var _tabList = __webpack_require__(109);
 
 Object.defineProperty(exports, 'TabList', {
   enumerable: true,
   get: function get() {
     return _interopRequireDefault(_tabList).default;
   }
 });
 
-var _tabPanels = __webpack_require__(110);
+var _tabPanels = __webpack_require__(111);
 
 Object.defineProperty(exports, 'TabPanels', {
   enumerable: true,
   get: function get() {
     return _interopRequireDefault(_tabPanels).default;
   }
 });
 
-var _tab = __webpack_require__(109);
+var _tab = __webpack_require__(110);
 
 Object.defineProperty(exports, 'Tab', {
   enumerable: true,
   get: function get() {
     return _interopRequireDefault(_tab).default;
   }
 });
 
-var _tabs = __webpack_require__(223);
+var _tabs = __webpack_require__(224);
 
 Object.defineProperty(exports, 'Tabs', {
   enumerable: true,
   get: function get() {
     return _interopRequireDefault(_tabs).default;
   }
 });
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 /***/ }),
 
-/***/ 220:
+/***/ 221:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -4654,31 +4654,31 @@ var _propTypes = __webpack_require__(0);
 var _propTypes2 = _interopRequireDefault(_propTypes);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 exports.default = _propTypes2.default.object;
 
 /***/ }),
 
-/***/ 221:
-/***/ (function(module, exports) {
-
-// removed by extract-text-webpack-plugin
-
-/***/ }),
-
 /***/ 222:
 /***/ (function(module, exports) {
 
 // removed by extract-text-webpack-plugin
 
 /***/ }),
 
 /***/ 223:
+/***/ (function(module, exports) {
+
+// removed by extract-text-webpack-plugin
+
+/***/ }),
+
+/***/ 224:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -4688,25 +4688,25 @@ var _createClass = function () { functio
 var _propTypes = __webpack_require__(0);
 
 var _propTypes2 = _interopRequireDefault(_propTypes);
 
 var _react = __webpack_require__(1);
 
 var _react2 = _interopRequireDefault(_react);
 
-var _uniqueId = __webpack_require__(224);
+var _uniqueId = __webpack_require__(225);
 
 var _uniqueId2 = _interopRequireDefault(_uniqueId);
 
-var _tabList = __webpack_require__(108);
+var _tabList = __webpack_require__(109);
 
 var _tabList2 = _interopRequireDefault(_tabList);
 
-var _tabPanels = __webpack_require__(110);
+var _tabPanels = __webpack_require__(111);
 
 var _tabPanels2 = _interopRequireDefault(_tabPanels);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
 
 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
@@ -4773,17 +4773,17 @@ Tabs.propTypes = {
 Tabs.defaultProps = {
   children: null,
   className: undefined,
   onActivateTab: function onActivateTab() {}
 };
 
 /***/ }),
 
-/***/ 224:
+/***/ 225:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
@@ -4792,34 +4792,34 @@ var counter = 0;
 
 function uniqueId() {
   counter += 1;
   return "$rac$" + counter;
 }
 
 /***/ }),
 
-/***/ 225:
+/***/ 226:
 /***/ (function(module, exports) {
 
 // removed by extract-text-webpack-plugin
 
 /***/ }),
 
-/***/ 226:
+/***/ 227:
 /***/ (function(module, exports, __webpack_require__) {
 
 (function() {
   var Query, pathScorer, pluckCandidates, scorer, sortCandidates;
 
   scorer = __webpack_require__(48);
 
   pathScorer = __webpack_require__(63);
 
-  Query = __webpack_require__(111);
+  Query = __webpack_require__(112);
 
   pluckCandidates = function(a) {
     return a.candidate;
   };
 
   sortCandidates = function(a, b) {
     return b.score - a.score;
   };
@@ -4856,17 +4856,17 @@ function uniqueId() {
     return candidates;
   };
 
 }).call(this);
 
 
 /***/ }),
 
-/***/ 227:
+/***/ 228:
 /***/ (function(module, exports, __webpack_require__) {
 
 (function() {
   var basenameMatch, computeMatch, isMatch, isWordStart, match, mergeMatches, scoreAcronyms, scoreCharacter, scoreConsecutives, _ref;
 
   _ref = __webpack_require__(48), isMatch = _ref.isMatch, isWordStart = _ref.isWordStart, scoreConsecutives = _ref.scoreConsecutives, scoreCharacter = _ref.scoreCharacter, scoreAcronyms = _ref.scoreAcronyms;
 
   exports.match = match = function(string, query, options) {
@@ -5078,38 +5078,38 @@ function uniqueId() {
     return matches;
   };
 
 }).call(this);
 
 
 /***/ }),
 
-/***/ 231:
+/***/ 232:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
-var _svgInlineReact = __webpack_require__(232);
+var _svgInlineReact = __webpack_require__(233);
 
 var _svgInlineReact2 = _interopRequireDefault(_svgInlineReact);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 const React = __webpack_require__(1);
 
 
 const svg = {
-  breakpoint: __webpack_require__(234),
-  "column-marker": __webpack_require__(235)
+  breakpoint: __webpack_require__(235),
+  "column-marker": __webpack_require__(236)
 };
 
 function Svg({ name, className, onClick, "aria-label": ariaLabel }) {
   if (!svg[name]) {
     const error = `Unknown SVG: ${name}`;
     console.warn(error);
     return null;
   }
@@ -5125,17 +5125,17 @@ function Svg({ name, className, onClick,
 }
 
 Svg.displayName = "Svg";
 
 module.exports = Svg;
 
 /***/ }),
 
-/***/ 232:
+/***/ 233:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
     value: true
 });
@@ -5145,17 +5145,17 @@ var _extends = Object.assign || function
 var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
 
 var _react = __webpack_require__(1);
 
 var _react2 = _interopRequireDefault(_react);
 
 var _propTypes = __webpack_require__(0);
 
-var _util = __webpack_require__(233);
+var _util = __webpack_require__(234);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
 
 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
 
 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
@@ -5224,17 +5224,17 @@ InlineSVG.defaultProps = {
 InlineSVG.propTypes = {
     src: _propTypes.string.isRequired,
     element: _propTypes.string,
     raw: _propTypes.bool
 };
 
 /***/ }),
 
-/***/ 233:
+/***/ 234:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
     value: true
 });
@@ -5285,24 +5285,24 @@ function getSVGFromSource(src) {
 // get <svg /> element props
 function extractSVGProps(src) {
     var map = getSVGFromSource(src).attributes;
     return map.length > 0 ? serializeAttrs(map) : null;
 }
 
 /***/ }),
 
-/***/ 234:
+/***/ 235:
 /***/ (function(module, exports) {
 
 module.exports = "<!-- This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. --><svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 60 15\"><path d=\"M53.07.5H1.5c-.54 0-1 .46-1 1v12c0 .54.46 1 1 1h51.57c.58 0 1.15-.26 1.53-.7l4.7-6.3-4.7-6.3c-.38-.44-.95-.7-1.53-.7z\"></path></svg>"
 
 /***/ }),
 
-/***/ 235:
+/***/ 236:
 /***/ (function(module, exports) {
 
 module.exports = "<!-- This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. --><svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 11 13\"><path d=\"M5.07.5H1.5c-.54 0-1 .46-1 1v10c0 .54.46 1 1 1h3.57c.58 0 1.15-.26 1.53-.7l3.7-5.3-3.7-5.3C6.22.76 5.65.5 5.07.5z\"></path></svg>"
 
 /***/ }),
 
 /***/ 24:
 /***/ (function(module, exports) {
@@ -5746,17 +5746,17 @@ function inToolbox() {
     return window.parent.document.documentURI == "about:devtools-toolbox";
   } catch (e) {
     // If `window` is not available, it's very likely that we are in the toolbox.
     return true;
   }
 }
 
 if (!inToolbox()) {
-  __webpack_require__(225);
+  __webpack_require__(226);
 }
 
 function createPopup(doc) {
   let popup = doc.createElement("menupopup");
   popup.className = "landing-popup";
   if (popup.openPopupAtScreen) {
     return popup;
   }
@@ -5886,26 +5886,26 @@ module.exports = {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-const Menu = __webpack_require__(154);
-const MenuItem = __webpack_require__(156);
-const { PrefsHelper } = __webpack_require__(157);
-const KeyShortcuts = __webpack_require__(158);
-const { ZoomKeys } = __webpack_require__(159);
+const Menu = __webpack_require__(155);
+const MenuItem = __webpack_require__(157);
+const { PrefsHelper } = __webpack_require__(158);
+const KeyShortcuts = __webpack_require__(159);
+const { ZoomKeys } = __webpack_require__(160);
 const EventEmitter = __webpack_require__(46);
-const asyncStorage = __webpack_require__(160);
-const SourceUtils = __webpack_require__(161);
-const Telemetry = __webpack_require__(162);
-const { getUnicodeHostname, getUnicodeUrlPath, getUnicodeUrl } = __webpack_require__(163);
+const asyncStorage = __webpack_require__(161);
+const SourceUtils = __webpack_require__(162);
+const Telemetry = __webpack_require__(163);
+const { getUnicodeHostname, getUnicodeUrlPath, getUnicodeUrl } = __webpack_require__(164);
 
 module.exports = {
   KeyShortcuts,
   Menu,
   MenuItem,
   PrefsHelper,
   ZoomKeys,
   asyncStorage,
@@ -5956,17 +5956,17 @@ module.exports = function(module) {
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 var EventEmitter = function EventEmitter() {};
 module.exports = EventEmitter;
 
-const promise = __webpack_require__(155);
+const promise = __webpack_require__(156);
 
 /**
  * Decorate an object with event emitter functionality.
  *
  * @param Object aObjectToDecorate
  *        Bind all public methods of EventEmitter to
  *        the aObjectToDecorate object.
  */
@@ -7330,54 +7330,54 @@ module.exports = __WEBPACK_EXTERNAL_MODU
 /***/ }),
 
 /***/ 73:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
-var _tree = __webpack_require__(100);
+var _tree = __webpack_require__(101);
 
 var _tree2 = _interopRequireDefault(_tree);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 module.exports = {
   Tree: _tree2.default
 }; /* This Source Code Form is subject to the terms of the Mozilla Public
     * License, v. 2.0. If a copy of the MPL was not distributed with this
     * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 /***/ }),
 
-/***/ 761:
+/***/ 762:
 /***/ (function(module, exports, __webpack_require__) {
 
-module.exports = __webpack_require__(762);
+module.exports = __webpack_require__(763);
 
 
 /***/ }),
 
-/***/ 762:
+/***/ 763:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.vendored = undefined;
 
 var _devtoolsComponents = __webpack_require__(73);
 
 var devtoolsComponents = _interopRequireWildcard(_devtoolsComponents);
 
-var _devtoolsConfig = __webpack_require__(763);
+var _devtoolsConfig = __webpack_require__(764);
 
 var devtoolsConfig = _interopRequireWildcard(_devtoolsConfig);
 
 var _devtoolsContextmenu = __webpack_require__(33);
 
 var devtoolsContextmenu = _interopRequireWildcard(_devtoolsContextmenu);
 
 var _devtoolsEnvironment = __webpack_require__(30);
@@ -7387,45 +7387,45 @@ var devtoolsEnvironment = _interopRequir
 var _devtoolsModules = __webpack_require__(34);
 
 var devtoolsModules = _interopRequireWildcard(_devtoolsModules);
 
 var _devtoolsUtils = __webpack_require__(16);
 
 var devtoolsUtils = _interopRequireWildcard(_devtoolsUtils);
 
-var _fuzzaldrinPlus = __webpack_require__(131);
+var _fuzzaldrinPlus = __webpack_require__(132);
 
 var fuzzaldrinPlus = _interopRequireWildcard(_fuzzaldrinPlus);
 
-var _Transition = __webpack_require__(211);
+var _Transition = __webpack_require__(212);
 
 var transition = _interopRequireWildcard(_Transition);
 
-var _tabs = __webpack_require__(219);
+var _tabs = __webpack_require__(220);
 
 var reactAriaComponentsTabs = _interopRequireWildcard(_tabs);
 
 var _reselect = __webpack_require__(31);
 
 var reselect = _interopRequireWildcard(_reselect);
 
 var _classnames = __webpack_require__(6);
 
 var _classnames2 = _interopRequireDefault(_classnames);
 
-var _devtoolsSplitter = __webpack_require__(130);
+var _devtoolsSplitter = __webpack_require__(131);
 
 var _devtoolsSplitter2 = _interopRequireDefault(_devtoolsSplitter);
 
-var _lodashMove = __webpack_require__(172);
+var _lodashMove = __webpack_require__(173);
 
 var _lodashMove2 = _interopRequireDefault(_lodashMove);
 
-var _Svg = __webpack_require__(132);
+var _Svg = __webpack_require__(133);
 
 var _Svg2 = _interopRequireDefault(_Svg);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 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; } }
 
 // We cannot directly export literals containing special characters
@@ -7469,45 +7469,45 @@ const vendored = exports.vendored = {
   // Svg is required via relative paths, so the key is not imported path.
   // See .babel/transform-mc.js
   Svg: _Svg2.default
 };
 // $FlowIgnore
 
 /***/ }),
 
-/***/ 763:
+/***/ 764:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-const feature = __webpack_require__(764);
+const feature = __webpack_require__(765);
 
 module.exports = feature;
 
 /***/ }),
 
-/***/ 764:
+/***/ 765:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 const { get: pick, set: put } = __webpack_require__(10);
-const fs = __webpack_require__(765);
-const path = __webpack_require__(766);
+const fs = __webpack_require__(766);
+const path = __webpack_require__(767);
 
 let config;
 /**
  * Gets a config value for a given key
  * e.g "chrome.webSocketPort"
  */
 function getValue(key) {
   return pick(config, key);
@@ -7537,24 +7537,24 @@ module.exports = {
   setValue,
   getConfig,
   setConfig,
   updateLocalConfig
 };
 
 /***/ }),
 
-/***/ 765:
+/***/ 766:
 /***/ (function(module, exports) {
 
 
 
 /***/ }),
 
-/***/ 766:
+/***/ 767:
 /***/ (function(module, exports, __webpack_require__) {
 
 /* WEBPACK VAR INJECTION */(function(process) {// Copyright Joyent, Inc. and other Node contributors.
 //
 // 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,
--- a/devtools/client/debugger/new/packages/devtools-reps/src/object-inspector/tests/utils/should-render-roots-in-reps.js
+++ b/devtools/client/debugger/new/packages/devtools-reps/src/object-inspector/tests/utils/should-render-roots-in-reps.js
@@ -7,16 +7,17 @@ const { shouldRenderRootsInReps } = Util
 
 const nullStubs = require("../../../reps/stubs/null");
 const numberStubs = require("../../../reps/stubs/number");
 const undefinedStubs = require("../../../reps/stubs/undefined");
 const gripStubs = require("../../../reps/stubs/grip");
 const gripArrayStubs = require("../../../reps/stubs/grip-array");
 const symbolStubs = require("../../../reps/stubs/symbol");
 const errorStubs = require("../../../reps/stubs/error");
+const bigIntStubs = require("../../../reps/stubs/big-int");
 
 describe("shouldRenderRootsInReps", () => {
   it("returns true for a string", () => {
     expect(
       shouldRenderRootsInReps([
         {
           contents: { value: "Hello" }
         }
@@ -29,16 +30,26 @@ describe("shouldRenderRootsInReps", () =
       shouldRenderRootsInReps([
         {
           contents: { value: numberStubs.get("Int") }
         }
       ])
     ).toBeTruthy();
   });
 
+  it("returns true for a big int", () => {
+    expect(
+      shouldRenderRootsInReps([
+        {
+          contents: { value: bigIntStubs.get("1n") }
+        }
+      ])
+    ).toBeTruthy();
+  });
+
   it("returns true for undefined", () => {
     expect(
       shouldRenderRootsInReps([
         {
           contents: { value: undefinedStubs.get("Undefined") }
         }
       ])
     ).toBeTruthy();
--- a/devtools/client/debugger/new/packages/devtools-reps/src/object-inspector/utils/node.js
+++ b/devtools/client/debugger/new/packages/devtools-reps/src/object-inspector/utils/node.js
@@ -5,16 +5,17 @@
 // @flow
 
 const { maybeEscapePropertyName } = require("../../reps/rep-utils");
 const ArrayRep = require("../../reps/array");
 const GripArrayRep = require("../../reps/grip-array");
 const GripMap = require("../../reps/grip-map");
 const GripMapEntryRep = require("../../reps/grip-map-entry");
 const ErrorRep = require("../../reps/error");
+const BigIntRep = require("../../reps/big-int");
 const { isLongString } = require("../../reps/string");
 
 const MAX_NUMERICAL_PROPERTIES = 100;
 
 const NODE_TYPES = {
   BUCKET: Symbol("[n…m]"),
   DEFAULT_PROPERTIES: Symbol("<default properties>"),
   ENTRIES: Symbol("<entries>"),
@@ -157,23 +158,24 @@ function nodeIsMissingArguments(item: No
 }
 
 function nodeHasProperties(item: Node): boolean {
   return !nodeHasChildren(item) && nodeIsObject(item);
 }
 
 function nodeIsPrimitive(item: Node): boolean {
   return (
-    !nodeHasChildren(item) &&
-    !nodeHasProperties(item) &&
-    !nodeIsEntries(item) &&
-    !nodeIsMapEntry(item) &&
-    !nodeHasAccessors(item) &&
-    !nodeIsBucket(item) &&
-    !nodeIsLongString(item)
+    nodeIsBigInt(item) ||
+    (!nodeHasChildren(item) &&
+      !nodeHasProperties(item) &&
+      !nodeIsEntries(item) &&
+      !nodeIsMapEntry(item) &&
+      !nodeHasAccessors(item) &&
+      !nodeIsBucket(item) &&
+      !nodeIsLongString(item))
   );
 }
 
 function nodeIsDefaultProperties(item: Node): boolean {
   return getType(item) === NODE_TYPES.DEFAULT_PROPERTIES;
 }
 
 function isDefaultWindowProperty(name: string): boolean {
@@ -226,16 +228,20 @@ function nodeIsBlock(item: Node) {
 function nodeIsError(item: Node): boolean {
   return ErrorRep.supportsObject(getValue(item));
 }
 
 function nodeIsLongString(item: Node): boolean {
   return isLongString(getValue(item));
 }
 
+function nodeIsBigInt(item: Node): boolean {
+  return BigIntRep.supportsObject(getValue(item));
+}
+
 function nodeHasFullText(item: Node): boolean {
   const value = getValue(item);
   return nodeIsLongString(item) && value.hasOwnProperty("fullText");
 }
 
 function nodeHasGetter(item: Node): boolean {
   const getter = getNodeGetter(item);
   return getter && getter.type !== "undefined";
new file mode 100644
--- /dev/null
+++ b/devtools/client/debugger/new/packages/devtools-reps/src/reps/big-int.js
@@ -0,0 +1,39 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
+
+// Dependencies
+const PropTypes = require("prop-types");
+
+const { getGripType, wrapRender } = require("./rep-utils");
+
+const dom = require("react-dom-factories");
+const { span } = dom;
+
+/**
+ * Renders a number
+ */
+BigInt.propTypes = {
+  object: PropTypes.oneOfType([
+    PropTypes.object,
+    PropTypes.number,
+    PropTypes.bool
+  ]).isRequired
+};
+
+function BigInt(props) {
+  const { text } = props.object;
+
+  return span({ className: "objectBox objectBox-number" }, `${text}n`);
+}
+
+function supportsObject(object, noGrip = false) {
+  return getGripType(object, noGrip) === "BigInt";
+}
+
+// Exports from this module
+
+module.exports = {
+  rep: wrapRender(BigInt),
+  supportsObject
+};
--- a/devtools/client/debugger/new/packages/devtools-reps/src/reps/rep.js
+++ b/devtools/client/debugger/new/packages/devtools-reps/src/reps/rep.js
@@ -14,16 +14,17 @@ const Obj = require("./object");
 const SymbolRep = require("./symbol");
 const InfinityRep = require("./infinity");
 const NaNRep = require("./nan");
 const Accessor = require("./accessor");
 
 // DOM types (grips)
 const Accessible = require("./accessible");
 const Attribute = require("./attribute");
+const BigInt = require("./big-int");
 const DateTime = require("./date-time");
 const Document = require("./document");
 const DocumentType = require("./document-type");
 const Event = require("./event");
 const Func = require("./function");
 const PromiseRep = require("./promise");
 const RegExp = require("./regexp");
 const StyleSheet = require("./stylesheet");
@@ -64,16 +65,17 @@ const reps = [
   GripArray,
   GripMap,
   GripMapEntry,
   Grip,
   Undefined,
   Null,
   StringRep,
   Number,
+  BigInt,
   SymbolRep,
   InfinityRep,
   NaNRep,
   Accessor,
   Obj
 ];
 
 /**
@@ -124,16 +126,17 @@ function getRep(object, defaultRep = Gri
 
 module.exports = {
   Rep,
   REPS: {
     Accessible,
     Accessor,
     ArrayRep,
     Attribute,
+    BigInt,
     CommentNode,
     DateTime,
     Document,
     DocumentType,
     ElementNode,
     ErrorRep,
     Event,
     Func,
new file mode 100644
--- /dev/null
+++ b/devtools/client/debugger/new/packages/devtools-reps/src/reps/stubs/big-int.js
@@ -0,0 +1,196 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
+
+const stubs = new Map();
+stubs.set("1n", {
+  type: "BigInt",
+  text: "1"
+});
+
+stubs.set("-2n", {
+  type: "BigInt",
+  text: "-2"
+});
+
+stubs.set("0n", {
+  type: "BigInt",
+  text: "0"
+});
+
+stubs.set("[1n,-2n,0n]", {
+  type: "object",
+  actor: "server1.conn15.child1/obj27",
+  class: "Array",
+  extensible: true,
+  frozen: false,
+  sealed: false,
+  ownPropertyLength: 4,
+  preview: {
+    kind: "ArrayLike",
+    length: 3,
+    items: [
+      {
+        type: "BigInt",
+        text: "1"
+      },
+      {
+        type: "BigInt",
+        text: "-2"
+      },
+      {
+        type: "BigInt",
+        text: "0"
+      }
+    ]
+  }
+});
+
+stubs.set("new Set([1n,-2n,0n])", {
+  type: "object",
+  actor: "server1.conn15.child1/obj29",
+  class: "Set",
+  extensible: true,
+  frozen: false,
+  sealed: false,
+  ownPropertyLength: 0,
+  preview: {
+    kind: "ArrayLike",
+    length: 3,
+    items: [
+      {
+        type: "BigInt",
+        text: "1"
+      },
+      {
+        type: "BigInt",
+        text: "-2"
+      },
+      {
+        type: "BigInt",
+        text: "0"
+      }
+    ]
+  }
+});
+
+stubs.set("new Map([ [1n, -1n], [-2n, 0n], [0n, -2n]])", {
+  type: "object",
+  actor: "server1.conn15.child1/obj32",
+  class: "Map",
+  extensible: true,
+  frozen: false,
+  sealed: false,
+  ownPropertyLength: 0,
+  preview: {
+    kind: "MapLike",
+    size: 3,
+    entries: [
+      [
+        {
+          type: "BigInt",
+          text: "1"
+        },
+        {
+          type: "BigInt",
+          text: "-1"
+        }
+      ],
+      [
+        {
+          type: "BigInt",
+          text: "-2"
+        },
+        {
+          type: "BigInt",
+          text: "0"
+        }
+      ],
+      [
+        {
+          type: "BigInt",
+          text: "0"
+        },
+        {
+          type: "BigInt",
+          text: "-2"
+        }
+      ]
+    ]
+  }
+});
+
+stubs.set("({simple: 1n, negative: -2n, zero: 0n})", {
+  type: "object",
+  actor: "server1.conn15.child1/obj34",
+  class: "Object",
+  extensible: true,
+  frozen: false,
+  sealed: false,
+  ownPropertyLength: 3,
+  preview: {
+    kind: "Object",
+    ownProperties: {
+      simple: {
+        configurable: true,
+        enumerable: true,
+        writable: true,
+        value: {
+          type: "BigInt",
+          text: "1"
+        }
+      },
+      negative: {
+        configurable: true,
+        enumerable: true,
+        writable: true,
+        value: {
+          type: "BigInt",
+          text: "-2"
+        }
+      },
+      zero: {
+        configurable: true,
+        enumerable: true,
+        writable: true,
+        value: {
+          type: "BigInt",
+          text: "0"
+        }
+      }
+    },
+    ownSymbols: [],
+    ownPropertiesLength: 3,
+    ownSymbolsLength: 0,
+    safeGetterValues: {}
+  }
+});
+
+stubs.set("Promise.resolve(1n)", {
+  type: "object",
+  actor: "server1.conn15.child1/obj36",
+  class: "Promise",
+  extensible: true,
+  frozen: false,
+  sealed: false,
+  promiseState: {
+    state: "fulfilled",
+    value: {
+      type: "BigInt",
+      text: "1"
+    },
+    creationTimestamp: 1550831461773.1665,
+    timeToSettle: 0.036448000464588404
+  },
+  ownPropertyLength: 0,
+  preview: {
+    kind: "Object",
+    ownProperties: {},
+    ownSymbols: [],
+    ownPropertiesLength: 0,
+    ownSymbolsLength: 0,
+    safeGetterValues: {}
+  }
+});
+
+module.exports = stubs;
new file mode 100644
--- /dev/null
+++ b/devtools/client/debugger/new/packages/devtools-reps/src/reps/tests/big-int.js
@@ -0,0 +1,97 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
+
+const { shallow } = require("enzyme");
+const { REPS, getRep } = require("../rep");
+const { BigInt, Rep } = REPS;
+const stubs = require("../stubs/big-int");
+
+describe("BigInt", () => {
+  describe("1n", () => {
+    const stub = stubs.get("1n");
+
+    it("correctly selects BigInt Rep for BigInt value", () => {
+      expect(getRep(stub)).toBe(BigInt.rep);
+    });
+
+    it("renders with expected text content for BigInt", () => {
+      const renderedComponent = shallow(
+        Rep({
+          object: stub
+        })
+      );
+
+      expect(renderedComponent.text()).toEqual("1n");
+    });
+  });
+
+  describe("-2n", () => {
+    const stub = stubs.get("-2n");
+
+    it("correctly selects BigInt Rep for negative BigInt value", () => {
+      expect(getRep(stub)).toBe(BigInt.rep);
+    });
+
+    it("renders with expected text content for negative BigInt", () => {
+      const renderedComponent = shallow(
+        Rep({
+          object: stub
+        })
+      );
+
+      expect(renderedComponent.text()).toEqual("-2n");
+    });
+  });
+
+  describe("0n", () => {
+    const stub = stubs.get("0n");
+
+    it("correctly selects BigInt Rep for zero BigInt value", () => {
+      expect(getRep(stub)).toBe(BigInt.rep);
+    });
+
+    it("renders with expected text content for zero BigInt", () => {
+      const renderedComponent = shallow(Rep({ object: stub }));
+      expect(renderedComponent.text()).toEqual("0n");
+    });
+  });
+
+  describe("in objects", () => {
+    it("renders with expected text content in Array", () => {
+      const stub = stubs.get("[1n,-2n,0n]");
+      const renderedComponent = shallow(Rep({ object: stub }));
+      expect(renderedComponent.text()).toEqual("Array(3) [ 1n, -2n, 0n ]");
+    });
+
+    it("renders with expected text content in Set", () => {
+      const stub = stubs.get("new Set([1n,-2n,0n])");
+      const renderedComponent = shallow(Rep({ object: stub }));
+      expect(renderedComponent.text()).toEqual("Set(3) [ 1n, -2n, 0n ]");
+    });
+
+    it("renders with expected text content in Map", () => {
+      const stub = stubs.get("new Map([ [1n, -1n], [-2n, 0n], [0n, -2n]])");
+      const renderedComponent = shallow(Rep({ object: stub }));
+      expect(renderedComponent.text()).toEqual(
+        "Map(3) { 1n → -1n, -2n → 0n, 0n → -2n }"
+      );
+    });
+
+    it("renders with expected text content in Object", () => {
+      const stub = stubs.get("({simple: 1n, negative: -2n, zero: 0n})");
+      const renderedComponent = shallow(Rep({ object: stub }));
+      expect(renderedComponent.text()).toEqual(
+        "Object { simple: 1n, negative: -2n, zero: 0n }"
+      );
+    });
+
+    it("renders with expected text content in Promise", () => {
+      const stub = stubs.get("Promise.resolve(1n)");
+      const renderedComponent = shallow(Rep({ object: stub }));
+      expect(renderedComponent.text()).toEqual(
+        'Promise { <state>: "fulfilled", <value>: 1n }'
+      );
+    });
+  });
+});
--- a/devtools/client/shared/components/reps/reps.js
+++ b/devtools/client/shared/components/reps/reps.js
@@ -2,17 +2,17 @@
 	if(typeof exports === 'object' && typeof module === 'object')
 		module.exports = factory(require("devtools/client/shared/vendor/react-prop-types"), require("devtools/client/shared/vendor/react"), require("devtools/client/shared/vendor/react-dom-factories"), require("Services"), require("devtools/client/shared/vendor/react-redux"));
 	else if(typeof define === 'function' && define.amd)
 		define(["devtools/client/shared/vendor/react-prop-types", "devtools/client/shared/vendor/react", "devtools/client/shared/vendor/react-dom-factories", "Services", "devtools/client/shared/vendor/react-redux"], factory);
 	else {
 		var a = typeof exports === 'object' ? factory(require("devtools/client/shared/vendor/react-prop-types"), require("devtools/client/shared/vendor/react"), require("devtools/client/shared/vendor/react-dom-factories"), require("Services"), require("devtools/client/shared/vendor/react-redux")) : factory(root["devtools/client/shared/vendor/react-prop-types"], root["devtools/client/shared/vendor/react"], root["devtools/client/shared/vendor/react-dom-factories"], root["Services"], root["devtools/client/shared/vendor/react-redux"]);
 		for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
 	}
-})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_20__, __WEBPACK_EXTERNAL_MODULE_102__) {
+})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_20__, __WEBPACK_EXTERNAL_MODULE_103__) {
 return /******/ (function(modules) { // webpackBootstrap
 /******/ 	// The module cache
 /******/ 	var installedModules = {};
 /******/
 /******/ 	// The require function
 /******/ 	function __webpack_require__(moduleId) {
 /******/
 /******/ 		// Check if module is in cache
@@ -65,17 +65,17 @@ return /******/ (function(modules) { // 
 /******/
 /******/ 	// Object.prototype.hasOwnProperty.call
 /******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
 /******/
 /******/ 	// __webpack_public_path__
 /******/ 	__webpack_require__.p = "/assets/build";
 /******/
 /******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 767);
+/******/ 	return __webpack_require__(__webpack_require__.s = 768);
 /******/ })
 /************************************************************************/
 /******/ ({
 
 /***/ 0:
 /***/ (function(module, exports) {
 
 module.exports = __WEBPACK_EXTERNAL_MODULE_0__;
@@ -90,16 +90,90 @@ module.exports = __WEBPACK_EXTERNAL_MODU
 /***/ }),
 
 /***/ 100:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
+
+// Dependencies
+const PropTypes = __webpack_require__(0);
+// Shortcuts
+const dom = __webpack_require__(2);
+const { span } = dom;
+const { wrapRender } = __webpack_require__(3);
+const PropRep = __webpack_require__(39);
+const { MODE } = __webpack_require__(5);
+/**
+ * Renders an map entry. A map entry is represented by its key,
+ * a column and its value.
+ */
+GripMapEntry.propTypes = {
+  object: PropTypes.object,
+  // @TODO Change this to Object.values when supported in Node's version of V8
+  mode: PropTypes.oneOf(Object.keys(MODE).map(key => MODE[key])),
+  onDOMNodeMouseOver: PropTypes.func,
+  onDOMNodeMouseOut: PropTypes.func,
+  onInspectIconClick: PropTypes.func
+};
+
+function GripMapEntry(props) {
+  const { object } = props;
+
+  const { key, value } = object.preview;
+
+  return span({
+    className: "objectBox objectBox-map-entry"
+  }, PropRep({
+    ...props,
+    name: key,
+    object: value,
+    equal: " \u2192 ",
+    title: null,
+    suppressQuotes: false
+  }));
+}
+
+function supportsObject(grip, noGrip = false) {
+  if (noGrip === true) {
+    return false;
+  }
+  return grip && (grip.type === "mapEntry" || grip.type === "storageEntry") && grip.preview;
+}
+
+function createGripMapEntry(key, value) {
+  return {
+    type: "mapEntry",
+    preview: {
+      key,
+      value
+    }
+  };
+}
+
+// Exports from this module
+module.exports = {
+  rep: wrapRender(GripMapEntry),
+  createGripMapEntry,
+  supportsObject
+};
+
+/***/ }),
+
+/***/ 101:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
 
 var _react = __webpack_require__(1);
 
 var _react2 = _interopRequireDefault(_react);
 
@@ -112,17 +186,17 @@ var _propTypes = __webpack_require__(0);
 var _propTypes2 = _interopRequireDefault(_propTypes);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 const { Component, createFactory } = _react2.default; /* This Source Code Form is subject to the terms of the Mozilla Public
                                                        * License, v. 2.0. If a copy of the MPL was not distributed with this
                                                        * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
-__webpack_require__(101);
+__webpack_require__(102);
 
 // depth
 const AUTO_EXPAND_DEPTH = 0;
 
 // Simplied selector targetting elements that can receive the focus,
 // full version at https://stackoverflow.com/questions/1599660.
 const FOCUSABLE_SELECTOR = ["a[href]:not([tabindex='-1'])", "button:not([disabled]):not([tabindex='-1'])", "iframe:not([tabindex='-1'])", "input:not([disabled]):not([tabindex='-1'])", "select:not([disabled]):not([tabindex='-1'])", "textarea:not([disabled]):not([tabindex='-1'])", "[tabindex]:not([tabindex='-1'])"].join(", ");
 
@@ -1050,48 +1124,48 @@ class Tree extends Component {
     }, nodes);
   }
 }
 
 exports.default = Tree;
 
 /***/ }),
 
-/***/ 101:
+/***/ 102:
 /***/ (function(module, exports) {
 
 // removed by extract-text-webpack-plugin
 
 /***/ }),
 
-/***/ 102:
+/***/ 103:
 /***/ (function(module, exports) {
 
-module.exports = __WEBPACK_EXTERNAL_MODULE_102__;
+module.exports = __WEBPACK_EXTERNAL_MODULE_103__;
 
 /***/ }),
 
-/***/ 103:
+/***/ 104:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 const {
   enumEntries,
   enumIndexedProperties,
   enumNonIndexedProperties,
   getPrototype,
   enumSymbols,
   getFullText
-} = __webpack_require__(104);
+} = __webpack_require__(105);
 
 const {
   getClosestGripNode,
   getClosestNonBucketNode,
   getValue,
   nodeHasAccessors,
   nodeHasAllEntriesInPreview,
   nodeHasProperties,
@@ -1215,17 +1289,17 @@ module.exports = {
   shouldLoadItemNonIndexedProperties,
   shouldLoadItemPrototype,
   shouldLoadItemSymbols,
   shouldLoadItemFullText
 };
 
 /***/ }),
 
-/***/ 104:
+/***/ 105:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 const { getValue, nodeHasFullText } = __webpack_require__(59); /* This Source Code Form is subject to the terms of the Mozilla Public
                                                                  * License, v. 2.0. If a copy of the MPL was not distributed with this
                                                                  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
@@ -1336,57 +1410,58 @@ module.exports = {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
-__webpack_require__(173);
+__webpack_require__(174);
 
 // Load all existing rep templates
-const Undefined = __webpack_require__(174);
-const Null = __webpack_require__(175);
+const Undefined = __webpack_require__(175);
+const Null = __webpack_require__(176);
 const StringRep = __webpack_require__(18);
-const Number = __webpack_require__(176);
+const Number = __webpack_require__(177);
 const ArrayRep = __webpack_require__(38);
-const Obj = __webpack_require__(177);
-const SymbolRep = __webpack_require__(178);
-const InfinityRep = __webpack_require__(179);
-const NaNRep = __webpack_require__(180);
-const Accessor = __webpack_require__(181);
+const Obj = __webpack_require__(178);
+const SymbolRep = __webpack_require__(179);
+const InfinityRep = __webpack_require__(180);
+const NaNRep = __webpack_require__(181);
+const Accessor = __webpack_require__(182);
 
 // DOM types (grips)
-const Accessible = __webpack_require__(182);
-const Attribute = __webpack_require__(183);
-const DateTime = __webpack_require__(184);
-const Document = __webpack_require__(185);
-const DocumentType = __webpack_require__(186);
-const Event = __webpack_require__(187);
-const Func = __webpack_require__(93);
-const PromiseRep = __webpack_require__(188);
-const RegExp = __webpack_require__(189);
-const StyleSheet = __webpack_require__(190);
-const CommentNode = __webpack_require__(191);
-const ElementNode = __webpack_require__(192);
-const TextNode = __webpack_require__(193);
-const ErrorRep = __webpack_require__(95);
-const Window = __webpack_require__(194);
-const ObjectWithText = __webpack_require__(195);
-const ObjectWithURL = __webpack_require__(196);
-const GripArray = __webpack_require__(96);
-const GripMap = __webpack_require__(98);
-const GripMapEntry = __webpack_require__(99);
+const Accessible = __webpack_require__(183);
+const Attribute = __webpack_require__(184);
+const BigInt = __webpack_require__(93);
+const DateTime = __webpack_require__(185);
+const Document = __webpack_require__(186);
+const DocumentType = __webpack_require__(187);
+const Event = __webpack_require__(188);
+const Func = __webpack_require__(94);
+const PromiseRep = __webpack_require__(189);
+const RegExp = __webpack_require__(190);
+const StyleSheet = __webpack_require__(191);
+const CommentNode = __webpack_require__(192);
+const ElementNode = __webpack_require__(193);
+const TextNode = __webpack_require__(194);
+const ErrorRep = __webpack_require__(96);
+const Window = __webpack_require__(195);
+const ObjectWithText = __webpack_require__(196);
+const ObjectWithURL = __webpack_require__(197);
+const GripArray = __webpack_require__(97);
+const GripMap = __webpack_require__(99);
+const GripMapEntry = __webpack_require__(100);
 const Grip = __webpack_require__(58);
 
 // List of all registered template.
 // XXX there should be a way for extensions to register a new
 // or modify an existing rep.
-const reps = [RegExp, StyleSheet, Event, DateTime, CommentNode, Accessible, ElementNode, TextNode, Attribute, Func, PromiseRep, ArrayRep, Document, DocumentType, Window, ObjectWithText, ObjectWithURL, ErrorRep, GripArray, GripMap, GripMapEntry, Grip, Undefined, Null, StringRep, Number, SymbolRep, InfinityRep, NaNRep, Accessor, Obj];
+const reps = [RegExp, StyleSheet, Event, DateTime, CommentNode, Accessible, ElementNode, TextNode, Attribute, Func, PromiseRep, ArrayRep, Document, DocumentType, Window, ObjectWithText, ObjectWithURL, ErrorRep, GripArray, GripMap, GripMapEntry, Grip, Undefined, Null, StringRep, Number, BigInt, SymbolRep, InfinityRep, NaNRep, Accessor, Obj];
 
 /**
  * Generic rep that is used for rendering native JS types or an object.
  * The right template used for rendering is picked automatically according
  * to the current value type. The value must be passed in as the 'object'
  * property.
  */
 const Rep = function (props) {
@@ -1431,16 +1506,17 @@ function getRep(object, defaultRep = Gri
 
 module.exports = {
   Rep,
   REPS: {
     Accessible,
     Accessor,
     ArrayRep,
     Attribute,
+    BigInt,
     CommentNode,
     DateTime,
     Document,
     DocumentType,
     ElementNode,
     ErrorRep,
     Event,
     Func,
@@ -1466,35 +1542,35 @@ module.exports = {
     Window
   },
   // Exporting for tests
   getRep
 };
 
 /***/ }),
 
-/***/ 173:
+/***/ 174:
 /***/ (function(module, exports) {
 
 // removed by extract-text-webpack-plugin
 
 /***/ }),
 
-/***/ 174:
+/***/ 175:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 // Dependencies
-const { getGripType, wrapRender } = __webpack_require__(4);
+const { getGripType, wrapRender } = __webpack_require__(3);
 
 const dom = __webpack_require__(2);
 const { span } = dom;
 
 /**
  * Renders undefined value
  */
 const Undefined = function () {
@@ -1513,28 +1589,28 @@ function supportsObject(object, noGrip =
 
 module.exports = {
   rep: wrapRender(Undefined),
   supportsObject
 };
 
 /***/ }),
 
-/***/ 175:
+/***/ 176:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 // Dependencies
-const { wrapRender } = __webpack_require__(4);
+const { wrapRender } = __webpack_require__(3);
 const dom = __webpack_require__(2);
 const { span } = dom;
 
 /**
  * Renders null value
  */
 function Null(props) {
   return span({ className: "objectBox objectBox-null" }, "null");
@@ -1556,30 +1632,30 @@ function supportsObject(object, noGrip =
 
 module.exports = {
   rep: wrapRender(Null),
   supportsObject
 };
 
 /***/ }),
 
-/***/ 176:
+/***/ 177:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 // Dependencies
 const PropTypes = __webpack_require__(0);
 
-const { getGripType, wrapRender } = __webpack_require__(4);
+const { getGripType, wrapRender } = __webpack_require__(3);
 
 const dom = __webpack_require__(2);
 const { span } = dom;
 
 /**
  * Renders a number
  */
 Number.propTypes = {
@@ -1606,29 +1682,29 @@ function supportsObject(object, noGrip =
 
 module.exports = {
   rep: wrapRender(Number),
   supportsObject
 };
 
 /***/ }),
 
-/***/ 177:
+/***/ 178:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 // Dependencies
 const PropTypes = __webpack_require__(0);
-const { wrapRender, ellipsisElement } = __webpack_require__(4);
+const { wrapRender, ellipsisElement } = __webpack_require__(3);
 const PropRep = __webpack_require__(39);
 const { MODE } = __webpack_require__(5);
 
 const dom = __webpack_require__(2);
 const { span } = dom;
 
 const DEFAULT_TITLE = "Object";
 
@@ -1777,30 +1853,30 @@ function supportsObject(object, noGrip =
 // Exports from this module
 module.exports = {
   rep: wrapRender(ObjectRep),
   supportsObject
 };
 
 /***/ }),
 
-/***/ 178:
+/***/ 179:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 // Dependencies
 const PropTypes = __webpack_require__(0);
 
-const { getGripType, wrapRender } = __webpack_require__(4);
+const { getGripType, wrapRender } = __webpack_require__(3);
 
 const dom = __webpack_require__(2);
 const { rep: StringRep } = __webpack_require__(18);
 const { span } = dom;
 
 const MAX_STRING_LENGTH = 50;
 
 /**
@@ -1837,60 +1913,16 @@ function supportsObject(object, noGrip =
 // Exports from this module
 module.exports = {
   rep: wrapRender(SymbolRep),
   supportsObject
 };
 
 /***/ }),
 
-/***/ 179:
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
-
-// Dependencies
-const PropTypes = __webpack_require__(0);
-
-const { getGripType, wrapRender } = __webpack_require__(4);
-
-const dom = __webpack_require__(2);
-const { span } = dom;
-
-/**
- * Renders a Infinity object
- */
-InfinityRep.propTypes = {
-  object: PropTypes.object.isRequired
-};
-
-function InfinityRep(props) {
-  const { object } = props;
-
-  return span({ className: "objectBox objectBox-number" }, object.type);
-}
-
-function supportsObject(object, noGrip = false) {
-  const type = getGripType(object, noGrip);
-  return type == "Infinity" || type == "-Infinity";
-}
-
-// Exports from this module
-module.exports = {
-  rep: wrapRender(InfinityRep),
-  supportsObject
-};
-
-/***/ }),
-
 /***/ 18:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -1905,17 +1937,17 @@ const {
   escapeString,
   getGripType,
   rawCropString,
   sanitizeString,
   wrapRender,
   isGrip,
   tokenSplitRegex,
   ELLIPSIS
-} = __webpack_require__(4);
+} = __webpack_require__(3);
 
 const dom = __webpack_require__(2);
 const { a, span } = dom;
 
 /**
  * Renders a string. String value is enclosed within quotes.
  */
 StringRep.propTypes = {
@@ -2173,17 +2205,61 @@ module.exports = {
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 // Dependencies
-const { getGripType, wrapRender } = __webpack_require__(4);
+const PropTypes = __webpack_require__(0);
+
+const { getGripType, wrapRender } = __webpack_require__(3);
+
+const dom = __webpack_require__(2);
+const { span } = dom;
+
+/**
+ * Renders a Infinity object
+ */
+InfinityRep.propTypes = {
+  object: PropTypes.object.isRequired
+};
+
+function InfinityRep(props) {
+  const { object } = props;
+
+  return span({ className: "objectBox objectBox-number" }, object.type);
+}
+
+function supportsObject(object, noGrip = false) {
+  const type = getGripType(object, noGrip);
+  return type == "Infinity" || type == "-Infinity";
+}
+
+// Exports from this module
+module.exports = {
+  rep: wrapRender(InfinityRep),
+  supportsObject
+};
+
+/***/ }),
+
+/***/ 181:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
+
+// Dependencies
+const { getGripType, wrapRender } = __webpack_require__(3);
 
 const dom = __webpack_require__(2);
 const { span } = dom;
 
 /**
  * Renders a NaN object
  */
 function NaNRep(props) {
@@ -2197,30 +2273,30 @@ function supportsObject(object, noGrip =
 // Exports from this module
 module.exports = {
   rep: wrapRender(NaNRep),
   supportsObject
 };
 
 /***/ }),
 
-/***/ 181:
+/***/ 182:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 // Dependencies
 const dom = __webpack_require__(2);
 const PropTypes = __webpack_require__(0);
-const { wrapRender } = __webpack_require__(4);
+const { wrapRender } = __webpack_require__(3);
 const { MODE } = __webpack_require__(5);
 const { span } = dom;
 
 /**
  * Renders an object. An object is represented by a list of its
  * properties enclosed in curly brackets.
  */
 Accessor.propTypes = {
@@ -2285,32 +2361,32 @@ function supportsObject(object, noGrip =
 // Exports from this module
 module.exports = {
   rep: wrapRender(Accessor),
   supportsObject
 };
 
 /***/ }),
 
-/***/ 182:
+/***/ 183:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 // ReactJS
 const PropTypes = __webpack_require__(0);
 const { button, span } = __webpack_require__(2);
 
 // Utils
-const { isGrip, wrapRender } = __webpack_require__(4);
+const { isGrip, wrapRender } = __webpack_require__(3);
 const { rep: StringRep } = __webpack_require__(18);
 
 /**
  * Renders Accessible object.
  */
 Accessible.propTypes = {
   object: PropTypes.object.isRequired,
   inspectIconTitle: PropTypes.string,
@@ -2408,33 +2484,33 @@ function supportsObject(object, noGrip =
 // Exports from this module
 module.exports = {
   rep: wrapRender(Accessible),
   supportsObject
 };
 
 /***/ }),
 
-/***/ 183:
+/***/ 184:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 // ReactJS
 const PropTypes = __webpack_require__(0);
 const dom = __webpack_require__(2);
 const { span } = dom;
 
 // Reps
-const { getGripType, isGrip, wrapRender } = __webpack_require__(4);
+const { getGripType, isGrip, wrapRender } = __webpack_require__(3);
 const { rep: StringRep } = __webpack_require__(18);
 
 /**
  * Renders DOM attribute
  */
 Attribute.propTypes = {
   object: PropTypes.object.isRequired
 };
@@ -2464,31 +2540,31 @@ function supportsObject(grip, noGrip = f
 
 module.exports = {
   rep: wrapRender(Attribute),
   supportsObject
 };
 
 /***/ }),
 
-/***/ 184:
+/***/ 185:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 // ReactJS
 const PropTypes = __webpack_require__(0);
 
 // Reps
-const { getGripType, isGrip, wrapRender } = __webpack_require__(4);
+const { getGripType, isGrip, wrapRender } = __webpack_require__(3);
 
 const dom = __webpack_require__(2);
 const { span } = dom;
 
 /**
  * Used to render JS built-in Date() object.
  */
 DateTime.propTypes = {
@@ -2528,17 +2604,17 @@ function supportsObject(grip, noGrip = f
 // Exports from this module
 module.exports = {
   rep: wrapRender(DateTime),
   supportsObject
 };
 
 /***/ }),
 
-/***/ 185:
+/***/ 186:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
@@ -2547,17 +2623,17 @@ module.exports = {
 const PropTypes = __webpack_require__(0);
 
 // Reps
 const {
   getGripType,
   isGrip,
   getURLDisplayString,
   wrapRender
-} = __webpack_require__(4);
+} = __webpack_require__(3);
 
 const dom = __webpack_require__(2);
 const { span } = dom;
 
 /**
  * Renders DOM document object.
  */
 Document.propTypes = {
@@ -2597,31 +2673,31 @@ function supportsObject(object, noGrip =
 // Exports from this module
 module.exports = {
   rep: wrapRender(Document),
   supportsObject
 };
 
 /***/ }),
 
-/***/ 186:
+/***/ 187:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 // ReactJS
 const PropTypes = __webpack_require__(0);
 
 // Reps
-const { getGripType, isGrip, wrapRender } = __webpack_require__(4);
+const { getGripType, isGrip, wrapRender } = __webpack_require__(3);
 const dom = __webpack_require__(2);
 const { span } = dom;
 
 /**
  * Renders DOM documentType object.
  */
 DocumentType.propTypes = {
   object: PropTypes.object.isRequired
@@ -2649,31 +2725,31 @@ function supportsObject(object, noGrip =
 // Exports from this module
 module.exports = {
   rep: wrapRender(DocumentType),
   supportsObject
 };
 
 /***/ }),
 
-/***/ 187:
+/***/ 188:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 // ReactJS
 const PropTypes = __webpack_require__(0);
 
 // Reps
-const { isGrip, wrapRender } = __webpack_require__(4);
+const { isGrip, wrapRender } = __webpack_require__(3);
 
 const { MODE } = __webpack_require__(5);
 const { rep } = __webpack_require__(58);
 
 /**
  * Renders DOM event objects.
  */
 Event.propTypes = {
@@ -2756,30 +2832,30 @@ function supportsObject(grip, noGrip = f
 // Exports from this module
 module.exports = {
   rep: wrapRender(Event),
   supportsObject
 };
 
 /***/ }),
 
-/***/ 188:
+/***/ 189:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 // ReactJS
 const PropTypes = __webpack_require__(0);
 // Dependencies
-const { getGripType, isGrip, wrapRender } = __webpack_require__(4);
+const { getGripType, isGrip, wrapRender } = __webpack_require__(3);
 
 const PropRep = __webpack_require__(39);
 const { MODE } = __webpack_require__(5);
 
 const dom = __webpack_require__(2);
 const { span } = dom;
 
 /**
@@ -2864,31 +2940,31 @@ function supportsObject(object, noGrip =
 // Exports from this module
 module.exports = {
   rep: wrapRender(PromiseRep),
   supportsObject
 };
 
 /***/ }),
 
-/***/ 189:
+/***/ 190:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 // ReactJS
 const PropTypes = __webpack_require__(0);
 
 // Reps
-const { getGripType, isGrip, wrapRender } = __webpack_require__(4);
+const { getGripType, isGrip, wrapRender } = __webpack_require__(3);
 
 const dom = __webpack_require__(2);
 const { span } = dom;
 
 /**
  * Renders a grip object with regular expression.
  */
 RegExp.propTypes = {
@@ -2920,17 +2996,17 @@ function supportsObject(object, noGrip =
 // Exports from this module
 module.exports = {
   rep: wrapRender(RegExp),
   supportsObject
 };
 
 /***/ }),
 
-/***/ 190:
+/***/ 191:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
@@ -2939,17 +3015,17 @@ module.exports = {
 const PropTypes = __webpack_require__(0);
 
 // Reps
 const {
   getGripType,
   isGrip,
   getURLDisplayString,
   wrapRender
-} = __webpack_require__(4);
+} = __webpack_require__(3);
 
 const dom = __webpack_require__(2);
 const { span } = dom;
 
 /**
  * Renders a grip representing CSSStyleSheet
  */
 StyleSheet.propTypes = {
@@ -2989,36 +3065,36 @@ function supportsObject(object, noGrip =
 
 module.exports = {
   rep: wrapRender(StyleSheet),
   supportsObject
 };
 
 /***/ }),
 
-/***/ 191:
+/***/ 192:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 // Dependencies
 const PropTypes = __webpack_require__(0);
 const {
   isGrip,
   cropString,
   cropMultipleLines,
   wrapRender
-} = __webpack_require__(4);
+} = __webpack_require__(3);
 const { MODE } = __webpack_require__(5);
-const nodeConstants = __webpack_require__(94);
+const nodeConstants = __webpack_require__(95);
 const dom = __webpack_require__(2);
 const { span } = dom;
 
 /**
  * Renders DOM comment node.
  */
 CommentNode.propTypes = {
   object: PropTypes.object.isRequired,
@@ -3053,34 +3129,34 @@ function supportsObject(object, noGrip =
 // Exports from this module
 module.exports = {
   rep: wrapRender(CommentNode),
   supportsObject
 };
 
 /***/ }),
 
-/***/ 192:
+/***/ 193:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 // ReactJS
 const PropTypes = __webpack_require__(0);
 
 // Utils
-const { isGrip, wrapRender } = __webpack_require__(4);
+const { isGrip, wrapRender } = __webpack_require__(3);
 const { rep: StringRep, isLongString } = __webpack_require__(18);
 const { MODE } = __webpack_require__(5);
-const nodeConstants = __webpack_require__(94);
+const nodeConstants = __webpack_require__(95);
 
 const dom = __webpack_require__(2);
 const { span } = dom;
 
 const MAX_ATTRIBUTE_LENGTH = 50;
 
 /**
  * Renders DOM element node.
@@ -3222,31 +3298,31 @@ function supportsObject(object, noGrip =
 module.exports = {
   rep: wrapRender(ElementNode),
   supportsObject,
   MAX_ATTRIBUTE_LENGTH
 };
 
 /***/ }),
 
-/***/ 193:
+/***/ 194:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 // ReactJS
 const PropTypes = __webpack_require__(0);
 
 // Reps
-const { isGrip, cropString, wrapRender } = __webpack_require__(4);
+const { isGrip, cropString, wrapRender } = __webpack_require__(3);
 const { MODE } = __webpack_require__(5);
 
 const dom = __webpack_require__(2);
 const { span } = dom;
 
 /**
  * Renders DOM #text node.
  */
@@ -3327,17 +3403,17 @@ function supportsObject(grip, noGrip = f
 // Exports from this module
 module.exports = {
   rep: wrapRender(TextNode),
   supportsObject
 };
 
 /***/ }),
 
-/***/ 194:
+/***/ 195:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
@@ -3346,17 +3422,17 @@ module.exports = {
 const PropTypes = __webpack_require__(0);
 
 // Reps
 const {
   getGripType,
   isGrip,
   getURLDisplayString,
   wrapRender
-} = __webpack_require__(4);
+} = __webpack_require__(3);
 
 const { MODE } = __webpack_require__(5);
 
 const dom = __webpack_require__(2);
 const { span } = dom;
 
 /**
  * Renders a grip representing a window.
@@ -3406,31 +3482,31 @@ function supportsObject(object, noGrip =
 // Exports from this module
 module.exports = {
   rep: wrapRender(WindowRep),
   supportsObject
 };
 
 /***/ }),
 
-/***/ 195:
+/***/ 196:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 // ReactJS
 const PropTypes = __webpack_require__(0);
 
 // Reps
-const { isGrip, wrapRender } = __webpack_require__(4);
+const { isGrip, wrapRender } = __webpack_require__(3);
 
 const String = __webpack_require__(18).rep;
 
 const dom = __webpack_require__(2);
 const { span } = dom;
 
 /**
  * Renders a grip object with textual data.
@@ -3469,31 +3545,31 @@ function supportsObject(grip, noGrip = f
 // Exports from this module
 module.exports = {
   rep: wrapRender(ObjectWithText),
   supportsObject
 };
 
 /***/ }),
 
-/***/ 196:
+/***/ 197:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 // ReactJS
 const PropTypes = __webpack_require__(0);
 
 // Reps
-const { isGrip, getURLDisplayString, wrapRender } = __webpack_require__(4);
+const { isGrip, getURLDisplayString, wrapRender } = __webpack_require__(3);
 
 const dom = __webpack_require__(2);
 const { span } = dom;
 
 /**
  * Renders a grip object with URL data.
  */
 ObjectWithURL.propTypes = {
@@ -3532,60 +3608,60 @@ function supportsObject(grip, noGrip = f
 // Exports from this module
 module.exports = {
   rep: wrapRender(ObjectWithURL),
   supportsObject
 };
 
 /***/ }),
 
-/***/ 197:
+/***/ 198:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
-const ObjectInspector = __webpack_require__(198);
+const ObjectInspector = __webpack_require__(199);
 const utils = __webpack_require__(61);
 const reducer = __webpack_require__(60);
 
 module.exports = { ObjectInspector, utils, reducer };
 
 /***/ }),
 
-/***/ 198:
+/***/ 199:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 var _devtoolsComponents = __webpack_require__(73);
 
 var _devtoolsComponents2 = _interopRequireDefault(_devtoolsComponents);
 
 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 const { Component, createFactory, createElement } = __webpack_require__(1);
-const { connect } = __webpack_require__(102);
-const actions = __webpack_require__(199);
+const { connect } = __webpack_require__(103);
+const actions = __webpack_require__(200);
 
 const selectors = __webpack_require__(60);
 
 const Tree = createFactory(_devtoolsComponents2.default.Tree);
-__webpack_require__(200);
-
-const ObjectInspectorItem = createFactory(__webpack_require__(201));
+__webpack_require__(201);
+
+const ObjectInspectorItem = createFactory(__webpack_require__(202));
 
 const classnames = __webpack_require__(6);
 
 const Utils = __webpack_require__(61);
 const { renderRep, shouldRenderRootsInReps } = Utils;
 const {
   getChildrenWithEvaluations,
   getActor,
@@ -3841,23 +3917,37 @@ module.exports = props => {
     return renderRep(roots[0], props);
   }
 
   return createElement(OI, props);
 };
 
 /***/ }),
 
-/***/ 199:
+/***/ 2:
+/***/ (function(module, exports) {
+
+module.exports = __WEBPACK_EXTERNAL_MODULE_2__;
+
+/***/ }),
+
+/***/ 20:
+/***/ (function(module, exports) {
+
+module.exports = __WEBPACK_EXTERNAL_MODULE_20__;
+
+/***/ }),
+
+/***/ 200:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
-const { loadItemProperties } = __webpack_require__(103); /* This Source Code Form is subject to the terms of the Mozilla Public
+const { loadItemProperties } = __webpack_require__(104); /* This Source Code Form is subject to the terms of the Mozilla Public
                                                                     * License, v. 2.0. If a copy of the MPL was not distributed with this
                                                                     * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
 
 const { getLoadedProperties, getActors } = __webpack_require__(60);
 
 /**
  * This action is responsible for expanding a given node, which also means that
  * it will call the action responsible to fetch properties.
@@ -3962,38 +4052,24 @@ module.exports = {
   nodeCollapse,
   nodeLoadProperties,
   nodePropertiesLoaded,
   rootsChanged
 };
 
 /***/ }),
 
-/***/ 2:
-/***/ (function(module, exports) {
-
-module.exports = __WEBPACK_EXTERNAL_MODULE_2__;
-
-/***/ }),
-
-/***/ 20:
-/***/ (function(module, exports) {
-
-module.exports = __WEBPACK_EXTERNAL_MODULE_20__;
-
-/***/ }),
-
-/***/ 200:
+/***/ 201:
 /***/ (function(module, exports) {
 
 // removed by extract-text-webpack-plugin
 
 /***/ }),
 
-/***/ 201:
+/***/ 202:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 var _devtoolsServices = __webpack_require__(20);
 
 var _devtoolsServices2 = _interopRequireDefault(_devtoolsServices);
@@ -4222,17 +4298,17 @@ class ObjectInspectorItem extends Compon
     return dom.div(this.getTreeItemProps(), arrow, labelElement, delimiter, value);
   }
 }
 
 module.exports = ObjectInspectorItem;
 
 /***/ }),
 
-/***/ 202:
+/***/ 203:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
@@ -4247,239 +4323,17 @@ function documentHasSelection() {
 }
 
 module.exports = {
   documentHasSelection
 };
 
 /***/ }),
 
-/***/ 38:
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
-
-// Dependencies
-const dom = __webpack_require__(2);
-const PropTypes = __webpack_require__(0);
-const { wrapRender } = __webpack_require__(4);
-const { MODE } = __webpack_require__(5);
-const { span } = dom;
-
-const ModePropType = PropTypes.oneOf(
-// @TODO Change this to Object.values when supported in Node's version of V8
-Object.keys(MODE).map(key => MODE[key]));
-
-/**
- * Renders an array. The array is enclosed by left and right bracket
- * and the max number of rendered items depends on the current mode.
- */
-ArrayRep.propTypes = {
-  mode: ModePropType,
-  object: PropTypes.array.isRequired
-};
-
-function ArrayRep(props) {
-  const { object, mode = MODE.SHORT } = props;
-
-  let items;
-  let brackets;
-  const needSpace = function (space) {
-    return space ? { left: "[ ", right: " ]" } : { left: "[", right: "]" };
-  };
-
-  if (mode === MODE.TINY) {
-    const isEmpty = object.length === 0;
-    if (isEmpty) {
-      items = [];
-    } else {
-      items = [span({
-        className: "more-ellipsis",
-        title: "more…"
-      }, "…")];
-    }
-    brackets = needSpace(false);
-  } else {
-    items = arrayIterator(props, object, maxLengthMap.get(mode));
-    brackets = needSpace(items.length > 0);
-  }
-
-  return span({
-    className: "objectBox objectBox-array"
-  }, span({
-    className: "arrayLeftBracket"
-  }, brackets.left), ...items, span({
-    className: "arrayRightBracket"
-  }, brackets.right));
-}
-
-function arrayIterator(props, array, max) {
-  const items = [];
-
-  for (let i = 0; i < array.length && i < max; i++) {
-    const config = {
-      mode: MODE.TINY,
-      delim: i == array.length - 1 ? "" : ", "
-    };
-    let item;
-
-    try {
-      item = ItemRep({
-        ...props,
-        ...config,
-        object: array[i]
-      });
-    } catch (exc) {
-      item = ItemRep({
-        ...props,
-        ...config,
-        object: exc
-      });
-    }
-    items.push(item);
-  }
-
-  if (array.length > max) {
-    items.push(span({
-      className: "more-ellipsis",
-      title: "more…"
-    }, "…"));
-  }
-
-  return items;
-}
-
-/**
- * Renders array item. Individual values are separated by a comma.
- */
-ItemRep.propTypes = {
-  object: PropTypes.any.isRequired,
-  delim: PropTypes.string.isRequired,
-  mode: ModePropType
-};
-
-function ItemRep(props) {
-  const { Rep } = __webpack_require__(17);
-
-  const { object, delim, mode } = props;
-  return span({}, Rep({
-    ...props,
-    object: object,
-    mode: mode
-  }), delim);
-}
-
-function getLength(object) {
-  return object.length;
-}
-
-function supportsObject(object, noGrip = false) {
-  return noGrip && (Array.isArray(object) || Object.prototype.toString.call(object) === "[object Arguments]");
-}
-
-const maxLengthMap = new Map();
-maxLengthMap.set(MODE.SHORT, 3);
-maxLengthMap.set(MODE.LONG, 10);
-
-// Exports from this module
-module.exports = {
-  rep: wrapRender(ArrayRep),
-  supportsObject,
-  maxLengthMap,
-  getLength,
-  ModePropType
-};
-
-/***/ }),
-
-/***/ 39:
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
-
-// Dependencies
-const PropTypes = __webpack_require__(0);
-const { maybeEscapePropertyName, wrapRender } = __webpack_require__(4);
-const { MODE } = __webpack_require__(5);
-
-const { span } = __webpack_require__(2);
-
-/**
- * Property for Obj (local JS objects), Grip (remote JS objects)
- * and GripMap (remote JS maps and weakmaps) reps.
- * It's used to render object properties.
- */
-PropRep.propTypes = {
-  // Property name.
-  name: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,
-  // Equal character rendered between property name and value.
-  equal: PropTypes.string,
-  // @TODO Change this to Object.values when supported in Node's version of V8
-  mode: PropTypes.oneOf(Object.keys(MODE).map(key => MODE[key])),
-  onDOMNodeMouseOver: PropTypes.func,
-  onDOMNodeMouseOut: PropTypes.func,
-  onInspectIconClick: PropTypes.func,
-  // Normally a PropRep will quote a property name that isn't valid
-  // when unquoted; but this flag can be used to suppress the
-  // quoting.
-  suppressQuotes: PropTypes.bool
-};
-
-/**
- * Function that given a name, a delimiter and an object returns an array
- * of React elements representing an object property (e.g. `name: value`)
- *
- * @param {Object} props
- * @return {Array} Array of React elements.
- */
-function PropRep(props) {
-  const Grip = __webpack_require__(58);
-  const { Rep } = __webpack_require__(17);
-
-  let { name, mode, equal, suppressQuotes } = props;
-
-  let key;
-  // The key can be a simple string, for plain objects,
-  // or another object for maps and weakmaps.
-  if (typeof name === "string") {
-    if (!suppressQuotes) {
-      name = maybeEscapePropertyName(name);
-    }
-    key = span({ className: "nodeName" }, name);
-  } else {
-    key = Rep({
-      ...props,
-      className: "nodeName",
-      object: name,
-      mode: mode || MODE.TINY,
-      defaultRep: Grip
-    });
-  }
-
-  return [key, span({
-    className: "objectEqual"
-  }, equal), Rep({ ...props })];
-}
-
-// Exports from this module
-module.exports = wrapRender(PropRep);
-
-/***/ }),
-
-/***/ 4:
+/***/ 3:
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
@@ -4902,16 +4756,238 @@ module.exports = {
   getGripType,
   tokenSplitRegex,
   ellipsisElement,
   ELLIPSIS
 };
 
 /***/ }),
 
+/***/ 38:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
+
+// Dependencies
+const dom = __webpack_require__(2);
+const PropTypes = __webpack_require__(0);
+const { wrapRender } = __webpack_require__(3);
+const { MODE } = __webpack_require__(5);
+const { span } = dom;
+
+const ModePropType = PropTypes.oneOf(
+// @TODO Change this to Object.values when supported in Node's version of V8
+Object.keys(MODE).map(key => MODE[key]));
+
+/**
+ * Renders an array. The array is enclosed by left and right bracket
+ * and the max number of rendered items depends on the current mode.
+ */
+ArrayRep.propTypes = {
+  mode: ModePropType,
+  object: PropTypes.array.isRequired
+};
+
+function ArrayRep(props) {
+  const { object, mode = MODE.SHORT } = props;
+
+  let items;
+  let brackets;
+  const needSpace = function (space) {
+    return space ? { left: "[ ", right: " ]" } : { left: "[", right: "]" };
+  };
+
+  if (mode === MODE.TINY) {
+    const isEmpty = object.length === 0;
+    if (isEmpty) {
+      items = [];
+    } else {
+      items = [span({
+        className: "more-ellipsis",
+        title: "more…"
+      }, "…")];
+    }
+    brackets = needSpace(false);
+  } else {
+    items = arrayIterator(props, object, maxLengthMap.get(mode));
+    brackets = needSpace(items.length > 0);
+  }
+
+  return span({
+    className: "objectBox objectBox-array"
+  }, span({
+    className: "arrayLeftBracket"
+  }, brackets.left), ...items, span({
+    className: "arrayRightBracket"
+  }, brackets.right));
+}
+
+function arrayIterator(props, array, max) {
+  const items = [];
+
+  for (let i = 0; i < array.length && i < max; i++) {
+    const config = {
+      mode: MODE.TINY,
+      delim: i == array.length - 1 ? "" : ", "
+    };
+    let item;
+
+    try {
+      item = ItemRep({
+        ...props,
+        ...config,
+        object: array[i]
+      });
+    } catch (exc) {
+      item = ItemRep({
+        ...props,
+        ...config,
+        object: exc
+      });
+    }
+    items.push(item);
+  }
+
+  if (array.length > max) {
+    items.push(span({
+      className: "more-ellipsis",
+      title: "more…"
+    }, "…"));
+  }
+
+  return items;
+}
+
+/**
+ * Renders array item. Individual values are separated by a comma.
+ */
+ItemRep.propTypes = {
+  object: PropTypes.any.isRequired,
+  delim: PropTypes.string.isRequired,
+  mode: ModePropType
+};
+
+function ItemRep(props) {
+  const { Rep } = __webpack_require__(17);
+
+  const { object, delim, mode } = props;