{"version":3,"sources":["jsdelivr-header.js","/node_modules/lodash/_listCacheClear.js","/node_modules/lodash/eq.js","/node_modules/lodash/_assocIndexOf.js","/node_modules/lodash/_listCacheDelete.js","/node_modules/lodash/_listCacheGet.js","/node_modules/lodash/_listCacheHas.js","/node_modules/lodash/_listCacheSet.js","/node_modules/lodash/_ListCache.js","/node_modules/lodash/_stackClear.js","/node_modules/lodash/_stackDelete.js","/node_modules/lodash/_stackGet.js","/node_modules/lodash/_stackHas.js","/node_modules/lodash/_freeGlobal.js","/node_modules/lodash/_root.js","/node_modules/lodash/_Symbol.js","/node_modules/lodash/_getRawTag.js","/node_modules/lodash/_objectToString.js","/node_modules/lodash/_baseGetTag.js","/node_modules/lodash/isObject.js","/node_modules/lodash/isFunction.js","/node_modules/lodash/_coreJsData.js","/node_modules/lodash/_isMasked.js","/node_modules/lodash/_toSource.js","/node_modules/lodash/_baseIsNative.js","/node_modules/lodash/_getValue.js","/node_modules/lodash/_getNative.js","/node_modules/lodash/_Map.js","/node_modules/lodash/_nativeCreate.js","/node_modules/lodash/_hashClear.js","/node_modules/lodash/_hashDelete.js","/node_modules/lodash/_hashGet.js","/node_modules/lodash/_hashHas.js","/node_modules/lodash/_hashSet.js","/node_modules/lodash/_Hash.js","/node_modules/lodash/_mapCacheClear.js","/node_modules/lodash/_isKeyable.js","/node_modules/lodash/_getMapData.js","/node_modules/lodash/_mapCacheDelete.js","/node_modules/lodash/_mapCacheGet.js","/node_modules/lodash/_mapCacheHas.js","/node_modules/lodash/_mapCacheSet.js","/node_modules/lodash/_MapCache.js","/node_modules/lodash/_stackSet.js","/node_modules/lodash/_Stack.js","/node_modules/lodash/_arrayEach.js","/node_modules/lodash/_defineProperty.js","/node_modules/lodash/_baseAssignValue.js","/node_modules/lodash/_assignValue.js","/node_modules/lodash/_copyObject.js","/node_modules/lodash/_baseTimes.js","/node_modules/lodash/isObjectLike.js","/node_modules/lodash/_baseIsArguments.js","/node_modules/lodash/isArguments.js","/node_modules/lodash/isArray.js","/node_modules/lodash/stubFalse.js","/node_modules/lodash/isBuffer.js","/node_modules/lodash/_isIndex.js","/node_modules/lodash/isLength.js","/node_modules/lodash/_baseIsTypedArray.js","/node_modules/lodash/_baseUnary.js","/node_modules/lodash/_nodeUtil.js","/node_modules/lodash/isTypedArray.js","/node_modules/lodash/_arrayLikeKeys.js","/node_modules/lodash/_isPrototype.js","/node_modules/lodash/_overArg.js","/node_modules/lodash/_nativeKeys.js","/node_modules/lodash/_baseKeys.js","/node_modules/lodash/isArrayLike.js","/node_modules/lodash/keys.js","/node_modules/lodash/_baseAssign.js","/node_modules/lodash/_nativeKeysIn.js","/node_modules/lodash/_baseKeysIn.js","/node_modules/lodash/keysIn.js","/node_modules/lodash/_baseAssignIn.js","/node_modules/lodash/_cloneBuffer.js","/node_modules/lodash/_copyArray.js","/node_modules/lodash/_arrayFilter.js","/node_modules/lodash/stubArray.js","/node_modules/lodash/_getSymbols.js","/node_modules/lodash/_copySymbols.js","/node_modules/lodash/_arrayPush.js","/node_modules/lodash/_getPrototype.js","/node_modules/lodash/_getSymbolsIn.js","/node_modules/lodash/_copySymbolsIn.js","/node_modules/lodash/_baseGetAllKeys.js","/node_modules/lodash/_getAllKeys.js","/node_modules/lodash/_getAllKeysIn.js","/node_modules/lodash/_DataView.js","/node_modules/lodash/_Promise.js","/node_modules/lodash/_Set.js","/node_modules/lodash/_WeakMap.js","/node_modules/lodash/_getTag.js","/node_modules/lodash/_initCloneArray.js","/node_modules/lodash/_Uint8Array.js","/node_modules/lodash/_cloneArrayBuffer.js","/node_modules/lodash/_cloneDataView.js","/node_modules/lodash/_cloneRegExp.js","/node_modules/lodash/_cloneSymbol.js","/node_modules/lodash/_cloneTypedArray.js","/node_modules/lodash/_initCloneByTag.js","/node_modules/lodash/_baseCreate.js","/node_modules/lodash/_initCloneObject.js","/node_modules/lodash/_baseIsMap.js","/node_modules/lodash/isMap.js","/node_modules/lodash/_baseIsSet.js","/node_modules/lodash/isSet.js","/node_modules/lodash/_baseClone.js","/node_modules/lodash/cloneDeep.js","/npm/@taze-editor/taze-plugin-node-id@2.0.0/src/withNodeId.ts","/npm/@taze-editor/taze-plugin-node-id@2.0.0/src/createNodeIdPlugin.ts"],"names":[],"mappings":"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","file":"/npm/@taze-editor/taze-plugin-node-id@2.0.0/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@taze-editor/taze-plugin-node-id@2.0.0/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n  this.__data__ = [];\n  this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n  return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n  var length = array.length;\n  while (length--) {\n    if (eq(array[length][0], key)) {\n      return length;\n    }\n  }\n  return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    return false;\n  }\n  var lastIndex = data.length - 1;\n  if (index == lastIndex) {\n    data.pop();\n  } else {\n    splice.call(data, index, 1);\n  }\n  --this.size;\n  return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n  return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    ++this.size;\n    data.push([key, value]);\n  } else {\n    data[index][1] = value;\n  }\n  return this;\n}\n\nmodule.exports = listCacheSet;\n","var listCacheClear = require('./_listCacheClear'),\n    listCacheDelete = require('./_listCacheDelete'),\n    listCacheGet = require('./_listCacheGet'),\n    listCacheHas = require('./_listCacheHas'),\n    listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n  var index = -1,\n      length = entries == null ? 0 : entries.length;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n  this.__data__ = new ListCache;\n  this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n  var data = this.__data__,\n      result = data['delete'](key);\n\n  this.size = data.size;\n  return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n  return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n  return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n  var isOwn = hasOwnProperty.call(value, symToStringTag),\n      tag = value[symToStringTag];\n\n  try {\n    value[symToStringTag] = undefined;\n    var unmasked = true;\n  } catch (e) {}\n\n  var result = nativeObjectToString.call(value);\n  if (unmasked) {\n    if (isOwn) {\n      value[symToStringTag] = tag;\n    } else {\n      delete value[symToStringTag];\n    }\n  }\n  return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n  return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n    getRawTag = require('./_getRawTag'),\n    objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n    undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n  if (value == null) {\n    return value === undefined ? undefinedTag : nullTag;\n  }\n  return (symToStringTag && symToStringTag in Object(value))\n    ? getRawTag(value)\n    : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseGetTag = require('./_baseGetTag'),\n    isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n    funcTag = '[object Function]',\n    genTag = '[object GeneratorFunction]',\n    proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n  if (!isObject(value)) {\n    return false;\n  }\n  // The use of `Object#toString` avoids issues with the `typeof` operator\n  // in Safari 9 which returns 'object' for typed arrays and other constructors.\n  var tag = baseGetTag(value);\n  return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n  var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n  return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n  return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n  if (func != null) {\n    try {\n      return funcToString.call(func);\n    } catch (e) {}\n    try {\n      return (func + '');\n    } catch (e) {}\n  }\n  return '';\n}\n\nmodule.exports = toSource;\n","var isFunction = require('./isFunction'),\n    isMasked = require('./_isMasked'),\n    isObject = require('./isObject'),\n    toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n    objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n  funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n  .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n *  else `false`.\n */\nfunction baseIsNative(value) {\n  if (!isObject(value) || isMasked(value)) {\n    return false;\n  }\n  var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n  return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n  return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var baseIsNative = require('./_baseIsNative'),\n    getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n  var value = getValue(object, key);\n  return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var getNative = require('./_getNative'),\n    root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n  this.__data__ = nativeCreate ? nativeCreate(null) : {};\n  this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n  var result = this.has(key) && delete this.__data__[key];\n  this.size -= result ? 1 : 0;\n  return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n  var data = this.__data__;\n  if (nativeCreate) {\n    var result = data[key];\n    return result === HASH_UNDEFINED ? undefined : result;\n  }\n  return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n  var data = this.__data__;\n  return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n  var data = this.__data__;\n  this.size += this.has(key) ? 0 : 1;\n  data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n  return this;\n}\n\nmodule.exports = hashSet;\n","var hashClear = require('./_hashClear'),\n    hashDelete = require('./_hashDelete'),\n    hashGet = require('./_hashGet'),\n    hashHas = require('./_hashHas'),\n    hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n  var index = -1,\n      length = entries == null ? 0 : entries.length;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var Hash = require('./_Hash'),\n    ListCache = require('./_ListCache'),\n    Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n  this.size = 0;\n  this.__data__ = {\n    'hash': new Hash,\n    'map': new (Map || ListCache),\n    'string': new Hash\n  };\n}\n\nmodule.exports = mapCacheClear;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n  var type = typeof value;\n  return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n    ? (value !== '__proto__')\n    : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n  var data = map.__data__;\n  return isKeyable(key)\n    ? data[typeof key == 'string' ? 'string' : 'hash']\n    : data.map;\n}\n\nmodule.exports = getMapData;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n  var result = getMapData(this, key)['delete'](key);\n  this.size -= result ? 1 : 0;\n  return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n  return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n  return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n  var data = getMapData(this, key),\n      size = data.size;\n\n  data.set(key, value);\n  this.size += data.size == size ? 0 : 1;\n  return this;\n}\n\nmodule.exports = mapCacheSet;\n","var mapCacheClear = require('./_mapCacheClear'),\n    mapCacheDelete = require('./_mapCacheDelete'),\n    mapCacheGet = require('./_mapCacheGet'),\n    mapCacheHas = require('./_mapCacheHas'),\n    mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n  var index = -1,\n      length = entries == null ? 0 : entries.length;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var ListCache = require('./_ListCache'),\n    Map = require('./_Map'),\n    MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n  var data = this.__data__;\n  if (data instanceof ListCache) {\n    var pairs = data.__data__;\n    if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n      pairs.push([key, value]);\n      this.size = ++data.size;\n      return this;\n    }\n    data = this.__data__ = new MapCache(pairs);\n  }\n  data.set(key, value);\n  this.size = data.size;\n  return this;\n}\n\nmodule.exports = stackSet;\n","var ListCache = require('./_ListCache'),\n    stackClear = require('./_stackClear'),\n    stackDelete = require('./_stackDelete'),\n    stackGet = require('./_stackGet'),\n    stackHas = require('./_stackHas'),\n    stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n  var data = this.__data__ = new ListCache(entries);\n  this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n  var index = -1,\n      length = array == null ? 0 : array.length;\n\n  while (++index < length) {\n    if (iteratee(array[index], index, array) === false) {\n      break;\n    }\n  }\n  return array;\n}\n\nmodule.exports = arrayEach;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n  try {\n    var func = getNative(Object, 'defineProperty');\n    func({}, '', {});\n    return func;\n  } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n  if (key == '__proto__' && defineProperty) {\n    defineProperty(object, key, {\n      'configurable': true,\n      'enumerable': true,\n      'value': value,\n      'writable': true\n    });\n  } else {\n    object[key] = value;\n  }\n}\n\nmodule.exports = baseAssignValue;\n","var baseAssignValue = require('./_baseAssignValue'),\n    eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n  var objValue = object[key];\n  if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n      (value === undefined && !(key in object))) {\n    baseAssignValue(object, key, value);\n  }\n}\n\nmodule.exports = assignValue;\n","var assignValue = require('./_assignValue'),\n    baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n  var isNew = !object;\n  object || (object = {});\n\n  var index = -1,\n      length = props.length;\n\n  while (++index < length) {\n    var key = props[index];\n\n    var newValue = customizer\n      ? customizer(object[key], source[key], key, object, source)\n      : undefined;\n\n    if (newValue === undefined) {\n      newValue = source[key];\n    }\n    if (isNew) {\n      baseAssignValue(object, key, newValue);\n    } else {\n      assignValue(object, key, newValue);\n    }\n  }\n  return object;\n}\n\nmodule.exports = copyObject;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n  var index = -1,\n      result = Array(n);\n\n  while (++index < n) {\n    result[index] = iteratee(index);\n  }\n  return result;\n}\n\nmodule.exports = baseTimes;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n  return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsArguments = require('./_baseIsArguments'),\n    isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n *  else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n  return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n    !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n  return false;\n}\n\nmodule.exports = stubFalse;\n","var root = require('./_root'),\n    stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n  var type = typeof value;\n  length = length == null ? MAX_SAFE_INTEGER : length;\n\n  return !!length &&\n    (type == 'number' ||\n      (type != 'symbol' && reIsUint.test(value))) &&\n        (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n  return typeof value == 'number' &&\n    value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var baseGetTag = require('./_baseGetTag'),\n    isLength = require('./isLength'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n    arrayTag = '[object Array]',\n    boolTag = '[object Boolean]',\n    dateTag = '[object Date]',\n    errorTag = '[object Error]',\n    funcTag = '[object Function]',\n    mapTag = '[object Map]',\n    numberTag = '[object Number]',\n    objectTag = '[object Object]',\n    regexpTag = '[object RegExp]',\n    setTag = '[object Set]',\n    stringTag = '[object String]',\n    weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n    dataViewTag = '[object DataView]',\n    float32Tag = '[object Float32Array]',\n    float64Tag = '[object Float64Array]',\n    int8Tag = '[object Int8Array]',\n    int16Tag = '[object Int16Array]',\n    int32Tag = '[object Int32Array]',\n    uint8Tag = '[object Uint8Array]',\n    uint8ClampedTag = '[object Uint8ClampedArray]',\n    uint16Tag = '[object Uint16Array]',\n    uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n  return isObjectLike(value) &&\n    isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n  return function(value) {\n    return func(value);\n  };\n}\n\nmodule.exports = baseUnary;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n  try {\n    // Use `util.types` for Node.js 10+.\n    var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n    if (types) {\n      return types;\n    }\n\n    // Legacy `process.binding('util')` for Node.js < 10.\n    return freeProcess && freeProcess.binding && freeProcess.binding('util');\n  } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n    baseUnary = require('./_baseUnary'),\n    nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var baseTimes = require('./_baseTimes'),\n    isArguments = require('./isArguments'),\n    isArray = require('./isArray'),\n    isBuffer = require('./isBuffer'),\n    isIndex = require('./_isIndex'),\n    isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n  var isArr = isArray(value),\n      isArg = !isArr && isArguments(value),\n      isBuff = !isArr && !isArg && isBuffer(value),\n      isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n      skipIndexes = isArr || isArg || isBuff || isType,\n      result = skipIndexes ? baseTimes(value.length, String) : [],\n      length = result.length;\n\n  for (var key in value) {\n    if ((inherited || hasOwnProperty.call(value, key)) &&\n        !(skipIndexes && (\n           // Safari 9 has enumerable `arguments.length` in strict mode.\n           key == 'length' ||\n           // Node.js 0.10 has enumerable non-index properties on buffers.\n           (isBuff && (key == 'offset' || key == 'parent')) ||\n           // PhantomJS 2 has enumerable non-index properties on typed arrays.\n           (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n           // Skip index properties.\n           isIndex(key, length)\n        ))) {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n  var Ctor = value && value.constructor,\n      proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n  return value === proto;\n}\n\nmodule.exports = isPrototype;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n  return function(arg) {\n    return func(transform(arg));\n  };\n}\n\nmodule.exports = overArg;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var isPrototype = require('./_isPrototype'),\n    nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n  if (!isPrototype(object)) {\n    return nativeKeys(object);\n  }\n  var result = [];\n  for (var key in Object(object)) {\n    if (hasOwnProperty.call(object, key) && key != 'constructor') {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nmodule.exports = baseKeys;\n","var isFunction = require('./isFunction'),\n    isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n  return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n    baseKeys = require('./_baseKeys'),\n    isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n *   this.a = 1;\n *   this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n  return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","var copyObject = require('./_copyObject'),\n    keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n  return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n  var result = [];\n  if (object != null) {\n    for (var key in Object(object)) {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var isObject = require('./isObject'),\n    isPrototype = require('./_isPrototype'),\n    nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n  if (!isObject(object)) {\n    return nativeKeysIn(object);\n  }\n  var isProto = isPrototype(object),\n      result = [];\n\n  for (var key in object) {\n    if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nmodule.exports = baseKeysIn;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n    baseKeysIn = require('./_baseKeysIn'),\n    isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n *   this.a = 1;\n *   this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n  return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var copyObject = require('./_copyObject'),\n    keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n  return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n    allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of  `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n  if (isDeep) {\n    return buffer.slice();\n  }\n  var length = buffer.length,\n      result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n  buffer.copy(result);\n  return result;\n}\n\nmodule.exports = cloneBuffer;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n  var index = -1,\n      length = source.length;\n\n  array || (array = Array(length));\n  while (++index < length) {\n    array[index] = source[index];\n  }\n  return array;\n}\n\nmodule.exports = copyArray;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n  var index = -1,\n      length = array == null ? 0 : array.length,\n      resIndex = 0,\n      result = [];\n\n  while (++index < length) {\n    var value = array[index];\n    if (predicate(value, index, array)) {\n      result[resIndex++] = value;\n    }\n  }\n  return result;\n}\n\nmodule.exports = arrayFilter;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n  return [];\n}\n\nmodule.exports = stubArray;\n","var arrayFilter = require('./_arrayFilter'),\n    stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n  if (object == null) {\n    return [];\n  }\n  object = Object(object);\n  return arrayFilter(nativeGetSymbols(object), function(symbol) {\n    return propertyIsEnumerable.call(object, symbol);\n  });\n};\n\nmodule.exports = getSymbols;\n","var copyObject = require('./_copyObject'),\n    getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n  return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n  var index = -1,\n      length = values.length,\n      offset = array.length;\n\n  while (++index < length) {\n    array[offset + index] = values[index];\n  }\n  return array;\n}\n\nmodule.exports = arrayPush;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var arrayPush = require('./_arrayPush'),\n    getPrototype = require('./_getPrototype'),\n    getSymbols = require('./_getSymbols'),\n    stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n  var result = [];\n  while (object) {\n    arrayPush(result, getSymbols(object));\n    object = getPrototype(object);\n  }\n  return result;\n};\n\nmodule.exports = getSymbolsIn;\n","var copyObject = require('./_copyObject'),\n    getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n  return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","var arrayPush = require('./_arrayPush'),\n    isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n  var result = keysFunc(object);\n  return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n    getSymbols = require('./_getSymbols'),\n    keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n  return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n    getSymbolsIn = require('./_getSymbolsIn'),\n    keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n  return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","var getNative = require('./_getNative'),\n    root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var getNative = require('./_getNative'),\n    root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n    root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var getNative = require('./_getNative'),\n    root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var DataView = require('./_DataView'),\n    Map = require('./_Map'),\n    Promise = require('./_Promise'),\n    Set = require('./_Set'),\n    WeakMap = require('./_WeakMap'),\n    baseGetTag = require('./_baseGetTag'),\n    toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n    objectTag = '[object Object]',\n    promiseTag = '[object Promise]',\n    setTag = '[object Set]',\n    weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n    mapCtorString = toSource(Map),\n    promiseCtorString = toSource(Promise),\n    setCtorString = toSource(Set),\n    weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n    (Map && getTag(new Map) != mapTag) ||\n    (Promise && getTag(Promise.resolve()) != promiseTag) ||\n    (Set && getTag(new Set) != setTag) ||\n    (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n  getTag = function(value) {\n    var result = baseGetTag(value),\n        Ctor = result == objectTag ? value.constructor : undefined,\n        ctorString = Ctor ? toSource(Ctor) : '';\n\n    if (ctorString) {\n      switch (ctorString) {\n        case dataViewCtorString: return dataViewTag;\n        case mapCtorString: return mapTag;\n        case promiseCtorString: return promiseTag;\n        case setCtorString: return setTag;\n        case weakMapCtorString: return weakMapTag;\n      }\n    }\n    return result;\n  };\n}\n\nmodule.exports = getTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n  var length = array.length,\n      result = new array.constructor(length);\n\n  // Add properties assigned by `RegExp#exec`.\n  if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n    result.index = array.index;\n    result.input = array.input;\n  }\n  return result;\n}\n\nmodule.exports = initCloneArray;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n  var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n  new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n  return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n  var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n  return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n  var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n  result.lastIndex = regexp.lastIndex;\n  return result;\n}\n\nmodule.exports = cloneRegExp;\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n    symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n  return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n  var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n  return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n    cloneDataView = require('./_cloneDataView'),\n    cloneRegExp = require('./_cloneRegExp'),\n    cloneSymbol = require('./_cloneSymbol'),\n    cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n    dateTag = '[object Date]',\n    mapTag = '[object Map]',\n    numberTag = '[object Number]',\n    regexpTag = '[object RegExp]',\n    setTag = '[object Set]',\n    stringTag = '[object String]',\n    symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n    dataViewTag = '[object DataView]',\n    float32Tag = '[object Float32Array]',\n    float64Tag = '[object Float64Array]',\n    int8Tag = '[object Int8Array]',\n    int16Tag = '[object Int16Array]',\n    int32Tag = '[object Int32Array]',\n    uint8Tag = '[object Uint8Array]',\n    uint8ClampedTag = '[object Uint8ClampedArray]',\n    uint16Tag = '[object Uint16Array]',\n    uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n  var Ctor = object.constructor;\n  switch (tag) {\n    case arrayBufferTag:\n      return cloneArrayBuffer(object);\n\n    case boolTag:\n    case dateTag:\n      return new Ctor(+object);\n\n    case dataViewTag:\n      return cloneDataView(object, isDeep);\n\n    case float32Tag: case float64Tag:\n    case int8Tag: case int16Tag: case int32Tag:\n    case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n      return cloneTypedArray(object, isDeep);\n\n    case mapTag:\n      return new Ctor;\n\n    case numberTag:\n    case stringTag:\n      return new Ctor(object);\n\n    case regexpTag:\n      return cloneRegExp(object);\n\n    case setTag:\n      return new Ctor;\n\n    case symbolTag:\n      return cloneSymbol(object);\n  }\n}\n\nmodule.exports = initCloneByTag;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n  function object() {}\n  return function(proto) {\n    if (!isObject(proto)) {\n      return {};\n    }\n    if (objectCreate) {\n      return objectCreate(proto);\n    }\n    object.prototype = proto;\n    var result = new object;\n    object.prototype = undefined;\n    return result;\n  };\n}());\n\nmodule.exports = baseCreate;\n","var baseCreate = require('./_baseCreate'),\n    getPrototype = require('./_getPrototype'),\n    isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n  return (typeof object.constructor == 'function' && !isPrototype(object))\n    ? baseCreate(getPrototype(object))\n    : {};\n}\n\nmodule.exports = initCloneObject;\n","var getTag = require('./_getTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n  return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","var baseIsMap = require('./_baseIsMap'),\n    baseUnary = require('./_baseUnary'),\n    nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","var getTag = require('./_getTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n  return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","var baseIsSet = require('./_baseIsSet'),\n    baseUnary = require('./_baseUnary'),\n    nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","var Stack = require('./_Stack'),\n    arrayEach = require('./_arrayEach'),\n    assignValue = require('./_assignValue'),\n    baseAssign = require('./_baseAssign'),\n    baseAssignIn = require('./_baseAssignIn'),\n    cloneBuffer = require('./_cloneBuffer'),\n    copyArray = require('./_copyArray'),\n    copySymbols = require('./_copySymbols'),\n    copySymbolsIn = require('./_copySymbolsIn'),\n    getAllKeys = require('./_getAllKeys'),\n    getAllKeysIn = require('./_getAllKeysIn'),\n    getTag = require('./_getTag'),\n    initCloneArray = require('./_initCloneArray'),\n    initCloneByTag = require('./_initCloneByTag'),\n    initCloneObject = require('./_initCloneObject'),\n    isArray = require('./isArray'),\n    isBuffer = require('./isBuffer'),\n    isMap = require('./isMap'),\n    isObject = require('./isObject'),\n    isSet = require('./isSet'),\n    keys = require('./keys'),\n    keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n    CLONE_FLAT_FLAG = 2,\n    CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n    arrayTag = '[object Array]',\n    boolTag = '[object Boolean]',\n    dateTag = '[object Date]',\n    errorTag = '[object Error]',\n    funcTag = '[object Function]',\n    genTag = '[object GeneratorFunction]',\n    mapTag = '[object Map]',\n    numberTag = '[object Number]',\n    objectTag = '[object Object]',\n    regexpTag = '[object RegExp]',\n    setTag = '[object Set]',\n    stringTag = '[object String]',\n    symbolTag = '[object Symbol]',\n    weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n    dataViewTag = '[object DataView]',\n    float32Tag = '[object Float32Array]',\n    float64Tag = '[object Float64Array]',\n    int8Tag = '[object Int8Array]',\n    int16Tag = '[object Int16Array]',\n    int32Tag = '[object Int32Array]',\n    uint8Tag = '[object Uint8Array]',\n    uint8ClampedTag = '[object Uint8ClampedArray]',\n    uint16Tag = '[object Uint16Array]',\n    uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n *  1 - Deep clone\n *  2 - Flatten inherited properties\n *  4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n  var result,\n      isDeep = bitmask & CLONE_DEEP_FLAG,\n      isFlat = bitmask & CLONE_FLAT_FLAG,\n      isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n  if (customizer) {\n    result = object ? customizer(value, key, object, stack) : customizer(value);\n  }\n  if (result !== undefined) {\n    return result;\n  }\n  if (!isObject(value)) {\n    return value;\n  }\n  var isArr = isArray(value);\n  if (isArr) {\n    result = initCloneArray(value);\n    if (!isDeep) {\n      return copyArray(value, result);\n    }\n  } else {\n    var tag = getTag(value),\n        isFunc = tag == funcTag || tag == genTag;\n\n    if (isBuffer(value)) {\n      return cloneBuffer(value, isDeep);\n    }\n    if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n      result = (isFlat || isFunc) ? {} : initCloneObject(value);\n      if (!isDeep) {\n        return isFlat\n          ? copySymbolsIn(value, baseAssignIn(result, value))\n          : copySymbols(value, baseAssign(result, value));\n      }\n    } else {\n      if (!cloneableTags[tag]) {\n        return object ? value : {};\n      }\n      result = initCloneByTag(value, tag, isDeep);\n    }\n  }\n  // Check for circular references and return its corresponding clone.\n  stack || (stack = new Stack);\n  var stacked = stack.get(value);\n  if (stacked) {\n    return stacked;\n  }\n  stack.set(value, result);\n\n  if (isSet(value)) {\n    value.forEach(function(subValue) {\n      result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n    });\n  } else if (isMap(value)) {\n    value.forEach(function(subValue, key) {\n      result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n    });\n  }\n\n  var keysFunc = isFull\n    ? (isFlat ? getAllKeysIn : getAllKeys)\n    : (isFlat ? keysIn : keys);\n\n  var props = isArr ? undefined : keysFunc(value);\n  arrayEach(props || value, function(subValue, key) {\n    if (props) {\n      key = subValue;\n      subValue = value[key];\n    }\n    // Recursively populate clone (susceptible to call stack limits).\n    assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n  });\n  return result;\n}\n\nmodule.exports = baseClone;\n","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n    CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n  return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n","import {\n  defaultsDeepToNodes,\n  TazeEditor,\n  queryNode,\n  someNode,\n  TNode,\n  TNodeEntry,\n  Value,\n  WithTazePlugin\n} from \"@taze-editor/taze-core\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport { NodeIdPlugin } from \"./createNodeIdPlugin\";\n\n/**\n * Enables support for inserting nodes with an id key.\n */\nexport const withNodeId = <\n  V extends Value = Value,\n  E extends TazeEditor<V> = TazeEditor<V>\n>(\n  editor: E,\n  { options }: WithTazePlugin<NodeIdPlugin, V, E>\n) => {\n  const {\n    idKey = \"\",\n    idCreator,\n    filterText,\n    filter,\n    reuseId,\n    allow,\n    exclude\n  } = options!;\n\n  const { apply } = editor;\n\n  const idPropsCreator = () => ({ [idKey]: idCreator!() });\n\n  const filterNode = (nodeEntry: TNodeEntry) => {\n    return (\n      filter!(nodeEntry) && (!filterText || nodeEntry[0]?.type !== undefined)\n    );\n  };\n\n  const query = {\n    filter: filterNode,\n    allow,\n    exclude\n  };\n\n  editor.apply = (operation: any) => {\n    if (operation.type === \"insert_node\") {\n      // clone to be able to write (read-only)\n      const node = cloneDeep(operation.node);\n\n      // the id in the new node is already being used in the editor, we need to replace it with a new id\n      if (\n        !reuseId ||\n        someNode(editor, { match: { [idKey]: node[idKey] }, at: [] })\n      ) {\n        delete node[idKey];\n      }\n\n      defaultsDeepToNodes({\n        node,\n        source: idPropsCreator,\n        query\n      });\n\n      return apply({\n        ...operation,\n        node\n      });\n    }\n\n    if (operation.type === \"split_node\") {\n      const node = operation.properties as TNode;\n\n      // only for elements (node with a type) or all nodes if `filterText=false`\n      if (queryNode([node, []], query)) {\n        let id = operation.properties[idKey];\n\n        /**\n         * Create a new id if:\n         * - the id in the new node is already being used in the editor or,\n         * - the node has no id\n         */\n        if (\n          !reuseId ||\n          id === undefined ||\n          someNode(editor, {\n            match: { [idKey]: id },\n            at: []\n          })\n        ) {\n          id = idCreator!();\n        }\n\n        return apply({\n          ...operation,\n          properties: {\n            ...operation.properties,\n            [idKey]: id\n          }\n        });\n      }\n    }\n\n    return apply(operation);\n  };\n\n  return editor;\n};\n","import { createPluginFactory, QueryNodeOptions } from \"@taze-editor/taze-core\";\nimport { withNodeId } from \"./withNodeId\";\n\nexport interface NodeIdPlugin extends QueryNodeOptions {\n  /**\n   * Node key to store the id.\n   * @default 'id'\n   */\n  idKey?: string;\n\n  /**\n   * ID factory, e.g. `uuid`\n   * @default () => Date.now().toString()\n   */\n  idCreator?: Function;\n\n  /**\n   * Filter `Text` nodes.\n   * @default true\n   */\n  filterText?: boolean;\n\n  /**\n   * Reuse ids on undo/redo and copy/pasting if not existing in the document.\n   * This is disabled by default to avoid duplicate ids across documents.\n   * @default false\n   */\n  reuseId?: boolean;\n}\n\nexport const KEY_NODE_ID = \"nodeId\";\n\n/**\n * @see {@link withNodeId}\n */\nexport const createNodeIdPlugin = createPluginFactory<NodeIdPlugin>({\n  key: KEY_NODE_ID,\n  withOverrides: withNodeId,\n  options: {\n    idKey: \"id\",\n    idCreator: () => Date.now().toString(),\n    filterText: true\n  }\n});\n"]}