"use strict";
/*
 * ATTENTION: An "eval-source-map" devtool has been used.
 * This devtool is neither made for production nor for readable output files.
 * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
 * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
 * or disable the default devtool with "devtool: false".
 * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
 */
exports.id = "vendor-chunks/object-hash";
exports.ids = ["vendor-chunks/object-hash"];
exports.modules = {

/***/ "(rsc)/./node_modules/object-hash/index.js":
/*!*******************************************!*\
  !*** ./node_modules/object-hash/index.js ***!
  \*******************************************/
/***/ ((module, exports, __webpack_require__) => {

eval("\n\nvar crypto = __webpack_require__(/*! crypto */ \"crypto\");\n\n/**\n * Exported function\n *\n * Options:\n *\n *  - `algorithm` hash algo to be used by this instance: *'sha1', 'md5'\n *  - `excludeValues` {true|*false} hash object keys, values ignored\n *  - `encoding` hash encoding, supports 'buffer', '*hex', 'binary', 'base64'\n *  - `ignoreUnknown` {true|*false} ignore unknown object types\n *  - `replacer` optional function that replaces values before hashing\n *  - `respectFunctionProperties` {*true|false} consider function properties when hashing\n *  - `respectFunctionNames` {*true|false} consider 'name' property of functions for hashing\n *  - `respectType` {*true|false} Respect special properties (prototype, constructor)\n *    when hashing to distinguish between types\n *  - `unorderedArrays` {true|*false} Sort all arrays before hashing\n *  - `unorderedSets` {*true|false} Sort `Set` and `Map` instances before hashing\n *  * = default\n *\n * @param {object} object value to hash\n * @param {object} options hashing options\n * @return {string} hash value\n * @api public\n */\nexports = module.exports = objectHash;\n\nfunction objectHash(object, options){\n  options = applyDefaults(object, options);\n\n  return hash(object, options);\n}\n\n/**\n * Exported sugar methods\n *\n * @param {object} object value to hash\n * @return {string} hash value\n * @api public\n */\nexports.sha1 = function(object){\n  return objectHash(object);\n};\nexports.keys = function(object){\n  return objectHash(object, {excludeValues: true, algorithm: 'sha1', encoding: 'hex'});\n};\nexports.MD5 = function(object){\n  return objectHash(object, {algorithm: 'md5', encoding: 'hex'});\n};\nexports.keysMD5 = function(object){\n  return objectHash(object, {algorithm: 'md5', encoding: 'hex', excludeValues: true});\n};\n\n// Internals\nvar hashes = crypto.getHashes ? crypto.getHashes().slice() : ['sha1', 'md5'];\nhashes.push('passthrough');\nvar encodings = ['buffer', 'hex', 'binary', 'base64'];\n\nfunction applyDefaults(object, sourceOptions){\n  sourceOptions = sourceOptions || {};\n\n  // create a copy rather than mutating\n  var options = {};\n  options.algorithm = sourceOptions.algorithm || 'sha1';\n  options.encoding = sourceOptions.encoding || 'hex';\n  options.excludeValues = sourceOptions.excludeValues ? true : false;\n  options.algorithm = options.algorithm.toLowerCase();\n  options.encoding = options.encoding.toLowerCase();\n  options.ignoreUnknown = sourceOptions.ignoreUnknown !== true ? false : true; // default to false\n  options.respectType = sourceOptions.respectType === false ? false : true; // default to true\n  options.respectFunctionNames = sourceOptions.respectFunctionNames === false ? false : true;\n  options.respectFunctionProperties = sourceOptions.respectFunctionProperties === false ? false : true;\n  options.unorderedArrays = sourceOptions.unorderedArrays !== true ? false : true; // default to false\n  options.unorderedSets = sourceOptions.unorderedSets === false ? false : true; // default to false\n  options.unorderedObjects = sourceOptions.unorderedObjects === false ? false : true; // default to true\n  options.replacer = sourceOptions.replacer || undefined;\n  options.excludeKeys = sourceOptions.excludeKeys || undefined;\n\n  if(typeof object === 'undefined') {\n    throw new Error('Object argument required.');\n  }\n\n  // if there is a case-insensitive match in the hashes list, accept it\n  // (i.e. SHA256 for sha256)\n  for (var i = 0; i < hashes.length; ++i) {\n    if (hashes[i].toLowerCase() === options.algorithm.toLowerCase()) {\n      options.algorithm = hashes[i];\n    }\n  }\n\n  if(hashes.indexOf(options.algorithm) === -1){\n    throw new Error('Algorithm \"' + options.algorithm + '\"  not supported. ' +\n      'supported values: ' + hashes.join(', '));\n  }\n\n  if(encodings.indexOf(options.encoding) === -1 &&\n     options.algorithm !== 'passthrough'){\n    throw new Error('Encoding \"' + options.encoding + '\"  not supported. ' +\n      'supported values: ' + encodings.join(', '));\n  }\n\n  return options;\n}\n\n/** Check if the given function is a native function */\nfunction isNativeFunction(f) {\n  if ((typeof f) !== 'function') {\n    return false;\n  }\n  var exp = /^function\\s+\\w*\\s*\\(\\s*\\)\\s*{\\s+\\[native code\\]\\s+}$/i;\n  return exp.exec(Function.prototype.toString.call(f)) != null;\n}\n\nfunction hash(object, options) {\n  var hashingStream;\n\n  if (options.algorithm !== 'passthrough') {\n    hashingStream = crypto.createHash(options.algorithm);\n  } else {\n    hashingStream = new PassThrough();\n  }\n\n  if (typeof hashingStream.write === 'undefined') {\n    hashingStream.write = hashingStream.update;\n    hashingStream.end   = hashingStream.update;\n  }\n\n  var hasher = typeHasher(options, hashingStream);\n  hasher.dispatch(object);\n  if (!hashingStream.update) {\n    hashingStream.end('');\n  }\n\n  if (hashingStream.digest) {\n    return hashingStream.digest(options.encoding === 'buffer' ? undefined : options.encoding);\n  }\n\n  var buf = hashingStream.read();\n  if (options.encoding === 'buffer') {\n    return buf;\n  }\n\n  return buf.toString(options.encoding);\n}\n\n/**\n * Expose streaming API\n *\n * @param {object} object  Value to serialize\n * @param {object} options  Options, as for hash()\n * @param {object} stream  A stream to write the serializiation to\n * @api public\n */\nexports.writeToStream = function(object, options, stream) {\n  if (typeof stream === 'undefined') {\n    stream = options;\n    options = {};\n  }\n\n  options = applyDefaults(object, options);\n\n  return typeHasher(options, stream).dispatch(object);\n};\n\nfunction typeHasher(options, writeTo, context){\n  context = context || [];\n  var write = function(str) {\n    if (writeTo.update) {\n      return writeTo.update(str, 'utf8');\n    } else {\n      return writeTo.write(str, 'utf8');\n    }\n  };\n\n  return {\n    dispatch: function(value){\n      if (options.replacer) {\n        value = options.replacer(value);\n      }\n\n      var type = typeof value;\n      if (value === null) {\n        type = 'null';\n      }\n\n      //console.log(\"[DEBUG] Dispatch: \", value, \"->\", type, \" -> \", \"_\" + type);\n\n      return this['_' + type](value);\n    },\n    _object: function(object) {\n      var pattern = (/\\[object (.*)\\]/i);\n      var objString = Object.prototype.toString.call(object);\n      var objType = pattern.exec(objString);\n      if (!objType) { // object type did not match [object ...]\n        objType = 'unknown:[' + objString + ']';\n      } else {\n        objType = objType[1]; // take only the class name\n      }\n\n      objType = objType.toLowerCase();\n\n      var objectNumber = null;\n\n      if ((objectNumber = context.indexOf(object)) >= 0) {\n        return this.dispatch('[CIRCULAR:' + objectNumber + ']');\n      } else {\n        context.push(object);\n      }\n\n      if (typeof Buffer !== 'undefined' && Buffer.isBuffer && Buffer.isBuffer(object)) {\n        write('buffer:');\n        return write(object);\n      }\n\n      if(objType !== 'object' && objType !== 'function' && objType !== 'asyncfunction') {\n        if(this['_' + objType]) {\n          this['_' + objType](object);\n        } else if (options.ignoreUnknown) {\n          return write('[' + objType + ']');\n        } else {\n          throw new Error('Unknown object type \"' + objType + '\"');\n        }\n      }else{\n        var keys = Object.keys(object);\n        if (options.unorderedObjects) {\n          keys = keys.sort();\n        }\n        // Make sure to incorporate special properties, so\n        // Types with different prototypes will produce\n        // a different hash and objects derived from\n        // different functions (`new Foo`, `new Bar`) will\n        // produce different hashes.\n        // We never do this for native functions since some\n        // seem to break because of that.\n        if (options.respectType !== false && !isNativeFunction(object)) {\n          keys.splice(0, 0, 'prototype', '__proto__', 'constructor');\n        }\n\n        if (options.excludeKeys) {\n          keys = keys.filter(function(key) { return !options.excludeKeys(key); });\n        }\n\n        write('object:' + keys.length + ':');\n        var self = this;\n        return keys.forEach(function(key){\n          self.dispatch(key);\n          write(':');\n          if(!options.excludeValues) {\n            self.dispatch(object[key]);\n          }\n          write(',');\n        });\n      }\n    },\n    _array: function(arr, unordered){\n      unordered = typeof unordered !== 'undefined' ? unordered :\n        options.unorderedArrays !== false; // default to options.unorderedArrays\n\n      var self = this;\n      write('array:' + arr.length + ':');\n      if (!unordered || arr.length <= 1) {\n        return arr.forEach(function(entry) {\n          return self.dispatch(entry);\n        });\n      }\n\n      // the unordered case is a little more complicated:\n      // since there is no canonical ordering on objects,\n      // i.e. {a:1} < {a:2} and {a:1} > {a:2} are both false,\n      // we first serialize each entry using a PassThrough stream\n      // before sorting.\n      // also: we can’t use the same context array for all entries\n      // since the order of hashing should *not* matter. instead,\n      // we keep track of the additions to a copy of the context array\n      // and add all of them to the global context array when we’re done\n      var contextAdditions = [];\n      var entries = arr.map(function(entry) {\n        var strm = new PassThrough();\n        var localContext = context.slice(); // make copy\n        var hasher = typeHasher(options, strm, localContext);\n        hasher.dispatch(entry);\n        // take only what was added to localContext and append it to contextAdditions\n        contextAdditions = contextAdditions.concat(localContext.slice(context.length));\n        return strm.read().toString();\n      });\n      context = context.concat(contextAdditions);\n      entries.sort();\n      return this._array(entries, false);\n    },\n    _date: function(date){\n      return write('date:' + date.toJSON());\n    },\n    _symbol: function(sym){\n      return write('symbol:' + sym.toString());\n    },\n    _error: function(err){\n      return write('error:' + err.toString());\n    },\n    _boolean: function(bool){\n      return write('bool:' + bool.toString());\n    },\n    _string: function(string){\n      write('string:' + string.length + ':');\n      write(string.toString());\n    },\n    _function: function(fn){\n      write('fn:');\n      if (isNativeFunction(fn)) {\n        this.dispatch('[native]');\n      } else {\n        this.dispatch(fn.toString());\n      }\n\n      if (options.respectFunctionNames !== false) {\n        // Make sure we can still distinguish native functions\n        // by their name, otherwise String and Function will\n        // have the same hash\n        this.dispatch(\"function-name:\" + String(fn.name));\n      }\n\n      if (options.respectFunctionProperties) {\n        this._object(fn);\n      }\n    },\n    _number: function(number){\n      return write('number:' + number.toString());\n    },\n    _xml: function(xml){\n      return write('xml:' + xml.toString());\n    },\n    _null: function() {\n      return write('Null');\n    },\n    _undefined: function() {\n      return write('Undefined');\n    },\n    _regexp: function(regex){\n      return write('regex:' + regex.toString());\n    },\n    _uint8array: function(arr){\n      write('uint8array:');\n      return this.dispatch(Array.prototype.slice.call(arr));\n    },\n    _uint8clampedarray: function(arr){\n      write('uint8clampedarray:');\n      return this.dispatch(Array.prototype.slice.call(arr));\n    },\n    _int8array: function(arr){\n      write('uint8array:');\n      return this.dispatch(Array.prototype.slice.call(arr));\n    },\n    _uint16array: function(arr){\n      write('uint16array:');\n      return this.dispatch(Array.prototype.slice.call(arr));\n    },\n    _int16array: function(arr){\n      write('uint16array:');\n      return this.dispatch(Array.prototype.slice.call(arr));\n    },\n    _uint32array: function(arr){\n      write('uint32array:');\n      return this.dispatch(Array.prototype.slice.call(arr));\n    },\n    _int32array: function(arr){\n      write('uint32array:');\n      return this.dispatch(Array.prototype.slice.call(arr));\n    },\n    _float32array: function(arr){\n      write('float32array:');\n      return this.dispatch(Array.prototype.slice.call(arr));\n    },\n    _float64array: function(arr){\n      write('float64array:');\n      return this.dispatch(Array.prototype.slice.call(arr));\n    },\n    _arraybuffer: function(arr){\n      write('arraybuffer:');\n      return this.dispatch(new Uint8Array(arr));\n    },\n    _url: function(url) {\n      return write('url:' + url.toString(), 'utf8');\n    },\n    _map: function(map) {\n      write('map:');\n      var arr = Array.from(map);\n      return this._array(arr, options.unorderedSets !== false);\n    },\n    _set: function(set) {\n      write('set:');\n      var arr = Array.from(set);\n      return this._array(arr, options.unorderedSets !== false);\n    },\n    _file: function(file) {\n      write('file:');\n      return this.dispatch([file.name, file.size, file.type, file.lastModfied]);\n    },\n    _blob: function() {\n      if (options.ignoreUnknown) {\n        return write('[blob]');\n      }\n\n      throw Error('Hashing Blob objects is currently not supported\\n' +\n        '(see https://github.com/puleos/object-hash/issues/26)\\n' +\n        'Use \"options.replacer\" or \"options.ignoreUnknown\"\\n');\n    },\n    _domwindow: function() { return write('domwindow'); },\n    _bigint: function(number){\n      return write('bigint:' + number.toString());\n    },\n    /* Node.js standard native objects */\n    _process: function() { return write('process'); },\n    _timer: function() { return write('timer'); },\n    _pipe: function() { return write('pipe'); },\n    _tcp: function() { return write('tcp'); },\n    _udp: function() { return write('udp'); },\n    _tty: function() { return write('tty'); },\n    _statwatcher: function() { return write('statwatcher'); },\n    _securecontext: function() { return write('securecontext'); },\n    _connection: function() { return write('connection'); },\n    _zlib: function() { return write('zlib'); },\n    _context: function() { return write('context'); },\n    _nodescript: function() { return write('nodescript'); },\n    _httpparser: function() { return write('httpparser'); },\n    _dataview: function() { return write('dataview'); },\n    _signal: function() { return write('signal'); },\n    _fsevent: function() { return write('fsevent'); },\n    _tlswrap: function() { return write('tlswrap'); },\n  };\n}\n\n// Mini-implementation of stream.PassThrough\n// We are far from having need for the full implementation, and we can\n// make assumptions like \"many writes, then only one final read\"\n// and we can ignore encoding specifics\nfunction PassThrough() {\n  return {\n    buf: '',\n\n    write: function(b) {\n      this.buf += b;\n    },\n\n    end: function(b) {\n      this.buf += b;\n    },\n\n    read: function() {\n      return this.buf;\n    }\n  };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,[encoded data, 24836 characters]\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/object-hash/index.js\n");

/***/ })

};
;