195 lines
286 KiB
JavaScript

"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/@multiformats";
exports.ids = ["vendor-chunks/@multiformats"];
exports.modules = {
/***/ "(ssr)/./node_modules/@multiformats/dns/dist/src/dns.js":
/*!********************************************************!*\
!*** ./node_modules/@multiformats/dns/dist/src/dns.js ***!
\********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DNS: () => (/* binding */ DNS)\n/* harmony export */ });\n/* harmony import */ var progress_events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! progress-events */ \"(ssr)/./node_modules/progress-events/dist/src/index.js\");\n/* harmony import */ var _resolvers_default_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./resolvers/default.js */ \"(ssr)/./node_modules/@multiformats/dns/dist/src/resolvers/default.js\");\n/* harmony import */ var _utils_cache_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/cache.js */ \"(ssr)/./node_modules/@multiformats/dns/dist/src/utils/cache.js\");\n/* harmony import */ var _utils_get_types_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/get-types.js */ \"(ssr)/./node_modules/@multiformats/dns/dist/src/utils/get-types.js\");\n\n\n\n\nconst DEFAULT_ANSWER_CACHE_SIZE = 1000;\nclass DNS {\n constructor(init){\n this.resolvers = {};\n this.cache = (0,_utils_cache_js__WEBPACK_IMPORTED_MODULE_2__.cache)(init.cacheSize ?? DEFAULT_ANSWER_CACHE_SIZE);\n Object.entries(init.resolvers ?? {}).forEach(([tld, resolver])=>{\n if (!Array.isArray(resolver)) {\n resolver = [\n resolver\n ];\n }\n // convert `com` -> `com.`\n if (!tld.endsWith(\".\")) {\n tld = `${tld}.`;\n }\n this.resolvers[tld] = resolver;\n });\n // configure default resolver if none specified\n if (this.resolvers[\".\"] == null) {\n this.resolvers[\".\"] = (0,_resolvers_default_js__WEBPACK_IMPORTED_MODULE_1__.defaultResolver)();\n }\n }\n /**\n * Queries DNS resolvers for the passed record types for the passed domain.\n *\n * If cached records exist for all desired types they will be returned\n * instead.\n *\n * Any new responses will be added to the cache for subsequent requests.\n */ async query(domain, options = {}) {\n const types = (0,_utils_get_types_js__WEBPACK_IMPORTED_MODULE_3__.getTypes)(options.types);\n const cached = options.cached !== false ? this.cache.get(domain, types) : undefined;\n if (cached != null) {\n options.onProgress?.(new progress_events__WEBPACK_IMPORTED_MODULE_0__.CustomProgressEvent(\"dns:cache\", {\n detail: cached\n }));\n return cached;\n }\n const tld = `${domain.split(\".\").pop()}.`;\n const resolvers = (this.resolvers[tld] ?? this.resolvers[\".\"]).sort(()=>{\n return Math.random() > 0.5 ? -1 : 1;\n });\n const errors = [];\n for (const resolver of resolvers){\n // skip further resolutions if the user aborted the signal\n if (options.signal?.aborted === true) {\n break;\n }\n try {\n const result = await resolver(domain, {\n ...options,\n types\n });\n for (const answer of result.Answer){\n this.cache.add(domain, answer);\n }\n return result;\n } catch (err) {\n errors.push(err);\n options.onProgress?.(new progress_events__WEBPACK_IMPORTED_MODULE_0__.CustomProgressEvent(\"dns:error\", {\n detail: err\n }));\n }\n }\n if (errors.length === 1) {\n throw errors[0];\n }\n throw new AggregateError(errors, `DNS lookup of ${domain} ${types} failed`);\n }\n} //# sourceMappingURL=dns.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQG11bHRpZm9ybWF0cy9kbnMvZGlzdC9zcmMvZG5zLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQXNEO0FBQ0c7QUFDaEI7QUFDTztBQUNoRCxNQUFNSSw0QkFBNEI7QUFDM0IsTUFBTUM7SUFHVEMsWUFBWUMsSUFBSSxDQUFFO1FBQ2QsSUFBSSxDQUFDQyxTQUFTLEdBQUcsQ0FBQztRQUNsQixJQUFJLENBQUNOLEtBQUssR0FBR0Esc0RBQUtBLENBQUNLLEtBQUtFLFNBQVMsSUFBSUw7UUFDckNNLE9BQU9DLE9BQU8sQ0FBQ0osS0FBS0MsU0FBUyxJQUFJLENBQUMsR0FBR0ksT0FBTyxDQUFDLENBQUMsQ0FBQ0MsS0FBS0MsU0FBUztZQUN6RCxJQUFJLENBQUNDLE1BQU1DLE9BQU8sQ0FBQ0YsV0FBVztnQkFDMUJBLFdBQVc7b0JBQUNBO2lCQUFTO1lBQ3pCO1lBQ0EsMEJBQTBCO1lBQzFCLElBQUksQ0FBQ0QsSUFBSUksUUFBUSxDQUFDLE1BQU07Z0JBQ3BCSixNQUFNLENBQUMsRUFBRUEsSUFBSSxDQUFDLENBQUM7WUFDbkI7WUFDQSxJQUFJLENBQUNMLFNBQVMsQ0FBQ0ssSUFBSSxHQUFHQztRQUMxQjtRQUNBLCtDQUErQztRQUMvQyxJQUFJLElBQUksQ0FBQ04sU0FBUyxDQUFDLElBQUksSUFBSSxNQUFNO1lBQzdCLElBQUksQ0FBQ0EsU0FBUyxDQUFDLElBQUksR0FBR1Asc0VBQWVBO1FBQ3pDO0lBQ0o7SUFDQTs7Ozs7OztLQU9DLEdBQ0QsTUFBTWlCLE1BQU1DLE1BQU0sRUFBRUMsVUFBVSxDQUFDLENBQUMsRUFBRTtRQUM5QixNQUFNQyxRQUFRbEIsNkRBQVFBLENBQUNpQixRQUFRQyxLQUFLO1FBQ3BDLE1BQU1DLFNBQVNGLFFBQVFFLE1BQU0sS0FBSyxRQUFRLElBQUksQ0FBQ3BCLEtBQUssQ0FBQ3FCLEdBQUcsQ0FBQ0osUUFBUUUsU0FBU0c7UUFDMUUsSUFBSUYsVUFBVSxNQUFNO1lBQ2hCRixRQUFRSyxVQUFVLEdBQUcsSUFBSXpCLGdFQUFtQkEsQ0FBQyxhQUFhO2dCQUFFMEIsUUFBUUo7WUFBTztZQUMzRSxPQUFPQTtRQUNYO1FBQ0EsTUFBTVQsTUFBTSxDQUFDLEVBQUVNLE9BQU9RLEtBQUssQ0FBQyxLQUFLQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLE1BQU1wQixZQUFZLENBQUMsSUFBSSxDQUFDQSxTQUFTLENBQUNLLElBQUksSUFBSSxJQUFJLENBQUNMLFNBQVMsQ0FBQyxJQUFJLEVBQUVxQixJQUFJLENBQUM7WUFDaEUsT0FBTyxLQUFNRSxNQUFNLEtBQUssTUFBTyxDQUFDLElBQUk7UUFDeEM7UUFDQSxNQUFNQyxTQUFTLEVBQUU7UUFDakIsS0FBSyxNQUFNbEIsWUFBWU4sVUFBVztZQUM5QiwwREFBMEQ7WUFDMUQsSUFBSVksUUFBUWEsTUFBTSxFQUFFQyxZQUFZLE1BQU07Z0JBQ2xDO1lBQ0o7WUFDQSxJQUFJO2dCQUNBLE1BQU1DLFNBQVMsTUFBTXJCLFNBQVNLLFFBQVE7b0JBQ2xDLEdBQUdDLE9BQU87b0JBQ1ZDO2dCQUNKO2dCQUNBLEtBQUssTUFBTWUsVUFBVUQsT0FBT0UsTUFBTSxDQUFFO29CQUNoQyxJQUFJLENBQUNuQyxLQUFLLENBQUNvQyxHQUFHLENBQUNuQixRQUFRaUI7Z0JBQzNCO2dCQUNBLE9BQU9EO1lBQ1gsRUFDQSxPQUFPSSxLQUFLO2dCQUNSUCxPQUFPUSxJQUFJLENBQUNEO2dCQUNabkIsUUFBUUssVUFBVSxHQUFHLElBQUl6QixnRUFBbUJBLENBQUMsYUFBYTtvQkFBRTBCLFFBQVFhO2dCQUFJO1lBQzVFO1FBQ0o7UUFDQSxJQUFJUCxPQUFPUyxNQUFNLEtBQUssR0FBRztZQUNyQixNQUFNVCxNQUFNLENBQUMsRUFBRTtRQUNuQjtRQUNBLE1BQU0sSUFBSVUsZUFBZVYsUUFBUSxDQUFDLGNBQWMsRUFBRWIsT0FBTyxDQUFDLEVBQUVFLE1BQU0sT0FBTyxDQUFDO0lBQzlFO0FBQ0osRUFDQSwrQkFBK0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9AbXVsdGlmb3JtYXRzL2Rucy9kaXN0L3NyYy9kbnMuanM/Y2ZmYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXN0b21Qcm9ncmVzc0V2ZW50IH0gZnJvbSAncHJvZ3Jlc3MtZXZlbnRzJztcbmltcG9ydCB7IGRlZmF1bHRSZXNvbHZlciB9IGZyb20gJy4vcmVzb2x2ZXJzL2RlZmF1bHQuanMnO1xuaW1wb3J0IHsgY2FjaGUgfSBmcm9tICcuL3V0aWxzL2NhY2hlLmpzJztcbmltcG9ydCB7IGdldFR5cGVzIH0gZnJvbSAnLi91dGlscy9nZXQtdHlwZXMuanMnO1xuY29uc3QgREVGQVVMVF9BTlNXRVJfQ0FDSEVfU0laRSA9IDEwMDA7XG5leHBvcnQgY2xhc3MgRE5TIHtcbiAgICByZXNvbHZlcnM7XG4gICAgY2FjaGU7XG4gICAgY29uc3RydWN0b3IoaW5pdCkge1xuICAgICAgICB0aGlzLnJlc29sdmVycyA9IHt9O1xuICAgICAgICB0aGlzLmNhY2hlID0gY2FjaGUoaW5pdC5jYWNoZVNpemUgPz8gREVGQVVMVF9BTlNXRVJfQ0FDSEVfU0laRSk7XG4gICAgICAgIE9iamVjdC5lbnRyaWVzKGluaXQucmVzb2x2ZXJzID8/IHt9KS5mb3JFYWNoKChbdGxkLCByZXNvbHZlcl0pID0+IHtcbiAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShyZXNvbHZlcikpIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlciA9IFtyZXNvbHZlcl07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBjb252ZXJ0IGBjb21gIC0+IGBjb20uYFxuICAgICAgICAgICAgaWYgKCF0bGQuZW5kc1dpdGgoJy4nKSkge1xuICAgICAgICAgICAgICAgIHRsZCA9IGAke3RsZH0uYDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMucmVzb2x2ZXJzW3RsZF0gPSByZXNvbHZlcjtcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIGNvbmZpZ3VyZSBkZWZhdWx0IHJlc29sdmVyIGlmIG5vbmUgc3BlY2lmaWVkXG4gICAgICAgIGlmICh0aGlzLnJlc29sdmVyc1snLiddID09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMucmVzb2x2ZXJzWycuJ10gPSBkZWZhdWx0UmVzb2x2ZXIoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBRdWVyaWVzIEROUyByZXNvbHZlcnMgZm9yIHRoZSBwYXNzZWQgcmVjb3JkIHR5cGVzIGZvciB0aGUgcGFzc2VkIGRvbWFpbi5cbiAgICAgKlxuICAgICAqIElmIGNhY2hlZCByZWNvcmRzIGV4aXN0IGZvciBhbGwgZGVzaXJlZCB0eXBlcyB0aGV5IHdpbGwgYmUgcmV0dXJuZWRcbiAgICAgKiBpbnN0ZWFkLlxuICAgICAqXG4gICAgICogQW55IG5ldyByZXNwb25zZXMgd2lsbCBiZSBhZGRlZCB0byB0aGUgY2FjaGUgZm9yIHN1YnNlcXVlbnQgcmVxdWVzdHMuXG4gICAgICovXG4gICAgYXN5bmMgcXVlcnkoZG9tYWluLCBvcHRpb25zID0ge30pIHtcbiAgICAgICAgY29uc3QgdHlwZXMgPSBnZXRUeXBlcyhvcHRpb25zLnR5cGVzKTtcbiAgICAgICAgY29uc3QgY2FjaGVkID0gb3B0aW9ucy5jYWNoZWQgIT09IGZhbHNlID8gdGhpcy5jYWNoZS5nZXQoZG9tYWluLCB0eXBlcykgOiB1bmRlZmluZWQ7XG4gICAgICAgIGlmIChjYWNoZWQgIT0gbnVsbCkge1xuICAgICAgICAgICAgb3B0aW9ucy5vblByb2dyZXNzPy4obmV3IEN1c3RvbVByb2dyZXNzRXZlbnQoJ2RuczpjYWNoZScsIHsgZGV0YWlsOiBjYWNoZWQgfSkpO1xuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0bGQgPSBgJHtkb21haW4uc3BsaXQoJy4nKS5wb3AoKX0uYDtcbiAgICAgICAgY29uc3QgcmVzb2x2ZXJzID0gKHRoaXMucmVzb2x2ZXJzW3RsZF0gPz8gdGhpcy5yZXNvbHZlcnNbJy4nXSkuc29ydCgoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gKE1hdGgucmFuZG9tKCkgPiAwLjUpID8gLTEgOiAxO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgZXJyb3JzID0gW107XG4gICAgICAgIGZvciAoY29uc3QgcmVzb2x2ZXIgb2YgcmVzb2x2ZXJzKSB7XG4gICAgICAgICAgICAvLyBza2lwIGZ1cnRoZXIgcmVzb2x1dGlvbnMgaWYgdGhlIHVzZXIgYWJvcnRlZCB0aGUgc2lnbmFsXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5zaWduYWw/LmFib3J0ZWQgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVzb2x2ZXIoZG9tYWluLCB7XG4gICAgICAgICAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgIHR5cGVzXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBhbnN3ZXIgb2YgcmVzdWx0LkFuc3dlcikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNhY2hlLmFkZChkb21haW4sIGFuc3dlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgZXJyb3JzLnB1c2goZXJyKTtcbiAgICAgICAgICAgICAgICBvcHRpb25zLm9uUHJvZ3Jlc3M/LihuZXcgQ3VzdG9tUHJvZ3Jlc3NFdmVudCgnZG5zOmVycm9yJywgeyBkZXRhaWw6IGVyciB9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVycm9ycy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIHRocm93IGVycm9yc1swXTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgQWdncmVnYXRlRXJyb3IoZXJyb3JzLCBgRE5TIGxvb2t1cCBvZiAke2RvbWFpbn0gJHt0eXBlc30gZmFpbGVkYCk7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZG5zLmpzLm1hcCJdLCJuYW1lcyI6WyJDdXN0b21Qcm9ncmVzc0V2ZW50IiwiZGVmYXVsdFJlc29sdmVyIiwiY2FjaGUiLCJnZXRUeXBlcyIsIkRFRkFVTFRfQU5TV0VSX0NBQ0hFX1NJWkUiLCJETlMiLCJjb25zdHJ1Y3RvciIsImluaXQiLCJyZXNvbHZlcnMiLCJjYWNoZVNpemUiLCJPYmplY3QiLCJlbnRyaWVzIiwiZm9yRWFjaCIsInRsZCIsInJlc29sdmVyIiwiQXJyYXkiLCJpc0FycmF5IiwiZW5kc1dpdGgiLCJxdWVyeSIsImRvbWFpbiIsIm9wdGlvbnMiLCJ0eXBlcyIsImNhY2hlZCIsImdldCIsInVuZGVmaW5lZCIsIm9uUHJvZ3Jlc3MiLCJkZXRhaWwiLCJzcGxpdCIsInBvcCIsInNvcnQiLCJNYXRoIiwicmFuZG9tIiwiZXJyb3JzIiwic2lnbmFsIiwiYWJvcnRlZCIsInJlc3VsdCIsImFuc3dlciIsIkFuc3dlciIsImFkZCIsImVyciIsInB1c2giLCJsZW5ndGgiLCJBZ2dyZWdhdGVFcnJvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@multiformats/dns/dist/src/dns.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@multiformats/dns/dist/src/index.js":
/*!**********************************************************!*\
!*** ./node_modules/@multiformats/dns/dist/src/index.js ***!
\**********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MAX_RECURSIVE_DEPTH: () => (/* binding */ MAX_RECURSIVE_DEPTH),\n/* harmony export */ RecordType: () => (/* binding */ RecordType),\n/* harmony export */ dns: () => (/* binding */ dns)\n/* harmony export */ });\n/* harmony import */ var _dns_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dns.js */ \"(ssr)/./node_modules/@multiformats/dns/dist/src/dns.js\");\n/**\n * @packageDocumentation\n *\n * Query DNS records using `node:dns`, DNS over HTTP and/or DNSJSON over HTTP.\n *\n * A list of publicly accessible servers can be found [here](https://github.com/curl/curl/wiki/DNS-over-HTTPS#publicly-available-servers).\n *\n * @example Using the default resolver\n *\n * ```TypeScript\n * import { dns } from '@multiformats/dns'\n *\n * const resolver = dns()\n *\n * // resolve A records with a 5s timeout\n * const result = await dns.query('google.com', {\n * signal: AbortSignal.timeout(5000)\n * })\n * ```\n *\n * @example Using per-TLD resolvers\n *\n * ```TypeScript\n * import { dns } from '@multiformats/dns'\n * import { dnsJsonOverHttps } from '@multiformats/dns/resolvers'\n *\n * const resolver = dns({\n * resolvers: {\n * // will only be used to resolve `.com` addresses\n * 'com.': dnsJsonOverHttps('https://cloudflare-dns.com/dns-query'),\n *\n * // this can also be an array, resolvers will be shuffled and tried in\n * // series\n * 'net.': [\n * dnsJsonOverHttps('https://dns.google/resolve'),\n * dnsJsonOverHttps('https://dns.pub/dns-query')\n * ],\n *\n * // will only be used to resolve all other addresses\n * '.': dnsJsonOverHttps('https://dnsforge.de/dns-query'),\n * }\n * })\n * ```\n *\n * @example Query for specific record types\n *\n * ```TypeScript\n * import { dns, RecordType } from '@multiformats/dns'\n *\n * const resolver = dns()\n *\n * // resolve only TXT records\n * const result = await dns.query('google.com', {\n * types: [\n * RecordType.TXT\n * ]\n * })\n * ```\n *\n * ## Caching\n *\n * Individual Aanswers are cached so. If you make a request, for which all\n * record types are cached, all values will be pulled from the cache.\n *\n * If any of the record types are not cached, a new request will be resolved as\n * if none of the records were cached, and the cache will be updated to include\n * the new results.\n *\n * @example Ignoring the cache\n *\n * ```TypeScript\n * import { dns, RecordType } from '@multiformats/dns'\n *\n * const resolver = dns()\n *\n * // do not used cached results, always resolve a new query\n * const result = await dns.query('google.com', {\n * cached: false\n * })\n * ```\n */ \n/**\n * A subset of DNS Record Types\n *\n * @see https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4.\n */ var RecordType;\n(function(RecordType) {\n RecordType[RecordType[\"A\"] = 1] = \"A\";\n RecordType[RecordType[\"CNAME\"] = 5] = \"CNAME\";\n RecordType[RecordType[\"TXT\"] = 16] = \"TXT\";\n RecordType[RecordType[\"AAAA\"] = 28] = \"AAAA\";\n})(RecordType || (RecordType = {}));\n/**\n * The default maximum amount of recursion allowed during a query\n */ const MAX_RECURSIVE_DEPTH = 32;\nfunction dns(init = {}) {\n return new _dns_js__WEBPACK_IMPORTED_MODULE_0__.DNS(init);\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQG11bHRpZm9ybWF0cy9kbnMvZGlzdC9zcmMvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQWdGQyxHQUMwQztBQUMzQzs7OztDQUlDLEdBQ00sSUFBSUUsV0FBVztBQUNyQixVQUFVQSxVQUFVO0lBQ2pCQSxVQUFVLENBQUNBLFVBQVUsQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHO0lBQ2xDQSxVQUFVLENBQUNBLFVBQVUsQ0FBQyxRQUFRLEdBQUcsRUFBRSxHQUFHO0lBQ3RDQSxVQUFVLENBQUNBLFVBQVUsQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHO0lBQ3JDQSxVQUFVLENBQUNBLFVBQVUsQ0FBQyxPQUFPLEdBQUcsR0FBRyxHQUFHO0FBQzFDLEdBQUdBLGNBQWVBLENBQUFBLGFBQWEsQ0FBQztBQUNoQzs7Q0FFQyxHQUNNLE1BQU1DLHNCQUFzQixHQUFHO0FBQy9CLFNBQVNDLElBQUlDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pCLE9BQU8sSUFBSUosd0NBQVFBLENBQUNJO0FBQ3hCLEVBQ0EsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQG11bHRpZm9ybWF0cy9kbnMvZGlzdC9zcmMvaW5kZXguanM/OTY0MyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIFF1ZXJ5IEROUyByZWNvcmRzIHVzaW5nIGBub2RlOmRuc2AsIEROUyBvdmVyIEhUVFAgYW5kL29yIEROU0pTT04gb3ZlciBIVFRQLlxuICpcbiAqIEEgbGlzdCBvZiBwdWJsaWNseSBhY2Nlc3NpYmxlIHNlcnZlcnMgY2FuIGJlIGZvdW5kIFtoZXJlXShodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL3dpa2kvRE5TLW92ZXItSFRUUFMjcHVibGljbHktYXZhaWxhYmxlLXNlcnZlcnMpLlxuICpcbiAqIEBleGFtcGxlIFVzaW5nIHRoZSBkZWZhdWx0IHJlc29sdmVyXG4gKlxuICogYGBgVHlwZVNjcmlwdFxuICogaW1wb3J0IHsgZG5zIH0gZnJvbSAnQG11bHRpZm9ybWF0cy9kbnMnXG4gKlxuICogY29uc3QgcmVzb2x2ZXIgPSBkbnMoKVxuICpcbiAqIC8vIHJlc29sdmUgQSByZWNvcmRzIHdpdGggYSA1cyB0aW1lb3V0XG4gKiBjb25zdCByZXN1bHQgPSBhd2FpdCBkbnMucXVlcnkoJ2dvb2dsZS5jb20nLCB7XG4gKiAgIHNpZ25hbDogQWJvcnRTaWduYWwudGltZW91dCg1MDAwKVxuICogfSlcbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFVzaW5nIHBlci1UTEQgcmVzb2x2ZXJzXG4gKlxuICogYGBgVHlwZVNjcmlwdFxuICogaW1wb3J0IHsgZG5zIH0gZnJvbSAnQG11bHRpZm9ybWF0cy9kbnMnXG4gKiBpbXBvcnQgeyBkbnNKc29uT3Zlckh0dHBzIH0gZnJvbSAnQG11bHRpZm9ybWF0cy9kbnMvcmVzb2x2ZXJzJ1xuICpcbiAqIGNvbnN0IHJlc29sdmVyID0gZG5zKHtcbiAqICAgcmVzb2x2ZXJzOiB7XG4gKiAgICAgLy8gd2lsbCBvbmx5IGJlIHVzZWQgdG8gcmVzb2x2ZSBgLmNvbWAgYWRkcmVzc2VzXG4gKiAgICAgJ2NvbS4nOiBkbnNKc29uT3Zlckh0dHBzKCdodHRwczovL2Nsb3VkZmxhcmUtZG5zLmNvbS9kbnMtcXVlcnknKSxcbiAqXG4gKiAgICAgLy8gdGhpcyBjYW4gYWxzbyBiZSBhbiBhcnJheSwgcmVzb2x2ZXJzIHdpbGwgYmUgc2h1ZmZsZWQgYW5kIHRyaWVkIGluXG4gKiAgICAgLy8gc2VyaWVzXG4gKiAgICAgJ25ldC4nOiBbXG4gKiAgICAgICBkbnNKc29uT3Zlckh0dHBzKCdodHRwczovL2Rucy5nb29nbGUvcmVzb2x2ZScpLFxuICogICAgICAgZG5zSnNvbk92ZXJIdHRwcygnaHR0cHM6Ly9kbnMucHViL2Rucy1xdWVyeScpXG4gKiAgICAgXSxcbiAqXG4gKiAgICAgLy8gd2lsbCBvbmx5IGJlIHVzZWQgdG8gcmVzb2x2ZSBhbGwgb3RoZXIgYWRkcmVzc2VzXG4gKiAgICAgJy4nOiBkbnNKc29uT3Zlckh0dHBzKCdodHRwczovL2Ruc2ZvcmdlLmRlL2Rucy1xdWVyeScpLFxuICogICB9XG4gKiB9KVxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgUXVlcnkgZm9yIHNwZWNpZmljIHJlY29yZCB0eXBlc1xuICpcbiAqIGBgYFR5cGVTY3JpcHRcbiAqIGltcG9ydCB7IGRucywgUmVjb3JkVHlwZSB9IGZyb20gJ0BtdWx0aWZvcm1hdHMvZG5zJ1xuICpcbiAqIGNvbnN0IHJlc29sdmVyID0gZG5zKClcbiAqXG4gKiAvLyByZXNvbHZlIG9ubHkgVFhUIHJlY29yZHNcbiAqIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGRucy5xdWVyeSgnZ29vZ2xlLmNvbScsIHtcbiAqICAgdHlwZXM6IFtcbiAqICAgICBSZWNvcmRUeXBlLlRYVFxuICogICBdXG4gKiB9KVxuICogYGBgXG4gKlxuICogIyMgQ2FjaGluZ1xuICpcbiAqIEluZGl2aWR1YWwgQWFuc3dlcnMgYXJlIGNhY2hlZCBzby4gSWYgeW91IG1ha2UgYSByZXF1ZXN0LCBmb3Igd2hpY2ggYWxsXG4gKiByZWNvcmQgdHlwZXMgYXJlIGNhY2hlZCwgYWxsIHZhbHVlcyB3aWxsIGJlIHB1bGxlZCBmcm9tIHRoZSBjYWNoZS5cbiAqXG4gKiBJZiBhbnkgb2YgdGhlIHJlY29yZCB0eXBlcyBhcmUgbm90IGNhY2hlZCwgYSBuZXcgcmVxdWVzdCB3aWxsIGJlIHJlc29sdmVkIGFzXG4gKiBpZiBub25lIG9mIHRoZSByZWNvcmRzIHdlcmUgY2FjaGVkLCBhbmQgdGhlIGNhY2hlIHdpbGwgYmUgdXBkYXRlZCB0byBpbmNsdWRlXG4gKiB0aGUgbmV3IHJlc3VsdHMuXG4gKlxuICogQGV4YW1wbGUgSWdub3JpbmcgdGhlIGNhY2hlXG4gKlxuICogYGBgVHlwZVNjcmlwdFxuICogaW1wb3J0IHsgZG5zLCBSZWNvcmRUeXBlIH0gZnJvbSAnQG11bHRpZm9ybWF0cy9kbnMnXG4gKlxuICogY29uc3QgcmVzb2x2ZXIgPSBkbnMoKVxuICpcbiAqIC8vIGRvIG5vdCB1c2VkIGNhY2hlZCByZXN1bHRzLCBhbHdheXMgcmVzb2x2ZSBhIG5ldyBxdWVyeVxuICogY29uc3QgcmVzdWx0ID0gYXdhaXQgZG5zLnF1ZXJ5KCdnb29nbGUuY29tJywge1xuICogICBjYWNoZWQ6IGZhbHNlXG4gKiB9KVxuICogYGBgXG4gKi9cbmltcG9ydCB7IEROUyBhcyBETlNDbGFzcyB9IGZyb20gJy4vZG5zLmpzJztcbi8qKlxuICogQSBzdWJzZXQgb2YgRE5TIFJlY29yZCBUeXBlc1xuICpcbiAqIEBzZWUgaHR0cHM6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvZG5zLXBhcmFtZXRlcnMvZG5zLXBhcmFtZXRlcnMueGh0bWwjZG5zLXBhcmFtZXRlcnMtNC5cbiAqL1xuZXhwb3J0IHZhciBSZWNvcmRUeXBlO1xuKGZ1bmN0aW9uIChSZWNvcmRUeXBlKSB7XG4gICAgUmVjb3JkVHlwZVtSZWNvcmRUeXBlW1wiQVwiXSA9IDFdID0gXCJBXCI7XG4gICAgUmVjb3JkVHlwZVtSZWNvcmRUeXBlW1wiQ05BTUVcIl0gPSA1XSA9IFwiQ05BTUVcIjtcbiAgICBSZWNvcmRUeXBlW1JlY29yZFR5cGVbXCJUWFRcIl0gPSAxNl0gPSBcIlRYVFwiO1xuICAgIFJlY29yZFR5cGVbUmVjb3JkVHlwZVtcIkFBQUFcIl0gPSAyOF0gPSBcIkFBQUFcIjtcbn0pKFJlY29yZFR5cGUgfHwgKFJlY29yZFR5cGUgPSB7fSkpO1xuLyoqXG4gKiBUaGUgZGVmYXVsdCBtYXhpbXVtIGFtb3VudCBvZiByZWN1cnNpb24gYWxsb3dlZCBkdXJpbmcgYSBxdWVyeVxuICovXG5leHBvcnQgY29uc3QgTUFYX1JFQ1VSU0lWRV9ERVBUSCA9IDMyO1xuZXhwb3J0IGZ1bmN0aW9uIGRucyhpbml0ID0ge30pIHtcbiAgICByZXR1cm4gbmV3IEROU0NsYXNzKGluaXQpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbIkROUyIsIkROU0NsYXNzIiwiUmVjb3JkVHlwZSIsIk1BWF9SRUNVUlNJVkVfREVQVEgiLCJkbnMiLCJpbml0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@multiformats/dns/dist/src/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@multiformats/dns/dist/src/resolvers/default.js":
/*!**********************************************************************!*\
!*** ./node_modules/@multiformats/dns/dist/src/resolvers/default.js ***!
\**********************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ defaultResolver: () => (/* binding */ defaultResolver)\n/* harmony export */ });\n/* harmony import */ var dns_promises__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dns/promises */ \"dns/promises\");\n/* harmony import */ var _index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../index.js */ \"(ssr)/./node_modules/@multiformats/dns/dist/src/index.js\");\n/* harmony import */ var _utils_get_types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/get-types.js */ \"(ssr)/./node_modules/@multiformats/dns/dist/src/utils/get-types.js\");\n/* harmony import */ var _utils_to_dns_response_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/to-dns-response.js */ \"(ssr)/./node_modules/@multiformats/dns/dist/src/utils/to-dns-response.js\");\n\n\n\n\nconst nodeResolver = async (fqdn, options = {})=>{\n const resolver = new dns_promises__WEBPACK_IMPORTED_MODULE_0__.Resolver();\n const listener = ()=>{\n resolver.cancel();\n };\n const types = (0,_utils_get_types_js__WEBPACK_IMPORTED_MODULE_2__.getTypes)(options.types);\n try {\n options.signal?.addEventListener(\"abort\", listener);\n const answers = await Promise.all(types.map(async (type)=>{\n if (type === _index_js__WEBPACK_IMPORTED_MODULE_1__.RecordType.A) {\n return mapToAnswers(fqdn, type, await resolver.resolve4(fqdn));\n }\n if (type === _index_js__WEBPACK_IMPORTED_MODULE_1__.RecordType.CNAME) {\n return mapToAnswers(fqdn, type, await resolver.resolveCname(fqdn));\n }\n if (type === _index_js__WEBPACK_IMPORTED_MODULE_1__.RecordType.TXT) {\n return mapToAnswers(fqdn, type, await resolver.resolveTxt(fqdn));\n }\n if (type === _index_js__WEBPACK_IMPORTED_MODULE_1__.RecordType.AAAA) {\n return mapToAnswers(fqdn, type, await resolver.resolve6(fqdn));\n }\n throw new TypeError(\"Unsupported DNS record type\");\n }));\n return (0,_utils_to_dns_response_js__WEBPACK_IMPORTED_MODULE_3__.toDNSResponse)({\n Question: types.map((type)=>({\n name: fqdn,\n type\n })),\n Answer: answers.flat()\n });\n } finally{\n options.signal?.removeEventListener(\"abort\", listener);\n }\n};\nfunction defaultResolver() {\n return [\n nodeResolver\n ];\n}\nfunction mapToAnswer(name, type, data) {\n return {\n name,\n type,\n data\n };\n}\nfunction mapToAnswers(name, type, data) {\n if (!Array.isArray(data)) {\n data = [\n data\n ];\n }\n return data.map((data)=>{\n if (Array.isArray(data)) {\n return data.map((data)=>mapToAnswer(name, type, data));\n }\n return mapToAnswer(name, type, data);\n }).flat();\n} //# sourceMappingURL=default.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQG11bHRpZm9ybWF0cy9kbnMvZGlzdC9zcmMvcmVzb2x2ZXJzL2RlZmF1bHQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBd0M7QUFDQztBQUNRO0FBQ1c7QUFDNUQsTUFBTUksZUFBZSxPQUFPQyxNQUFNQyxVQUFVLENBQUMsQ0FBQztJQUMxQyxNQUFNQyxXQUFXLElBQUlQLGtEQUFRQTtJQUM3QixNQUFNUSxXQUFXO1FBQ2JELFNBQVNFLE1BQU07SUFDbkI7SUFDQSxNQUFNQyxRQUFRUiw2REFBUUEsQ0FBQ0ksUUFBUUksS0FBSztJQUNwQyxJQUFJO1FBQ0FKLFFBQVFLLE1BQU0sRUFBRUMsaUJBQWlCLFNBQVNKO1FBQzFDLE1BQU1LLFVBQVUsTUFBTUMsUUFBUUMsR0FBRyxDQUFDTCxNQUFNTSxHQUFHLENBQUMsT0FBT0M7WUFDL0MsSUFBSUEsU0FBU2hCLGlEQUFVQSxDQUFDaUIsQ0FBQyxFQUFFO2dCQUN2QixPQUFPQyxhQUFhZCxNQUFNWSxNQUFNLE1BQU1WLFNBQVNhLFFBQVEsQ0FBQ2Y7WUFDNUQ7WUFDQSxJQUFJWSxTQUFTaEIsaURBQVVBLENBQUNvQixLQUFLLEVBQUU7Z0JBQzNCLE9BQU9GLGFBQWFkLE1BQU1ZLE1BQU0sTUFBTVYsU0FBU2UsWUFBWSxDQUFDakI7WUFDaEU7WUFDQSxJQUFJWSxTQUFTaEIsaURBQVVBLENBQUNzQixHQUFHLEVBQUU7Z0JBQ3pCLE9BQU9KLGFBQWFkLE1BQU1ZLE1BQU0sTUFBTVYsU0FBU2lCLFVBQVUsQ0FBQ25CO1lBQzlEO1lBQ0EsSUFBSVksU0FBU2hCLGlEQUFVQSxDQUFDd0IsSUFBSSxFQUFFO2dCQUMxQixPQUFPTixhQUFhZCxNQUFNWSxNQUFNLE1BQU1WLFNBQVNtQixRQUFRLENBQUNyQjtZQUM1RDtZQUNBLE1BQU0sSUFBSXNCLFVBQVU7UUFDeEI7UUFDQSxPQUFPeEIsd0VBQWFBLENBQUM7WUFDakJ5QixVQUFVbEIsTUFBTU0sR0FBRyxDQUFDQyxDQUFBQSxPQUFTO29CQUN6QlksTUFBTXhCO29CQUNOWTtnQkFDSjtZQUNBYSxRQUFRakIsUUFBUWtCLElBQUk7UUFDeEI7SUFDSixTQUNRO1FBQ0p6QixRQUFRSyxNQUFNLEVBQUVxQixvQkFBb0IsU0FBU3hCO0lBQ2pEO0FBQ0o7QUFDTyxTQUFTeUI7SUFDWixPQUFPO1FBQ0g3QjtLQUNIO0FBQ0w7QUFDQSxTQUFTOEIsWUFBWUwsSUFBSSxFQUFFWixJQUFJLEVBQUVrQixJQUFJO0lBQ2pDLE9BQU87UUFDSE47UUFDQVo7UUFDQWtCO0lBQ0o7QUFDSjtBQUNBLFNBQVNoQixhQUFhVSxJQUFJLEVBQUVaLElBQUksRUFBRWtCLElBQUk7SUFDbEMsSUFBSSxDQUFDQyxNQUFNQyxPQUFPLENBQUNGLE9BQU87UUFDdEJBLE9BQU87WUFBQ0E7U0FBSztJQUNqQjtJQUNBLE9BQU9BLEtBQUtuQixHQUFHLENBQUNtQixDQUFBQTtRQUNaLElBQUlDLE1BQU1DLE9BQU8sQ0FBQ0YsT0FBTztZQUNyQixPQUFPQSxLQUFLbkIsR0FBRyxDQUFDbUIsQ0FBQUEsT0FBUUQsWUFBWUwsTUFBTVosTUFBTWtCO1FBQ3BEO1FBQ0EsT0FBT0QsWUFBWUwsTUFBTVosTUFBTWtCO0lBQ25DLEdBQ0tKLElBQUk7QUFDYixFQUNBLG1DQUFtQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0BtdWx0aWZvcm1hdHMvZG5zL2Rpc3Qvc3JjL3Jlc29sdmVycy9kZWZhdWx0LmpzPzVhZjEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzb2x2ZXIgfSBmcm9tICdkbnMvcHJvbWlzZXMnO1xuaW1wb3J0IHsgUmVjb3JkVHlwZSB9IGZyb20gJy4uL2luZGV4LmpzJztcbmltcG9ydCB7IGdldFR5cGVzIH0gZnJvbSAnLi4vdXRpbHMvZ2V0LXR5cGVzLmpzJztcbmltcG9ydCB7IHRvRE5TUmVzcG9uc2UgfSBmcm9tICcuLi91dGlscy90by1kbnMtcmVzcG9uc2UuanMnO1xuY29uc3Qgbm9kZVJlc29sdmVyID0gYXN5bmMgKGZxZG4sIG9wdGlvbnMgPSB7fSkgPT4ge1xuICAgIGNvbnN0IHJlc29sdmVyID0gbmV3IFJlc29sdmVyKCk7XG4gICAgY29uc3QgbGlzdGVuZXIgPSAoKSA9PiB7XG4gICAgICAgIHJlc29sdmVyLmNhbmNlbCgpO1xuICAgIH07XG4gICAgY29uc3QgdHlwZXMgPSBnZXRUeXBlcyhvcHRpb25zLnR5cGVzKTtcbiAgICB0cnkge1xuICAgICAgICBvcHRpb25zLnNpZ25hbD8uYWRkRXZlbnRMaXN0ZW5lcignYWJvcnQnLCBsaXN0ZW5lcik7XG4gICAgICAgIGNvbnN0IGFuc3dlcnMgPSBhd2FpdCBQcm9taXNlLmFsbCh0eXBlcy5tYXAoYXN5bmMgKHR5cGUpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlID09PSBSZWNvcmRUeXBlLkEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWFwVG9BbnN3ZXJzKGZxZG4sIHR5cGUsIGF3YWl0IHJlc29sdmVyLnJlc29sdmU0KGZxZG4pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0eXBlID09PSBSZWNvcmRUeXBlLkNOQU1FKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1hcFRvQW5zd2VycyhmcWRuLCB0eXBlLCBhd2FpdCByZXNvbHZlci5yZXNvbHZlQ25hbWUoZnFkbikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHR5cGUgPT09IFJlY29yZFR5cGUuVFhUKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1hcFRvQW5zd2VycyhmcWRuLCB0eXBlLCBhd2FpdCByZXNvbHZlci5yZXNvbHZlVHh0KGZxZG4pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0eXBlID09PSBSZWNvcmRUeXBlLkFBQUEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWFwVG9BbnN3ZXJzKGZxZG4sIHR5cGUsIGF3YWl0IHJlc29sdmVyLnJlc29sdmU2KGZxZG4pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1Vuc3VwcG9ydGVkIEROUyByZWNvcmQgdHlwZScpO1xuICAgICAgICB9KSk7XG4gICAgICAgIHJldHVybiB0b0ROU1Jlc3BvbnNlKHtcbiAgICAgICAgICAgIFF1ZXN0aW9uOiB0eXBlcy5tYXAodHlwZSA9PiAoe1xuICAgICAgICAgICAgICAgIG5hbWU6IGZxZG4sXG4gICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgQW5zd2VyOiBhbnN3ZXJzLmZsYXQoKVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZmluYWxseSB7XG4gICAgICAgIG9wdGlvbnMuc2lnbmFsPy5yZW1vdmVFdmVudExpc3RlbmVyKCdhYm9ydCcsIGxpc3RlbmVyKTtcbiAgICB9XG59O1xuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRSZXNvbHZlcigpIHtcbiAgICByZXR1cm4gW1xuICAgICAgICBub2RlUmVzb2x2ZXJcbiAgICBdO1xufVxuZnVuY3Rpb24gbWFwVG9BbnN3ZXIobmFtZSwgdHlwZSwgZGF0YSkge1xuICAgIHJldHVybiB7XG4gICAgICAgIG5hbWUsXG4gICAgICAgIHR5cGUsXG4gICAgICAgIGRhdGFcbiAgICB9O1xufVxuZnVuY3Rpb24gbWFwVG9BbnN3ZXJzKG5hbWUsIHR5cGUsIGRhdGEpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoZGF0YSkpIHtcbiAgICAgICAgZGF0YSA9IFtkYXRhXTtcbiAgICB9XG4gICAgcmV0dXJuIGRhdGEubWFwKGRhdGEgPT4ge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGEubWFwKGRhdGEgPT4gbWFwVG9BbnN3ZXIobmFtZSwgdHlwZSwgZGF0YSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtYXBUb0Fuc3dlcihuYW1lLCB0eXBlLCBkYXRhKTtcbiAgICB9KVxuICAgICAgICAuZmxhdCgpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGVmYXVsdC5qcy5tYXAiXSwibmFtZXMiOlsiUmVzb2x2ZXIiLCJSZWNvcmRUeXBlIiwiZ2V0VHlwZXMiLCJ0b0ROU1Jlc3BvbnNlIiwibm9kZVJlc29sdmVyIiwiZnFkbiIsIm9wdGlvbnMiLCJyZXNvbHZlciIsImxpc3RlbmVyIiwiY2FuY2VsIiwidHlwZXMiLCJzaWduYWwiLCJhZGRFdmVudExpc3RlbmVyIiwiYW5zd2VycyIsIlByb21pc2UiLCJhbGwiLCJtYXAiLCJ0eXBlIiwiQSIsIm1hcFRvQW5zd2VycyIsInJlc29sdmU0IiwiQ05BTUUiLCJyZXNvbHZlQ25hbWUiLCJUWFQiLCJyZXNvbHZlVHh0IiwiQUFBQSIsInJlc29sdmU2IiwiVHlwZUVycm9yIiwiUXVlc3Rpb24iLCJuYW1lIiwiQW5zd2VyIiwiZmxhdCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJkZWZhdWx0UmVzb2x2ZXIiLCJtYXBUb0Fuc3dlciIsImRhdGEiLCJBcnJheSIsImlzQXJyYXkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@multiformats/dns/dist/src/resolvers/default.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@multiformats/dns/dist/src/utils/cache.js":
/*!****************************************************************!*\
!*** ./node_modules/@multiformats/dns/dist/src/utils/cache.js ***!
\****************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ cache: () => (/* binding */ cache)\n/* harmony export */ });\n/* harmony import */ var hashlru__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! hashlru */ \"(ssr)/./node_modules/hashlru/index.js\");\n/* harmony import */ var _index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../index.js */ \"(ssr)/./node_modules/@multiformats/dns/dist/src/index.js\");\n/* harmony import */ var _to_dns_response_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./to-dns-response.js */ \"(ssr)/./node_modules/@multiformats/dns/dist/src/utils/to-dns-response.js\");\n\n\n\n/**\n * Time Aware Least Recent Used Cache\n *\n * @see https://arxiv.org/pdf/1801.00390\n */ class CachedAnswers {\n constructor(maxSize){\n this.lru = hashlru__WEBPACK_IMPORTED_MODULE_0__(maxSize);\n }\n get(fqdn, types) {\n let foundAllAnswers = true;\n const answers = [];\n for (const type of types){\n const cached = this.getAnswers(fqdn, type);\n if (cached.length === 0) {\n foundAllAnswers = false;\n break;\n }\n answers.push(...cached);\n }\n if (foundAllAnswers) {\n return (0,_to_dns_response_js__WEBPACK_IMPORTED_MODULE_2__.toDNSResponse)({\n answers\n });\n }\n }\n getAnswers(domain, type) {\n const key = `${domain.toLowerCase()}-${type}`;\n const answers = this.lru.get(key);\n if (answers != null) {\n const cachedAnswers = answers.filter((entry)=>{\n return entry.expires > Date.now();\n }).map(({ expires, value })=>({\n ...value,\n TTL: Math.round((expires - Date.now()) / 1000),\n type: _index_js__WEBPACK_IMPORTED_MODULE_1__.RecordType[value.type]\n }));\n if (cachedAnswers.length === 0) {\n this.lru.remove(key);\n }\n // @ts-expect-error hashlru stringifies stored types which turns enums\n // into strings, we convert back into enums above but tsc doesn't know\n return cachedAnswers;\n }\n return [];\n }\n add(domain, answer) {\n const key = `${domain.toLowerCase()}-${answer.type}`;\n const answers = this.lru.get(key) ?? [];\n answers.push({\n expires: Date.now() + (answer.TTL ?? _to_dns_response_js__WEBPACK_IMPORTED_MODULE_2__.DEFAULT_TTL) * 1000,\n value: answer\n });\n this.lru.set(key, answers);\n }\n remove(domain, type) {\n const key = `${domain.toLowerCase()}-${type}`;\n this.lru.remove(key);\n }\n clear() {\n this.lru.clear();\n }\n}\n/**\n * Avoid sending multiple queries for the same hostname by caching results\n */ function cache(size) {\n return new CachedAnswers(size);\n} //# sourceMappingURL=cache.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQG11bHRpZm9ybWF0cy9kbnMvZGlzdC9zcmMvdXRpbHMvY2FjaGUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUE4QjtBQUNXO0FBQ3lCO0FBQ2xFOzs7O0NBSUMsR0FDRCxNQUFNSTtJQUVGQyxZQUFZQyxPQUFPLENBQUU7UUFDakIsSUFBSSxDQUFDQyxHQUFHLEdBQUdQLG9DQUFPQSxDQUFDTTtJQUN2QjtJQUNBRSxJQUFJQyxJQUFJLEVBQUVDLEtBQUssRUFBRTtRQUNiLElBQUlDLGtCQUFrQjtRQUN0QixNQUFNQyxVQUFVLEVBQUU7UUFDbEIsS0FBSyxNQUFNQyxRQUFRSCxNQUFPO1lBQ3RCLE1BQU1JLFNBQVMsSUFBSSxDQUFDQyxVQUFVLENBQUNOLE1BQU1JO1lBQ3JDLElBQUlDLE9BQU9FLE1BQU0sS0FBSyxHQUFHO2dCQUNyQkwsa0JBQWtCO2dCQUNsQjtZQUNKO1lBQ0FDLFFBQVFLLElBQUksSUFBSUg7UUFDcEI7UUFDQSxJQUFJSCxpQkFBaUI7WUFDakIsT0FBT1Isa0VBQWFBLENBQUM7Z0JBQUVTO1lBQVE7UUFDbkM7SUFDSjtJQUNBRyxXQUFXRyxNQUFNLEVBQUVMLElBQUksRUFBRTtRQUNyQixNQUFNTSxNQUFNLENBQUMsRUFBRUQsT0FBT0UsV0FBVyxHQUFHLENBQUMsRUFBRVAsS0FBSyxDQUFDO1FBQzdDLE1BQU1ELFVBQVUsSUFBSSxDQUFDTCxHQUFHLENBQUNDLEdBQUcsQ0FBQ1c7UUFDN0IsSUFBSVAsV0FBVyxNQUFNO1lBQ2pCLE1BQU1TLGdCQUFnQlQsUUFDakJVLE1BQU0sQ0FBQyxDQUFDQztnQkFDVCxPQUFPQSxNQUFNQyxPQUFPLEdBQUdDLEtBQUtDLEdBQUc7WUFDbkMsR0FDS0MsR0FBRyxDQUFDLENBQUMsRUFBRUgsT0FBTyxFQUFFSSxLQUFLLEVBQUUsR0FBTTtvQkFDOUIsR0FBR0EsS0FBSztvQkFDUkMsS0FBS0MsS0FBS0MsS0FBSyxDQUFDLENBQUNQLFVBQVVDLEtBQUtDLEdBQUcsRUFBQyxJQUFLO29CQUN6Q2IsTUFBTVosaURBQVUsQ0FBQzJCLE1BQU1mLElBQUksQ0FBQztnQkFDaEM7WUFDQSxJQUFJUSxjQUFjTCxNQUFNLEtBQUssR0FBRztnQkFDNUIsSUFBSSxDQUFDVCxHQUFHLENBQUN5QixNQUFNLENBQUNiO1lBQ3BCO1lBQ0Esc0VBQXNFO1lBQ3RFLHNFQUFzRTtZQUN0RSxPQUFPRTtRQUNYO1FBQ0EsT0FBTyxFQUFFO0lBQ2I7SUFDQVksSUFBSWYsTUFBTSxFQUFFZ0IsTUFBTSxFQUFFO1FBQ2hCLE1BQU1mLE1BQU0sQ0FBQyxFQUFFRCxPQUFPRSxXQUFXLEdBQUcsQ0FBQyxFQUFFYyxPQUFPckIsSUFBSSxDQUFDLENBQUM7UUFDcEQsTUFBTUQsVUFBVSxJQUFJLENBQUNMLEdBQUcsQ0FBQ0MsR0FBRyxDQUFDVyxRQUFRLEVBQUU7UUFDdkNQLFFBQVFLLElBQUksQ0FBQztZQUNUTyxTQUFTQyxLQUFLQyxHQUFHLEtBQU0sQ0FBQ1EsT0FBT0wsR0FBRyxJQUFJM0IsNERBQVUsSUFBSztZQUNyRDBCLE9BQU9NO1FBQ1g7UUFDQSxJQUFJLENBQUMzQixHQUFHLENBQUM0QixHQUFHLENBQUNoQixLQUFLUDtJQUN0QjtJQUNBb0IsT0FBT2QsTUFBTSxFQUFFTCxJQUFJLEVBQUU7UUFDakIsTUFBTU0sTUFBTSxDQUFDLEVBQUVELE9BQU9FLFdBQVcsR0FBRyxDQUFDLEVBQUVQLEtBQUssQ0FBQztRQUM3QyxJQUFJLENBQUNOLEdBQUcsQ0FBQ3lCLE1BQU0sQ0FBQ2I7SUFDcEI7SUFDQWlCLFFBQVE7UUFDSixJQUFJLENBQUM3QixHQUFHLENBQUM2QixLQUFLO0lBQ2xCO0FBQ0o7QUFDQTs7Q0FFQyxHQUNNLFNBQVNDLE1BQU1DLElBQUk7SUFDdEIsT0FBTyxJQUFJbEMsY0FBY2tDO0FBQzdCLEVBQ0EsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQG11bHRpZm9ybWF0cy9kbnMvZGlzdC9zcmMvdXRpbHMvY2FjaGUuanM/NDZlMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaGFzaGxydSBmcm9tICdoYXNobHJ1JztcbmltcG9ydCB7IFJlY29yZFR5cGUgfSBmcm9tICcuLi9pbmRleC5qcyc7XG5pbXBvcnQgeyBERUZBVUxUX1RUTCwgdG9ETlNSZXNwb25zZSB9IGZyb20gJy4vdG8tZG5zLXJlc3BvbnNlLmpzJztcbi8qKlxuICogVGltZSBBd2FyZSBMZWFzdCBSZWNlbnQgVXNlZCBDYWNoZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9hcnhpdi5vcmcvcGRmLzE4MDEuMDAzOTBcbiAqL1xuY2xhc3MgQ2FjaGVkQW5zd2VycyB7XG4gICAgbHJ1O1xuICAgIGNvbnN0cnVjdG9yKG1heFNpemUpIHtcbiAgICAgICAgdGhpcy5scnUgPSBoYXNobHJ1KG1heFNpemUpO1xuICAgIH1cbiAgICBnZXQoZnFkbiwgdHlwZXMpIHtcbiAgICAgICAgbGV0IGZvdW5kQWxsQW5zd2VycyA9IHRydWU7XG4gICAgICAgIGNvbnN0IGFuc3dlcnMgPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCB0eXBlIG9mIHR5cGVzKSB7XG4gICAgICAgICAgICBjb25zdCBjYWNoZWQgPSB0aGlzLmdldEFuc3dlcnMoZnFkbiwgdHlwZSk7XG4gICAgICAgICAgICBpZiAoY2FjaGVkLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGZvdW5kQWxsQW5zd2VycyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYW5zd2Vycy5wdXNoKC4uLmNhY2hlZCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZvdW5kQWxsQW5zd2Vycykge1xuICAgICAgICAgICAgcmV0dXJuIHRvRE5TUmVzcG9uc2UoeyBhbnN3ZXJzIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldEFuc3dlcnMoZG9tYWluLCB0eXBlKSB7XG4gICAgICAgIGNvbnN0IGtleSA9IGAke2RvbWFpbi50b0xvd2VyQ2FzZSgpfS0ke3R5cGV9YDtcbiAgICAgICAgY29uc3QgYW5zd2VycyA9IHRoaXMubHJ1LmdldChrZXkpO1xuICAgICAgICBpZiAoYW5zd2VycyAhPSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCBjYWNoZWRBbnN3ZXJzID0gYW5zd2Vyc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoKGVudHJ5KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVudHJ5LmV4cGlyZXMgPiBEYXRlLm5vdygpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAubWFwKCh7IGV4cGlyZXMsIHZhbHVlIH0pID0+ICh7XG4gICAgICAgICAgICAgICAgLi4udmFsdWUsXG4gICAgICAgICAgICAgICAgVFRMOiBNYXRoLnJvdW5kKChleHBpcmVzIC0gRGF0ZS5ub3coKSkgLyAxMDAwKSxcbiAgICAgICAgICAgICAgICB0eXBlOiBSZWNvcmRUeXBlW3ZhbHVlLnR5cGVdXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICBpZiAoY2FjaGVkQW5zd2Vycy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxydS5yZW1vdmUoa2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgaGFzaGxydSBzdHJpbmdpZmllcyBzdG9yZWQgdHlwZXMgd2hpY2ggdHVybnMgZW51bXNcbiAgICAgICAgICAgIC8vIGludG8gc3RyaW5ncywgd2UgY29udmVydCBiYWNrIGludG8gZW51bXMgYWJvdmUgYnV0IHRzYyBkb2Vzbid0IGtub3dcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRBbnN3ZXJzO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgYWRkKGRvbWFpbiwgYW5zd2VyKSB7XG4gICAgICAgIGNvbnN0IGtleSA9IGAke2RvbWFpbi50b0xvd2VyQ2FzZSgpfS0ke2Fuc3dlci50eXBlfWA7XG4gICAgICAgIGNvbnN0IGFuc3dlcnMgPSB0aGlzLmxydS5nZXQoa2V5KSA/PyBbXTtcbiAgICAgICAgYW5zd2Vycy5wdXNoKHtcbiAgICAgICAgICAgIGV4cGlyZXM6IERhdGUubm93KCkgKyAoKGFuc3dlci5UVEwgPz8gREVGQVVMVF9UVEwpICogMTAwMCksXG4gICAgICAgICAgICB2YWx1ZTogYW5zd2VyXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmxydS5zZXQoa2V5LCBhbnN3ZXJzKTtcbiAgICB9XG4gICAgcmVtb3ZlKGRvbWFpbiwgdHlwZSkge1xuICAgICAgICBjb25zdCBrZXkgPSBgJHtkb21haW4udG9Mb3dlckNhc2UoKX0tJHt0eXBlfWA7XG4gICAgICAgIHRoaXMubHJ1LnJlbW92ZShrZXkpO1xuICAgIH1cbiAgICBjbGVhcigpIHtcbiAgICAgICAgdGhpcy5scnUuY2xlYXIoKTtcbiAgICB9XG59XG4vKipcbiAqIEF2b2lkIHNlbmRpbmcgbXVsdGlwbGUgcXVlcmllcyBmb3IgdGhlIHNhbWUgaG9zdG5hbWUgYnkgY2FjaGluZyByZXN1bHRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYWNoZShzaXplKSB7XG4gICAgcmV0dXJuIG5ldyBDYWNoZWRBbnN3ZXJzKHNpemUpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y2FjaGUuanMubWFwIl0sIm5hbWVzIjpbImhhc2hscnUiLCJSZWNvcmRUeXBlIiwiREVGQVVMVF9UVEwiLCJ0b0ROU1Jlc3BvbnNlIiwiQ2FjaGVkQW5zd2VycyIsImNvbnN0cnVjdG9yIiwibWF4U2l6ZSIsImxydSIsImdldCIsImZxZG4iLCJ0eXBlcyIsImZvdW5kQWxsQW5zd2VycyIsImFuc3dlcnMiLCJ0eXBlIiwiY2FjaGVkIiwiZ2V0QW5zd2VycyIsImxlbmd0aCIsInB1c2giLCJkb21haW4iLCJrZXkiLCJ0b0xvd2VyQ2FzZSIsImNhY2hlZEFuc3dlcnMiLCJmaWx0ZXIiLCJlbnRyeSIsImV4cGlyZXMiLCJEYXRlIiwibm93IiwibWFwIiwidmFsdWUiLCJUVEwiLCJNYXRoIiwicm91bmQiLCJyZW1vdmUiLCJhZGQiLCJhbnN3ZXIiLCJzZXQiLCJjbGVhciIsImNhY2hlIiwic2l6ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@multiformats/dns/dist/src/utils/cache.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@multiformats/dns/dist/src/utils/get-types.js":
/*!********************************************************************!*\
!*** ./node_modules/@multiformats/dns/dist/src/utils/get-types.js ***!
\********************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getTypes: () => (/* binding */ getTypes)\n/* harmony export */ });\n/* harmony import */ var _index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../index.js */ \"(ssr)/./node_modules/@multiformats/dns/dist/src/index.js\");\n\nfunction getTypes(types) {\n const DEFAULT_TYPES = [\n _index_js__WEBPACK_IMPORTED_MODULE_0__.RecordType.A\n ];\n if (types == null) {\n return DEFAULT_TYPES;\n }\n if (Array.isArray(types)) {\n if (types.length === 0) {\n return DEFAULT_TYPES;\n }\n return types;\n }\n return [\n types\n ];\n} //# sourceMappingURL=get-types.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQG11bHRpZm9ybWF0cy9kbnMvZGlzdC9zcmMvdXRpbHMvZ2V0LXR5cGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQXlDO0FBQ2xDLFNBQVNDLFNBQVNDLEtBQUs7SUFDMUIsTUFBTUMsZ0JBQWdCO1FBQ2xCSCxpREFBVUEsQ0FBQ0ksQ0FBQztLQUNmO0lBQ0QsSUFBSUYsU0FBUyxNQUFNO1FBQ2YsT0FBT0M7SUFDWDtJQUNBLElBQUlFLE1BQU1DLE9BQU8sQ0FBQ0osUUFBUTtRQUN0QixJQUFJQSxNQUFNSyxNQUFNLEtBQUssR0FBRztZQUNwQixPQUFPSjtRQUNYO1FBQ0EsT0FBT0Q7SUFDWDtJQUNBLE9BQU87UUFDSEE7S0FDSDtBQUNMLEVBQ0EscUNBQXFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQG11bHRpZm9ybWF0cy9kbnMvZGlzdC9zcmMvdXRpbHMvZ2V0LXR5cGVzLmpzPzMwNzAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVjb3JkVHlwZSB9IGZyb20gJy4uL2luZGV4LmpzJztcbmV4cG9ydCBmdW5jdGlvbiBnZXRUeXBlcyh0eXBlcykge1xuICAgIGNvbnN0IERFRkFVTFRfVFlQRVMgPSBbXG4gICAgICAgIFJlY29yZFR5cGUuQVxuICAgIF07XG4gICAgaWYgKHR5cGVzID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIERFRkFVTFRfVFlQRVM7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHR5cGVzKSkge1xuICAgICAgICBpZiAodHlwZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gREVGQVVMVF9UWVBFUztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHlwZXM7XG4gICAgfVxuICAgIHJldHVybiBbXG4gICAgICAgIHR5cGVzXG4gICAgXTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldC10eXBlcy5qcy5tYXAiXSwibmFtZXMiOlsiUmVjb3JkVHlwZSIsImdldFR5cGVzIiwidHlwZXMiLCJERUZBVUxUX1RZUEVTIiwiQSIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@multiformats/dns/dist/src/utils/get-types.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@multiformats/dns/dist/src/utils/to-dns-response.js":
/*!**************************************************************************!*\
!*** ./node_modules/@multiformats/dns/dist/src/utils/to-dns-response.js ***!
\**************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DEFAULT_TTL: () => (/* binding */ DEFAULT_TTL),\n/* harmony export */ toDNSResponse: () => (/* binding */ toDNSResponse)\n/* harmony export */ });\n/* harmony import */ var uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uint8arrays/to-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/to-string.node.js\");\n/* harmony import */ var _index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../index.js */ \"(ssr)/./node_modules/@multiformats/dns/dist/src/index.js\");\n\n\n/**\n * This TTL will be used if the remote service does not return one\n */ const DEFAULT_TTL = 60;\nfunction toDNSResponse(obj) {\n return {\n Status: obj.Status ?? 0,\n TC: obj.TC ?? obj.flag_tc ?? false,\n RD: obj.RD ?? obj.flag_rd ?? false,\n RA: obj.RA ?? obj.flag_ra ?? false,\n AD: obj.AD ?? obj.flag_ad ?? false,\n CD: obj.CD ?? obj.flag_cd ?? false,\n Question: (obj.Question ?? obj.questions ?? []).map((question)=>{\n return {\n name: question.name,\n type: _index_js__WEBPACK_IMPORTED_MODULE_1__.RecordType[question.type]\n };\n }),\n Answer: (obj.Answer ?? obj.answers ?? []).map((answer)=>{\n return {\n name: answer.name,\n type: _index_js__WEBPACK_IMPORTED_MODULE_1__.RecordType[answer.type],\n TTL: answer.TTL ?? answer.ttl ?? DEFAULT_TTL,\n data: answer.data instanceof Uint8Array ? (0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_0__.toString)(answer.data) : answer.data\n };\n })\n };\n} //# sourceMappingURL=to-dns-response.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQG11bHRpZm9ybWF0cy9kbnMvZGlzdC9zcmMvdXRpbHMvdG8tZG5zLXJlc3BvbnNlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBdUU7QUFDOUI7QUFDekM7O0NBRUMsR0FDTSxNQUFNRyxjQUFjLEdBQUc7QUFDdkIsU0FBU0MsY0FBY0MsR0FBRztJQUM3QixPQUFPO1FBQ0hDLFFBQVFELElBQUlDLE1BQU0sSUFBSTtRQUN0QkMsSUFBSUYsSUFBSUUsRUFBRSxJQUFJRixJQUFJRyxPQUFPLElBQUk7UUFDN0JDLElBQUlKLElBQUlJLEVBQUUsSUFBSUosSUFBSUssT0FBTyxJQUFJO1FBQzdCQyxJQUFJTixJQUFJTSxFQUFFLElBQUlOLElBQUlPLE9BQU8sSUFBSTtRQUM3QkMsSUFBSVIsSUFBSVEsRUFBRSxJQUFJUixJQUFJUyxPQUFPLElBQUk7UUFDN0JDLElBQUlWLElBQUlVLEVBQUUsSUFBSVYsSUFBSVcsT0FBTyxJQUFJO1FBQzdCQyxVQUFVLENBQUNaLElBQUlZLFFBQVEsSUFBSVosSUFBSWEsU0FBUyxJQUFJLEVBQUUsRUFBRUMsR0FBRyxDQUFDLENBQUNDO1lBQ2pELE9BQU87Z0JBQ0hDLE1BQU1ELFNBQVNDLElBQUk7Z0JBQ25CQyxNQUFNcEIsaURBQVUsQ0FBQ2tCLFNBQVNFLElBQUksQ0FBQztZQUNuQztRQUNKO1FBQ0FDLFFBQVEsQ0FBQ2xCLElBQUlrQixNQUFNLElBQUlsQixJQUFJbUIsT0FBTyxJQUFJLEVBQUUsRUFBRUwsR0FBRyxDQUFDLENBQUNNO1lBQzNDLE9BQU87Z0JBQ0hKLE1BQU1JLE9BQU9KLElBQUk7Z0JBQ2pCQyxNQUFNcEIsaURBQVUsQ0FBQ3VCLE9BQU9ILElBQUksQ0FBQztnQkFDN0JJLEtBQU1ELE9BQU9DLEdBQUcsSUFBSUQsT0FBT0UsR0FBRyxJQUFJeEI7Z0JBQ2xDeUIsTUFBTUgsT0FBT0csSUFBSSxZQUFZQyxhQUFhNUIsK0RBQWtCQSxDQUFDd0IsT0FBT0csSUFBSSxJQUFJSCxPQUFPRyxJQUFJO1lBQzNGO1FBQ0o7SUFDSjtBQUNKLEVBQ0EsMkNBQTJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQG11bHRpZm9ybWF0cy9kbnMvZGlzdC9zcmMvdXRpbHMvdG8tZG5zLXJlc3BvbnNlLmpzPzQ0NTciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdG9TdHJpbmcgYXMgdWludDhBcnJheVRvU3RyaW5nIH0gZnJvbSAndWludDhhcnJheXMvdG8tc3RyaW5nJztcbmltcG9ydCB7IFJlY29yZFR5cGUgfSBmcm9tICcuLi9pbmRleC5qcyc7XG4vKipcbiAqIFRoaXMgVFRMIHdpbGwgYmUgdXNlZCBpZiB0aGUgcmVtb3RlIHNlcnZpY2UgZG9lcyBub3QgcmV0dXJuIG9uZVxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9UVEwgPSA2MDtcbmV4cG9ydCBmdW5jdGlvbiB0b0ROU1Jlc3BvbnNlKG9iaikge1xuICAgIHJldHVybiB7XG4gICAgICAgIFN0YXR1czogb2JqLlN0YXR1cyA/PyAwLFxuICAgICAgICBUQzogb2JqLlRDID8/IG9iai5mbGFnX3RjID8/IGZhbHNlLFxuICAgICAgICBSRDogb2JqLlJEID8/IG9iai5mbGFnX3JkID8/IGZhbHNlLFxuICAgICAgICBSQTogb2JqLlJBID8/IG9iai5mbGFnX3JhID8/IGZhbHNlLFxuICAgICAgICBBRDogb2JqLkFEID8/IG9iai5mbGFnX2FkID8/IGZhbHNlLFxuICAgICAgICBDRDogb2JqLkNEID8/IG9iai5mbGFnX2NkID8/IGZhbHNlLFxuICAgICAgICBRdWVzdGlvbjogKG9iai5RdWVzdGlvbiA/PyBvYmoucXVlc3Rpb25zID8/IFtdKS5tYXAoKHF1ZXN0aW9uKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG5hbWU6IHF1ZXN0aW9uLm5hbWUsXG4gICAgICAgICAgICAgICAgdHlwZTogUmVjb3JkVHlwZVtxdWVzdGlvbi50eXBlXVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSksXG4gICAgICAgIEFuc3dlcjogKG9iai5BbnN3ZXIgPz8gb2JqLmFuc3dlcnMgPz8gW10pLm1hcCgoYW5zd2VyKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG5hbWU6IGFuc3dlci5uYW1lLFxuICAgICAgICAgICAgICAgIHR5cGU6IFJlY29yZFR5cGVbYW5zd2VyLnR5cGVdLFxuICAgICAgICAgICAgICAgIFRUTDogKGFuc3dlci5UVEwgPz8gYW5zd2VyLnR0bCA/PyBERUZBVUxUX1RUTCksXG4gICAgICAgICAgICAgICAgZGF0YTogYW5zd2VyLmRhdGEgaW5zdGFuY2VvZiBVaW50OEFycmF5ID8gdWludDhBcnJheVRvU3RyaW5nKGFuc3dlci5kYXRhKSA6IGFuc3dlci5kYXRhXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KVxuICAgIH07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD10by1kbnMtcmVzcG9uc2UuanMubWFwIl0sIm5hbWVzIjpbInRvU3RyaW5nIiwidWludDhBcnJheVRvU3RyaW5nIiwiUmVjb3JkVHlwZSIsIkRFRkFVTFRfVFRMIiwidG9ETlNSZXNwb25zZSIsIm9iaiIsIlN0YXR1cyIsIlRDIiwiZmxhZ190YyIsIlJEIiwiZmxhZ19yZCIsIlJBIiwiZmxhZ19yYSIsIkFEIiwiZmxhZ19hZCIsIkNEIiwiZmxhZ19jZCIsIlF1ZXN0aW9uIiwicXVlc3Rpb25zIiwibWFwIiwicXVlc3Rpb24iLCJuYW1lIiwidHlwZSIsIkFuc3dlciIsImFuc3dlcnMiLCJhbnN3ZXIiLCJUVEwiLCJ0dGwiLCJkYXRhIiwiVWludDhBcnJheSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@multiformats/dns/dist/src/utils/to-dns-response.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@multiformats/mafmt/dist/src/index.js":
/*!************************************************************!*\
!*** ./node_modules/@multiformats/mafmt/dist/src/index.js ***!
\************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Circuit: () => (/* binding */ Circuit),\n/* harmony export */ DNS: () => (/* binding */ DNS),\n/* harmony export */ DNS4: () => (/* binding */ DNS4),\n/* harmony export */ DNS6: () => (/* binding */ DNS6),\n/* harmony export */ DNSADDR: () => (/* binding */ DNSADDR),\n/* harmony export */ HTTP: () => (/* binding */ HTTP),\n/* harmony export */ HTTPS: () => (/* binding */ HTTPS),\n/* harmony export */ IP: () => (/* binding */ IP),\n/* harmony export */ IPFS: () => (/* binding */ IPFS),\n/* harmony export */ P2P: () => (/* binding */ P2P),\n/* harmony export */ P2PWebRTCDirect: () => (/* binding */ P2PWebRTCDirect),\n/* harmony export */ P2PWebRTCStar: () => (/* binding */ P2PWebRTCStar),\n/* harmony export */ QUIC: () => (/* binding */ QUIC),\n/* harmony export */ QUICV1: () => (/* binding */ QUICV1),\n/* harmony export */ Reliable: () => (/* binding */ Reliable),\n/* harmony export */ Stardust: () => (/* binding */ Stardust),\n/* harmony export */ TCP: () => (/* binding */ TCP),\n/* harmony export */ UDP: () => (/* binding */ UDP),\n/* harmony export */ UTP: () => (/* binding */ UTP),\n/* harmony export */ WebRTC: () => (/* binding */ WebRTC),\n/* harmony export */ WebRTCDirect: () => (/* binding */ WebRTCDirect),\n/* harmony export */ WebSocketStar: () => (/* binding */ WebSocketStar),\n/* harmony export */ WebSockets: () => (/* binding */ WebSockets),\n/* harmony export */ WebSocketsSecure: () => (/* binding */ WebSocketsSecure),\n/* harmony export */ WebTransport: () => (/* binding */ WebTransport)\n/* harmony export */ });\n/* harmony import */ var _multiformats_multiaddr__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @multiformats/multiaddr */ \"(ssr)/./node_modules/@multiformats/multiaddr/dist/src/index.js\");\n\n/*\n * Valid combinations\n */ const DNS4 = base(\"dns4\");\nconst DNS6 = base(\"dns6\");\nconst DNSADDR = base(\"dnsaddr\");\nconst DNS = or(base(\"dns\"), DNSADDR, DNS4, DNS6);\nconst IP = or(base(\"ip4\"), base(\"ip6\"));\nconst TCP = or(and(IP, base(\"tcp\")), and(DNS, base(\"tcp\")));\nconst UDP = and(IP, base(\"udp\"));\nconst UTP = and(UDP, base(\"utp\"));\nconst QUIC = and(UDP, base(\"quic\"));\nconst QUICV1 = and(UDP, base(\"quic-v1\"));\nconst _WebSockets = or(and(TCP, base(\"ws\")), and(DNS, base(\"ws\")));\nconst WebSockets = or(and(_WebSockets, base(\"p2p\")), _WebSockets);\nconst _WebSocketsSecure = or(and(TCP, base(\"wss\")), and(DNS, base(\"wss\")), and(TCP, base(\"tls\"), base(\"ws\")), and(DNS, base(\"tls\"), base(\"ws\")));\nconst WebSocketsSecure = or(and(_WebSocketsSecure, base(\"p2p\")), _WebSocketsSecure);\nconst HTTP = or(and(TCP, base(\"http\")), and(IP, base(\"http\")), and(DNS, base(\"http\")));\nconst HTTPS = or(and(TCP, base(\"https\")), and(IP, base(\"https\")), and(DNS, base(\"https\")));\nconst _WebRTCDirect = and(UDP, base(\"webrtc-direct\"), base(\"certhash\"));\nconst WebRTCDirect = or(and(_WebRTCDirect, base(\"p2p\")), _WebRTCDirect);\nconst _WebTransport = and(QUICV1, base(\"webtransport\"), base(\"certhash\"), base(\"certhash\"));\nconst WebTransport = or(and(_WebTransport, base(\"p2p\")), _WebTransport);\n/**\n * @deprecated\n */ const P2PWebRTCStar = or(and(WebSockets, base(\"p2p-webrtc-star\"), base(\"p2p\")), and(WebSocketsSecure, base(\"p2p-webrtc-star\"), base(\"p2p\")), and(WebSockets, base(\"p2p-webrtc-star\")), and(WebSocketsSecure, base(\"p2p-webrtc-star\")));\nconst WebSocketStar = or(and(WebSockets, base(\"p2p-websocket-star\"), base(\"p2p\")), and(WebSocketsSecure, base(\"p2p-websocket-star\"), base(\"p2p\")), and(WebSockets, base(\"p2p-websocket-star\")), and(WebSocketsSecure, base(\"p2p-websocket-star\")));\n/**\n * @deprecated\n */ const P2PWebRTCDirect = or(and(HTTP, base(\"p2p-webrtc-direct\"), base(\"p2p\")), and(HTTPS, base(\"p2p-webrtc-direct\"), base(\"p2p\")), and(HTTP, base(\"p2p-webrtc-direct\")), and(HTTPS, base(\"p2p-webrtc-direct\")));\nconst Reliable = or(_WebSockets, _WebSocketsSecure, HTTP, HTTPS, P2PWebRTCStar, P2PWebRTCDirect, TCP, UTP, QUIC, DNS, WebRTCDirect, WebTransport);\n// Unlike ws-star, stardust can run over any transport thus removing the requirement for websockets (but don't even think about running a stardust server over webrtc-star ;) )\nconst Stardust = or(and(Reliable, base(\"p2p-stardust\"), base(\"p2p\")), and(Reliable, base(\"p2p-stardust\")));\nconst _P2P = or(and(Reliable, base(\"p2p\")), P2PWebRTCStar, P2PWebRTCDirect, WebRTCDirect, WebTransport, base(\"p2p\"));\nconst _Circuit = or(and(_P2P, base(\"p2p-circuit\"), _P2P), and(_P2P, base(\"p2p-circuit\")), and(base(\"p2p-circuit\"), _P2P), and(Reliable, base(\"p2p-circuit\")), and(base(\"p2p-circuit\"), Reliable), base(\"p2p-circuit\"));\nconst CircuitRecursive = ()=>or(and(_Circuit, CircuitRecursive), _Circuit);\nconst Circuit = CircuitRecursive();\nconst P2P = or(and(Circuit, _P2P, Circuit), and(_P2P, Circuit), and(Circuit, _P2P), Circuit, _P2P);\nconst IPFS = P2P;\nconst WebRTC = or(and(Circuit, base(\"webrtc\"), base(\"p2p\")), and(Circuit, base(\"webrtc\")), and(Reliable, base(\"webrtc\"), base(\"p2p\")), and(Reliable, base(\"webrtc\")), base(\"webrtc\"));\n/*\n * Validation funcs\n */ function makeMatchesFunction(partialMatch) {\n function matches(a) {\n let ma;\n try {\n ma = (0,_multiformats_multiaddr__WEBPACK_IMPORTED_MODULE_0__.multiaddr)(a);\n } catch (err) {\n return false; // also if it's invalid it's probably not matching as well so return false\n }\n const out = partialMatch(ma.protoNames());\n if (out === null) {\n return false;\n }\n if (out === true || out === false) {\n return out;\n }\n return out.length === 0;\n }\n return matches;\n}\nfunction and(...args) {\n function partialMatch(a) {\n if (a.length < args.length) {\n return null;\n }\n let out = a;\n args.some((arg)=>{\n out = typeof arg === \"function\" ? arg().partialMatch(a) : arg.partialMatch(a);\n if (Array.isArray(out)) {\n a = out;\n }\n if (out === null) {\n return true;\n }\n return false;\n });\n return out;\n }\n return {\n toString: function() {\n return \"{ \" + args.join(\" \") + \" }\";\n },\n input: args,\n matches: makeMatchesFunction(partialMatch),\n partialMatch\n };\n}\nfunction or(...args) {\n function partialMatch(a) {\n let out = null;\n args.some((arg)=>{\n const res = typeof arg === \"function\" ? arg().partialMatch(a) : arg.partialMatch(a);\n if (res != null) {\n out = res;\n return true;\n }\n return false;\n });\n return out;\n }\n const result = {\n toString: function() {\n return \"{ \" + args.join(\" \") + \" }\";\n },\n input: args,\n matches: makeMatchesFunction(partialMatch),\n partialMatch\n };\n return result;\n}\nfunction base(n) {\n const name = n;\n function matches(a) {\n let ma;\n try {\n ma = (0,_multiformats_multiaddr__WEBPACK_IMPORTED_MODULE_0__.multiaddr)(a);\n } catch (err) {\n return false; // also if it's invalid it's probably not matching as well so return false\n }\n const pnames = ma.protoNames();\n if (pnames.length === 1 && pnames[0] === name) {\n return true;\n }\n return false;\n }\n function partialMatch(protos) {\n if (protos.length === 0) {\n return null;\n }\n if (protos[0] === name) {\n return protos.slice(1);\n }\n return null;\n }\n return {\n toString: function() {\n return name;\n },\n matches,\n partialMatch\n };\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQG11bHRpZm9ybWF0cy9tYWZtdC9kaXN0L3NyYy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFvRDtBQUNwRDs7Q0FFQyxHQUNNLE1BQU1DLE9BQU9DLEtBQUssUUFBUTtBQUMxQixNQUFNQyxPQUFPRCxLQUFLLFFBQVE7QUFDMUIsTUFBTUUsVUFBVUYsS0FBSyxXQUFXO0FBQ2hDLE1BQU1HLE1BQU1DLEdBQUdKLEtBQUssUUFBUUUsU0FBU0gsTUFBTUUsTUFBTTtBQUNqRCxNQUFNSSxLQUFLRCxHQUFHSixLQUFLLFFBQVFBLEtBQUssUUFBUTtBQUN4QyxNQUFNTSxNQUFNRixHQUFHRyxJQUFJRixJQUFJTCxLQUFLLFNBQVNPLElBQUlKLEtBQUtILEtBQUssU0FBUztBQUM1RCxNQUFNUSxNQUFNRCxJQUFJRixJQUFJTCxLQUFLLFFBQVE7QUFDakMsTUFBTVMsTUFBTUYsSUFBSUMsS0FBS1IsS0FBSyxRQUFRO0FBQ2xDLE1BQU1VLE9BQU9ILElBQUlDLEtBQUtSLEtBQUssU0FBUztBQUNwQyxNQUFNVyxTQUFTSixJQUFJQyxLQUFLUixLQUFLLFlBQVk7QUFDaEQsTUFBTVksY0FBY1IsR0FBR0csSUFBSUQsS0FBS04sS0FBSyxRQUFRTyxJQUFJSixLQUFLSCxLQUFLO0FBQ3BELE1BQU1hLGFBQWFULEdBQUdHLElBQUlLLGFBQWFaLEtBQUssU0FBU1ksYUFBYTtBQUN6RSxNQUFNRSxvQkFBb0JWLEdBQUdHLElBQUlELEtBQUtOLEtBQUssU0FBU08sSUFBSUosS0FBS0gsS0FBSyxTQUFTTyxJQUFJRCxLQUFLTixLQUFLLFFBQVFBLEtBQUssUUFBUU8sSUFBSUosS0FBS0gsS0FBSyxRQUFRQSxLQUFLO0FBQ2xJLE1BQU1lLG1CQUFtQlgsR0FBR0csSUFBSU8sbUJBQW1CZCxLQUFLLFNBQVNjLG1CQUFtQjtBQUNwRixNQUFNRSxPQUFPWixHQUFHRyxJQUFJRCxLQUFLTixLQUFLLFVB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QU9YO0lBQ1g7SUFDQSxNQUFNWSxTQUFTO1FBQ1hKLFVBQVU7WUFBYyxPQUFPLE9BQU9MLEtBQUtNLElBQUksQ0FBQyxPQUFPO1FBQU07UUFDN0RDLE9BQU9QO1FBQ1BQLFNBQVNGLG9CQUFvQkM7UUFDN0JBO0lBQ0o7SUFDQSxPQUFPaUI7QUFDWDtBQUNBLFNBQVNwRCxLQUFLcUQsQ0FBQztJQUNYLE1BQU1DLE9BQU9EO0lBQ2IsU0FBU2pCLFFBQVFDLENBQUM7UUFDZCxJQUFJQztRQUNKLElBQUk7WUFDQUEsS0FBS3hDLGtFQUFTQSxDQUFDdUM7UUFDbkIsRUFDQSxPQUFPRSxLQUFLO1lBQ1IsT0FBTyxPQUFPLDBFQUEwRTtRQUM1RjtRQUNBLE1BQU1nQixTQUFTakIsR0FBR0csVUFBVTtRQUM1QixJQUFJYyxPQUFPYixNQUFNLEtBQUssS0FBS2EsTUFBTSxDQUFDLEVBQUUsS0FBS0QsTUFBTTtZQUMzQyxPQUFPO1FBQ1g7UUFDQSxPQUFPO0lBQ1g7SUFDQSxTQUFTbkIsYUFBYXFCLE1BQU07UUFDeEIsSUFBSUEsT0FBT2QsTUFBTSxLQUFLLEdBQUc7WUFDckIsT0FBTztRQUNYO1FBQ0EsSUFBSWMsTUFBTSxDQUFDLEVBQUUsS0FBS0YsTUFBTTtZQUNwQixPQUFPRSxPQUFPQyxLQUFLLENBQUM7UUFDeEI7UUFDQSxPQUFPO0lBQ1g7SUFDQSxPQUFPO1FBQ0hULFVBQVU7WUFBYyxPQUFPTTtRQUFNO1FBQ3JDbEI7UUFDQUQ7SUFDSjtBQUNKLEVBQ0EsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQG11bHRpZm9ybWF0cy9tYWZtdC9kaXN0L3NyYy9pbmRleC5qcz8yNDY1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG11bHRpYWRkciB9IGZyb20gJ0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyJztcbi8qXG4gKiBWYWxpZCBjb21iaW5hdGlvbnNcbiAqL1xuZXhwb3J0IGNvbnN0IEROUzQgPSBiYXNlKCdkbnM0Jyk7XG5leHBvcnQgY29uc3QgRE5TNiA9IGJhc2UoJ2RuczYnKTtcbmV4cG9ydCBjb25zdCBETlNBRERSID0gYmFzZSgnZG5zYWRkcicpO1xuZXhwb3J0IGNvbnN0IEROUyA9IG9yKGJhc2UoJ2RucycpLCBETlNBRERSLCBETlM0LCBETlM2KTtcbmV4cG9ydCBjb25zdCBJUCA9IG9yKGJhc2UoJ2lwNCcpLCBiYXNlKCdpcDYnKSk7XG5leHBvcnQgY29uc3QgVENQID0gb3IoYW5kKElQLCBiYXNlKCd0Y3AnKSksIGFuZChETlMsIGJhc2UoJ3RjcCcpKSk7XG5leHBvcnQgY29uc3QgVURQID0gYW5kKElQLCBiYXNlKCd1ZHAnKSk7XG5leHBvcnQgY29uc3QgVVRQID0gYW5kKFVEUCwgYmFzZSgndXRwJykpO1xuZXhwb3J0IGNvbnN0IFFVSUMgPSBhbmQoVURQLCBiYXNlKCdxdWljJykpO1xuZXhwb3J0IGNvbnN0IFFVSUNWMSA9IGFuZChVRFAsIGJhc2UoJ3F1aWMtdjEnKSk7XG5jb25zdCBfV2ViU29ja2V0cyA9IG9yKGFuZChUQ1AsIGJhc2UoJ3dzJykpLCBhbmQoRE5TLCBiYXNlKCd3cycpKSk7XG5leHBvcnQgY29uc3QgV2ViU29ja2V0cyA9IG9yKGFuZChfV2ViU29ja2V0cywgYmFzZSgncDJwJykpLCBfV2ViU29ja2V0cyk7XG5jb25zdCBfV2ViU29ja2V0c1NlY3VyZSA9IG9yKGFuZChUQ1AsIGJhc2UoJ3dzcycpKSwgYW5kKEROUywgYmFzZSgnd3NzJykpLCBhbmQoVENQLCBiYXNlKCd0bHMnKSwgYmFzZSgnd3MnKSksIGFuZChETlMsIGJhc2UoJ3RscycpLCBiYXNlKCd3cycpKSk7XG5leHBvcnQgY29uc3QgV2ViU29ja2V0c1NlY3VyZSA9IG9yKGFuZChfV2ViU29ja2V0c1NlY3VyZSwgYmFzZSgncDJwJykpLCBfV2ViU29ja2V0c1NlY3VyZSk7XG5leHBvcnQgY29uc3QgSFRUUCA9IG9yKGFuZChUQ1AsIGJhc2UoJ2h0dHAnKSksIGFuZChJUCwgYmFzZSgnaHR0cCcpKSwgYW5kKEROUywgYmFzZSgnaHR0cCcpKSk7XG5leHBvcnQgY29uc3QgSFRUUFMgPSBvcihhbmQoVENQLCBiYXNlKCdodHRwcycpKSwgYW5kKElQLCBiYXNlKCdodHRwcycpKSwgYW5kKEROUywgYmFzZSgnaHR0cHMnKSkpO1xuY29uc3QgX1dlYlJUQ0RpcmVjdCA9IGFuZChVRFAsIGJhc2UoJ3dlYnJ0Yy1kaXJlY3QnKSwgYmFzZSgnY2VydGhhc2gnKSk7XG5leHBvcnQgY29uc3QgV2ViUlRDRGlyZWN0ID0gb3IoYW5kKF9XZWJSVENEaXJlY3QsIGJhc2UoJ3AycCcpKSwgX1dlYlJUQ0RpcmVjdCk7XG5jb25zdCBfV2ViVHJhbnNwb3J0ID0gYW5kKFFVSUNWMSwgYmFzZSgnd2VidHJhbnNwb3J0JyksIGJhc2UoJ2NlcnRoYXNoJyksIGJhc2UoJ2NlcnRoYXNoJykpO1xuZXhwb3J0IGNvbnN0IFdlYlRyYW5zcG9ydCA9IG9yKGFuZChfV2ViVHJhbnNwb3J0LCBiYXNlKCdwMnAnKSksIF9XZWJUcmFuc3BvcnQpO1xuLyoqXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgY29uc3QgUDJQV2ViUlRDU3RhciA9IG9yKGFuZChXZWJTb2NrZXRzLCBiYXNlKCdwMnAtd2VicnRjLXN0YXInKSwgYmFzZSgncDJwJykpLCBhbmQoV2ViU29ja2V0c1NlY3VyZSwgYmFzZSgncDJwLXdlYnJ0Yy1zdGFyJyksIGJhc2UoJ3AycCcpKSwgYW5kKFdlYlNvY2tldHMsIGJhc2UoJ3AycC13ZWJydGMtc3RhcicpKSwgYW5kKFdlYlNvY2tldHNTZWN1cmUsIGJhc2UoJ3AycC13ZWJydGMtc3RhcicpKSk7XG5leHBvcnQgY29uc3QgV2ViU29ja2V0U3RhciA9IG9yKGFuZChXZWJTb2NrZXRzLCBiYXNlKCdwMnAtd2Vic29ja2V0LXN0YXInKSwgYmFzZSgncDJwJykpLCBhbmQoV2ViU29ja2V0c1NlY3VyZSwgYmFzZSgncDJwLXdlYnNvY2tldC1zdGFyJyksIGJhc2UoJ3AycCcpKSwgYW5kKFdlYlNvY2tldHMsIGJhc2UoJ3AycC13ZWJzb2NrZXQtc3RhcicpKSwgYW5kKFdlYlNvY2tldHNTZWN1cmUsIGJhc2UoJ3AycC13ZWJzb2NrZXQtc3RhcicpKSk7XG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBjb25zdCBQMlBXZWJSVENEaXJlY3QgPSBvcihhbmQoSFRUUCwgYmFzZSgncDJwLXdlYnJ0Yy1kaXJlY3QnKSwgYmFzZSgncDJwJykpLCBhbmQoSFRUUFMsIGJhc2UoJ3AycC13ZWJydGMtZGlyZWN0JyksIGJhc2UoJ3AycCcpKSwgYW5kKEhUVFAsIGJhc2UoJ3AycC13ZWJydGMtZGlyZWN0JykpLCBhbmQoSFRUUFMsIGJhc2UoJ3AycC13ZWJydGMtZGlyZWN0JykpKTtcbmV4cG9ydCBjb25zdCBSZWxpYWJsZSA9IG9yKF9XZWJTb2NrZXRzLCBfV2ViU29ja2V0c1NlY3VyZSwgSFRUUCwgSFRUUFMsIFAyUFdlYlJUQ1N0YXIsIFAyUFdlYlJUQ0RpcmVjdCwgVENQLCBVVFAsIFFVSUMsIEROUywgV2ViUlRDRGlyZWN0LCBXZWJUcmFuc3BvcnQpO1xuLy8gVW5saWtlIHdzLXN0YXIsIHN0YXJkdXN0IGNhbiBydW4gb3ZlciBhbnkgdHJhbnNwb3J0IHRodXMgcmVtb3ZpbmcgdGhlIHJlcXVpcmVtZW50IGZvciB3ZWJzb2NrZXRzIChidXQgZG9uJ3QgZXZlbiB0aGluayBhYm91dCBydW5uaW5nIGEgc3RhcmR1c3Qgc2VydmVyIG92ZXIgd2VicnRjLXN0YXIgOykgKVxuZXhwb3J0IGNvbnN0IFN0YXJkdXN0ID0gb3IoYW5kKFJlbGlhYmxlLCBiYXNlKCdwMnAtc3RhcmR1c3QnKSwgYmFzZSgncDJwJykpLCBhbmQoUmVsaWFibGUsIGJhc2UoJ3AycC1zdGFyZHVzdCcpKSk7XG5jb25zdCBfUDJQID0gb3IoYW5kKFJlbGlhYmxlLCBiYXNlKCdwMnAnKSksIFAyUFdlYlJUQ1N0YXIsIFAyUFdlYlJUQ0RpcmVjdCwgV2ViUlRDRGlyZWN0LCBXZWJUcmFuc3BvcnQsIGJhc2UoJ3AycCcpKTtcbmNvbnN0IF9DaXJjdWl0ID0gb3IoYW5kKF9QMlAsIGJhc2UoJ3AycC1jaXJjdWl0JyksIF9QMlApLCBhbmQoX1AyUCwgYmFzZSgncDJwLWNpcmN1aXQnKSksIGFuZChiYXNlKCdwMnAtY2lyY3VpdCcpLCBfUDJQKSwgYW5kKFJlbGlhYmxlLCBiYXNlKCdwMnAtY2lyY3VpdCcpKSwgYW5kKGJhc2UoJ3AycC1jaXJjdWl0JyksIFJlbGlhYmxlKSwgYmFzZSgncDJwLWNpcmN1aXQnKSk7XG5jb25zdCBDaXJjdWl0UmVjdXJzaXZlID0gKCkgPT4gb3IoYW5kKF9DaXJjdWl0LCBDaXJjdWl0UmVjdXJzaXZlKSwgX0NpcmN1aXQpO1xuZXhwb3J0IGNvbnN0IENpcmN1aXQgPSBDaXJjdWl0UmVjdXJzaXZlKCk7XG5leHBvcnQgY29uc3QgUDJQID0gb3IoYW5kKENpcmN1aXQsIF9QMlAsIENpcmN1aXQpLCBhbmQoX1AyUCwgQ2lyY3VpdCksIGFuZChDaXJjdWl0LCBfUDJQKSwgQ2lyY3VpdCwgX1AyUCk7XG5leHBvcnQgY29uc3QgSVBGUyA9IFAyUDtcbmV4cG9ydCBjb25zdCBXZWJSVEMgPSBvcihhbmQoQ2lyY3VpdCwgYmFzZSgnd2VicnRjJyksIGJhc2UoJ3AycCcpKSwgYW5kKENpcmN1aXQsIGJhc2UoJ3dlYnJ0YycpKSwgYW5kKFJlbGlhYmxlLCBiYXNlKCd3ZWJydGMnKSwgYmFzZSgncDJwJykpLCBhbmQoUmVsaWFibGUsIGJhc2UoJ3dlYnJ0YycpKSwgYmFzZSgnd2VicnRjJykpO1xuLypcbiAqIFZhbGlkYXRpb24gZnVuY3NcbiAqL1xuZnVuY3Rpb24gbWFrZU1hdGNoZXNGdW5jdGlvbihwYXJ0aWFsTWF0Y2gpIHtcbiAgICBmdW5jdGlvbiBtYXRjaGVzKGEpIHtcbiAgICAgICAgbGV0IG1hO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgbWEgPSBtdWx0aWFkZHIoYSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycikgeyAvLyBjYXRjaCBlcnJvclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBhbHNvIGlmIGl0J3MgaW52YWxpZCBpdCdzIHByb2JhYmx5IG5vdCBtYXRjaGluZyBhcyB3ZWxsIHNvIHJldHVybiBmYWxzZVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG91dCA9IHBhcnRpYWxNYXRjaChtYS5wcm90b05hbWVzKCkpO1xuICAgICAgICBpZiAob3V0ID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG91dCA9PT0gdHJ1ZSB8fCBvdXQgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICByZXR1cm4gb3V0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvdXQubGVuZ3RoID09PSAwO1xuICAgIH1cbiAgICByZXR1cm4gbWF0Y2hlcztcbn1cbmZ1bmN0aW9uIGFuZCguLi5hcmdzKSB7XG4gICAgZnVuY3Rpb24gcGFydGlhbE1hdGNoKGEpIHtcbiAgICAgICAgaWYgKGEubGVuZ3RoIDwgYXJncy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGxldCBvdXQgPSBhO1xuICAgICAgICBhcmdzLnNvbWUoKGFyZykgPT4ge1xuICAgICAgICAgICAgb3V0ID0gdHlwZW9mIGFyZyA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICAgID8gYXJnKCkucGFydGlhbE1hdGNoKGEpXG4gICAgICAgICAgICAgICAgOiBhcmcucGFydGlhbE1hdGNoKGEpO1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkob3V0KSkge1xuICAgICAgICAgICAgICAgIGEgPSBvdXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAob3V0ID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gb3V0O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4gJ3sgJyArIGFyZ3Muam9pbignICcpICsgJyB9JzsgfSxcbiAgICAgICAgaW5wdXQ6IGFyZ3MsXG4gICAgICAgIG1hdGNoZXM6IG1ha2VNYXRjaGVzRnVuY3Rpb24ocGFydGlhbE1hdGNoKSxcbiAgICAgICAgcGFydGlhbE1hdGNoXG4gICAgfTtcbn1cbmZ1bmN0aW9uIG9yKC4uLmFyZ3MpIHtcbiAgICBmdW5jdGlvbiBwYXJ0aWFsTWF0Y2goYSkge1xuICAgICAgICBsZXQgb3V0ID0gbnVsbDtcbiAgICAgICAgYXJncy5zb21lKChhcmcpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlcyA9IHR5cGVvZiBhcmcgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICA/IGFyZygpLnBhcnRpYWxNYXRjaChhKVxuICAgICAgICAgICAgICAgIDogYXJnLnBhcnRpYWxNYXRjaChhKTtcbiAgICAgICAgICAgIGlmIChyZXMgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIG91dCA9IHJlcztcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBvdXQ7XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICd7ICcgKyBhcmdzLmpvaW4oJyAnKSArICcgfSc7IH0sXG4gICAgICAgIGlucHV0OiBhcmdzLFxuICAgICAgICBtYXRjaGVzOiBtYWtlTWF0Y2hlc0Z1bmN0aW9uKHBhcnRpYWxNYXRjaCksXG4gICAgICAgIHBhcnRpYWxNYXRjaFxuICAgIH07XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbmZ1bmN0aW9uIGJhc2Uobikge1xuICAgIGNvbnN0IG5hbWUgPSBuO1xuICAgIGZ1bmN0aW9uIG1hdGNoZXMoYSkge1xuICAgICAgICBsZXQgbWE7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBtYSA9IG11bHRpYWRkcihhKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyKSB7IC8vIGNhdGNoIGVycm9yXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7IC8vIGFsc28gaWYgaXQncyBpbnZhbGlkIGl0J3MgcHJvYmFibHkgbm90IG1hdGNoaW5nIGFzIHdlbGwgc28gcmV0dXJuIGZhbHNlXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcG5hbWVzID0gbWEucHJvdG9OYW1lcygpO1xuICAgICAgICBpZiAocG5hbWVzLmxlbmd0aCA9PT0gMSAmJiBwbmFtZXNbMF0gPT09IG5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgZnVuY3Rpb24gcGFydGlhbE1hdGNoKHByb3Rvcykge1xuICAgICAgICBpZiAocHJvdG9zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByb3Rvc1swXSA9PT0gbmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIHByb3Rvcy5zbGljZSgxKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIG5hbWU7IH0sXG4gICAgICAgIG1hdGNoZXMsXG4gICAgICAgIHBhcnRpYWxNYXRjaFxuICAgIH07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOlsibXVsdGlhZGRyIiwiRE5TNCIsImJhc2UiLCJETlM2IiwiRE5TQUREUiIsIkROUyIsIm9yIiwiSVAiLCJUQ1AiLCJhbmQiLCJVRFAiLCJVVFAiLCJRVUlDIiwiUVVJQ1YxIiwiX1dlYlNvY2tldHMiLCJXZWJTb2NrZXRzIiwiX1dlYlNvY2tldHNTZWN1cmUiLCJXZWJTb2NrZXRzU2VjdXJlIiwiSFRUUCIsIkhUVFBTIiwiX1dlYlJUQ0RpcmVjdCIsIldlYlJUQ0RpcmVjdCIsIl9XZWJUcmFuc3BvcnQiLCJXZWJUcmFuc3BvcnQiLCJQMlBXZWJSVENTdGFyIiwiV2ViU29ja2V0U3RhciIsIlAyUFdlYlJUQ0RpcmVjdCIsIlJlbGlhYmxlIiwiU3RhcmR1c3QiLCJfUDJQIiwiX0NpcmN1aXQiLCJDaXJjdWl0UmVjdXJzaXZlIiwiQ2lyY3VpdCIsIlAyUCIsIklQRlMiLCJXZWJSVEMiLCJtYWtlTWF0Y2hlc0Z1bmN0aW9uIiwicGFydGlhbE1hdGNoIiwibWF0Y2hlcyIsImEiLCJtYSIsImVyciIsIm91dCIsInByb3RvTmFtZXMiLCJsZW5ndGgiLCJhcmdzIiwic29tZSIsImFyZyIsIkFycmF5IiwiaXNBcnJheSIsInRvU3RyaW5nIiwiam9pbiIsImlucHV0IiwicmVzIiwicmVzdWx0IiwibiIsIm5hbWUiLCJwbmFtZXMiLCJwcm90b3MiLCJzbGljZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@multiformats/mafmt/dist/src/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@multiformats/multiaddr-matcher/dist/src/index.js":
/*!************************************************************************!*\
!*** ./node_modules/@multiformats/multiaddr-matcher/dist/src/index.js ***!
\************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Circuit: () => (/* binding */ Circuit),\n/* harmony export */ DNS: () => (/* binding */ DNS),\n/* harmony export */ DNS4: () => (/* binding */ DNS4),\n/* harmony export */ DNS6: () => (/* binding */ DNS6),\n/* harmony export */ DNSADDR: () => (/* binding */ DNSADDR),\n/* harmony export */ HTTP: () => (/* binding */ HTTP),\n/* harmony export */ HTTPS: () => (/* binding */ HTTPS),\n/* harmony export */ IP: () => (/* binding */ IP),\n/* harmony export */ IP4: () => (/* binding */ IP4),\n/* harmony export */ IP6: () => (/* binding */ IP6),\n/* harmony export */ IP_OR_DOMAIN: () => (/* binding */ IP_OR_DOMAIN),\n/* harmony export */ P2P: () => (/* binding */ P2P),\n/* harmony export */ QUIC: () => (/* binding */ QUIC),\n/* harmony export */ QUICV1: () => (/* binding */ QUICV1),\n/* harmony export */ TCP: () => (/* binding */ TCP),\n/* harmony export */ UDP: () => (/* binding */ UDP),\n/* harmony export */ WebRTC: () => (/* binding */ WebRTC),\n/* harmony export */ WebRTCDirect: () => (/* binding */ WebRTCDirect),\n/* harmony export */ WebSockets: () => (/* binding */ WebSockets),\n/* harmony export */ WebSocketsSecure: () => (/* binding */ WebSocketsSecure),\n/* harmony export */ WebTransport: () => (/* binding */ WebTransport)\n/* harmony export */ });\n/* harmony import */ var _chainsafe_is_ip__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @chainsafe/is-ip */ \"(ssr)/./node_modules/@chainsafe/is-ip/lib/is-ip.node.js\");\n/* harmony import */ var _multiformats_multiaddr__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @multiformats/multiaddr */ \"(ssr)/./node_modules/@multiformats/multiaddr/dist/src/index.js\");\n/* harmony import */ var multiformats_bases_base58__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! multiformats/bases/base58 */ \"(ssr)/./node_modules/multiformats/dist/src/bases/base58.js\");\n/* harmony import */ var multiformats_bases_base64__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! multiformats/bases/base64 */ \"(ssr)/./node_modules/multiformats/dist/src/bases/base64.js\");\n/**\n * @packageDocumentation\n *\n * This module exports various matchers that can be used to infer the type of a\n * passed multiaddr.\n *\n * @example\n *\n * ```ts\n * import { multiaddr } from '@multiformats/multiaddr'\n * import { DNS } from '@multiformats/multiaddr-matcher'\n *\n * const ma = multiaddr('/dnsaddr/example.org')\n *\n * DNS.matches(ma) // true - this is a multiaddr with a DNS address at the start\n * ```\n *\n * @example\n *\n * The default matching behaviour ignores any subsequent tuples in the multiaddr.\n * If you want stricter matching you can use `.exactMatch`:\n *\n * ```ts\n * import { multiaddr } from '@multiformats/multiaddr'\n * import { DNS, Circuit } from '@multiformats/multiaddr-matcher'\n *\n * const ma = multiaddr('/dnsaddr/example.org/p2p/QmFoo/p2p-circuit/p2p/QmBar')\n *\n * DNS.exactMatch(ma) // false - this address has extra tuples after the DNS component\n * Circuit.matches(ma) // true\n * Circuit.exactMatch(ma) // true - the extra tuples are circuit relay related\n * ```\n */ \n\n\n\n/**\n * Split a multiaddr into path components\n */ const toParts = (ma)=>{\n return ma.toString().split(\"/\").slice(1);\n};\nconst func = (fn)=>{\n return {\n match: (vals)=>{\n if (vals.length < 1) {\n return false;\n }\n if (fn(vals[0])) {\n return vals.slice(1);\n }\n return false;\n },\n pattern: \"fn\"\n };\n};\nconst literal = (str)=>{\n return {\n match: (vals)=>func((val)=>val === str).match(vals),\n pattern: str\n };\n};\nconst string = ()=>{\n return {\n match: (vals)=>func((val)=>typeof val === \"string\").match(vals),\n pattern: \"{string}\"\n };\n};\nconst number = ()=>{\n return {\n match: (vals)=>func((val)=>!isNaN(parseInt(val))).match(vals),\n pattern: \"{number}\"\n };\n};\nconst peerId = ()=>{\n return {\n match: (vals)=>{\n if (vals.length < 2) {\n return false;\n }\n if (vals[0] !== \"p2p\" && vals[0] !== \"ipfs\") {\n return false;\n }\n // Q is RSA, 1 is Ed25519 or Secp256k1\n if (vals[1].startsWith(\"Q\") || vals[1].startsWith(\"1\")) {\n try {\n multiformats_bases_base58__WEBPACK_IMPORTED_MODULE_2__.base58btc.decode(`z${vals[1]}`);\n } catch (err) {\n return false;\n }\n } else {\n return false;\n }\n return vals.slice(2);\n },\n pattern: \"/p2p/{peerid}\"\n };\n};\nconst certhash = ()=>{\n return {\n match: (vals)=>{\n if (vals.length < 2) {\n return false;\n }\n if (vals[0] !== \"certhash\") {\n return false;\n }\n try {\n multiformats_bases_base64__WEBPACK_IMPORTED_MODULE_3__.base64url.decode(vals[1]);\n } catch {\n return false;\n }\n return vals.slice(2);\n },\n pattern: \"/certhash/{certhash}\"\n };\n};\nconst optional = (matcher)=>{\n return {\n match: (vals)=>{\n const result = matcher.match(vals);\n if (result === false) {\n return vals;\n }\n return result;\n },\n pattern: `optional(${matcher.pattern})`\n };\n};\nconst or = (...matchers)=>{\n return {\n match: (vals)=>{\n let matches;\n for (const matcher of matchers){\n const result = matcher.match(vals);\n // no match\n if (result === false) {\n continue;\n }\n // choose greediest matcher\n if (matches == null || result.length < matches.length) {\n matches = result;\n }\n }\n if (matches == null) {\n return false;\n }\n return matches;\n },\n pattern: `or(${matchers.map((m)=>m.pattern).join(\", \")})`\n };\n};\nconst and = (...matchers)=>{\n return {\n match: (vals)=>{\n for (const matcher of matchers){\n // pass what's left of the array\n const result = matcher.match(vals);\n // no match\n if (result === false) {\n return false;\n }\n vals = result;\n }\n return vals;\n },\n pattern: `and(${matchers.map((m)=>m.pattern).join(\", \")})`\n };\n};\nfunction fmt(...matchers) {\n function match(ma) {\n let parts = toParts(ma);\n for (const matcher of matchers){\n const result = matcher.match(parts);\n if (result === false) {\n return false;\n }\n parts = result;\n }\n return parts;\n }\n function matches(ma) {\n const result = match(ma);\n return result !== false;\n }\n function exactMatch(ma) {\n const result = match(ma);\n if (result === false) {\n return false;\n }\n return result.length === 0;\n }\n return {\n matches,\n exactMatch\n };\n}\n/**\n * DNS matchers\n */ const _DNS4 = and(literal(\"dns4\"), string());\nconst _DNS6 = and(literal(\"dns6\"), string());\nconst _DNSADDR = and(literal(\"dnsaddr\"), string());\nconst _DNS = and(literal(\"dns\"), string());\n/**\n * Matches dns4 addresses.\n *\n * Use {@link DNS DNS} instead to match any type of DNS address.\n *\n * @example\n *\n * ```ts\n * import { multiaddr } from '@multiformats/multiaddr'\n * import { DNS4 } from '@multiformats/multiaddr-matcher'\n *\n * DNS4.matches(multiaddr('/dns4/example.org')) // true\n * ```\n */ const DNS4 = fmt(_DNS4);\n/**\n * Matches dns6 addresses.\n *\n * Use {@link DNS DNS} instead to match any type of DNS address.\n *\n * @example\n *\n * ```ts\n * import { multiaddr } from '@multiformats/multiaddr'\n * import { DNS6 } from '@multiformats/multiaddr-matcher'\n *\n * DNS6.matches(multiaddr('/dns6/example.org')) // true\n * ```\n */ const DNS6 = fmt(_DNS6);\n/**\n * Matches dnsaddr addresses.\n *\n * Use {@link DNS DNS} instead to match any type of DNS address.\n *\n * @example\n *\n * ```ts\n * import { multiaddr } from '@multiformats/multiaddr'\n * import { DNSADDR } from '@multiformats/multiaddr-matcher'\n *\n * DNSADDR.matches(multiaddr('/dnsaddr/example.org')) // true\n * ```\n */ const DNSADDR = fmt(_DNSADDR);\n/**\n * Matches any dns address.\n *\n * @example\n *\n * ```ts\n * import { multiaddr } from '@multiformats/multiaddr'\n * import { DNS } from '@multiformats/multiaddr-matcher'\n *\n * DNS.matches(multiaddr('/dnsaddr/example.org')) // true\n * DNS.matches(multiaddr('/dns4/example.org')) // true\n * DNS.matches(multiaddr('/dns6/example.org')) // true\n * ```\n */ const DNS = fmt(or(_DNS, _DNSADDR, _DNS4, _DNS6));\nconst _IP4 = and(literal(\"ip4\"), func(_chainsafe_is_ip__WEBPACK_IMPORTED_MODULE_0__.isIPv4));\nconst _IP6 = and(literal(\"ip6\"), func(_chainsafe_is_ip__WEBPACK_IMPORTED_MODULE_0__.isIPv6));\nconst _IP = or(_IP4, _IP6);\nconst _IP_OR_DOMAIN = or(_IP, _DNS, _DNS4, _DNS6, _DNSADDR);\n/**\n * A matcher for addresses that start with IP or DNS tuples.\n *\n * @example\n *\n * ```ts\n * import { multiaddr } from '@multiformats/multiaddr'\n * import { IP_OR_DOMAIN } from '@multiformats/multiaddr-matcher'\n *\n * IP_OR_DOMAIN.matches(multiaddr('/ip4/123.123.123.123/p2p/QmFoo')) // true\n * IP_OR_DOMAIN.matches(multiaddr('/dns/example.com/p2p/QmFoo')) // true\n * IP_OR_DOMAIN.matches(multiaddr('/p2p/QmFoo')) // false\n * ```\n */ const IP_OR_DOMAIN = fmt(_IP_OR_DOMAIN);\n/**\n * Matches ip4 addresses.\n *\n * Use {@link IP IP} instead to match any ip4/ip6 address.\n *\n * @example\n *\n * ```ts\n * import { multiaddr } from '@multiformats/multiaddr'\n * import { IP4 } from '@multiformats/multiaddr-matcher'\n *\n * const ma = multiaddr('/ip4/123.123.123.123')\n *\n * IP4.matches(ma) // true\n * ```\n */ const IP4 = fmt(_IP4);\n/**\n * Matches ip6 addresses.\n *\n * Use {@link IP IP} instead to match any ip4/ip6 address.\n *\n * @example\n *\n * ```ts\n * import { multiaddr } from '@multiformats/multiaddr'\n * import { IP6 } from '@multiformats/multiaddr-matcher'\n *\n * const ma = multiaddr('/ip6/fe80::1cc1:a3b8:322f:cf22')\n *\n * IP6.matches(ma) // true\n * ```\n */ const IP6 = fmt(_IP6);\n/**\n * Matches ip4 or ip6 addresses.\n *\n * @example\n *\n * ```ts\n * import { multiaddr } from '@multiformats/multiaddr'\n * import { IP } from '@multiformats/multiaddr-matcher'\n *\n * IP.matches(multiaddr('/ip4/123.123.123.123')) // true\n * IP.matches(multiaddr('/ip6/fe80::1cc1:a3b8:322f:cf22')) // true\n * ```\n */ const IP = fmt(_IP);\nconst _TCP = and(_IP_OR_DOMAIN, literal(\"tcp\"), number());\nconst _UDP = and(_IP_OR_DOMAIN, literal(\"udp\"), number());\nconst TCP_OR_UDP = or(_TCP, _UDP);\n/**\n * Matches TCP addresses.\n *\n * @example\n *\n * ```ts\n * import { multiaddr } from '@multiformats/multiaddr'\n * import { TCP } from '@multiformats/multiaddr-matcher'\n *\n * TCP.matches(multiaddr('/ip4/123.123.123.123/tcp/1234')) // true\n * ```\n */ const TCP = fmt(_TCP);\n/**\n * Matches UDP addresses.\n *\n * @example\n *\n * ```ts\n * import { multiaddr } from '@multiformats/multiaddr'\n * import { UDP } from '@multiformats/multiaddr-matcher'\n *\n * UDP.matches(multiaddr('/ip4/123.123.123.123/udp/1234')) // true\n * ```\n */ const UDP = fmt(_UDP);\nconst _QUIC = and(_UDP, literal(\"quic\"));\nconst _QUICV1 = and(_UDP, literal(\"quic-v1\"));\nconst QUIC_V0_OR_V1 = or(_QUIC, _QUICV1);\n/**\n * Matches QUIC addresses.\n *\n * @example\n *\n * ```ts\n * import { multiaddr } from '@multiformats/multiaddr'\n * import { QUIC } from '@multiformats/multiaddr-matcher'\n *\n * QUIC.matches(multiaddr('/ip4/123.123.123.123/udp/1234/quic')) // true\n * ```\n */ const QUIC = fmt(_QUIC);\n/**\n * Matches QUICv1 addresses.\n *\n * @example\n *\n * ```ts\n * import { multiaddr } from '@multiformats/multiaddr'\n * import { QUICV1 } from '@multiformats/multiaddr-matcher'\n *\n * QUICV1.matches(multiaddr('/ip4/123.123.123.123/udp/1234/quic-v1')) // true\n * ```\n */ const QUICV1 = fmt(_QUICV1);\nconst _WEB = or(_IP_OR_DOMAIN, _TCP, _UDP, _QUIC, _QUICV1);\nconst _WebSockets = or(and(_WEB, literal(\"ws\"), optional(peerId())));\n/**\n * Matches WebSocket addresses.\n *\n * @example\n *\n * ```ts\n * import { multiaddr } from '@multiformats/multiaddr'\n * import { WebSockets } from '@multiformats/multiaddr-matcher'\n *\n * WebSockets.matches(multiaddr('/ip4/123.123.123.123/tcp/1234/ws')) // true\n * ```\n */ const WebSockets = fmt(_WebSockets);\nconst _WebSocketsSecure = or(and(_WEB, literal(\"wss\"), optional(peerId())), and(_WEB, literal(\"tls\"), literal(\"ws\"), optional(peerId())));\n/**\n * Matches secure WebSocket addresses.\n *\n * @example\n *\n * ```ts\n * import { multiaddr } from '@multiformats/multiaddr'\n * import { WebSocketsSecure } from '@multiformats/multiaddr-matcher'\n *\n * WebSocketsSecure.matches(multiaddr('/ip4/123.123.123.123/tcp/1234/wss')) // true\n * ```\n */ const WebSocketsSecure = fmt(_WebSocketsSecure);\nconst _WebRTCDirect = and(TCP_OR_UDP, literal(\"webrtc-direct\"), certhash(), optional(certhash()), optional(peerId()));\n/**\n * Matches WebRTC-direct addresses.\n *\n * @example\n *\n * ```ts\n * import { multiaddr } from '@multiformats/multiaddr'\n * import { WebRTCDirect } from '@multiformats/multiaddr-matcher'\n *\n * WebRTCDirect.matches(multiaddr('/ip4/123.123.123.123/tcp/1234/p2p/QmFoo/webrtc-direct/certhash/u....')) // true\n * ```\n */ const WebRTCDirect = fmt(_WebRTCDirect);\nconst _WebTransport = and(_QUICV1, literal(\"webtransport\"), certhash(), certhash(), optional(peerId()));\n/**\n * Matches WebTransport addresses.\n *\n * @example\n *\n * ```ts\n * import { multiaddr } from '@multiformats/multiaddr'\n * import { WebRTCDirect } from '@multiformats/multiaddr-matcher'\n *\n * WebRTCDirect.matches(multiaddr('/ip4/123.123.123.123/udp/1234/quic-v1/webtransport/certhash/u..../certhash/u..../p2p/QmFoo')) // true\n * ```\n */ const WebTransport = fmt(_WebTransport);\nconst _P2P = or(_WebSockets, _WebSocketsSecure, and(_TCP, optional(peerId())), and(QUIC_V0_OR_V1, optional(peerId())), and(_IP_OR_DOMAIN, optional(peerId())), _WebRTCDirect, _WebTransport, peerId());\n/**\n * Matches peer addresses\n *\n * @example\n *\n * ```ts\n * import { multiaddr } from '@multiformats/multiaddr'\n * import { P2P } from '@multiformats/multiaddr-matcher'\n *\n * P2P.matches(multiaddr('/ip4/123.123.123.123/tcp/1234/p2p/QmFoo')) // true\n * ```\n */ const P2P = fmt(_P2P);\nconst _Circuit = and(_P2P, literal(\"p2p-circuit\"), peerId());\n/**\n * Matches circuit relay addresses\n *\n * @example\n *\n * ```ts\n * import { multiaddr } from '@multiformats/multiaddr'\n * import { Circuit } from '@multiformats/multiaddr-matcher'\n *\n * Circuit.matches(multiaddr('/ip4/123.123.123.123/tcp/1234/p2p/QmRelay/p2p-circuit/p2p/QmTarget')) // true\n * ```\n */ const Circuit = fmt(_Circuit);\nconst _WebRTC = or(and(_P2P, literal(\"p2p-circuit\"), literal(\"webrtc\"), peerId()), and(_P2P, literal(\"webrtc\"), optional(peerId())), literal(\"webrtc\"));\n/**\n * Matches WebRTC addresses\n *\n * @example\n *\n * ```ts\n * import { multiaddr } from '@multiformats/multiaddr'\n * import { WebRTC } from '@multiformats/multiaddr-matcher'\n *\n * WebRTC.matches(multiaddr('/ip4/123.123.123.123/tcp/1234/p2p/QmRelay/p2p-circuit/webrtc/p2p/QmTarget')) // true\n * ```\n */ const WebRTC = fmt(_WebRTC);\nconst _HTTP = or(and(_IP_OR_DOMAIN, literal(\"tcp\"), number(), literal(\"http\"), optional(peerId())), and(_IP_OR_DOMAIN, literal(\"http\"), optional(peerId())));\n/**\n * Matches HTTP addresses\n *\n * @example\n *\n * ```ts\n * import { multiaddr } from '@multiformats/multiaddr'\n * import { HTTP } from '@multiformats/multiaddr-matcher'\n *\n * HTTP.matches(multiaddr('/dns/example.org/http')) // true\n * ```\n */ const HTTP = fmt(_HTTP);\nconst _HTTPS = or(and(_IP_OR_DOMAIN, literal(\"tcp\"), or(and(literal(\"443\"), literal(\"http\")), and(number(), literal(\"https\"))), optional(peerId())), and(_IP_OR_DOMAIN, literal(\"tls\"), literal(\"http\"), optional(peerId())), and(_IP_OR_DOMAIN, literal(\"https\"), optional(peerId())));\n/**\n * Matches HTTPS addresses\n *\n * @example\n *\n * ```ts\n * import { multiaddr } from '@multiformats/multiaddr'\n * import { HTTP } from '@multiformats/multiaddr-matcher'\n *\n * HTTP.matches(multiaddr('/dns/example.org/tls/http')) // true\n * ```\n */ const HTTPS = fmt(_HTTPS); //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQG11bHRpZm9ybWF0cy9tdWx0aWFkZHItbWF0Y2hlci9kaXN0L3NyYy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBZ0NDLEdBQ2lEO0FBQ1Q7QUFDYTtBQUNBO0FBQ3REOztDQUVDLEdBQ0QsTUFBTUksVUFBVSxDQUFDQztJQUNiLE9BQU9BLEdBQUdDLFFBQVEsR0FBR0MsS0FBSyxDQUFDLEtBQUtDLEtBQUssQ0FBQztBQUMxQztBQUNBLE1BQU1DLE9BQU8sQ0FBQ0M7SUFDVixPQUFPO1FBQ0hDLE9BQU8sQ0FBQ0M7WUFDSixJQUFJQSxLQUFLQyxNQUFNLEdBQUcsR0FBRztnQkFDakIsT0FBTztZQUNYO1lBQ0EsSUFBSUgsR0FBR0UsSUFBSSxDQUFDLEVBQUUsR0FBRztnQkFDYixPQUFPQSxLQUFLSixLQUFLLENBQUM7WUFDdEI7WUFDQSxPQUFPO1FBQ1g7UUFDQU0sU0FBUztJQUNiO0FBQ0o7QUFDQSxNQUFNQyxVQUFVLENBQUNDO0lBQ2IsT0FBTztRQUNITCxPQUFPLENBQUNDLE9BQVNILEtBQUssQ0FBQ1EsTUFBUUEsUUFBUUQsS0FBS0wsS0FBSyxDQUFDQztRQUNsREUsU0FBU0U7SUFDYjtBQUNKO0FBQ0EsTUFBTUUsU0FBUztJQUNYLE9BQU87UUFDSFAsT0FBTyxDQUFDQyxPQUFTSCxLQUFLLENBQUNRLE1BQVEsT0FBT0EsUUFBUSxVQUFVTixLQUFLLENBQUNDO1FBQzlERSxTQUFTO0lBQ2I7QUFDSjtBQUNBLE1BQU1LLFNBQVM7SUFDWCxPQUFPO1FBQ0hSLE9BQU8sQ0FBQ0MsT0FBU0gsS0FBSyxDQUFDUSxNQUFRLENBQUNHLE1BQU1DLFNBQVNKLE9BQU9OLEtBQUssQ0FBQ0M7UUFDNURFLFNBQVM7SUFDYjtBQUNKO0FBQ0EsTUFBTVEsU0FBUztJQUNYLE9BQU87UUFDSFgsT0FBTyxDQUFDQztZQUNKLElB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TUFBTTRELE9BQU83QyxJQUFJNEMsT0FBTztBQUMvQixNQUFNRSxTQUFTckQsR0FBR00sSUFBSWUsZUFBZXBDLFFBQVEsUUFBUWUsR0FBR00sSUFBSXJCLFFBQVEsUUFBUUEsUUFBUSxVQUFVcUIsSUFBSWpCLFVBQVVKLFFBQVEsWUFBWVksU0FBU0wsWUFBWWMsSUFBSWUsZUFBZXBDLFFBQVEsUUFBUUEsUUFBUSxTQUFTWSxTQUFTTCxZQUFZYyxJQUFJZSxlQUFlcEMsUUFBUSxVQUFVWSxTQUFTTDtBQUM1UTs7Ozs7Ozs7Ozs7Q0FXQyxHQUNNLE1BQU04RCxRQUFRL0MsSUFBSThDLFFBQVEsQ0FDakMsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQG11bHRpZm9ybWF0cy9tdWx0aWFkZHItbWF0Y2hlci9kaXN0L3NyYy9pbmRleC5qcz9mMTQ0Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogVGhpcyBtb2R1bGUgZXhwb3J0cyB2YXJpb3VzIG1hdGNoZXJzIHRoYXQgY2FuIGJlIHVzZWQgdG8gaW5mZXIgdGhlIHR5cGUgb2YgYVxuICogcGFzc2VkIG11bHRpYWRkci5cbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBtdWx0aWFkZHIgfSBmcm9tICdAbXVsdGlmb3JtYXRzL211bHRpYWRkcidcbiAqIGltcG9ydCB7IEROUyB9IGZyb20gJ0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyLW1hdGNoZXInXG4gKlxuICogY29uc3QgbWEgPSBtdWx0aWFkZHIoJy9kbnNhZGRyL2V4YW1wbGUub3JnJylcbiAqXG4gKiBETlMubWF0Y2hlcyhtYSkgLy8gdHJ1ZSAtIHRoaXMgaXMgYSBtdWx0aWFkZHIgd2l0aCBhIEROUyBhZGRyZXNzIGF0IHRoZSBzdGFydFxuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiBUaGUgZGVmYXVsdCBtYXRjaGluZyBiZWhhdmlvdXIgaWdub3JlcyBhbnkgc3Vic2VxdWVudCB0dXBsZXMgaW4gdGhlIG11bHRpYWRkci5cbiAqIElmIHlvdSB3YW50IHN0cmljdGVyIG1hdGNoaW5nIHlvdSBjYW4gdXNlIGAuZXhhY3RNYXRjaGA6XG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG11bHRpYWRkciB9IGZyb20gJ0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyJ1xuICogaW1wb3J0IHsgRE5TLCBDaXJjdWl0IH0gZnJvbSAnQG11bHRpZm9ybWF0cy9tdWx0aWFkZHItbWF0Y2hlcidcbiAqXG4gKiBjb25zdCBtYSA9IG11bHRpYWRkcignL2Ruc2FkZHIvZXhhbXBsZS5vcmcvcDJwL1FtRm9vL3AycC1jaXJjdWl0L3AycC9RbUJhcicpXG4gKlxuICogRE5TLmV4YWN0TWF0Y2gobWEpIC8vIGZhbHNlIC0gdGhpcyBhZGRyZXNzIGhhcyBleHRyYSB0dXBsZXMgYWZ0ZXIgdGhlIEROUyBjb21wb25lbnRcbiAqIENpcmN1aXQubWF0Y2hlcyhtYSkgLy8gdHJ1ZVxuICogQ2lyY3VpdC5leGFjdE1hdGNoKG1hKSAvLyB0cnVlIC0gdGhlIGV4dHJhIHR1cGxlcyBhcmUgY2lyY3VpdCByZWxheSByZWxhdGVkXG4gKiBgYGBcbiAqL1xuaW1wb3J0IHsgaXNJUHY0LCBpc0lQdjYgfSBmcm9tICdAY2hhaW5zYWZlL2lzLWlwJztcbmltcG9ydCB7fSBmcm9tICdAbXVsdGlmb3JtYXRzL211bHRpYWRkcic7XG5pbXBvcnQgeyBiYXNlNThidGMgfSBmcm9tICdtdWx0aWZvcm1hdHMvYmFzZXMvYmFzZTU4JztcbmltcG9ydCB7IGJhc2U2NHVybCB9IGZyb20gJ211bHRpZm9ybWF0cy9iYXNlcy9iYXNlNjQnO1xuLyoqXG4gKiBTcGxpdCBhIG11bHRpYWRkciBpbnRvIHBhdGggY29tcG9uZW50c1xuICovXG5jb25zdCB0b1BhcnRzID0gKG1hKSA9PiB7XG4gICAgcmV0dXJuIG1hLnRvU3RyaW5nKCkuc3BsaXQoJy8nKS5zbGljZSgxKTtcbn07XG5jb25zdCBmdW5jID0gKGZuKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbWF0Y2g6ICh2YWxzKSA9PiB7XG4gICAgICAgICAgICBpZiAodmFscy5sZW5ndGggPCAxKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGZuKHZhbHNbMF0pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHMuc2xpY2UoMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICAgIHBhdHRlcm46ICdmbidcbiAgICB9O1xufTtcbmNvbnN0IGxpdGVyYWwgPSAoc3RyKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbWF0Y2g6ICh2YWxzKSA9PiBmdW5jKCh2YWwpID0+IHZhbCA9PT0gc3RyKS5tYXRjaCh2YWxzKSxcbiAgICAgICAgcGF0dGVybjogc3RyXG4gICAgfTtcbn07XG5jb25zdCBzdHJpbmcgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbWF0Y2g6ICh2YWxzKSA9PiBmdW5jKCh2YWwpID0+IHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnKS5tYXRjaCh2YWxzKSxcbiAgICAgICAgcGF0dGVybjogJ3tzdHJpbmd9J1xuICAgIH07XG59O1xuY29uc3QgbnVtYmVyID0gKCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAgIG1hdGNoOiAodmFscykgPT4gZnVuYygodmFsKSA9PiAhaXNOYU4ocGFyc2VJbnQodmFsKSkpLm1hdGNoKHZhbHMpLFxuICAgICAgICBwYXR0ZXJuOiAne251bWJlcn0nXG4gICAgfTtcbn07XG5jb25zdCBwZWVySWQgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbWF0Y2g6ICh2YWxzKSA9PiB7XG4gICAgICAgICAgICBpZiAodmFscy5sZW5ndGggPCAyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHZhbHNbMF0gIT09ICdwMnAnICYmIHZhbHNbMF0gIT09ICdpcGZzJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFEgaXMgUlNBLCAxIGlzIEVkMjU1MTkgb3IgU2VjcDI1NmsxXG4gICAgICAgICAgICBpZiAodmFsc1sxXS5zdGFydHNXaXRoKCdRJykgfHwgdmFsc1sxXS5zdGFydHNXaXRoKCcxJykpIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBiYXNlNThidGMuZGVjb2RlKGB6JHt2YWxzWzFdfWApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdmFscy5zbGljZSgyKTtcbiAgICAgICAgfSxcbiAgICAgICAgcGF0dGVybjogJy9wMnAve3BlZXJpZH0nXG4gICAgfTtcbn07XG5jb25zdCBjZXJ0aGFzaCA9ICgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgICBtYXRjaDogKHZhbHMpID0+IHtcbiAgICAgICAgICAgIGlmICh2YWxzLmxlbmd0aCA8IDIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodmFsc1swXSAhPT0gJ2NlcnRoYXNoJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgYmFzZTY0dXJsLmRlY29kZSh2YWxzWzFdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdmFscy5zbGljZSgyKTtcbiAgICAgICAgfSxcbiAgICAgICAgcGF0dGVybjogJy9jZXJ0aGFzaC97Y2VydGhhc2h9J1xuICAgIH07XG59O1xuY29uc3Qgb3B0aW9uYWwgPSAobWF0Y2hlcikgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAgIG1hdGNoOiAodmFscykgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gbWF0Y2hlci5tYXRjaCh2YWxzKTtcbiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9LFxuICAgICAgICBwYXR0ZXJuOiBgb3B0aW9uYWwoJHttYXRjaGVyLnBhdHRlcm59KWBcbiAgICB9O1xufTtcbmNvbnN0IG9yID0gKC4uLm1hdGNoZXJzKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbWF0Y2g6ICh2YWxzKSA9PiB7XG4gICAgICAgICAgICBsZXQgbWF0Y2hlcztcbiAgICAgICAgICAgIGZvciAoY29uc3QgbWF0Y2hlciBvZiBtYXRjaGVycykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IG1hdGNoZXIubWF0Y2godmFscyk7XG4gICAgICAgICAgICAgICAgLy8gbm8gbWF0Y2hcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0ID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gY2hvb3NlIGdyZWVkaWVzdCBtYXRjaGVyXG4gICAgICAgICAgICAgICAgaWYgKG1hdGNoZXMgPT0gbnVsbCB8fCByZXN1bHQubGVuZ3RoIDwgbWF0Y2hlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgbWF0Y2hlcyA9IHJlc3VsdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobWF0Y2hlcyA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG1hdGNoZXM7XG4gICAgICAgIH0sXG4gICAgICAgIHBhdHRlcm46IGBvcigke21hdGNoZXJzLm1hcChtID0+IG0ucGF0dGVybikuam9pbignLCAnKX0pYFxuICAgIH07XG59O1xuY29uc3QgYW5kID0gKC4uLm1hdGNoZXJzKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbWF0Y2g6ICh2YWxzKSA9PiB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IG1hdGNoZXIgb2YgbWF0Y2hlcnMpIHtcbiAgICAgICAgICAgICAgICAvLyBwYXNzIHdoYXQncyBsZWZ0IG9mIHRoZSBhcnJheVxuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IG1hdGNoZXIubWF0Y2godmFscyk7XG4gICAgICAgICAgICAgICAgLy8gbm8gbWF0Y2hcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0ID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHZhbHMgPSByZXN1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdmFscztcbiAgICAgICAgfSxcbiAgICAgICAgcGF0dGVybjogYGFuZCgke21hdGNoZXJzLm1hcChtID0+IG0ucGF0dGVybikuam9pbignLCAnKX0pYFxuICAgIH07XG59O1xuZnVuY3Rpb24gZm10KC4uLm1hdGNoZXJzKSB7XG4gICAgZnVuY3Rpb24gbWF0Y2gobWEpIHtcbiAgICAgICAgbGV0IHBhcnRzID0gdG9QYXJ0cyhtYSk7XG4gICAgICAgIGZvciAoY29uc3QgbWF0Y2hlciBvZiBtYXRjaGVycykge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gbWF0Y2hlci5tYXRjaChwYXJ0cyk7XG4gICAgICAgICAgICBpZiAocmVzdWx0ID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhcnRzID0gcmVzdWx0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwYXJ0cztcbiAgICB9XG4gICAgZnVuY3Rpb24gbWF0Y2hlcyhtYSkge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBtYXRjaChtYSk7XG4gICAgICAgIHJldHVybiByZXN1bHQgIT09IGZhbHNlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBleGFjdE1hdGNoKG1hKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IG1hdGNoKG1hKTtcbiAgICAgICAgaWYgKHJlc3VsdCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0Lmxlbmd0aCA9PT0gMDtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbWF0Y2hlcyxcbiAgICAgICAgZXhhY3RNYXRjaFxuICAgIH07XG59XG4vKipcbiAqIEROUyBtYXRjaGVyc1xuICovXG5jb25zdCBfRE5TNCA9IGFuZChsaXRlcmFsKCdkbnM0JyksIHN0cmluZygpKTtcbmNvbnN0IF9ETlM2ID0gYW5kKGxpdGVyYWwoJ2RuczYnKSwgc3RyaW5nKCkpO1xuY29uc3QgX0ROU0FERFIgPSBhbmQobGl0ZXJhbCgnZG5zYWRkcicpLCBzdHJpbmcoKSk7XG5jb25zdCBfRE5TID0gYW5kKGxpdGVyYWwoJ2RucycpLCBzdHJpbmcoKSk7XG4vKipcbiAqIE1hdGNoZXMgZG5zNCBhZGRyZXNzZXMuXG4gKlxuICogVXNlIHtAbGluayBETlMgRE5TfSBpbnN0ZWFkIHRvIG1hdGNoIGFueSB0eXBlIG9mIEROUyBhZGRyZXNzLlxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG11bHRpYWRkciB9IGZyb20gJ0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyJ1xuICogaW1wb3J0IHsgRE5TNCB9IGZyb20gJ0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyLW1hdGNoZXInXG4gKlxuICogRE5TNC5tYXRjaGVzKG11bHRpYWRkcignL2RuczQvZXhhbXBsZS5vcmcnKSkgLy8gdHJ1ZVxuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBETlM0ID0gZm10KF9ETlM0KTtcbi8qKlxuICogTWF0Y2hlcyBkbnM2IGFkZHJlc3Nlcy5cbiAqXG4gKiBVc2Uge0BsaW5rIEROUyBETlN9IGluc3RlYWQgdG8gbWF0Y2ggYW55IHR5cGUgb2YgRE5TIGFkZHJlc3MuXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgbXVsdGlhZGRyIH0gZnJvbSAnQG11bHRpZm9ybWF0cy9tdWx0aWFkZHInXG4gKiBpbXBvcnQgeyBETlM2IH0gZnJvbSAnQG11bHRpZm9ybWF0cy9tdWx0aWFkZHItbWF0Y2hlcidcbiAqXG4gKiBETlM2Lm1hdGNoZXMobXVsdGlhZGRyKCcvZG5zNi9leGFtcGxlLm9yZycpKSAvLyB0cnVlXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IEROUzYgPSBmbXQoX0ROUzYpO1xuLyoqXG4gKiBNYXRjaGVzIGRuc2FkZHIgYWRkcmVzc2VzLlxuICpcbiAqIFVzZSB7QGxpbmsgRE5TIEROU30gaW5zdGVhZCB0byBtYXRjaCBhbnkgdHlwZSBvZiBETlMgYWRkcmVzcy5cbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBtdWx0aWFkZHIgfSBmcm9tICdAbXVsdGlmb3JtYXRzL211bHRpYWRkcidcbiAqIGltcG9ydCB7IEROU0FERFIgfSBmcm9tICdAbXVsdGlmb3JtYXRzL211bHRpYWRkci1tYXRjaGVyJ1xuICpcbiAqIEROU0FERFIubWF0Y2hlcyhtdWx0aWFkZHIoJy9kbnNhZGRyL2V4YW1wbGUub3JnJykpIC8vIHRydWVcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgRE5TQUREUiA9IGZtdChfRE5TQUREUik7XG4vKipcbiAqIE1hdGNoZXMgYW55IGRucyBhZGRyZXNzLlxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG11bHRpYWRkciB9IGZyb20gJ0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyJ1xuICogaW1wb3J0IHsgRE5TIH0gZnJvbSAnQG11bHRpZm9ybWF0cy9tdWx0aWFkZHItbWF0Y2hlcidcbiAqXG4gKiBETlMubWF0Y2hlcyhtdWx0aWFkZHIoJy9kbnNhZGRyL2V4YW1wbGUub3JnJykpIC8vIHRydWVcbiAqIEROUy5tYXRjaGVzKG11bHRpYWRkcignL2RuczQvZXhhbXBsZS5vcmcnKSkgLy8gdHJ1ZVxuICogRE5TLm1hdGNoZXMobXVsdGlhZGRyKCcvZG5zNi9leGFtcGxlLm9yZycpKSAvLyB0cnVlXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IEROUyA9IGZtdChvcihfRE5TLCBfRE5TQUREUiwgX0ROUzQsIF9ETlM2KSk7XG5jb25zdCBfSVA0ID0gYW5kKGxpdGVyYWwoJ2lwNCcpLCBmdW5jKGlzSVB2NCkpO1xuY29uc3QgX0lQNiA9IGFuZChsaXRlcmFsKCdpcDYnKSwgZnVuYyhpc0lQdjYpKTtcbmNvbnN0IF9JUCA9IG9yKF9JUDQsIF9JUDYpO1xuY29uc3QgX0lQX09SX0RPTUFJTiA9IG9yKF9JUCwgX0ROUywgX0ROUzQsIF9ETlM2LCBfRE5TQUREUik7XG4vKipcbiAqIEEgbWF0Y2hlciBmb3IgYWRkcmVzc2VzIHRoYXQgc3RhcnQgd2l0aCBJUCBvciBETlMgdHVwbGVzLlxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG11bHRpYWRkciB9IGZyb20gJ0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyJ1xuICogaW1wb3J0IHsgSVBfT1JfRE9NQUlOIH0gZnJvbSAnQG11bHRpZm9ybWF0cy9tdWx0aWFkZHItbWF0Y2hlcidcbiAqXG4gKiBJUF9PUl9ET01BSU4ubWF0Y2hlcyhtdWx0aWFkZHIoJy9pcDQvMTIzLjEyMy4xMjMuMTIzL3AycC9RbUZvbycpKSAvLyB0cnVlXG4gKiBJUF9PUl9ET01BSU4ubWF0Y2hlcyhtdWx0aWFkZHIoJy9kbnMvZXhhbXBsZS5jb20vcDJwL1FtRm9vJykpIC8vIHRydWVcbiAqIElQX09SX0RPTUFJTi5tYXRjaGVzKG11bHRpYWRkcignL3AycC9RbUZvbycpKSAvLyBmYWxzZVxuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBJUF9PUl9ET01BSU4gPSBmbXQoX0lQX09SX0RPTUFJTik7XG4vKipcbiAqIE1hdGNoZXMgaXA0IGFkZHJlc3Nlcy5cbiAqXG4gKiBVc2Uge0BsaW5rIElQIElQfSBpbnN0ZWFkIHRvIG1hdGNoIGFueSBpcDQvaXA2IGFkZHJlc3MuXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgbXVsdGlhZGRyIH0gZnJvbSAnQG11bHRpZm9ybWF0cy9tdWx0aWFkZHInXG4gKiBpbXBvcnQgeyBJUDQgfSBmcm9tICdAbXVsdGlmb3JtYXRzL211bHRpYWRkci1tYXRjaGVyJ1xuICpcbiAqIGNvbnN0IG1hID0gbXVsdGlhZGRyKCcvaXA0LzEyMy4xMjMuMTIzLjEyMycpXG4gKlxuICogSVA0Lm1hdGNoZXMobWEpIC8vIHRydWVcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgSVA0ID0gZm10KF9JUDQpO1xuLyoqXG4gKiBNYXRjaGVzIGlwNiBhZGRyZXNzZXMuXG4gKlxuICogVXNlIHtAbGluayBJUCBJUH0gaW5zdGVhZCB0byBtYXRjaCBhbnkgaXA0L2lwNiBhZGRyZXNzLlxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG11bHRpYWRkciB9IGZyb20gJ0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyJ1xuICogaW1wb3J0IHsgSVA2IH0gZnJvbSAnQG11bHRpZm9ybWF0cy9tdWx0aWFkZHItbWF0Y2hlcidcbiAqXG4gKiBjb25zdCBtYSA9IG11bHRpYWRkcignL2lwNi9mZTgwOjoxY2MxOmEzYjg6MzIyZjpjZjIyJylcbiAqXG4gKiBJUDYubWF0Y2hlcyhtYSkgLy8gdHJ1ZVxuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBJUDYgPSBmbXQoX0lQNik7XG4vKipcbiAqIE1hdGNoZXMgaXA0IG9yIGlwNiBhZGRyZXNzZXMuXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgbXVsdGlhZGRyIH0gZnJvbSAnQG11bHRpZm9ybWF0cy9tdWx0aWFkZHInXG4gKiBpbXBvcnQgeyBJUCB9IGZyb20gJ0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyLW1hdGNoZXInXG4gKlxuICogSVAubWF0Y2hlcyhtdWx0aWFkZHIoJy9pcDQvMTIzLjEyMy4xMjMuMTIzJykpIC8vIHRydWVcbiAqIElQLm1hdGNoZXMobXVsdGlhZGRyKCcvaXA2L2ZlODA6OjFjYzE6YTNiODozMjJmOmNmMjInKSkgLy8gdHJ1ZVxuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBJUCA9IGZtdChfSVApO1xuY29uc3QgX1RDUCA9IGFuZChfSVBfT1JfRE9NQUlOLCBsaXRlcmFsKCd0Y3AnKSwgbnVtYmVyKCkpO1xuY29uc3QgX1VEUCA9IGFuZChfSVBfT1JfRE9NQUlOLCBsaXRlcmFsKCd1ZHAnKSwgbnVtYmVyKCkpO1xuY29uc3QgVENQX09SX1VEUCA9IG9yKF9UQ1AsIF9VRFApO1xuLyoqXG4gKiBNYXRjaGVzIFRDUCBhZGRyZXNzZXMuXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgbXVsdGlhZGRyIH0gZnJvbSAnQG11bHRpZm9ybWF0cy9tdWx0aWFkZHInXG4gKiBpbXBvcnQgeyBUQ1AgfSBmcm9tICdAbXVsdGlmb3JtYXRzL211bHRpYWRkci1tYXRjaGVyJ1xuICpcbiAqIFRDUC5tYXRjaGVzKG11bHRpYWRkcignL2lwNC8xMjMuMTIzLjEyMy4xMjMvdGNwLzEyMzQnKSkgLy8gdHJ1ZVxuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBUQ1AgPSBmbXQoX1RDUCk7XG4vKipcbiAqIE1hdGNoZXMgVURQIGFkZHJlc3Nlcy5cbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBtdWx0aWFkZHIgfSBmcm9tICdAbXVsdGlmb3JtYXRzL211bHRpYWRkcidcbiAqIGltcG9ydCB7IFVEUCB9IGZyb20gJ0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyLW1hdGNoZXInXG4gKlxuICogVURQLm1hdGNoZXMobXVsdGlhZGRyKCcvaXA0LzEyMy4xMjMuMTIzLjEyMy91ZHAvMTIzNCcpKSAvLyB0cnVlXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IFVEUCA9IGZtdChfVURQKTtcbmNvbnN0IF9RVUlDID0gYW5kKF9VRFAsIGxpdGVyYWwoJ3F1aWMnKSk7XG5jb25zdCBfUVVJQ1YxID0gYW5kKF9VRFAsIGxpdGVyYWwoJ3F1aWMtdjEnKSk7XG5jb25zdCBRVUlDX1YwX09SX1YxID0gb3IoX1FVSUMsIF9RVUlDVjEpO1xuLyoqXG4gKiBNYXRjaGVzIFFVSUMgYWRkcmVzc2VzLlxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG11bHRpYWRkciB9IGZyb20gJ0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyJ1xuICogaW1wb3J0IHsgUVVJQyB9IGZyb20gJ0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyLW1hdGNoZXInXG4gKlxuICogUVVJQy5tYXRjaGVzKG11bHRpYWRkcignL2lwNC8xMjMuMTIzLjEyMy4xMjMvdWRwLzEyMzQvcXVpYycpKSAvLyB0cnVlXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IFFVSUMgPSBmbXQoX1FVSUMpO1xuLyoqXG4gKiBNYXRjaGVzIFFVSUN2MSBhZGRyZXNzZXMuXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgbXVsdGlhZGRyIH0gZnJvbSAnQG11bHRpZm9ybWF0cy9tdWx0aWFkZHInXG4gKiBpbXBvcnQgeyBRVUlDVjEgfSBmcm9tICdAbXVsdGlmb3JtYXRzL211bHRpYWRkci1tYXRjaGVyJ1xuICpcbiAqIFFVSUNWMS5tYXRjaGVzKG11bHRpYWRkcignL2lwNC8xMjMuMTIzLjEyMy4xMjMvdWRwLzEyMzQvcXVpYy12MScpKSAvLyB0cnVlXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IFFVSUNWMSA9IGZtdChfUVVJQ1YxKTtcbmNvbnN0IF9XRUIgPSBvcihfSVBfT1JfRE9NQUlOLCBfVENQLCBfVURQLCBfUVVJQywgX1FVSUNWMSk7XG5jb25zdCBfV2ViU29ja2V0cyA9IG9yKGFuZChfV0VCLCBsaXRlcmFsKCd3cycpLCBvcHRpb25hbChwZWVySWQoKSkpKTtcbi8qKlxuICogTWF0Y2hlcyBXZWJTb2NrZXQgYWRkcmVzc2VzLlxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG11bHRpYWRkciB9IGZyb20gJ0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyJ1xuICogaW1wb3J0IHsgV2ViU29ja2V0cyB9IGZyb20gJ0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyLW1hdGNoZXInXG4gKlxuICogV2ViU29ja2V0cy5tYXRjaGVzKG11bHRpYWRkcignL2lwNC8xMjMuMTIzLjEyMy4xMjMvdGNwLzEyMzQvd3MnKSkgLy8gdHJ1ZVxuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBXZWJTb2NrZXRzID0gZm10KF9XZWJTb2NrZXRzKTtcbmNvbnN0IF9XZWJTb2NrZXRzU2VjdXJlID0gb3IoYW5kKF9XRUIsIGxpdGVyYWwoJ3dzcycpLCBvcHRpb25hbChwZWVySWQoKSkpLCBhbmQoX1dFQiwgbGl0ZXJhbCgndGxzJyksIGxpdGVyYWwoJ3dzJyksIG9wdGlvbmFsKHBlZXJJZCgpKSkpO1xuLyoqXG4gKiBNYXRjaGVzIHNlY3VyZSBXZWJTb2NrZXQgYWRkcmVzc2VzLlxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG11bHRpYWRkciB9IGZyb20gJ0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyJ1xuICogaW1wb3J0IHsgV2ViU29ja2V0c1NlY3VyZSB9IGZyb20gJ0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyLW1hdGNoZXInXG4gKlxuICogV2ViU29ja2V0c1NlY3VyZS5tYXRjaGVzKG11bHRpYWRkcignL2lwNC8xMjMuMTIzLjEyMy4xMjMvdGNwLzEyMzQvd3NzJykpIC8vIHRydWVcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgV2ViU29ja2V0c1NlY3VyZSA9IGZtdChfV2ViU29ja2V0c1NlY3VyZSk7XG5jb25zdCBfV2ViUlRDRGlyZWN0ID0gYW5kKFRDUF9PUl9VRFAsIGxpdGVyYWwoJ3dlYnJ0Yy1kaXJlY3QnKSwgY2VydGhhc2goKSwgb3B0aW9uYWwoY2VydGhhc2goKSksIG9wdGlvbmFsKHBlZXJJZCgpKSk7XG4vKipcbiAqIE1hdGNoZXMgV2ViUlRDLWRpcmVjdCBhZGRyZXNzZXMuXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgbXVsdGlhZGRyIH0gZnJvbSAnQG11bHRpZm9ybWF0cy9tdWx0aWFkZHInXG4gKiBpbXBvcnQgeyBXZWJSVENEaXJlY3QgfSBmcm9tICdAbXVsdGlmb3JtYXRzL211bHRpYWRkci1tYXRjaGVyJ1xuICpcbiAqIFdlYlJUQ0RpcmVjdC5tYXRjaGVzKG11bHRpYWRkcignL2lwNC8xMjMuMTIzLjEyMy4xMjMvdGNwLzEyMzQvcDJwL1FtRm9vL3dlYnJ0Yy1kaXJlY3QvY2VydGhhc2gvdS4uLi4nKSkgLy8gdHJ1ZVxuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBXZWJSVENEaXJlY3QgPSBmbXQoX1dlYlJUQ0RpcmVjdCk7XG5jb25zdCBfV2ViVHJhbnNwb3J0ID0gYW5kKF9RVUlDVjEsIGxpdGVyYWwoJ3dlYnRyYW5zcG9ydCcpLCBjZXJ0aGFzaCgpLCBjZXJ0aGFzaCgpLCBvcHRpb25hbChwZWVySWQoKSkpO1xuLyoqXG4gKiBNYXRjaGVzIFdlYlRyYW5zcG9ydCBhZGRyZXNzZXMuXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgbXVsdGlhZGRyIH0gZnJvbSAnQG11bHRpZm9ybWF0cy9tdWx0aWFkZHInXG4gKiBpbXBvcnQgeyBXZWJSVENEaXJlY3QgfSBmcm9tICdAbXVsdGlmb3JtYXRzL211bHRpYWRkci1tYXRjaGVyJ1xuICpcbiAqIFdlYlJUQ0RpcmVjdC5tYXRjaGVzKG11bHRpYWRkcignL2lwNC8xMjMuMTIzLjEyMy4xMjMvdWRwLzEyMzQvcXVpYy12MS93ZWJ0cmFuc3BvcnQvY2VydGhhc2gvdS4uLi4vY2VydGhhc2gvdS4uLi4vcDJwL1FtRm9vJykpIC8vIHRydWVcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgV2ViVHJhbnNwb3J0ID0gZm10KF9XZWJUcmFuc3BvcnQpO1xuY29uc3QgX1AyUCA9IG9yKF9XZWJTb2NrZXRzLCBfV2ViU29ja2V0c1NlY3VyZSwgYW5kKF9UQ1AsIG9wdGlvbmFsKHBlZXJJZCgpKSksIGFuZChRVUlDX1YwX09SX1YxLCBvcHRpb25hbChwZWVySWQoKSkpLCBhbmQoX0lQX09SX0RPTUFJTiwgb3B0aW9uYWwocGVlcklkKCkpKSwgX1dlYlJUQ0RpcmVjdCwgX1dlYlRyYW5zcG9ydCwgcGVlcklkKCkpO1xuLyoqXG4gKiBNYXRjaGVzIHBlZXIgYWRkcmVzc2VzXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgbXVsdGlhZGRyIH0gZnJvbSAnQG11bHRpZm9ybWF0cy9tdWx0aWFkZHInXG4gKiBpbXBvcnQgeyBQMlAgfSBmcm9tICdAbXVsdGlmb3JtYXRzL211bHRpYWRkci1tYXRjaGVyJ1xuICpcbiAqIFAyUC5tYXRjaGVzKG11bHRpYWRkcignL2lwNC8xMjMuMTIzLjEyMy4xMjMvdGNwLzEyMzQvcDJwL1FtRm9vJykpIC8vIHRydWVcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgUDJQID0gZm10KF9QMlApO1xuY29uc3QgX0NpcmN1aXQgPSBhbmQoX1AyUCwgbGl0ZXJhbCgncDJwLWNpcmN1aXQnKSwgcGVlcklkKCkpO1xuLyoqXG4gKiBNYXRjaGVzIGNpcmN1aXQgcmVsYXkgYWRkcmVzc2VzXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgbXVsdGlhZGRyIH0gZnJvbSAnQG11bHRpZm9ybWF0cy9tdWx0aWFkZHInXG4gKiBpbXBvcnQgeyBDaXJjdWl0IH0gZnJvbSAnQG11bHRpZm9ybWF0cy9tdWx0aWFkZHItbWF0Y2hlcidcbiAqXG4gKiBDaXJjdWl0Lm1hdGNoZXMobXVsdGlhZGRyKCcvaXA0LzEyMy4xMjMuMTIzLjEyMy90Y3AvMTIzNC9wMnAvUW1SZWxheS9wMnAtY2lyY3VpdC9wMnAvUW1UYXJnZXQnKSkgLy8gdHJ1ZVxuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBDaXJjdWl0ID0gZm10KF9DaXJjdWl0KTtcbmNvbnN0IF9XZWJSVEMgPSBvcihhbmQoX1AyUCwgbGl0ZXJhbCgncDJwLWNpcmN1aXQnKSwgbGl0ZXJhbCgnd2VicnRjJyksIHBlZXJJZCgpKSwgYW5kKF9QMlAsIGxpdGVyYWwoJ3dlYnJ0YycpLCBvcHRpb25hbChwZWVySWQoKSkpLCBsaXRlcmFsKCd3ZWJydGMnKSk7XG4vKipcbiAqIE1hdGNoZXMgV2ViUlRDIGFkZHJlc3Nlc1xuICpcbiAqIEBleGFtcGxlXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG11bHRpYWRkciB9IGZyb20gJ0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyJ1xuICogaW1wb3J0IHsgV2ViUlRDIH0gZnJvbSAnQG11bHRpZm9ybWF0cy9tdWx0aWFkZHItbWF0Y2hlcidcbiAqXG4gKiBXZWJSVEMubWF0Y2hlcyhtdWx0aWFkZHIoJy9pcDQvMTIzLjEyMy4xMjMuMTIzL3RjcC8xMjM0L3AycC9RbVJlbGF5L3AycC1jaXJjdWl0L3dlYnJ0Yy9wMnAvUW1UYXJnZXQnKSkgLy8gdHJ1ZVxuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBXZWJSVEMgPSBmbXQoX1dlYlJUQyk7XG5jb25zdCBfSFRUUCA9IG9yKGFuZChfSVBfT1JfRE9NQUlOLCBsaXRlcmFsKCd0Y3AnKSwgbnVtYmVyKCksIGxpdGVyYWwoJ2h0dHAnKSwgb3B0aW9uYWwocGVlcklkKCkpKSwgYW5kKF9JUF9PUl9ET01BSU4sIGxpdGVyYWwoJ2h0dHAnKSwgb3B0aW9uYWwocGVlcklkKCkpKSk7XG4vKipcbiAqIE1hdGNoZXMgSFRUUCBhZGRyZXNzZXNcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBtdWx0aWFkZHIgfSBmcm9tICdAbXVsdGlmb3JtYXRzL211bHRpYWRkcidcbiAqIGltcG9ydCB7IEhUVFAgfSBmcm9tICdAbXVsdGlmb3JtYXRzL211bHRpYWRkci1tYXRjaGVyJ1xuICpcbiAqIEhUVFAubWF0Y2hlcyhtdWx0aWFkZHIoJy9kbnMvZXhhbXBsZS5vcmcvaHR0cCcpKSAvLyB0cnVlXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IEhUVFAgPSBmbXQoX0hUVFApO1xuY29uc3QgX0hUVFBTID0gb3IoYW5kKF9JUF9PUl9ET01BSU4sIGxpdGVyYWwoJ3RjcCcpLCBvcihhbmQobGl0ZXJhbCgnNDQzJyksIGxpdGVyYWwoJ2h0dHAnKSksIGFuZChudW1iZXIoKSwgbGl0ZXJhbCgnaHR0cHMnKSkpLCBvcHRpb25hbChwZWVySWQoKSkpLCBhbmQoX0lQX09SX0RPTUFJTiwgbGl0ZXJhbCgndGxzJyksIGxpdGVyYWwoJ2h0dHAnKSwgb3B0aW9uYWwocGVlcklkKCkpKSwgYW5kKF9JUF9PUl9ET01BSU4sIGxpdGVyYWwoJ2h0dHBzJyksIG9wdGlvbmFsKHBlZXJJZCgpKSkpO1xuLyoqXG4gKiBNYXRjaGVzIEhUVFBTIGFkZHJlc3Nlc1xuICpcbiAqIEBleGFtcGxlXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG11bHRpYWRkciB9IGZyb20gJ0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyJ1xuICogaW1wb3J0IHsgSFRUUCB9IGZyb20gJ0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyLW1hdGNoZXInXG4gKlxuICogSFRUUC5tYXRjaGVzKG11bHRpYWRkcignL2Rucy9leGFtcGxlLm9yZy90bHMvaHR0cCcpKSAvLyB0cnVlXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IEhUVFBTID0gZm10KF9IVFRQUyk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOlsiaXNJUHY0IiwiaXNJUHY2IiwiYmFzZTU4YnRjIiwiYmFzZTY0dXJsIiwidG9QYXJ0cyIsIm1hIiwidG9TdHJpbmciLCJzcGxpdCIsInNsaWNlIiwiZnVuYyIsImZuIiwibWF0Y2giLCJ2YWxzIiwibGVuZ3RoIiwicGF0dGVybiIsImxpdGVyYWwiLCJzdHIiLCJ2YWwiLCJzdHJpbmciLCJudW1iZXIiLCJpc05hTiIsInBhcnNlSW50IiwicGVlcklkIiwic3RhcnRzV2l0aCIsImRlY29kZSIsImVyciIsImNlcnRoYXNoIiwib3B0aW9uYWwiLCJtYXRjaGVyIiwicmVzdWx0Iiwib3IiLCJtYXRjaGVycyIsIm1hdGNoZXMiLCJtYXAiLCJtIiwiam9pbiIsImFuZCIsImZtdCIsInBhcnRzIiwiZXhhY3RNYXRjaCIsIl9ETlM0IiwiX0ROUzYiLCJfRE5TQUREUiIsIl9ETlMiLCJETlM0IiwiRE5TNiIsIkROU0FERFIiLCJETlMiLCJfSVA0IiwiX0lQNiIsIl9JUCIsIl9JUF9PUl9ET01BSU4iLCJJUF9PUl9ET01BSU4iLCJJUDQiLCJJUDYiLCJJUCIsIl9UQ1AiLCJfVURQIiwiVENQX09SX1VEUCIsIlRDUCIsIlVEUCIsIl9RVUlDIiwiX1FVSUNWMSIsIlFVSUNfVjBfT1JfVjEiLCJRVUlDIiwiUVVJQ1YxIiwiX1dFQiIsIl9XZWJTb2NrZXRzIiwiV2ViU29ja2V0cyIsIl9XZWJTb2NrZXRzU2VjdXJlIiwiV2ViU29ja2V0c1NlY3VyZSIsIl9XZWJSVENEaXJlY3QiLCJXZWJSVENEaXJlY3QiLCJfV2ViVHJhbnNwb3J0IiwiV2ViVHJhbnNwb3J0IiwiX1AyUCIsIlAyUCIsIl9DaXJjdWl0IiwiQ2lyY3VpdCIsIl9XZWJSVEMiLCJXZWJSVEMiLCJfSFRUUCIsIkhUVFAiLCJfSFRUUFMiLCJIVFRQUyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@multiformats/multiaddr-matcher/dist/src/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@multiformats/multiaddr-to-uri/dist/src/index.js":
/*!***********************************************************************!*\
!*** ./node_modules/@multiformats/multiaddr-to-uri/dist/src/index.js ***!
\***********************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ multiaddrToUri: () => (/* binding */ multiaddrToUri)\n/* harmony export */ });\n/* harmony import */ var _multiformats_multiaddr__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @multiformats/multiaddr */ \"(ssr)/./node_modules/@multiformats/multiaddr/dist/src/index.js\");\n/**\n * @packageDocumentation\n *\n * This module allows easy conversion of Multiaddrs to string URIs.\n *\n * @example Converting multiaddrs to string URIs\n *\n * ```js\n * import { multiaddrToUri } from '@multiformats/multiaddr-to-uri'\n *\n * console.log(multiaddrToUri('/dnsaddr/protocol.ai/https'))\n * // -> https://protocol.ai\n *\n * console.log(multiaddrToUri('/ip4/127.0.0.1/tcp/8080'))\n * // -> http://127.0.0.1:8080\n *\n * console.log(multiaddrToUri('/ip4/127.0.0.1/tcp/8080', { assumeHttp: false }))\n * // -> tcp://127.0.0.1:8080\n * ```\n *\n * Note:\n *\n * - When `/tcp` is the last (terminating) protocol HTTP is assumed by default (implicit `assumeHttp: true`)\n * - this means produced URIs will start with `http://` instead of `tcp://`\n * - passing `{ assumeHttp: false }` disables this behavior\n * - Might be lossy - e.g. a DNSv6 multiaddr\n * - Can throw if the passed multiaddr:\n * - is not a valid multiaddr\n * - is not supported as a URI e.g. circuit\n */ \nconst ASSUME_HTTP_CODES = [\n (0,_multiformats_multiaddr__WEBPACK_IMPORTED_MODULE_0__.protocols)(\"tcp\").code,\n (0,_multiformats_multiaddr__WEBPACK_IMPORTED_MODULE_0__.protocols)(\"dns\").code,\n (0,_multiformats_multiaddr__WEBPACK_IMPORTED_MODULE_0__.protocols)(\"dnsaddr\").code,\n (0,_multiformats_multiaddr__WEBPACK_IMPORTED_MODULE_0__.protocols)(\"dns4\").code,\n (0,_multiformats_multiaddr__WEBPACK_IMPORTED_MODULE_0__.protocols)(\"dns6\").code\n];\nfunction extractSNI(ma) {\n let sniProtoCode;\n try {\n sniProtoCode = (0,_multiformats_multiaddr__WEBPACK_IMPORTED_MODULE_0__.protocols)(\"sni\").code;\n } catch (e) {\n // No SNI protocol in multiaddr\n return null;\n }\n for (const [proto, value] of ma){\n if (proto === sniProtoCode && value !== undefined) {\n return value;\n }\n }\n return null;\n}\nfunction hasTLS(ma) {\n return ma.some(([proto, _])=>proto === (0,_multiformats_multiaddr__WEBPACK_IMPORTED_MODULE_0__.protocols)(\"tls\").code);\n}\nfunction interpretNext(headProtoCode, headProtoVal, restMa) {\n const interpreter = interpreters[(0,_multiformats_multiaddr__WEBPACK_IMPORTED_MODULE_0__.protocols)(headProtoCode).name];\n if (interpreter === undefined) {\n throw new Error(`Can't interpret protocol ${(0,_multiformats_multiaddr__WEBPACK_IMPORTED_MODULE_0__.protocols)(headProtoCode).name}`);\n }\n const restVal = interpreter(headProtoVal, restMa);\n if (headProtoCode === (0,_multiformats_multiaddr__WEBPACK_IMPORTED_MODULE_0__.protocols)(\"ip6\").code) {\n return `[${restVal}]`;\n }\n return restVal;\n}\nconst interpreters = {\n ip4: (value, restMa)=>value,\n ip6: (value, restMa)=>{\n if (restMa.length === 0) {\n return value;\n }\n return `[${value}]`;\n },\n tcp: (value, restMa)=>{\n const tailProto = restMa.pop();\n if (tailProto === undefined) {\n throw new Error(\"Unexpected end of multiaddr\");\n }\n return `tcp://${interpretNext(tailProto[0], tailProto[1] ?? \"\", restMa)}:${value}`;\n },\n udp: (value, restMa)=>{\n const tailProto = restMa.pop();\n if (tailProto === undefined) {\n throw new Error(\"Unexpected end of multiaddr\");\n }\n return `udp://${interpretNext(tailProto[0], tailProto[1] ?? \"\", restMa)}:${value}`;\n },\n dnsaddr: (value, restMa)=>value,\n dns4: (value, restMa)=>value,\n dns6: (value, restMa)=>value,\n dns: (value, restMa)=>value,\n ipfs: (value, restMa)=>{\n const tailProto = restMa.pop();\n if (tailProto === undefined) {\n throw new Error(\"Unexpected end of multiaddr\");\n }\n return `${interpretNext(tailProto[0], tailProto[1] ?? \"\", restMa)}/ipfs/${value}`;\n },\n p2p: (value, restMa)=>{\n const tailProto = restMa.pop();\n if (tailProto === undefined) {\n throw new Error(\"Unexpected end of multiaddr\");\n }\n return `${interpretNext(tailProto[0], tailProto[1] ?? \"\", restMa)}/p2p/${value}`;\n },\n http: (value, restMa)=>{\n const maHasTLS = hasTLS(restMa);\n const sni = extractSNI(restMa);\n if (maHasTLS && sni !== null) {\n return `https://${sni}`;\n }\n const protocol = maHasTLS ? \"https://\" : \"http://\";\n const tailProto = restMa.pop();\n if (tailProto === undefined) {\n throw new Error(\"Unexpected end of multiaddr\");\n }\n let baseVal = interpretNext(tailProto[0], tailProto[1] ?? \"\", restMa);\n // We are reinterpreting the base as http, so we need to remove the tcp:// if it's there\n baseVal = baseVal.replace(\"tcp://\", \"\");\n return `${protocol}${baseVal}`;\n },\n tls: (value, restMa)=>{\n // Noop, the parent context knows that it's tls. We don't need to do\n // anything here\n const tailProto = restMa.pop();\n if (tailProto === undefined) {\n throw new Error(\"Unexpected end of multiaddr\");\n }\n return interpretNext(tailProto[0], tailProto[1] ?? \"\", restMa);\n },\n sni: (value, restMa)=>{\n // Noop, the parent context uses the sni information, we don't need to do\n // anything here\n const tailProto = restMa.pop();\n if (tailProto === undefined) {\n throw new Error(\"Unexpected end of multiaddr\");\n }\n return interpretNext(tailProto[0], tailProto[1] ?? \"\", restMa);\n },\n https: (value, restMa)=>{\n const tailProto = restMa.pop();\n if (tailProto === undefined) {\n throw new Error(\"Unexpected end of multiaddr\");\n }\n let baseVal = interpretNext(tailProto[0], tailProto[1] ?? \"\", restMa);\n // We are reinterpreting the base as http, so we need to remove the tcp:// if it's there\n baseVal = baseVal.replace(\"tcp://\", \"\");\n return `https://${baseVal}`;\n },\n ws: (value, restMa)=>{\n const maHasTLS = hasTLS(restMa);\n const sni = extractSNI(restMa);\n if (maHasTLS && sni !== null) {\n return `wss://${sni}`;\n }\n const protocol = maHasTLS ? \"wss://\" : \"ws://\";\n const tailProto = restMa.pop();\n if (tailProto === undefined) {\n throw new Error(\"Unexpected end of multiaddr\");\n }\n let baseVal = interpretNext(tailProto[0], tailProto[1] ?? \"\", restMa);\n // We are reinterpreting the base, so we need to remove the tcp:// if it's there\n baseVal = baseVal.replace(\"tcp://\", \"\");\n return `${protocol}${baseVal}`;\n },\n wss: (value, restMa)=>{\n const tailProto = restMa.pop();\n if (tailProto === undefined) {\n throw new Error(\"Unexpected end of multiaddr\");\n }\n let baseVal = interpretNext(tailProto[0], tailProto[1] ?? \"\", restMa);\n // We are reinterpreting the base as http, so we need to remove the tcp:// if it's there\n baseVal = baseVal.replace(\"tcp://\", \"\");\n return `wss://${baseVal}`;\n },\n \"p2p-websocket-star\": (value, restMa)=>{\n const tailProto = restMa.pop();\n if (tailProto === undefined) {\n throw new Error(\"Unexpected end of multiaddr\");\n }\n return `${interpretNext(tailProto[0], tailProto[1] ?? \"\", restMa)}/p2p-websocket-star`;\n },\n \"p2p-webrtc-star\": (value, restMa)=>{\n const tailProto = restMa.pop();\n if (tailProto === undefined) {\n throw new Error(\"Unexpected end of multiaddr\");\n }\n return `${interpretNext(tailProto[0], tailProto[1] ?? \"\", restMa)}/p2p-webrtc-star`;\n },\n \"p2p-webrtc-direct\": (value, restMa)=>{\n const tailProto = restMa.pop();\n if (tailProto === undefined) {\n throw new Error(\"Unexpected end of multiaddr\");\n }\n return `${interpretNext(tailProto[0], tailProto[1] ?? \"\", restMa)}/p2p-webrtc-direct`;\n }\n};\nfunction multiaddrToUri(input, opts) {\n const ma = (0,_multiformats_multiaddr__WEBPACK_IMPORTED_MODULE_0__.multiaddr)(input);\n const parts = ma.stringTuples();\n const head = parts.pop();\n if (head === undefined) {\n throw new Error(\"Unexpected end of multiaddr\");\n }\n const protocol = (0,_multiformats_multiaddr__WEBPACK_IMPORTED_MODULE_0__.protocols)(head[0]);\n const interpreter = interpreters[protocol.name];\n if (interpreter == null) {\n throw new Error(`No interpreter found for ${protocol.name}`);\n }\n let uri = interpreter(head[1] ?? \"\", parts);\n if (opts?.assumeHttp !== false && ASSUME_HTTP_CODES.includes(head[0])) {\n // strip any declared protocol\n uri = uri.replace(/^.*:\\/\\//, \"\");\n if (head[1] === \"443\") {\n uri = `https://${uri}`;\n } else {\n uri = `http://${uri}`;\n }\n }\n if (uri.startsWith(\"http://\") || uri.startsWith(\"https://\")) {\n // this will strip default ports while keeping paths intact\n uri = new URL(uri).toString();\n // strip trailing slash, e.g. http://127.0.0.1/ -> http://127.0.0.1\n if (uri.endsWith(\"/\")) {\n uri = uri.substring(0, uri.length - 1);\n }\n }\n return uri;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQG11bHRpZm9ybWF0cy9tdWx0aWFkZHItdG8tdXJpL2Rpc3Qvc3JjL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBNkJDLEdBQzhEO0FBQy9ELE1BQU1FLG9CQUFvQjtJQUN0QkQsa0VBQVNBLENBQUMsT0FBT0UsSUFBSTtJQUNyQkYsa0VBQVNBLENBQUMsT0FBT0UsSUFBSTtJQUNyQkYsa0VBQVNBLENBQUMsV0FBV0UsSUFBSTtJQUN6QkYsa0VBQVNBLENBQUMsUUFBUUUsSUFBSTtJQUN0QkYsa0VBQVNBLENBQUMsUUFBUUUsSUFBSTtDQUN6QjtBQUNELFNBQVNDLFdBQVdDLEVBQUU7SUFDbEIsSUFBSUM7SUFDSixJQUFJO1FBQ0FBLGVBQWVMLGtFQUFTQSxDQUFDLE9BQU9FLElBQUk7SUFDeEMsRUFDQSxPQUFPSSxHQUFHO1FBQ04sK0JBQStCO1FBQy9CLE9BQU87SUFDWDtJQUNBLEtBQUssTUFBTSxDQUFDQyxPQUFPQyxNQUFNLElBQUlKLEdBQUk7UUFDN0IsSUFBSUcsVUFBVUYsZ0JBQWdCRyxVQUFVQyxXQUFXO1lBQy9DLE9BQU9EO1FBQ1g7SUFDSjtJQUNBLE9BQU87QUFDWDtBQUNBLFNBQVNFLE9BQU9OLEVBQUU7SUFDZCxPQUFPQSxHQUFHTyxJQUFJLENBQUMsQ0FBQyxDQUFDSixPQUFPSyxFQUFFLEdBQUtMLFVBQVVQLGtFQUFTQSxDQUFDLE9BQU9FLElBQUk7QUFDbEU7QUFDQSxTQUFTVyxjQUFjQyxhQUFhLEVBQUVDLFlBQVksRUFBRUMsTUFBTTtJQUN0RCxNQUFNQyxjQUFjQyxZQUFZLENBQUNsQixrRUFBU0EsQ0FBQ2MsZUFBZUssSUFBSSxDQUFDO0lBQy9ELElBQUlGLGdCQUFnQlIsV0FBVztRQUMzQixNQUFNLElBQUlXLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRXBCLGtFQUFTQSxDQUFDYyxlQUFlSyxJQUFJLENBQUMsQ0FBQztJQUMvRTtJQUNB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QU07WUFDbkJOLE1BQU1BLElBQUlPLFNBQVMsQ0FBQyxHQUFHUCxJQUFJM0IsTUFBTSxHQUFHO1FBQ3hDO0lBQ0o7SUFDQSxPQUFPMkI7QUFDWCxFQUNBLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyLXRvLXVyaS9kaXN0L3NyYy9pbmRleC5qcz83NzkyIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogVGhpcyBtb2R1bGUgYWxsb3dzIGVhc3kgY29udmVyc2lvbiBvZiBNdWx0aWFkZHJzIHRvIHN0cmluZyBVUklzLlxuICpcbiAqIEBleGFtcGxlIENvbnZlcnRpbmcgbXVsdGlhZGRycyB0byBzdHJpbmcgVVJJc1xuICpcbiAqIGBgYGpzXG4gKiBpbXBvcnQgeyBtdWx0aWFkZHJUb1VyaSB9IGZyb20gJ0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyLXRvLXVyaSdcbiAqXG4gKiBjb25zb2xlLmxvZyhtdWx0aWFkZHJUb1VyaSgnL2Ruc2FkZHIvcHJvdG9jb2wuYWkvaHR0cHMnKSlcbiAqIC8vIC0+IGh0dHBzOi8vcHJvdG9jb2wuYWlcbiAqXG4gKiBjb25zb2xlLmxvZyhtdWx0aWFkZHJUb1VyaSgnL2lwNC8xMjcuMC4wLjEvdGNwLzgwODAnKSlcbiAqIC8vIC0+IGh0dHA6Ly8xMjcuMC4wLjE6ODA4MFxuICpcbiAqIGNvbnNvbGUubG9nKG11bHRpYWRkclRvVXJpKCcvaXA0LzEyNy4wLjAuMS90Y3AvODA4MCcsIHsgYXNzdW1lSHR0cDogZmFsc2UgfSkpXG4gKiAvLyAtPiB0Y3A6Ly8xMjcuMC4wLjE6ODA4MFxuICogYGBgXG4gKlxuICogTm90ZTpcbiAqXG4gKiAtIFdoZW4gYC90Y3BgIGlzIHRoZSBsYXN0ICh0ZXJtaW5hdGluZykgcHJvdG9jb2wgSFRUUCBpcyBhc3N1bWVkIGJ5IGRlZmF1bHQgKGltcGxpY2l0IGBhc3N1bWVIdHRwOiB0cnVlYClcbiAqICAgLSB0aGlzIG1lYW5zIHByb2R1Y2VkIFVSSXMgd2lsbCBzdGFydCB3aXRoIGBodHRwOi8vYCBpbnN0ZWFkIG9mIGB0Y3A6Ly9gXG4gKiAgIC0gcGFzc2luZyBgeyBhc3N1bWVIdHRwOiBmYWxzZSB9YCBkaXNhYmxlcyB0aGlzIGJlaGF2aW9yXG4gKiAtIE1pZ2h0IGJlIGxvc3N5IC0gZS5nLiBhIEROU3Y2IG11bHRpYWRkclxuICogLSBDYW4gdGhyb3cgaWYgdGhlIHBhc3NlZCBtdWx0aWFkZHI6XG4gKiAgIC0gaXMgbm90IGEgdmFsaWQgbXVsdGlhZGRyXG4gKiAgIC0gaXMgbm90IHN1cHBvcnRlZCBhcyBhIFVSSSBlLmcuIGNpcmN1aXRcbiAqL1xuaW1wb3J0IHsgbXVsdGlhZGRyLCBwcm90b2NvbHMgfSBmcm9tICdAbXVsdGlmb3JtYXRzL211bHRpYWRkcic7XG5jb25zdCBBU1NVTUVfSFRUUF9DT0RFUyA9IFtcbiAgICBwcm90b2NvbHMoJ3RjcCcpLmNvZGUsXG4gICAgcHJvdG9jb2xzKCdkbnMnKS5jb2RlLFxuICAgIHByb3RvY29scygnZG5zYWRkcicpLmNvZGUsXG4gICAgcHJvdG9jb2xzKCdkbnM0JykuY29kZSxcbiAgICBwcm90b2NvbHMoJ2RuczYnKS5jb2RlXG5dO1xuZnVuY3Rpb24gZXh0cmFjdFNOSShtYSkge1xuICAgIGxldCBzbmlQcm90b0NvZGU7XG4gICAgdHJ5IHtcbiAgICAgICAgc25pUHJvdG9Db2RlID0gcHJvdG9jb2xzKCdzbmknKS5jb2RlO1xuICAgIH1cbiAgICBjYXRjaCAoZSkge1xuICAgICAgICAvLyBObyBTTkkgcHJvdG9jb2wgaW4gbXVsdGlhZGRyXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IFtwcm90bywgdmFsdWVdIG9mIG1hKSB7XG4gICAgICAgIGlmIChwcm90byA9PT0gc25pUHJvdG9Db2RlICYmIHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIGhhc1RMUyhtYSkge1xuICAgIHJldHVybiBtYS5zb21lKChbcHJvdG8sIF9dKSA9PiBwcm90byA9PT0gcHJvdG9jb2xzKCd0bHMnKS5jb2RlKTtcbn1cbmZ1bmN0aW9uIGludGVycHJldE5leHQoaGVhZFByb3RvQ29kZSwgaGVhZFByb3RvVmFsLCByZXN0TWEpIHtcbiAgICBjb25zdCBpbnRlcnByZXRlciA9IGludGVycHJldGVyc1twcm90b2NvbHMoaGVhZFByb3RvQ29kZSkubmFtZV07XG4gICAgaWYgKGludGVycHJldGVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW4ndCBpbnRlcnByZXQgcHJvdG9jb2wgJHtwcm90b2NvbHMoaGVhZFByb3RvQ29kZSkubmFtZX1gKTtcbiAgICB9XG4gICAgY29uc3QgcmVzdFZhbCA9IGludGVycHJldGVyKGhlYWRQcm90b1ZhbCwgcmVzdE1hKTtcbiAgICBpZiAoaGVhZFByb3RvQ29kZSA9PT0gcHJvdG9jb2xzKCdpcDYnKS5jb2RlKSB7XG4gICAgICAgIHJldHVybiBgWyR7cmVzdFZhbH1dYDtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3RWYWw7XG59XG5jb25zdCBpbnRlcnByZXRlcnMgPSB7XG4gICAgaXA0OiAodmFsdWUsIHJlc3RNYSkgPT4gdmFsdWUsXG4gICAgaXA2OiAodmFsdWUsIHJlc3RNYSkgPT4ge1xuICAgICAgICBpZiAocmVzdE1hLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBgWyR7dmFsdWV9XWA7XG4gICAgfSxcbiAgICB0Y3A6ICh2YWx1ZSwgcmVzdE1hKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhaWxQcm90byA9IHJlc3RNYS5wb3AoKTtcbiAgICAgICAgaWYgKHRhaWxQcm90byA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuZXhwZWN0ZWQgZW5kIG9mIG11bHRpYWRkcicpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBgdGNwOi8vJHtpbnRlcnByZXROZXh0KHRhaWxQcm90b1swXSwgdGFpbFByb3RvWzFdID8/ICcnLCByZXN0TWEpfToke3ZhbHVlfWA7XG4gICAgfSxcbiAgICB1ZHA6ICh2YWx1ZSwgcmVzdE1hKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhaWxQcm90byA9IHJlc3RNYS5wb3AoKTtcbiAgICAgICAgaWYgKHRhaWxQcm90byA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuZXhwZWN0ZWQgZW5kIG9mIG11bHRpYWRkcicpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBgdWRwOi8vJHtpbnRlcnByZXROZXh0KHRhaWxQcm90b1swXSwgdGFpbFByb3RvWzFdID8/ICcnLCByZXN0TWEpfToke3ZhbHVlfWA7XG4gICAgfSxcbiAgICBkbnNhZGRyOiAodmFsdWUsIHJlc3RNYSkgPT4gdmFsdWUsXG4gICAgZG5zNDogKHZhbHVlLCByZXN0TWEpID0+IHZhbHVlLFxuICAgIGRuczY6ICh2YWx1ZSwgcmVzdE1hKSA9PiB2YWx1ZSxcbiAgICBkbnM6ICh2YWx1ZSwgcmVzdE1hKSA9PiB2YWx1ZSxcbiAgICBpcGZzOiAodmFsdWUsIHJlc3RNYSkgPT4ge1xuICAgICAgICBjb25zdCB0YWlsUHJvdG8gPSByZXN0TWEucG9wKCk7XG4gICAgICAgIGlmICh0YWlsUHJvdG8gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmV4cGVjdGVkIGVuZCBvZiBtdWx0aWFkZHInKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCR7aW50ZXJwcmV0TmV4dCh0YWlsUHJvdG9bMF0sIHRhaWxQcm90b1sxXSA/PyAnJywgcmVzdE1hKX0vaXBmcy8ke3ZhbHVlfWA7XG4gICAgfSxcbiAgICBwMnA6ICh2YWx1ZSwgcmVzdE1hKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhaWxQcm90byA9IHJlc3RNYS5wb3AoKTtcbiAgICAgICAgaWYgKHRhaWxQcm90byA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuZXhwZWN0ZWQgZW5kIG9mIG11bHRpYWRkcicpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBgJHtpbnRlcnByZXROZXh0KHRhaWxQcm90b1swXSwgdGFpbFByb3RvWzFdID8/ICcnLCByZXN0TWEpfS9wMnAvJHt2YWx1ZX1gO1xuICAgIH0sXG4gICAgaHR0cDogKHZhbHVlLCByZXN0TWEpID0+IHtcbiAgICAgICAgY29uc3QgbWFIYXNUTFMgPSBoYXNUTFMocmVzdE1hKTtcbiAgICAgICAgY29uc3Qgc25pID0gZXh0cmFjdFNOSShyZXN0TWEpO1xuICAgICAgICBpZiAobWFIYXNUTFMgJiYgc25pICE9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gYGh0dHBzOi8vJHtzbml9YDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwcm90b2NvbCA9IG1hSGFzVExTID8gJ2h0dHBzOi8vJyA6ICdodHRwOi8vJztcbiAgICAgICAgY29uc3QgdGFpbFByb3RvID0gcmVzdE1hLnBvcCgpO1xuICAgICAgICBpZiAodGFpbFByb3RvID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5leHBlY3RlZCBlbmQgb2YgbXVsdGlhZGRyJyk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGJhc2VWYWwgPSBpbnRlcnByZXROZXh0KHRhaWxQcm90b1swXSwgdGFpbFByb3RvWzFdID8/ICcnLCByZXN0TWEpO1xuICAgICAgICAvLyBXZSBhcmUgcmVpbnRlcnByZXRpbmcgdGhlIGJhc2UgYXMgaHR0cCwgc28gd2UgbmVlZCB0byByZW1vdmUgdGhlIHRjcDovLyBpZiBpdCdzIHRoZXJlXG4gICAgICAgIGJhc2VWYWwgPSBiYXNlVmFsLnJlcGxhY2UoJ3RjcDovLycsICcnKTtcbiAgICAgICAgcmV0dXJuIGAke3Byb3RvY29sfSR7YmFzZVZhbH1gO1xuICAgIH0sXG4gICAgdGxzOiAodmFsdWUsIHJlc3RNYSkgPT4ge1xuICAgICAgICAvLyBOb29wLCB0aGUgcGFyZW50IGNvbnRleHQga25vd3MgdGhhdCBpdCdzIHRscy4gV2UgZG9uJ3QgbmVlZCB0byBkb1xuICAgICAgICAvLyBhbnl0aGluZyBoZXJlXG4gICAgICAgIGNvbnN0IHRhaWxQcm90byA9IHJlc3RNYS5wb3AoKTtcbiAgICAgICAgaWYgKHRhaWxQcm90byA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuZXhwZWN0ZWQgZW5kIG9mIG11bHRpYWRkcicpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpbnRlcnByZXROZXh0KHRhaWxQcm90b1swXSwgdGFpbFByb3RvWzFdID8/ICcnLCByZXN0TWEpO1xuICAgIH0sXG4gICAgc25pOiAodmFsdWUsIHJlc3RNYSkgPT4ge1xuICAgICAgICAvLyBOb29wLCB0aGUgcGFyZW50IGNvbnRleHQgdXNlcyB0aGUgc25pIGluZm9ybWF0aW9uLCB3ZSBkb24ndCBuZWVkIHRvIGRvXG4gICAgICAgIC8vIGFueXRoaW5nIGhlcmVcbiAgICAgICAgY29uc3QgdGFpbFByb3RvID0gcmVzdE1hLnBvcCgpO1xuICAgICAgICBpZiAodGFpbFByb3RvID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5leHBlY3RlZCBlbmQgb2YgbXVsdGlhZGRyJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGludGVycHJldE5leHQodGFpbFByb3RvWzBdLCB0YWlsUHJvdG9bMV0gPz8gJycsIHJlc3RNYSk7XG4gICAgfSxcbiAgICBodHRwczogKHZhbHVlLCByZXN0TWEpID0+IHtcbiAgICAgICAgY29uc3QgdGFpbFByb3RvID0gcmVzdE1hLnBvcCgpO1xuICAgICAgICBpZiAodGFpbFByb3RvID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5leHBlY3RlZCBlbmQgb2YgbXVsdGlhZGRyJyk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGJhc2VWYWwgPSBpbnRlcnByZXROZXh0KHRhaWxQcm90b1swXSwgdGFpbFByb3RvWzFdID8/ICcnLCByZXN0TWEpO1xuICAgICAgICAvLyBXZSBhcmUgcmVpbnRlcnByZXRpbmcgdGhlIGJhc2UgYXMgaHR0cCwgc28gd2UgbmVlZCB0byByZW1vdmUgdGhlIHRjcDovLyBpZiBpdCdzIHRoZXJlXG4gICAgICAgIGJhc2VWYWwgPSBiYXNlVmFsLnJlcGxhY2UoJ3RjcDovLycsICcnKTtcbiAgICAgICAgcmV0dXJuIGBodHRwczovLyR7YmFzZVZhbH1gO1xuICAgIH0sXG4gICAgd3M6ICh2YWx1ZSwgcmVzdE1hKSA9PiB7XG4gICAgICAgIGNvbnN0IG1hSGFzVExTID0gaGFzVExTKHJlc3RNYSk7XG4gICAgICAgIGNvbnN0IHNuaSA9IGV4dHJhY3RTTkkocmVzdE1hKTtcbiAgICAgICAgaWYgKG1hSGFzVExTICYmIHNuaSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIGB3c3M6Ly8ke3NuaX1gO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHByb3RvY29sID0gbWFIYXNUTFMgPyAnd3NzOi8vJyA6ICd3czovLyc7XG4gICAgICAgIGNvbnN0IHRhaWxQcm90byA9IHJlc3RNYS5wb3AoKTtcbiAgICAgICAgaWYgKHRhaWxQcm90byA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuZXhwZWN0ZWQgZW5kIG9mIG11bHRpYWRkcicpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBiYXNlVmFsID0gaW50ZXJwcmV0TmV4dCh0YWlsUHJvdG9bMF0sIHRhaWxQcm90b1sxXSA/PyAnJywgcmVzdE1hKTtcbiAgICAgICAgLy8gV2UgYXJlIHJlaW50ZXJwcmV0aW5nIHRoZSBiYXNlLCBzbyB3ZSBuZWVkIHRvIHJlbW92ZSB0aGUgdGNwOi8vIGlmIGl0J3MgdGhlcmVcbiAgICAgICAgYmFzZVZhbCA9IGJhc2VWYWwucmVwbGFjZSgndGNwOi8vJywgJycpO1xuICAgICAgICByZXR1cm4gYCR7cHJvdG9jb2x9JHtiYXNlVmFsfWA7XG4gICAgfSxcbiAgICB3c3M6ICh2YWx1ZSwgcmVzdE1hKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhaWxQcm90byA9IHJlc3RNYS5wb3AoKTtcbiAgICAgICAgaWYgKHRhaWxQcm90byA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuZXhwZWN0ZWQgZW5kIG9mIG11bHRpYWRkcicpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBiYXNlVmFsID0gaW50ZXJwcmV0TmV4dCh0YWlsUHJvdG9bMF0sIHRhaWxQcm90b1sxXSA/PyAnJywgcmVzdE1hKTtcbiAgICAgICAgLy8gV2UgYXJlIHJlaW50ZXJwcmV0aW5nIHRoZSBiYXNlIGFzIGh0dHAsIHNvIHdlIG5lZWQgdG8gcmVtb3ZlIHRoZSB0Y3A6Ly8gaWYgaXQncyB0aGVyZVxuICAgICAgICBiYXNlVmFsID0gYmFzZVZhbC5yZXBsYWNlKCd0Y3A6Ly8nLCAnJyk7XG4gICAgICAgIHJldHVybiBgd3NzOi8vJHtiYXNlVmFsfWA7XG4gICAgfSxcbiAgICAncDJwLXdlYnNvY2tldC1zdGFyJzogKHZhbHVlLCByZXN0TWEpID0+IHtcbiAgICAgICAgY29uc3QgdGFpbFByb3RvID0gcmVzdE1hLnBvcCgpO1xuICAgICAgICBpZiAodGFpbFByb3RvID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5leHBlY3RlZCBlbmQgb2YgbXVsdGlhZGRyJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGAke2ludGVycHJldE5leHQodGFpbFByb3RvWzBdLCB0YWlsUHJvdG9bMV0gPz8gJycsIHJlc3RNYSl9L3AycC13ZWJzb2NrZXQtc3RhcmA7XG4gICAgfSxcbiAgICAncDJwLXdlYnJ0Yy1zdGFyJzogKHZhbHVlLCByZXN0TWEpID0+IHtcbiAgICAgICAgY29uc3QgdGFpbFByb3RvID0gcmVzdE1hLnBvcCgpO1xuICAgICAgICBpZiAodGFpbFByb3RvID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5leHBlY3RlZCBlbmQgb2YgbXVsdGlhZGRyJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGAke2ludGVycHJldE5leHQodGFpbFByb3RvWzBdLCB0YWlsUHJvdG9bMV0gPz8gJycsIHJlc3RNYSl9L3AycC13ZWJydGMtc3RhcmA7XG4gICAgfSxcbiAgICAncDJwLXdlYnJ0Yy1kaXJlY3QnOiAodmFsdWUsIHJlc3RNYSkgPT4ge1xuICAgICAgICBjb25zdCB0YWlsUHJvdG8gPSByZXN0TWEucG9wKCk7XG4gICAgICAgIGlmICh0YWlsUHJvdG8gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmV4cGVjdGVkIGVuZCBvZiBtdWx0aWFkZHInKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCR7aW50ZXJwcmV0TmV4dCh0YWlsUHJvdG9bMF0sIHRhaWxQcm90b1sxXSA/PyAnJywgcmVzdE1hKX0vcDJwLXdlYnJ0Yy1kaXJlY3RgO1xuICAgIH1cbn07XG5leHBvcnQgZnVuY3Rpb24gbXVsdGlhZGRyVG9VcmkoaW5wdXQsIG9wdHMpIHtcbiAgICBjb25zdCBtYSA9IG11bHRpYWRkcihpbnB1dCk7XG4gICAgY29uc3QgcGFydHMgPSBtYS5zdHJpbmdUdXBsZXMoKTtcbiAgICBjb25zdCBoZWFkID0gcGFydHMucG9wKCk7XG4gICAgaWYgKGhlYWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuZXhwZWN0ZWQgZW5kIG9mIG11bHRpYWRkcicpO1xuICAgIH1cbiAgICBjb25zdCBwcm90b2NvbCA9IHByb3RvY29scyhoZWFkWzBdKTtcbiAgICBjb25zdCBpbnRlcnByZXRlciA9IGludGVycHJldGVyc1twcm90b2NvbC5uYW1lXTtcbiAgICBpZiAoaW50ZXJwcmV0ZXIgPT0gbnVsbCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIGludGVycHJldGVyIGZvdW5kIGZvciAke3Byb3RvY29sLm5hbWV9YCk7XG4gICAgfVxuICAgIGxldCB1cmkgPSBpbnRlcnByZXRlcihoZWFkWzFdID8/ICcnLCBwYXJ0cyk7XG4gICAgaWYgKG9wdHM/LmFzc3VtZUh0dHAgIT09IGZhbHNlICYmIEFTU1VNRV9IVFRQX0NPREVTLmluY2x1ZGVzKGhlYWRbMF0pKSB7XG4gICAgICAgIC8vIHN0cmlwIGFueSBkZWNsYXJlZCBwcm90b2NvbFxuICAgICAgICB1cmkgPSB1cmkucmVwbGFjZSgvXi4qOlxcL1xcLy8sICcnKTtcbiAgICAgICAgaWYgKGhlYWRbMV0gPT09ICc0NDMnKSB7XG4gICAgICAgICAgICB1cmkgPSBgaHR0cHM6Ly8ke3VyaX1gO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdXJpID0gYGh0dHA6Ly8ke3VyaX1gO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmICh1cmkuc3RhcnRzV2l0aCgnaHR0cDovLycpIHx8IHVyaS5zdGFydHNXaXRoKCdodHRwczovLycpKSB7XG4gICAgICAgIC8vIHRoaXMgd2lsbCBzdHJpcCBkZWZhdWx0IHBvcnRzIHdoaWxlIGtlZXBpbmcgcGF0aHMgaW50YWN0XG4gICAgICAgIHVyaSA9IG5ldyBVUkwodXJpKS50b1N0cmluZygpO1xuICAgICAgICAvLyBzdHJpcCB0cmFpbGluZyBzbGFzaCwgZS5nLiBodHRwOi8vMTI3LjAuMC4xLyAtPiBodHRwOi8vMTI3LjAuMC4xXG4gICAgICAgIGlmICh1cmkuZW5kc1dpdGgoJy8nKSkge1xuICAgICAgICAgICAgdXJpID0gdXJpLnN1YnN0cmluZygwLCB1cmkubGVuZ3RoIC0gMSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVyaTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6WyJtdWx0aWFkZHIiLCJwcm90b2NvbHMiLCJBU1NVTUVfSFRUUF9DT0RFUyIsImNvZGUiLCJleHRyYWN0U05JIiwibWEiLCJzbmlQcm90b0NvZGUiLCJlIiwicHJvdG8iLCJ2YWx1ZSIsInVuZGVmaW5lZCIsImhhc1RMUyIsInNvbWUiLCJfIiwiaW50ZXJwcmV0TmV4dCIsImhlYWRQcm90b0NvZGUiLCJoZWFkUHJvdG9WYWwiLCJyZXN0TWEiLCJpbnRlcnByZXRlciIsImludGVycHJldGVycyIsIm5hbWUiLCJFcnJvciIsInJlc3RWYWwiLCJpcDQiLCJpcDYiLCJsZW5ndGgiLCJ0Y3AiLCJ0YWlsUHJvdG8iLCJwb3AiLCJ1ZHAiLCJkbnNhZGRyIiwiZG5zNCIsImRuczYiLCJkbnMiLCJpcGZzIiwicDJwIiwiaHR0cCIsIm1hSGFzVExTIiwic25pIiwicHJvdG9jb2wiLCJiYXNlVmFsIiwicmVwbGFjZSIsInRscyIsImh0dHBzIiwid3MiLCJ3c3MiLCJtdWx0aWFkZHJUb1VyaSIsImlucHV0Iiwib3B0cyIsInBhcnRzIiwic3RyaW5nVHVwbGVzIiwiaGVhZCIsInVyaSIsImFzc3VtZUh0dHAiLCJpbmNsdWRlcyIsInN0YXJ0c1dpdGgiLCJVUkwiLCJ0b1N0cmluZyIsImVuZHNXaXRoIiwic3Vic3RyaW5nIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@multiformats/multiaddr-to-uri/dist/src/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@multiformats/multiaddr/dist/src/codec.js":
/*!****************************************************************!*\
!*** ./node_modules/@multiformats/multiaddr/dist/src/codec.js ***!
\****************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ParseError: () => (/* binding */ ParseError),\n/* harmony export */ bytesToMultiaddrParts: () => (/* binding */ bytesToMultiaddrParts),\n/* harmony export */ bytesToTuples: () => (/* binding */ bytesToTuples),\n/* harmony export */ cleanPath: () => (/* binding */ cleanPath),\n/* harmony export */ stringToMultiaddrParts: () => (/* binding */ stringToMultiaddrParts),\n/* harmony export */ tuplesToBytes: () => (/* binding */ tuplesToBytes)\n/* harmony export */ });\n/* harmony import */ var uint8_varint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uint8-varint */ \"(ssr)/./node_modules/uint8-varint/dist/src/index.js\");\n/* harmony import */ var uint8arrays_concat__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/concat */ \"(ssr)/./node_modules/uint8arrays/dist/src/concat.node.js\");\n/* harmony import */ var uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! uint8arrays/to-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/to-string.node.js\");\n/* harmony import */ var _convert_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./convert.js */ \"(ssr)/./node_modules/@multiformats/multiaddr/dist/src/convert.js\");\n/* harmony import */ var _protocols_table_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./protocols-table.js */ \"(ssr)/./node_modules/@multiformats/multiaddr/dist/src/protocols-table.js\");\n\n\n\n\n\nfunction stringToMultiaddrParts(str) {\n str = cleanPath(str);\n const tuples = [];\n const stringTuples = [];\n let path = null;\n const parts = str.split(\"/\").slice(1);\n if (parts.length === 1 && parts[0] === \"\") {\n return {\n bytes: new Uint8Array(),\n string: \"/\",\n tuples: [],\n stringTuples: [],\n path: null\n };\n }\n for(let p = 0; p < parts.length; p++){\n const part = parts[p];\n const proto = (0,_protocols_table_js__WEBPACK_IMPORTED_MODULE_4__.getProtocol)(part);\n if (proto.size === 0) {\n tuples.push([\n proto.code\n ]);\n stringTuples.push([\n proto.code\n ]);\n continue;\n }\n p++; // advance addr part\n if (p >= parts.length) {\n throw ParseError(\"invalid address: \" + str);\n }\n // if it's a path proto, take the rest\n if (proto.path === true) {\n // should we need to check each path part to see if it's a proto?\n // This would allow for other protocols to be added after a unix path,\n // however it would have issues if the path had a protocol name in the path\n path = cleanPath(parts.slice(p).join(\"/\"));\n tuples.push([\n proto.code,\n (0,_convert_js__WEBPACK_IMPORTED_MODULE_3__.convertToBytes)(proto.code, path)\n ]);\n stringTuples.push([\n proto.code,\n path\n ]);\n break;\n }\n const bytes = (0,_convert_js__WEBPACK_IMPORTED_MODULE_3__.convertToBytes)(proto.code, parts[p]);\n tuples.push([\n proto.code,\n bytes\n ]);\n stringTuples.push([\n proto.code,\n (0,_convert_js__WEBPACK_IMPORTED_MODULE_3__.convertToString)(proto.code, bytes)\n ]);\n }\n return {\n string: stringTuplesToString(stringTuples),\n bytes: tuplesToBytes(tuples),\n tuples,\n stringTuples,\n path\n };\n}\nfunction bytesToMultiaddrParts(bytes) {\n const tuples = [];\n const stringTuples = [];\n let path = null;\n let i = 0;\n while(i < bytes.length){\n const code = uint8_varint__WEBPACK_IMPORTED_MODULE_0__.decode(bytes, i);\n const n = uint8_varint__WEBPACK_IMPORTED_MODULE_0__.encodingLength(code);\n const p = (0,_protocols_table_js__WEBPACK_IMPORTED_MODULE_4__.getProtocol)(code);\n const size = sizeForAddr(p, bytes.slice(i + n));\n if (size === 0) {\n tuples.push([\n code\n ]);\n stringTuples.push([\n code\n ]);\n i += n;\n continue;\n }\n const addr = bytes.slice(i + n, i + n + size);\n i += size + n;\n if (i > bytes.length) {\n throw ParseError(\"Invalid address Uint8Array: \" + (0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_2__.toString)(bytes, \"base16\"));\n }\n // ok, tuple seems good.\n tuples.push([\n code,\n addr\n ]);\n const stringAddr = (0,_convert_js__WEBPACK_IMPORTED_MODULE_3__.convertToString)(code, addr);\n stringTuples.push([\n code,\n stringAddr\n ]);\n if (p.path === true) {\n // should we need to check each path part to see if it's a proto?\n // This would allow for other protocols to be added after a unix path,\n // however it would have issues if the path had a protocol name in the path\n path = stringAddr;\n break;\n }\n }\n return {\n bytes: Uint8Array.from(bytes),\n string: stringTuplesToString(stringTuples),\n tuples,\n stringTuples,\n path\n };\n}\n/**\n * [[str name, str addr]... ] -> string\n */ function stringTuplesToString(tuples) {\n const parts = [];\n tuples.map((tup)=>{\n const proto = (0,_protocols_table_js__WEBPACK_IMPORTED_MODULE_4__.getProtocol)(tup[0]);\n parts.push(proto.name);\n if (tup.length > 1 && tup[1] != null) {\n parts.push(tup[1]);\n }\n return null;\n });\n return cleanPath(parts.join(\"/\"));\n}\n/**\n * [[int code, Uint8Array ]... ] -> Uint8Array\n */ function tuplesToBytes(tuples) {\n return (0,uint8arrays_concat__WEBPACK_IMPORTED_MODULE_1__.concat)(tuples.map((tup)=>{\n const proto = (0,_protocols_table_js__WEBPACK_IMPORTED_MODULE_4__.getProtocol)(tup[0]);\n let buf = Uint8Array.from(uint8_varint__WEBPACK_IMPORTED_MODULE_0__.encode(proto.code));\n if (tup.length > 1 && tup[1] != null) {\n buf = (0,uint8arrays_concat__WEBPACK_IMPORTED_MODULE_1__.concat)([\n buf,\n tup[1]\n ]); // add address buffer\n }\n return buf;\n }));\n}\n/**\n * For the passed address, return the serialized size\n */ function sizeForAddr(p, addr) {\n if (p.size > 0) {\n return p.size / 8;\n } else if (p.size === 0) {\n return 0;\n } else {\n const size = uint8_varint__WEBPACK_IMPORTED_MODULE_0__.decode(addr instanceof Uint8Array ? addr : Uint8Array.from(addr));\n return size + uint8_varint__WEBPACK_IMPORTED_MODULE_0__.encodingLength(size);\n }\n}\nfunction bytesToTuples(buf) {\n const tuples = [];\n let i = 0;\n while(i < buf.length){\n const code = uint8_varint__WEBPACK_IMPORTED_MODULE_0__.decode(buf, i);\n const n = uint8_varint__WEBPACK_IMPORTED_MODULE_0__.encodingLength(code);\n const p = (0,_protocols_table_js__WEBPACK_IMPORTED_MODULE_4__.getProtocol)(code);\n const size = sizeForAddr(p, buf.slice(i + n));\n if (size === 0) {\n tuples.push([\n code\n ]);\n i += n;\n continue;\n }\n const addr = buf.slice(i + n, i + n + size);\n i += size + n;\n if (i > buf.length) {\n throw ParseError(\"Invalid address Uint8Array: \" + (0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_2__.toString)(buf, \"base16\"));\n }\n // ok, tuple seems good.\n tuples.push([\n code,\n addr\n ]);\n }\n return tuples;\n}\nfunction cleanPath(str) {\n return \"/\" + str.trim().split(\"/\").filter((a)=>a).join(\"/\");\n}\nfunction ParseError(str) {\n return new Error(\"Error parsing address: \" + str);\n} //# sourceMappingURL=codec.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQG11bHRpZm9ybWF0cy9tdWx0aWFkZHIvZGlzdC9zcmMvY29kZWMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBdUM7QUFDeUI7QUFDTztBQUNSO0FBQ1o7QUFDNUMsU0FBU1EsdUJBQXVCQyxHQUFHO0lBQ3RDQSxNQUFNQyxVQUFVRDtJQUNoQixNQUFNRSxTQUFTLEVBQUU7SUFDakIsTUFBTUMsZUFBZSxFQUFFO0lBQ3ZCLElBQUlDLE9BQU87SUFDWCxNQUFNQyxRQUFRTCxJQUFJTSxLQUFLLENBQUMsS0FBS0MsS0FBSyxDQUFDO0lBQ25DLElBQUlGLE1BQU1HLE1BQU0sS0FBSyxLQUFLSCxLQUFLLENBQUMsRUFBRSxLQUFLLElBQUk7UUFDdkMsT0FBTztZQUNISSxPQUFPLElBQUlDO1lBQ1hDLFFBQVE7WUFDUlQsUUFBUSxFQUFFO1lBQ1ZDLGNBQWMsRUFBRTtZQUNoQkMsTUFBTTtRQUNWO0lBQ0o7SUFDQSxJQUFLLElBQUlRLElBQUksR0FBR0EsSUFBSVAsTUFBTUcsTUFBTSxFQUFFSSxJQUFLO1FBQ25DLE1BQU1DLE9BQU9SLEtBQUssQ0FBQ08sRUFBRTtRQUNyQixNQUFNRSxRQUFRaEIsZ0VBQVdBLENBQUNlO1FBQzFCLElBQUlDLE1BQU1DLElBQUksS0FBSyxHQUFHO1lBQ2xCYixPQUFPYyxJQUFJLENBQUM7Z0JBQUNGLE1BQU1HLElBQUk7YUFBQztZQUN4QmQsYUFBYWEsSUFBSSxDQUFDO2dCQUFDRixNQUFNRyxJQUFJO2FBQUM7WUFFOUI7UUFDSjtRQUNBTCxLQUFLLG9CQUFvQjtRQUN6QixJQUFJQSxLQUFLUCxNQUFNRyxNQUFNLEVBQUU7WUFDbkIsTUFBTVUsV0FBVyxzQkFBc0JsQjtRQUMzQztRQUNBLHNDQUFzQztRQUN0QyxJQUFJYyxNQUFNVixJQUFJLEtBQUssTUFBTTtZQUNyQixpRUFBaUU7WUFDakUsc0VBQXNFO1lBQ3RFLDJFQUEyRTtZQUMzRUEsT0FBT0gsVUFBVUksTUFBTUUsS0FBSyxD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QUlFLEdBQUdGLElBQUlFLElBQUlWO1FBQ3RDUSxLQUFNUixPQUFPVTtRQUNiLElBQUlGLElBQUlXLElBQUkxQixNQUFNLEVBQUU7WUFDaEIsTUFBTVUsV0FBVyxpQ0FBaUN2QiwrREFBa0JBLENBQUN1QyxLQUFLO1FBQzlFO1FBQ0Esd0JBQXdCO1FBQ3hCaEMsT0FBT2MsSUFBSSxDQUFDO1lBQUNDO1lBQU1XO1NBQUs7SUFDNUI7SUFDQSxPQUFPMUI7QUFDWDtBQUNPLFNBQVNELFVBQVVELEdBQUc7SUFDekIsT0FBTyxNQUFNQSxJQUFJcUMsSUFBSSxHQUFHL0IsS0FBSyxDQUFDLEtBQUtnQyxNQUFNLENBQUMsQ0FBQ0MsSUFBTUEsR0FBR3BCLElBQUksQ0FBQztBQUM3RDtBQUNPLFNBQVNELFdBQVdsQixHQUFHO0lBQzFCLE9BQU8sSUFBSXdDLE1BQU0sNEJBQTRCeEM7QUFDakQsRUFDQSxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9AbXVsdGlmb3JtYXRzL211bHRpYWRkci9kaXN0L3NyYy9jb2RlYy5qcz9kMzM3Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHZhcmludCBmcm9tICd1aW50OC12YXJpbnQnO1xuaW1wb3J0IHsgY29uY2F0IGFzIHVpbnQ4QXJyYXlDb25jYXQgfSBmcm9tICd1aW50OGFycmF5cy9jb25jYXQnO1xuaW1wb3J0IHsgdG9TdHJpbmcgYXMgdWludDhBcnJheVRvU3RyaW5nIH0gZnJvbSAndWludDhhcnJheXMvdG8tc3RyaW5nJztcbmltcG9ydCB7IGNvbnZlcnRUb0J5dGVzLCBjb252ZXJ0VG9TdHJpbmcgfSBmcm9tICcuL2NvbnZlcnQuanMnO1xuaW1wb3J0IHsgZ2V0UHJvdG9jb2wgfSBmcm9tICcuL3Byb3RvY29scy10YWJsZS5qcyc7XG5leHBvcnQgZnVuY3Rpb24gc3RyaW5nVG9NdWx0aWFkZHJQYXJ0cyhzdHIpIHtcbiAgICBzdHIgPSBjbGVhblBhdGgoc3RyKTtcbiAgICBjb25zdCB0dXBsZXMgPSBbXTtcbiAgICBjb25zdCBzdHJpbmdUdXBsZXMgPSBbXTtcbiAgICBsZXQgcGF0aCA9IG51bGw7XG4gICAgY29uc3QgcGFydHMgPSBzdHIuc3BsaXQoJy8nKS5zbGljZSgxKTtcbiAgICBpZiAocGFydHMubGVuZ3RoID09PSAxICYmIHBhcnRzWzBdID09PSAnJykge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgYnl0ZXM6IG5ldyBVaW50OEFycmF5KCksXG4gICAgICAgICAgICBzdHJpbmc6ICcvJyxcbiAgICAgICAgICAgIHR1cGxlczogW10sXG4gICAgICAgICAgICBzdHJpbmdUdXBsZXM6IFtdLFxuICAgICAgICAgICAgcGF0aDogbnVsbFxuICAgICAgICB9O1xuICAgIH1cbiAgICBmb3IgKGxldCBwID0gMDsgcCA8IHBhcnRzLmxlbmd0aDsgcCsrKSB7XG4gICAgICAgIGNvbnN0IHBhcnQgPSBwYXJ0c1twXTtcbiAgICAgICAgY29uc3QgcHJvdG8gPSBnZXRQcm90b2NvbChwYXJ0KTtcbiAgICAgICAgaWYgKHByb3RvLnNpemUgPT09IDApIHtcbiAgICAgICAgICAgIHR1cGxlcy5wdXNoKFtwcm90by5jb2RlXSk7XG4gICAgICAgICAgICBzdHJpbmdUdXBsZXMucHVzaChbcHJvdG8uY29kZV0pO1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnRpbnVlXG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBwKys7IC8vIGFkdmFuY2UgYWRkciBwYXJ0XG4gICAgICAgIGlmIChwID49IHBhcnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhyb3cgUGFyc2VFcnJvcignaW52YWxpZCBhZGRyZXNzOiAnICsgc3RyKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBpZiBpdCdzIGEgcGF0aCBwcm90bywgdGFrZSB0aGUgcmVzdFxuICAgICAgICBpZiAocHJvdG8ucGF0aCA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgLy8gc2hvdWxkIHdlIG5lZWQgdG8gY2hlY2sgZWFjaCBwYXRoIHBhcnQgdG8gc2VlIGlmIGl0J3MgYSBwcm90bz9cbiAgICAgICAgICAgIC8vIFRoaXMgd291bGQgYWxsb3cgZm9yIG90aGVyIHByb3RvY29scyB0byBiZSBhZGRlZCBhZnRlciBhIHVuaXggcGF0aCxcbiAgICAgICAgICAgIC8vIGhvd2V2ZXIgaXQgd291bGQgaGF2ZSBpc3N1ZXMgaWYgdGhlIHBhdGggaGFkIGEgcHJvdG9jb2wgbmFtZSBpbiB0aGUgcGF0aFxuICAgICAgICAgICAgcGF0aCA9IGNsZWFuUGF0aChwYXJ0cy5zbGljZShwKS5qb2luKCcvJykpO1xuICAgICAgICAgICAgdHVwbGVzLnB1c2goW3Byb3RvLmNvZGUsIGNvbnZlcnRUb0J5dGVzKHByb3RvLmNvZGUsIHBhdGgpXSk7XG4gICAgICAgICAgICBzdHJpbmdUdXBsZXMucHVzaChbcHJvdG8uY29kZSwgcGF0aF0pO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYnl0ZXMgPSBjb252ZXJ0VG9CeXRlcyhwcm90by5jb2RlLCBwYXJ0c1twXSk7XG4gICAgICAgIHR1cGxlcy5wdXNoKFtwcm90by5jb2RlLCBieXRlc10pO1xuICAgICAgICBzdHJpbmdUdXBsZXMucHVzaChbcHJvdG8uY29kZSwgY29udmVydFRvU3RyaW5nKHByb3RvLmNvZGUsIGJ5dGVzKV0pO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBzdHJpbmc6IHN0cmluZ1R1cGxlc1RvU3RyaW5nKHN0cmluZ1R1cGxlcyksXG4gICAgICAgIGJ5dGVzOiB0dXBsZXNUb0J5dGVzKHR1cGxlcyksXG4gICAgICAgIHR1cGxlcyxcbiAgICAgICAgc3RyaW5nVHVwbGVzLFxuICAgICAgICBwYXRoXG4gICAgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBieXRlc1RvTXVsdGlhZGRyUGFydHMoYnl0ZXMpIHtcbiAgICBjb25zdCB0dXBsZXMgPSBbXTtcbiAgICBjb25zdCBzdHJpbmdUdXBsZXMgPSBbXTtcbiAgICBsZXQgcGF0aCA9IG51bGw7XG4gICAgbGV0IGkgPSAwO1xuICAgIHdoaWxlIChpIDwgYnl0ZXMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGNvZGUgPSB2YXJpbnQuZGVjb2RlKGJ5dGVzLCBpKTtcbiAgICAgICAgY29uc3QgbiA9IHZhcmludC5lbmNvZGluZ0xlbmd0aChjb2RlKTtcbiAgICAgICAgY29uc3QgcCA9IGdldFByb3RvY29sKGNvZGUpO1xuICAgICAgICBjb25zdCBzaXplID0gc2l6ZUZvckFkZHIocCwgYnl0ZXMuc2xpY2UoaSArIG4pKTtcbiAgICAgICAgaWYgKHNpemUgPT09IDApIHtcbiAgICAgICAgICAgIHR1cGxlcy5wdXNoKFtjb2RlXSk7XG4gICAgICAgICAgICBzdHJpbmdUdXBsZXMucHVzaChbY29kZV0pO1xuICAgICAgICAgICAgaSArPSBuO1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnRpbnVlXG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhZGRyID0gYnl0ZXMuc2xpY2UoaSArIG4sIGkgKyBuICsgc2l6ZSk7XG4gICAgICAgIGkgKz0gKHNpemUgKyBuKTtcbiAgICAgICAgaWYgKGkgPiBieXRlcy5sZW5ndGgpIHsgLy8gZGlkIG5vdCBlbmQgX2V4YWN0bHlfIGF0IGJ1ZmZlci5sZW5ndGhcbiAgICAgICAgICAgIHRocm93IFBhcnNlRXJyb3IoJ0ludmFsaWQgYWRkcmVzcyBVaW50OEFycmF5OiAnICsgdWludDhBcnJheVRvU3RyaW5nKGJ5dGVzLCAnYmFzZTE2JykpO1xuICAgICAgICB9XG4gICAgICAgIC8vIG9rLCB0dXBsZSBzZWVtcyBnb29kLlxuICAgICAgICB0dXBsZXMucHVzaChbY29kZSwgYWRkcl0pO1xuICAgICAgICBjb25zdCBzdHJpbmdBZGRyID0gY29udmVydFRvU3RyaW5nKGNvZGUsIGFkZHIpO1xuICAgICAgICBzdHJpbmdUdXBsZXMucHVzaChbY29kZSwgc3RyaW5nQWRkcl0pO1xuICAgICAgICBpZiAocC5wYXRoID09PSB0cnVlKSB7XG4gICAgICAgICAgICAvLyBzaG91bGQgd2UgbmVlZCB0byBjaGVjayBlYWNoIHBhdGggcGFydCB0byBzZWUgaWYgaXQncyBhIHByb3RvP1xuICAgICAgICAgICAgLy8gVGhpcyB3b3VsZCBhbGxvdyBmb3Igb3RoZXIgcHJvdG9jb2xzIHRvIGJlIGFkZGVkIGFmdGVyIGEgdW5peCBwYXRoLFxuICAgICAgICAgICAgLy8gaG93ZXZlciBpdCB3b3VsZCBoYXZlIGlzc3VlcyBpZiB0aGUgcGF0aCBoYWQgYSBwcm90b2NvbCBuYW1lIGluIHRoZSBwYXRoXG4gICAgICAgICAgICBwYXRoID0gc3RyaW5nQWRkcjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIGJ5dGVzOiBVaW50OEFycmF5LmZyb20oYnl0ZXMpLFxuICAgICAgICBzdHJpbmc6IHN0cmluZ1R1cGxlc1RvU3RyaW5nKHN0cmluZ1R1cGxlcyksXG4gICAgICAgIHR1cGxlcyxcbiAgICAgICAgc3RyaW5nVHVwbGVzLFxuICAgICAgICBwYXRoXG4gICAgfTtcbn1cbi8qKlxuICogW1tzdHIgbmFtZSwgc3RyIGFkZHJdLi4uIF0gLT4gc3RyaW5nXG4gKi9cbmZ1bmN0aW9uIHN0cmluZ1R1cGxlc1RvU3RyaW5nKHR1cGxlcykge1xuICAgIGNvbnN0IHBhcnRzID0gW107XG4gICAgdHVwbGVzLm1hcCgodHVwKSA9PiB7XG4gICAgICAgIGNvbnN0IHByb3RvID0gZ2V0UHJvdG9jb2wodHVwWzBdKTtcbiAgICAgICAgcGFydHMucHVzaChwcm90by5uYW1lKTtcbiAgICAgICAgaWYgKHR1cC5sZW5ndGggPiAxICYmIHR1cFsxXSAhPSBudWxsKSB7XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKHR1cFsxXSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSk7XG4gICAgcmV0dXJuIGNsZWFuUGF0aChwYXJ0cy5qb2luKCcvJykpO1xufVxuLyoqXG4gKiBbW2ludCBjb2RlLCBVaW50OEFycmF5IF0uLi4gXSAtPiBVaW50OEFycmF5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dXBsZXNUb0J5dGVzKHR1cGxlcykge1xuICAgIHJldHVybiB1aW50OEFycmF5Q29uY2F0KHR1cGxlcy5tYXAoKHR1cCkgPT4ge1xuICAgICAgICBjb25zdCBwcm90byA9IGdldFByb3RvY29sKHR1cFswXSk7XG4gICAgICAgIGxldCBidWYgPSBVaW50OEFycmF5LmZyb20odmFyaW50LmVuY29kZShwcm90by5jb2RlKSk7XG4gICAgICAgIGlmICh0dXAubGVuZ3RoID4gMSAmJiB0dXBbMV0gIT0gbnVsbCkge1xuICAgICAgICAgICAgYnVmID0gdWludDhBcnJheUNvbmNhdChbYnVmLCB0dXBbMV1dKTsgLy8gYWRkIGFkZHJlc3MgYnVmZmVyXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGJ1ZjtcbiAgICB9KSk7XG59XG4vKipcbiAqIEZvciB0aGUgcGFzc2VkIGFkZHJlc3MsIHJldHVybiB0aGUgc2VyaWFsaXplZCBzaXplXG4gKi9cbmZ1bmN0aW9uIHNpemVGb3JBZGRyKHAsIGFkZHIpIHtcbiAgICBpZiAocC5zaXplID4gMCkge1xuICAgICAgICByZXR1cm4gcC5zaXplIC8gODtcbiAgICB9XG4gICAgZWxzZSBpZiAocC5zaXplID09PSAwKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3Qgc2l6ZSA9IHZhcmludC5kZWNvZGUoYWRkciBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkgPyBhZGRyIDogVWludDhBcnJheS5mcm9tKGFkZHIpKTtcbiAgICAgICAgcmV0dXJuIHNpemUgKyB2YXJpbnQuZW5jb2RpbmdMZW5ndGgoc2l6ZSk7XG4gICAgfVxufVxuZXhwb3J0IGZ1bmN0aW9uIGJ5dGVzVG9UdXBsZXMoYnVmKSB7XG4gICAgY29uc3QgdHVwbGVzID0gW107XG4gICAgbGV0IGkgPSAwO1xuICAgIHdoaWxlIChpIDwgYnVmLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBjb2RlID0gdmFyaW50LmRlY29kZShidWYsIGkpO1xuICAgICAgICBjb25zdCBuID0gdmFyaW50LmVuY29kaW5nTGVuZ3RoKGNvZGUpO1xuICAgICAgICBjb25zdCBwID0gZ2V0UHJvdG9jb2woY29kZSk7XG4gICAgICAgIGNvbnN0IHNpemUgPSBzaXplRm9yQWRkcihwLCBidWYuc2xpY2UoaSArIG4pKTtcbiAgICAgICAgaWYgKHNpemUgPT09IDApIHtcbiAgICAgICAgICAgIHR1cGxlcy5wdXNoKFtjb2RlXSk7XG4gICAgICAgICAgICBpICs9IG47XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29udGludWVcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFkZHIgPSBidWYuc2xpY2UoaSArIG4sIGkgKyBuICsgc2l6ZSk7XG4gICAgICAgIGkgKz0gKHNpemUgKyBuKTtcbiAgICAgICAgaWYgKGkgPiBidWYubGVuZ3RoKSB7IC8vIGRpZCBub3QgZW5kIF9leGFjdGx5XyBhdCBidWZmZXIubGVuZ3RoXG4gICAgICAgICAgICB0aHJvdyBQYXJzZUVycm9yKCdJbnZhbGlkIGFkZHJlc3MgVWludDhBcnJheTogJyArIHVpbnQ4QXJyYXlUb1N0cmluZyhidWYsICdiYXNlMTYnKSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gb2ssIHR1cGxlIHNlZW1zIGdvb2QuXG4gICAgICAgIHR1cGxlcy5wdXNoKFtjb2RlLCBhZGRyXSk7XG4gICAgfVxuICAgIHJldHVybiB0dXBsZXM7XG59XG5leHBvcnQgZnVuY3Rpb24gY2xlYW5QYXRoKHN0cikge1xuICAgIHJldHVybiAnLycgKyBzdHIudHJpbSgpLnNwbGl0KCcvJykuZmlsdGVyKChhKSA9PiBhKS5qb2luKCcvJyk7XG59XG5leHBvcnQgZnVuY3Rpb24gUGFyc2VFcnJvcihzdHIpIHtcbiAgICByZXR1cm4gbmV3IEVycm9yKCdFcnJvciBwYXJzaW5nIGFkZHJlc3M6ICcgKyBzdHIpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29kZWMuanMubWFwIl0sIm5hbWVzIjpbInZhcmludCIsImNvbmNhdCIsInVpbnQ4QXJyYXlDb25jYXQiLCJ0b1N0cmluZyIsInVpbnQ4QXJyYXlUb1N0cmluZyIsImNvbnZlcnRUb0J5dGVzIiwiY29udmVydFRvU3RyaW5nIiwiZ2V0UHJvdG9jb2wiLCJzdHJpbmdUb011bHRpYWRkclBhcnRzIiwic3RyIiwiY2xlYW5QYXRoIiwidHVwbGVzIiwic3RyaW5nVHVwbGVzIiwicGF0aCIsInBhcnRzIiwic3BsaXQiLCJzbGljZSIsImxlbmd0aCIsImJ5dGVzIiwiVWludDhBcnJheSIsInN0cmluZyIsInAiLCJwYXJ0IiwicHJvdG8iLCJzaXplIiwicHVzaCIsImNvZGUiLCJQYXJzZUVycm9yIiwiam9pbiIsInN0cmluZ1R1cGxlc1RvU3RyaW5nIiwidHVwbGVzVG9CeXRlcyIsImJ5dGVzVG9NdWx0aWFkZHJQYXJ0cyIsImkiLCJkZWNvZGUiLCJuIiwiZW5jb2RpbmdMZW5ndGgiLCJzaXplRm9yQWRkciIsImFkZHIiLCJzdHJpbmdBZGRyIiwiZnJvbSIsIm1hcCIsInR1cCIsIm5hbWUiLCJidWYiLCJlbmNvZGUiLCJieXRlc1RvVHVwbGVzIiwidHJpbSIsImZpbHRlciIsImEiLCJFcnJvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@multiformats/multiaddr/dist/src/codec.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@multiformats/multiaddr/dist/src/convert.js":
/*!******************************************************************!*\
!*** ./node_modules/@multiformats/multiaddr/dist/src/convert.js ***!
\******************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ convert: () => (/* binding */ convert),\n/* harmony export */ convertToBytes: () => (/* binding */ convertToBytes),\n/* harmony export */ convertToIpNet: () => (/* binding */ convertToIpNet),\n/* harmony export */ convertToString: () => (/* binding */ convertToString)\n/* harmony export */ });\n/* harmony import */ var _chainsafe_netmask__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @chainsafe/netmask */ \"(ssr)/./node_modules/@chainsafe/netmask/dist/src/index.js\");\n/* harmony import */ var multiformats_bases_base32__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! multiformats/bases/base32 */ \"(ssr)/./node_modules/multiformats/dist/src/bases/base32.js\");\n/* harmony import */ var multiformats_bases_base58__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! multiformats/bases/base58 */ \"(ssr)/./node_modules/multiformats/dist/src/bases/base58.js\");\n/* harmony import */ var multiformats_basics__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! multiformats/basics */ \"(ssr)/./node_modules/multiformats/dist/src/basics.js\");\n/* harmony import */ var multiformats_cid__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! multiformats/cid */ \"(ssr)/./node_modules/multiformats/dist/src/cid.js\");\n/* harmony import */ var multiformats_hashes_digest__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! multiformats/hashes/digest */ \"(ssr)/./node_modules/multiformats/dist/src/hashes/digest.js\");\n/* harmony import */ var uint8_varint__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! uint8-varint */ \"(ssr)/./node_modules/uint8-varint/dist/src/index.js\");\n/* harmony import */ var uint8arrays_concat__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! uint8arrays/concat */ \"(ssr)/./node_modules/uint8arrays/dist/src/concat.node.js\");\n/* harmony import */ var uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! uint8arrays/from-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/from-string.node.js\");\n/* harmony import */ var uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! uint8arrays/to-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/to-string.node.js\");\n/* harmony import */ var _ip_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./ip.js */ \"(ssr)/./node_modules/@multiformats/multiaddr/dist/src/ip.js\");\n/* harmony import */ var _protocols_table_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./protocols-table.js */ \"(ssr)/./node_modules/@multiformats/multiaddr/dist/src/protocols-table.js\");\n/**\n * @packageDocumentation\n *\n * Provides methods for converting\n */ \n\n\n\n\n\n\n\n\n\n\n\nconst ip4Protocol = (0,_protocols_table_js__WEBPACK_IMPORTED_MODULE_11__.getProtocol)(\"ip4\");\nconst ip6Protocol = (0,_protocols_table_js__WEBPACK_IMPORTED_MODULE_11__.getProtocol)(\"ip6\");\nconst ipcidrProtocol = (0,_protocols_table_js__WEBPACK_IMPORTED_MODULE_11__.getProtocol)(\"ipcidr\");\nfunction convert(proto, a) {\n if (a instanceof Uint8Array) {\n return convertToString(proto, a);\n } else {\n return convertToBytes(proto, a);\n }\n}\n/**\n * Convert [code,Uint8Array] to string\n */ function convertToString(proto, buf) {\n const protocol = (0,_protocols_table_js__WEBPACK_IMPORTED_MODULE_11__.getProtocol)(proto);\n switch(protocol.code){\n case 4:\n case 41:\n return bytes2ip(buf);\n case 42:\n return bytes2str(buf);\n case 6:\n case 273:\n case 33:\n case 132:\n return bytes2port(buf).toString();\n case 53:\n case 54:\n case 55:\n case 56:\n case 400:\n case 449:\n case 777:\n return bytes2str(buf);\n case 421:\n return bytes2mh(buf);\n case 444:\n return bytes2onion(buf);\n case 445:\n return bytes2onion(buf);\n case 466:\n return bytes2mb(buf);\n default:\n return (0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_9__.toString)(buf, \"base16\"); // no clue. convert to hex\n }\n}\nfunction convertToBytes(proto, str) {\n const protocol = (0,_protocols_table_js__WEBPACK_IMPORTED_MODULE_11__.getProtocol)(proto);\n switch(protocol.code){\n case 4:\n return ip2bytes(str);\n case 41:\n return ip2bytes(str);\n case 42:\n return str2bytes(str);\n case 6:\n case 273:\n case 33:\n case 132:\n return port2bytes(parseInt(str, 10));\n case 53:\n case 54:\n case 55:\n case 56:\n case 400:\n case 449:\n case 777:\n return str2bytes(str);\n case 421:\n return mh2bytes(str);\n case 444:\n return onion2bytes(str);\n case 445:\n return onion32bytes(str);\n case 466:\n return mb2bytes(str);\n default:\n return (0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_8__.fromString)(str, \"base16\"); // no clue. convert from hex\n }\n}\nfunction convertToIpNet(multiaddr) {\n let mask;\n let addr;\n multiaddr.stringTuples().forEach(([code, value])=>{\n if (code === ip4Protocol.code || code === ip6Protocol.code) {\n addr = value;\n }\n if (code === ipcidrProtocol.code) {\n mask = value;\n }\n });\n if (mask == null || addr == null) {\n throw new Error(\"Invalid multiaddr\");\n }\n return new _chainsafe_netmask__WEBPACK_IMPORTED_MODULE_0__.IpNet(addr, mask);\n}\nconst decoders = Object.values(multiformats_basics__WEBPACK_IMPORTED_MODULE_3__.bases).map((c)=>c.decoder);\nconst anybaseDecoder = function() {\n let acc = decoders[0].or(decoders[1]);\n decoders.slice(2).forEach((d)=>acc = acc.or(d));\n return acc;\n}();\nfunction ip2bytes(ipString) {\n if (!_ip_js__WEBPACK_IMPORTED_MODULE_10__.isIP(ipString)) {\n throw new Error(\"invalid ip address\");\n }\n return _ip_js__WEBPACK_IMPORTED_MODULE_10__.toBytes(ipString);\n}\nfunction bytes2ip(ipBuff) {\n const ipString = _ip_js__WEBPACK_IMPORTED_MODULE_10__.toString(ipBuff, 0, ipBuff.length);\n if (ipString == null) {\n throw new Error(\"ipBuff is required\");\n }\n if (!_ip_js__WEBPACK_IMPORTED_MODULE_10__.isIP(ipString)) {\n throw new Error(\"invalid ip address\");\n }\n return ipString;\n}\nfunction port2bytes(port) {\n const buf = new ArrayBuffer(2);\n const view = new DataView(buf);\n view.setUint16(0, port);\n return new Uint8Array(buf);\n}\nfunction bytes2port(buf) {\n const view = new DataView(buf.buffer);\n return view.getUint16(buf.byteOffset);\n}\nfunction str2bytes(str) {\n const buf = (0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_8__.fromString)(str);\n const size = Uint8Array.from(uint8_varint__WEBPACK_IMPORTED_MODULE_6__.encode(buf.length));\n return (0,uint8arrays_concat__WEBPACK_IMPORTED_MODULE_7__.concat)([\n size,\n buf\n ], size.length + buf.length);\n}\nfunction bytes2str(buf) {\n const size = uint8_varint__WEBPACK_IMPORTED_MODULE_6__.decode(buf);\n buf = buf.slice(uint8_varint__WEBPACK_IMPORTED_MODULE_6__.encodingLength(size));\n if (buf.length !== size) {\n throw new Error(\"inconsistent lengths\");\n }\n return (0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_9__.toString)(buf);\n}\nfunction mh2bytes(hash) {\n let mh;\n if (hash[0] === \"Q\" || hash[0] === \"1\") {\n mh = multiformats_hashes_digest__WEBPACK_IMPORTED_MODULE_5__.decode(multiformats_bases_base58__WEBPACK_IMPORTED_MODULE_2__.base58btc.decode(`z${hash}`)).bytes;\n } else {\n mh = multiformats_cid__WEBPACK_IMPORTED_MODULE_4__.CID.parse(hash).multihash.bytes;\n }\n // the address is a varint prefixed multihash string representation\n const size = Uint8Array.from(uint8_varint__WEBPACK_IMPORTED_MODULE_6__.encode(mh.length));\n return (0,uint8arrays_concat__WEBPACK_IMPORTED_MODULE_7__.concat)([\n size,\n mh\n ], size.length + mh.length);\n}\nfunction mb2bytes(mbstr) {\n const mb = anybaseDecoder.decode(mbstr);\n const size = Uint8Array.from(uint8_varint__WEBPACK_IMPORTED_MODULE_6__.encode(mb.length));\n return (0,uint8arrays_concat__WEBPACK_IMPORTED_MODULE_7__.concat)([\n size,\n mb\n ], size.length + mb.length);\n}\nfunction bytes2mb(buf) {\n const size = uint8_varint__WEBPACK_IMPORTED_MODULE_6__.decode(buf);\n const hash = buf.slice(uint8_varint__WEBPACK_IMPORTED_MODULE_6__.encodingLength(size));\n if (hash.length !== size) {\n throw new Error(\"inconsistent lengths\");\n }\n return \"u\" + (0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_9__.toString)(hash, \"base64url\");\n}\n/**\n * Converts bytes to bas58btc string\n */ function bytes2mh(buf) {\n const size = uint8_varint__WEBPACK_IMPORTED_MODULE_6__.decode(buf);\n const address = buf.slice(uint8_varint__WEBPACK_IMPORTED_MODULE_6__.encodingLength(size));\n if (address.length !== size) {\n throw new Error(\"inconsistent lengths\");\n }\n return (0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_9__.toString)(address, \"base58btc\");\n}\nfunction onion2bytes(str) {\n const addr = str.split(\":\");\n if (addr.length !== 2) {\n throw new Error(`failed to parse onion addr: [\"'${addr.join('\", \"')}'\"]' does not contain a port number`);\n }\n if (addr[0].length !== 16) {\n throw new Error(`failed to parse onion addr: ${addr[0]} not a Tor onion address.`);\n }\n // onion addresses do not include the multibase prefix, add it before decoding\n const buf = multiformats_bases_base32__WEBPACK_IMPORTED_MODULE_1__.base32.decode(\"b\" + addr[0]);\n // onion port number\n const port = parseInt(addr[1], 10);\n if (port < 1 || port > 65536) {\n throw new Error(\"Port number is not in range(1, 65536)\");\n }\n const portBuf = port2bytes(port);\n return (0,uint8arrays_concat__WEBPACK_IMPORTED_MODULE_7__.concat)([\n buf,\n portBuf\n ], buf.length + portBuf.length);\n}\nfunction onion32bytes(str) {\n const addr = str.split(\":\");\n if (addr.length !== 2) {\n throw new Error(`failed to parse onion addr: [\"'${addr.join('\", \"')}'\"]' does not contain a port number`);\n }\n if (addr[0].length !== 56) {\n throw new Error(`failed to parse onion addr: ${addr[0]} not a Tor onion3 address.`);\n }\n // onion addresses do not include the multibase prefix, add it before decoding\n const buf = multiformats_bases_base32__WEBPACK_IMPORTED_MODULE_1__.base32.decode(`b${addr[0]}`);\n // onion port number\n const port = parseInt(addr[1], 10);\n if (port < 1 || port > 65536) {\n throw new Error(\"Port number is not in range(1, 65536)\");\n }\n const portBuf = port2bytes(port);\n return (0,uint8arrays_concat__WEBPACK_IMPORTED_MODULE_7__.concat)([\n buf,\n portBuf\n ], buf.length + portBuf.length);\n}\nfunction bytes2onion(buf) {\n const addrBytes = buf.slice(0, buf.length - 2);\n const portBytes = buf.slice(buf.length - 2);\n const addr = (0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_9__.toString)(addrBytes, \"base32\");\n const port = bytes2port(portBytes);\n return `${addr}:${port}`;\n} //# sourceMappingURL=convert.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQG11bHRpZm9ybWF0cy9tdWx0aWFkZHIvZGlzdC9zcmMvY29udmVydC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7Q0FJQyxHQUMwQztBQUNRO0FBQ0c7QUFDVjtBQUNMO0FBQ2M7QUFDZDtBQUN5QjtBQUNhO0FBQ047QUFDekM7QUFDcUI7QUFDbkQsTUFBTWUsY0FBY0QsaUVBQVdBLENBQUM7QUFDaEMsTUFBTUUsY0FBY0YsaUVBQVdBLENBQUM7QUFDaEMsTUFBTUcsaUJBQWlCSCxpRUFBV0EsQ0FBQztBQUM1QixTQUFTSSxRQUFRQyxLQUFLLEVBQUVDLENBQUM7SUFDNUIsSUFBSUEsYUFBYUMsWUFBWTtRQUN6QixPQUFPQyxnQkFBZ0JILE9BQU9DO0lBQ2xDLE9BQ0s7UUFDRCxPQUFPRyxlQUFlSixPQUFPQztJQUNqQztBQUNKO0FBQ0E7O0NBRUMsR0FDTSxTQUFTRSxnQkFBZ0JILEtBQUssRUFBRUssR0FBRztJQUN0QyxNQUFNQyxXQUFXWCxpRUFBV0EsQ0FBQ0s7SUFDN0IsT0FBUU0sU0FBU0MsSUFBSTtRQUNqQixLQUFLO1FBQ0wsS0FBSztZQUNELE9BQU9DLFNBQVNIO1FBQ3BCLEtBQUs7WUFDRCxPQUFPSSxVQUFVSjtRQUNyQixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1lBQ0QsT0FBT0ssV0FBV0wsS0FBS2IsUUFBUTtRQUNuQyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1lBQ0QsT0FBT2lCLFVBQVVKO1FBQ3JCLEtBQUs7WUFDRCxPQUFPTSxTQUFTTjtRQUNwQixLQUFLO1lBQ0QsT0FBT08sWUFBWVA7UUFDdkIsS0FBSztZQUNELE9BQU9PLFlBQVlQO1FBQ3ZCLEtBQUs7WUFDRCxPQUFPUSxTQUFTUjtRQUNwQjtZQUNJLE9BQU9aLCtEQUFrQkEsQ0FBQ1ksS0FBSyxXQUFXLDBCQUEwQjtJQUM1RTtBQUNKO0FBQ08sU0FBU0QsZUFBZUosS0FBSyxFQUFFYyxHQUFHO0lBQ3JDLE1BQU1SLFdBQVdYLGlFQUFXQSxDQUFDSztJQUM3QixPQUFRTSxTQUFTQyxJQUFJO1FBQ2pCLEtBQUs7WUFDRCxPQUFPUSxTQUFTRDtRQUNwQixLQUFLO1lBQ0QsT0FBT0MsU0FBU0Q7UUFDcEIsS0FBSztZQUNELE9BQU9FLFVBQVVGO1FBQ3JCLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7WUFDRCxPQUFPRyxXQUFXQyxTQUFTSixLQUFLO1FBQ3BDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7WUFDRCxPQUFPRSxVQUFVRjtRQUNyQixLQUFLO1lBQ0QsT0FBT0ssU0FBU0w7UUFDcEIsS0FBSztZQUNELE9BQU9NLFlBQVlOO1FBQ3ZCLEtBQUs7WUFDRCxPQUFPTyxhQUFhUDtRQUN4QixLQUFLO1lBQ0QsT0FBT1EsU0FBU1I7UUFDcEI7WUFDSSxPQUFPdkIsbUVBQW9CQSxDQUFDdUIsS0FBSyxXQUFXLDRCQUE0QjtJQUNoRjtBQUNKO0FBQ08sU0FBU1MsZUFBZUMsU0FBUztJQUNwQyxJQUFJQztJQUNKLElBQUlDO0lBQ0pGLFVBQVVHLFlBQVksR0FBR0MsT0FBTyxDQUFDLENBQUMsQ0FBQ3JCLE1BQU1zQixNQUFNO1FBQzNDLElBQUl0QixTQUFTWCxZQUFZVyxJQUFJLElBQUlBLFNBQVNWLFlBQVlVLElBQUksRUFBRTtZQUN4RG1CLE9BQU9HO1FBQ1g7UUFDQSxJQUFJdEIsU0FBU1QsZUFBZVMsSUFBSSxFQUFFO1lBQzlCa0IsT0FBT0k7UUFDWDtJQUNKO0lBQ0EsSUFBSUosUUFBUSxRQUFRQyxRQUFRLE1BQU07UUFDOUIsTUFBTSxJQUFJSSxNQUFNO0lBQ3BCO0lBQ0EsT0FBTyxJQUFJakQscURBQUtBLENBQUM2QyxNQUFNRDtBQUMzQjtBQUNBLE1BQU1NLFdBQVdDLE9BQU9DLE1BQU0sQ0FBQ2pELHNEQUFLQSxFQUFFa0QsR0FBRyxDQUFDLENBQUNDLElBQU1BLEVBQUVDLE9BQU87QUFDMUQsTUFBTUMsaUJBQWlCO0lBQ25CLElBQUlDLE1BQU1QLFFBQVEsQ0FBQyxFQUFFLENBQUNRLEVBQUUsQ0FBQ1IsUUFBUSxDQUFDLEVBQUU7SUFDcENBLFNBQVNTLEtBQUssQ0FBQyxHQUFHWixPQUFPLENBQUMsQ0FBQ2EsSUFBT0gsTUFBTUEsSUFBSUMsRUFBRSxDQUFDRTtJQUMvQyxPQUFPSDtBQUNYO0FBQ0EsU0FBU3ZCLFNBQVMyQixRQUFRO0lBQ3RCLElBQUksQ0FBQ2hELHlDQUFPLENBQUNnRCxXQUFXO1FBQ3BCLE1BQU0sSUFBSVosTUFBTTtJQUNwQjtJQUNBLE9BQU9wQyw0Q0FBVSxDQUFDZ0Q7QUFDdEI7QUFDQSxTQUFTbEMsU0FBU3FDLE1BQU07SUFDcEIsTUFBTUgsV0FBV2hELDZDQUFXLENBQUNtRCxRQUFRLEdBQUdBLE9BQU9DLE1BQU07SUFDckQsSUFBSUosWUFBWSxNQUFNO1FBQ2xCLE1BQU0sSUFBSVosTUFBTTtJQUNwQjtJQUNBLElBQUksQ0FBQ3BDLHlDQUFPLENBQUNnRCxXQUFXO1FBQ3BCLE1BQU0sSUFBSVosTUFBTTtJQUNwQjtJQUNBLE9BQU9ZO0FBQ1g7QUFDQSxTQUFTekIsV0FBVzhCLElBQUk7SUFDcEIsTUFBTTFDLE1BQU0sSUFBSTJDLFlBQVk7SUFDNUIsTUFBTUMsT0FBTyxJQUFJQyxTQUFTN0M7SUFDMUI0QyxLQUFLRSxTQUFTLENBQUMsR0FBR0o7SUFDbEIsT0FBTyxJQUFJN0MsV0FBV0c7QUFDMUI7QUFDQSxTQUFTSyxXQUFXTCxHQUFHO0lBQ25CLE1BQU00QyxPQUFPLElBQUlDLFNBQVM3QyxJQUFJK0MsTUFBTTtJQUNwQyxPQUFPSCxLQUFLSSxTQUFTLENBQUNoRCxJQUFJaUQsVUFBVTtBQUN4QztBQUNBLFNBQVN0QyxVQUFVRixHQUFHO0lBQ2xCLE1BQU1ULE1BQU1kLG1FQUFvQkEsQ0FBQ3VCO0lBQ2pDLE1BQU15QyxPQUFPckQsV0FBV3NELElBQUksQ0FBQ3JFLGdEQUFhLENBQUNrQixJQUFJeUMsTUFBTTtJQUNyRCxPQUFPekQsMERBQWdCQSxDQUFDO1FBQUNrRTtRQUFNbEQ7S0FBSSxFQUFFa0QsS0FBS1QsTUFBTSxHQUFHekMsSUFBSXlDLE1BQU07QUFDakU7QUFDQSxTQUFTckMsVUFBVUosR0FBRztJQUNsQixNQUFNa0QsT0FBT3BFLGdEQUFhLENBQUNrQjtJQUMzQkEsTUFBTUEsSUFBSW1DLEtBQUssQ0FBQ3JELHdEQUFxQixDQUFDb0U7SUFDdEMsSUFBSWxELElBQUl5QyxNQUFNLEtBQUtTLE1BQU07UUFDckIsTUFBTSxJQUFJekIsTUFBTTtJQUNwQjtJQUNBLE9BQU9yQywrREFBa0JBLENBQUNZO0FBQzlCO0FBQ0EsU0FBU2MsU0FBU3lDLElBQUk7SUFDbEIsSUFBSUM7SUFDSixJQUFJRCxJQUFJLENBQUMsRUFBRSxLQUFLLE9BQU9BLElBQUksQ0FBQyxFQUFFLEtBQUssS0FBSztRQUNwQ0MsS0FBSzNFLDhEQUFhLENBQUNILGdFQUFTQSxDQUFDMkUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFRSxLQUFLLENBQUMsR0FBR0UsS0FBSztJQUMxRCxPQUNLO1FBQ0RELEtBQUs1RSxpREFBR0EsQ0FBQzhFLEtBQUssQ0FBQ0gsTUFBTUksU0FBUyxDQUFDRixLQUFLO0lBQ3hDO0lBQ0EsbUVBQW1FO0lBQ25FLE1BQU1QLE9BQU9yRCxXQUFXc0QsSUFBSSxDQUFDckUsZ0RBQWEsQ0FBQzBFLEdBQUdmLE1BQU07SUFDcEQsT0FBT3pELDBEQUFnQkEsQ0FBQztRQUFDa0U7UUFBTU07S0FBRyxFQUFFTixLQUFLVCxNQUFNLEdBQUdlLEdBQUdmLE1BQU07QUFDL0Q7QUFDQSxTQUFTeEIsU0FBUzJDLEtBQUs7SUFDbkIsTUFBTUMsS0FBSzdCLGVBQWVxQixNQUFNLENBQUNPO0lBQ2pDLE1BQU1WLE9BQU9yRCxXQUFXc0QsSUFBSSxDQUFDckUsZ0RBQWEsQ0FBQytFLEdBQUdwQixNQUFNO0lBQ3BELE9BQU96RCwwREFBZ0JBLENBQUM7UUFBQ2tFO1FBQU1XO0tBQUcsRUFBRVgsS0FBS1QsTUFBTSxHQUFHb0IsR0FBR3BCLE1BQU07QUFDL0Q7QUFDQSxTQUFTakMsU0FBU1IsR0FBRztJQUNqQixNQUFNa0QsT0FBT3BFLGdEQUFhLENBQUNrQjtJQUMzQixNQUFNdUQsT0FBT3ZELElBQUltQyxLQUFLLENBQUNyRCx3REFBcUIsQ0FBQ29FO0lBQzdDLElBQUlLLEtBQUtkLE1BQU0sS0FBS1MsTUFBTTtRQUN0QixNQUFNLElBQUl6QixNQUFNO0lBQ3BCO0lBQ0EsT0FBTyxNQUFNckMsK0RBQWtCQSxDQUFDbUUsTUFBTTtBQUMxQztBQUNBOztDQUVDLEdBQ0QsU0FBU2pELFNBQVNOLEdBQUc7SUFDakIsTUFBTWtELE9BQU9wRSxnREFBYSxDQUFDa0I7SUFDM0IsTUFBTThELFVBQVU5RCxJQUFJbUMsS0FBSyxDQUFDckQsd0RBQXFCLENBQUNvRTtJQUNoRCxJQUFJWSxRQUFRckIsTUFBTSxLQUFLUyxNQUFNO1FBQ3pCLE1BQU0sSUFBSXpCLE1BQU07SUFDcEI7SUFDQSxPQUFPckMsK0RBQWtCQSxDQUFDMEUsU0FBUztBQUN2QztBQUNBLFNBQVMvQyxZQUFZTixHQUFHO0lBQ3BCLE1BQU1ZLE9BQU9aLElBQUlzRCxLQUFLLENBQUM7SUFDdkIsSUFBSTFDLEtBQUtvQixNQUFNLEtBQUssR0FBRztRQUNuQixNQUFNLElBQUloQixNQUFNLENBQUMsK0JBQStCLEVBQUVKLEtBQUsyQyxJQUFJLENBQUMsUUFBUSxtQ0FBbUMsQ0FBQztJQUM1RztJQUNBLElBQUkzQyxJQUFJLENBQUMsRUFBRSxDQUFDb0IsTUFBTSxLQUFLLElBQUk7UUFDdkIsTUFBTSxJQUFJaEIsTUFBTSxDQUFDLDRCQUE0QixFQUFFSixJQUFJLENBQUMsRUFBRSxDQUFDLHlCQUF5QixDQUFDO0lBQ3JGO0lBQ0EsOEVBQThFO0lBQzlFLE1BQU1yQixNQUFNdkIsNkRBQU1BLENBQUM0RSxNQUFNLENBQUMsTUFBTWhDLElBQUksQ0FBQyxFQUFFO0lBQ3ZDLG9CQUFvQjtJQUNwQixNQUFNcUIsT0FBTzdCLFNBQVNRLElBQUksQ0FBQyxFQUFFLEVBQUU7SUFDL0IsSUFBSXFCLE9BQU8sS0FBS0EsT0FBTyxPQUFPO1FBQzFCLE1BQU0sSUFBSWpCLE1BQU07SUFDcEI7SUFDQSxNQUFNd0MsVUFBVXJELFdBQVc4QjtJQUMzQixPQUFPMUQsMERBQWdCQSxDQUFDO1FBQUNnQjtRQUFLaUU7S0FBUSxFQUFFakUsSUFBSXlDLE1BQU0sR0FBR3dCLFFBQVF4QixNQUFNO0FBQ3ZFO0FBQ0EsU0FBU3pCLGFBQWFQLEdBQUc7SUFDckIsTUFBTVksT0FBT1osSUFBSXNELEtBQUssQ0FBQztJQUN2QixJQUFJMUMsS0FBS29CLE1BQU0sS0FBSyxHQUFHO1FBQ25CLE1BQU0sSUFBSWhCLE1BQU0sQ0FBQywrQkFBK0IsRUFBRUosS0FBSzJDLElBQUksQ0FBQyxRQUFRLG1DQUFtQyxDQUFDO0lBQzVHO0lBQ0EsSUFBSTNDLElBQUksQ0FBQyxFQUFFLENBQUNvQixNQUFNLEtBQUssSUFBSTtRQUN2QixNQUFNLElBQUloQixNQUFNLENBQUMsNEJBQTRCLEVBQUVKLElBQUksQ0FBQyxFQUFFLENBQUMsMEJBQTBCLENBQUM7SUFDdEY7SUFDQSw4RUFBOEU7SUFDOUUsTUFBTXJCLE1BQU12Qiw2REFBTUEsQ0FBQzRFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRWhDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QyxvQkFBb0I7SUFDcEIsTUFBTXFCLE9BQU83QixTQUFTUSxJQUFJLENBQUMsRUFBRSxFQUFFO0lBQy9CLElBQUlxQixPQUFPLEtBQUtBLE9BQU8sT0FBTztRQUMxQixNQUFNLElBQUlqQixNQUFNO0lBQ3BCO0lBQ0EsTUFBTXdDLFVBQVVyRCxXQUFXOEI7SUFDM0IsT0FBTzFELDBEQUFnQkEsQ0FBQztRQUFDZ0I7UUFBS2lFO0tBQVEsRUFBRWpFLElBQUl5QyxNQUFNLEdBQUd3QixRQUFReEIsTUFBTTtBQUN2RTtBQUNBLFNBQVNsQyxZQUFZUCxHQUFHO0lBQ3BCLE1BQU1rRSxZQUFZbEUsSUFBSW1DLEtBQUssQ0FBQyxHQUFHbkMsSUFBSXlDLE1BQU0sR0FBRztJQUM1QyxNQUFNMEIsWUFBWW5FLElBQUltQyxLQUFLLENBQUNuQyxJQUFJeUMsTUFBTSxHQUFHO0lBQ3pDLE1BQU1wQixPQUFPakMsK0RBQWtCQSxDQUFDOEUsV0FBVztJQUMzQyxNQUFNeEIsT0FBT3JDLFdBQVc4RDtJQUN4QixPQUFPLENBQUMsRUFBRTlDLEtBQUssQ0FBQyxFQUFFcUIsS0FBSyxDQUFDO0FBQzVCLEVBQ0EsbUNBQW1DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQG11bHRpZm9ybWF0cy9tdWx0aWFkZHIvZGlzdC9zcmMvY29udmVydC5qcz9jZGI1Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogUHJvdmlkZXMgbWV0aG9kcyBmb3IgY29udmVydGluZ1xuICovXG5pbXBvcnQgeyBJcE5ldCB9IGZyb20gJ0BjaGFpbnNhZmUvbmV0bWFzayc7XG5pbXBvcnQgeyBiYXNlMzIgfSBmcm9tICdtdWx0aWZvcm1hdHMvYmFzZXMvYmFzZTMyJztcbmltcG9ydCB7IGJhc2U1OGJ0YyB9IGZyb20gJ211bHRpZm9ybWF0cy9iYXNlcy9iYXNlNTgnO1xuaW1wb3J0IHsgYmFzZXMgfSBmcm9tICdtdWx0aWZvcm1hdHMvYmFzaWNzJztcbmltcG9ydCB7IENJRCB9IGZyb20gJ211bHRpZm9ybWF0cy9jaWQnO1xuaW1wb3J0ICogYXMgRGlnZXN0IGZyb20gJ211bHRpZm9ybWF0cy9oYXNoZXMvZGlnZXN0JztcbmltcG9ydCAqIGFzIHZhcmludCBmcm9tICd1aW50OC12YXJpbnQnO1xuaW1wb3J0IHsgY29uY2F0IGFzIHVpbnQ4QXJyYXlDb25jYXQgfSBmcm9tICd1aW50OGFycmF5cy9jb25jYXQnO1xuaW1wb3J0IHsgZnJvbVN0cmluZyBhcyB1aW50OEFycmF5RnJvbVN0cmluZyB9IGZyb20gJ3VpbnQ4YXJyYXlzL2Zyb20tc3RyaW5nJztcbmltcG9ydCB7IHRvU3RyaW5nIGFzIHVpbnQ4QXJyYXlUb1N0cmluZyB9IGZyb20gJ3VpbnQ4YXJyYXlzL3RvLXN0cmluZyc7XG5pbXBvcnQgKiBhcyBpcCBmcm9tICcuL2lwLmpzJztcbmltcG9ydCB7IGdldFByb3RvY29sIH0gZnJvbSAnLi9wcm90b2NvbHMtdGFibGUuanMnO1xuY29uc3QgaXA0UHJvdG9jb2wgPSBnZXRQcm90b2NvbCgnaXA0Jyk7XG5jb25zdCBpcDZQcm90b2NvbCA9IGdldFByb3RvY29sKCdpcDYnKTtcbmNvbnN0IGlwY2lkclByb3RvY29sID0gZ2V0UHJvdG9jb2woJ2lwY2lkcicpO1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnQocHJvdG8sIGEpIHtcbiAgICBpZiAoYSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpIHtcbiAgICAgICAgcmV0dXJuIGNvbnZlcnRUb1N0cmluZyhwcm90bywgYSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gY29udmVydFRvQnl0ZXMocHJvdG8sIGEpO1xuICAgIH1cbn1cbi8qKlxuICogQ29udmVydCBbY29kZSxVaW50OEFycmF5XSB0byBzdHJpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRUb1N0cmluZyhwcm90bywgYnVmKSB7XG4gICAgY29uc3QgcHJvdG9jb2wgPSBnZXRQcm90b2NvbChwcm90byk7XG4gICAgc3dpdGNoIChwcm90b2NvbC5jb2RlKSB7XG4gICAgICAgIGNhc2UgNDogLy8gaXB2NFxuICAgICAgICBjYXNlIDQxOiAvLyBpcHY2XG4gICAgICAgICAgICByZXR1cm4gYnl0ZXMyaXAoYnVmKTtcbiAgICAgICAgY2FzZSA0MjogLy8gaXB2NnpvbmVcbiAgICAgICAgICAgIHJldHVybiBieXRlczJzdHIoYnVmKTtcbiAgICAgICAgY2FzZSA2OiAvLyB0Y3BcbiAgICAgICAgY2FzZSAyNzM6IC8vIHVkcFxuICAgICAgICBjYXNlIDMzOiAvLyBkY2NwXG4gICAgICAgIGNhc2UgMTMyOiAvLyBzY3RwXG4gICAgICAgICAgICByZXR1cm4gYnl0ZXMycG9ydChidWYpLnRvU3RyaW5nKCk7XG4gICAgICAgIGNhc2UgNTM6IC8vIGRuc1xuICAgICAgICBjYXNlIDU0OiAvLyBkbnM0XG4gICAgICAgIGNhc2UgNTU6IC8vIGRuczZcbiAgICAgICAgY2FzZSA1NjogLy8gZG5zYWRkclxuICAgICAgICBjYXNlIDQwMDogLy8gdW5peFxuICAgICAgICBjYXNlIDQ0OTogLy8gc25pXG4gICAgICAgIGNhc2UgNzc3OiAvLyBtZW1vcnlcbiAgICAgICAgICAgIHJldHVybiBieXRlczJzdHIoYnVmKTtcbiAgICAgICAgY2FzZSA0MjE6IC8vIGlwZnNcbiAgICAgICAgICAgIHJldHVybiBieXRlczJtaChidWYpO1xuICAgICAgICBjYXNlIDQ0NDogLy8gb25pb25cbiAgICAgICAgICAgIHJldHVybiBieXRlczJvbmlvbihidWYpO1xuICAgICAgICBjYXNlIDQ0NTogLy8gb25pb24zXG4gICAgICAgICAgICByZXR1cm4gYnl0ZXMyb25pb24oYnVmKTtcbiAgICAgICAgY2FzZSA0NjY6IC8vIGNlcnRoYXNoXG4gICAgICAgICAgICByZXR1cm4gYnl0ZXMybWIoYnVmKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiB1aW50OEFycmF5VG9TdHJpbmcoYnVmLCAnYmFzZTE2Jyk7IC8vIG5vIGNsdWUuIGNvbnZlcnQgdG8gaGV4XG4gICAgfVxufVxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRUb0J5dGVzKHByb3RvLCBzdHIpIHtcbiAgICBjb25zdCBwcm90b2NvbCA9IGdldFByb3RvY29sKHByb3RvKTtcbiAgICBzd2l0Y2ggKHByb3RvY29sLmNvZGUpIHtcbiAgICAgICAgY2FzZSA0OiAvLyBpcHY0XG4gICAgICAgICAgICByZXR1cm4gaXAyYnl0ZXMoc3RyKTtcbiAgICAgICAgY2FzZSA0MTogLy8gaXB2NlxuICAgICAgICAgICAgcmV0dXJuIGlwMmJ5dGVzKHN0cik7XG4gICAgICAgIGNhc2UgNDI6IC8vIGlwdjZ6b25lXG4gICAgICAgICAgICByZXR1cm4gc3RyMmJ5dGVzKHN0cik7XG4gICAgICAgIGNhc2UgNjogLy8gdGNwXG4gICAgICAgIGNhc2UgMjczOiAvLyB1ZHBcbiAgICAgICAgY2FzZSAzMzogLy8gZGNjcFxuICAgICAgICBjYXNlIDEzMjogLy8gc2N0cFxuICAgICAgICAgICAgcmV0dXJuIHBvcnQyYnl0ZXMocGFyc2VJbnQoc3RyLCAxMCkpO1xuICAgICAgICBjYXNlIDUzOiAvLyBkbnNcbiAgICAgICAgY2FzZSA1NDogLy8gZG5zNFxuICAgICAgICBjYXNlIDU1OiAvLyBkbnM2XG4gICAgICAgIGNhc2UgNTY6IC8vIGRuc2FkZHJcbiAgICAgICAgY2FzZSA0MDA6IC8vIHVuaXhcbiAgICAgICAgY2FzZSA0NDk6IC8vIHNuaVxuICAgICAgICBjYXNlIDc3NzogLy8gbWVtb3J5XG4gICAgICAgICAgICByZXR1cm4gc3RyMmJ5dGVzKHN0cik7XG4gICAgICAgIGNhc2UgNDIxOiAvLyBpcGZzXG4gICAgICAgICAgICByZXR1cm4gbWgyYnl0ZXMoc3RyKTtcbiAgICAgICAgY2FzZSA0NDQ6IC8vIG9uaW9uXG4gICAgICAgICAgICByZXR1cm4gb25pb24yYnl0ZXMoc3RyKTtcbiAgICAgICAgY2FzZSA0NDU6IC8vIG9uaW9uM1xuICAgICAgICAgICAgcmV0dXJuIG9uaW9uMzJieXRlcyhzdHIpO1xuICAgICAgICBjYXNlIDQ2NjogLy8gY2VydGhhc2hcbiAgICAgICAgICAgIHJldHVybiBtYjJieXRlcyhzdHIpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIHVpbnQ4QXJyYXlGcm9tU3RyaW5nKHN0ciwgJ2Jhc2UxNicpOyAvLyBubyBjbHVlLiBjb252ZXJ0IGZyb20gaGV4XG4gICAgfVxufVxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRUb0lwTmV0KG11bHRpYWRkcikge1xuICAgIGxldCBtYXNrO1xuICAgIGxldCBhZGRyO1xuICAgIG11bHRpYWRkci5zdHJpbmdUdXBsZXMoKS5mb3JFYWNoKChbY29kZSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGlmIChjb2RlID09PSBpcDRQcm90b2NvbC5jb2RlIHx8IGNvZGUgPT09IGlwNlByb3RvY29sLmNvZGUpIHtcbiAgICAgICAgICAgIGFkZHIgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29kZSA9PT0gaXBjaWRyUHJvdG9jb2wuY29kZSkge1xuICAgICAgICAgICAgbWFzayA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgaWYgKG1hc2sgPT0gbnVsbCB8fCBhZGRyID09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIG11bHRpYWRkcicpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IElwTmV0KGFkZHIsIG1hc2spO1xufVxuY29uc3QgZGVjb2RlcnMgPSBPYmplY3QudmFsdWVzKGJhc2VzKS5tYXAoKGMpID0+IGMuZGVjb2Rlcik7XG5jb25zdCBhbnliYXNlRGVjb2RlciA9IChmdW5jdGlvbiAoKSB7XG4gICAgbGV0IGFjYyA9IGRlY29kZXJzWzBdLm9yKGRlY29kZXJzWzFdKTtcbiAgICBkZWNvZGVycy5zbGljZSgyKS5mb3JFYWNoKChkKSA9PiAoYWNjID0gYWNjLm9yKGQpKSk7XG4gICAgcmV0dXJuIGFjYztcbn0pKCk7XG5mdW5jdGlvbiBpcDJieXRlcyhpcFN0cmluZykge1xuICAgIGlmICghaXAuaXNJUChpcFN0cmluZykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGlwIGFkZHJlc3MnKTtcbiAgICB9XG4gICAgcmV0dXJuIGlwLnRvQnl0ZXMoaXBTdHJpbmcpO1xufVxuZnVuY3Rpb24gYnl0ZXMyaXAoaXBCdWZmKSB7XG4gICAgY29uc3QgaXBTdHJpbmcgPSBpcC50b1N0cmluZyhpcEJ1ZmYsIDAsIGlwQnVmZi5sZW5ndGgpO1xuICAgIGlmIChpcFN0cmluZyA9PSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignaXBCdWZmIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICAgIGlmICghaXAuaXNJUChpcFN0cmluZykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGlwIGFkZHJlc3MnKTtcbiAgICB9XG4gICAgcmV0dXJuIGlwU3RyaW5nO1xufVxuZnVuY3Rpb24gcG9ydDJieXRlcyhwb3J0KSB7XG4gICAgY29uc3QgYnVmID0gbmV3IEFycmF5QnVmZmVyKDIpO1xuICAgIGNvbnN0IHZpZXcgPSBuZXcgRGF0YVZpZXcoYnVmKTtcbiAgICB2aWV3LnNldFVpbnQxNigwLCBwb3J0KTtcbiAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoYnVmKTtcbn1cbmZ1bmN0aW9uIGJ5dGVzMnBvcnQoYnVmKSB7XG4gICAgY29uc3QgdmlldyA9IG5ldyBEYXRhVmlldyhidWYuYnVmZmVyKTtcbiAgICByZXR1cm4gdmlldy5nZXRVaW50MTYoYnVmLmJ5dGVPZmZzZXQpO1xufVxuZnVuY3Rpb24gc3RyMmJ5dGVzKHN0cikge1xuICAgIGNvbnN0IGJ1ZiA9IHVpbnQ4QXJyYXlGcm9tU3RyaW5nKHN0cik7XG4gICAgY29uc3Qgc2l6ZSA9IFVpbnQ4QXJyYXkuZnJvbSh2YXJpbnQuZW5jb2RlKGJ1Zi5sZW5ndGgpKTtcbiAgICByZXR1cm4gdWludDhBcnJheUNvbmNhdChbc2l6ZSwgYnVmXSwgc2l6ZS5sZW5ndGggKyBidWYubGVuZ3RoKTtcbn1cbmZ1bmN0aW9uIGJ5dGVzMnN0cihidWYpIHtcbiAgICBjb25zdCBzaXplID0gdmFyaW50LmRlY29kZShidWYpO1xuICAgIGJ1ZiA9IGJ1Zi5zbGljZSh2YXJpbnQuZW5jb2RpbmdMZW5ndGgoc2l6ZSkpO1xuICAgIGlmIChidWYubGVuZ3RoICE9PSBzaXplKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignaW5jb25zaXN0ZW50IGxlbmd0aHMnKTtcbiAgICB9XG4gICAgcmV0dXJuIHVpbnQ4QXJyYXlUb1N0cmluZyhidWYpO1xufVxuZnVuY3Rpb24gbWgyYnl0ZXMoaGFzaCkge1xuICAgIGxldCBtaDtcbiAgICBpZiAoaGFzaFswXSA9PT0gJ1EnIHx8IGhhc2hbMF0gPT09ICcxJykge1xuICAgICAgICBtaCA9IERpZ2VzdC5kZWNvZGUoYmFzZTU4YnRjLmRlY29kZShgeiR7aGFzaH1gKSkuYnl0ZXM7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBtaCA9IENJRC5wYXJzZShoYXNoKS5tdWx0aWhhc2guYnl0ZXM7XG4gICAgfVxuICAgIC8vIHRoZSBhZGRyZXNzIGlzIGEgdmFyaW50IHByZWZpeGVkIG11bHRpaGFzaCBzdHJpbmcgcmVwcmVzZW50YXRpb25cbiAgICBjb25zdCBzaXplID0gVWludDhBcnJheS5mcm9tKHZhcmludC5lbmNvZGUobWgubGVuZ3RoKSk7XG4gICAgcmV0dXJuIHVpbnQ4QXJyYXlDb25jYXQoW3NpemUsIG1oXSwgc2l6ZS5sZW5ndGggKyBtaC5sZW5ndGgpO1xufVxuZnVuY3Rpb24gbWIyYnl0ZXMobWJzdHIpIHtcbiAgICBjb25zdCBtYiA9IGFueWJhc2VEZWNvZGVyLmRlY29kZShtYnN0cik7XG4gICAgY29uc3Qgc2l6ZSA9IFVpbnQ4QXJyYXkuZnJvbSh2YXJpbnQuZW5jb2RlKG1iLmxlbmd0aCkpO1xuICAgIHJldHVybiB1aW50OEFycmF5Q29uY2F0KFtzaXplLCBtYl0sIHNpemUubGVuZ3RoICsgbWIubGVuZ3RoKTtcbn1cbmZ1bmN0aW9uIGJ5dGVzMm1iKGJ1Zikge1xuICAgIGNvbnN0IHNpemUgPSB2YXJpbnQuZGVjb2RlKGJ1Zik7XG4gICAgY29uc3QgaGFzaCA9IGJ1Zi5zbGljZSh2YXJpbnQuZW5jb2RpbmdMZW5ndGgoc2l6ZSkpO1xuICAgIGlmIChoYXNoLmxlbmd0aCAhPT0gc2l6ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2luY29uc2lzdGVudCBsZW5ndGhzJyk7XG4gICAgfVxuICAgIHJldHVybiAndScgKyB1aW50OEFycmF5VG9TdHJpbmcoaGFzaCwgJ2Jhc2U2NHVybCcpO1xufVxuLyoqXG4gKiBDb252ZXJ0cyBieXRlcyB0byBiYXM1OGJ0YyBzdHJpbmdcbiAqL1xuZnVuY3Rpb24gYnl0ZXMybWgoYnVmKSB7XG4gICAgY29uc3Qgc2l6ZSA9IHZhcmludC5kZWNvZGUoYnVmKTtcbiAgICBjb25zdCBhZGRyZXNzID0gYnVmLnNsaWNlKHZhcmludC5lbmNvZGluZ0xlbmd0aChzaXplKSk7XG4gICAgaWYgKGFkZHJlc3MubGVuZ3RoICE9PSBzaXplKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignaW5jb25zaXN0ZW50IGxlbmd0aHMnKTtcbiAgICB9XG4gICAgcmV0dXJuIHVpbnQ4QXJyYXlUb1N0cmluZyhhZGRyZXNzLCAnYmFzZTU4YnRjJyk7XG59XG5mdW5jdGlvbiBvbmlvbjJieXRlcyhzdHIpIHtcbiAgICBjb25zdCBhZGRyID0gc3RyLnNwbGl0KCc6Jyk7XG4gICAgaWYgKGFkZHIubGVuZ3RoICE9PSAyKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgZmFpbGVkIHRvIHBhcnNlIG9uaW9uIGFkZHI6IFtcIicke2FkZHIuam9pbignXCIsIFwiJyl9J1wiXScgZG9lcyBub3QgY29udGFpbiBhIHBvcnQgbnVtYmVyYCk7XG4gICAgfVxuICAgIGlmIChhZGRyWzBdLmxlbmd0aCAhPT0gMTYpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBmYWlsZWQgdG8gcGFyc2Ugb25pb24gYWRkcjogJHthZGRyWzBdfSBub3QgYSBUb3Igb25pb24gYWRkcmVzcy5gKTtcbiAgICB9XG4gICAgLy8gb25pb24gYWRkcmVzc2VzIGRvIG5vdCBpbmNsdWRlIHRoZSBtdWx0aWJhc2UgcHJlZml4LCBhZGQgaXQgYmVmb3JlIGRlY29kaW5nXG4gICAgY29uc3QgYnVmID0gYmFzZTMyLmRlY29kZSgnYicgKyBhZGRyWzBdKTtcbiAgICAvLyBvbmlvbiBwb3J0IG51bWJlclxuICAgIGNvbnN0IHBvcnQgPSBwYXJzZUludChhZGRyWzFdLCAxMCk7XG4gICAgaWYgKHBvcnQgPCAxIHx8IHBvcnQgPiA2NTUzNikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BvcnQgbnVtYmVyIGlzIG5vdCBpbiByYW5nZSgxLCA2NTUzNiknKTtcbiAgICB9XG4gICAgY29uc3QgcG9ydEJ1ZiA9IHBvcnQyYnl0ZXMocG9ydCk7XG4gICAgcmV0dXJuIHVpbnQ4QXJyYXlDb25jYXQoW2J1ZiwgcG9ydEJ1Zl0sIGJ1Zi5sZW5ndGggKyBwb3J0QnVmLmxlbmd0aCk7XG59XG5mdW5jdGlvbiBvbmlvbjMyYnl0ZXMoc3RyKSB7XG4gICAgY29uc3QgYWRkciA9IHN0ci5zcGxpdCgnOicpO1xuICAgIGlmIChhZGRyLmxlbmd0aCAhPT0gMikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGZhaWxlZCB0byBwYXJzZSBvbmlvbiBhZGRyOiBbXCInJHthZGRyLmpvaW4oJ1wiLCBcIicpfSdcIl0nIGRvZXMgbm90IGNvbnRhaW4gYSBwb3J0IG51bWJlcmApO1xuICAgIH1cbiAgICBpZiAoYWRkclswXS5sZW5ndGggIT09IDU2KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgZmFpbGVkIHRvIHBhcnNlIG9uaW9uIGFkZHI6ICR7YWRkclswXX0gbm90IGEgVG9yIG9uaW9uMyBhZGRyZXNzLmApO1xuICAgIH1cbiAgICAvLyBvbmlvbiBhZGRyZXNzZXMgZG8gbm90IGluY2x1ZGUgdGhlIG11bHRpYmFzZSBwcmVmaXgsIGFkZCBpdCBiZWZvcmUgZGVjb2RpbmdcbiAgICBjb25zdCBidWYgPSBiYXNlMzIuZGVjb2RlKGBiJHthZGRyWzBdfWApO1xuICAgIC8vIG9uaW9uIHBvcnQgbnVtYmVyXG4gICAgY29uc3QgcG9ydCA9IHBhcnNlSW50KGFkZHJbMV0sIDEwKTtcbiAgICBpZiAocG9ydCA8IDEgfHwgcG9ydCA+IDY1NTM2KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignUG9ydCBudW1iZXIgaXMgbm90IGluIHJhbmdlKDEsIDY1NTM2KScpO1xuICAgIH1cbiAgICBjb25zdCBwb3J0QnVmID0gcG9ydDJieXRlcyhwb3J0KTtcbiAgICByZXR1cm4gdWludDhBcnJheUNvbmNhdChbYnVmLCBwb3J0QnVmXSwgYnVmLmxlbmd0aCArIHBvcnRCdWYubGVuZ3RoKTtcbn1cbmZ1bmN0aW9uIGJ5dGVzMm9uaW9uKGJ1Zikge1xuICAgIGNvbnN0IGFkZHJCeXRlcyA9IGJ1Zi5zbGljZSgwLCBidWYubGVuZ3RoIC0gMik7XG4gICAgY29uc3QgcG9ydEJ5dGVzID0gYnVmLnNsaWNlKGJ1Zi5sZW5ndGggLSAyKTtcbiAgICBjb25zdCBhZGRyID0gdWludDhBcnJheVRvU3RyaW5nKGFkZHJCeXRlcywgJ2Jhc2UzMicpO1xuICAgIGNvbnN0IHBvcnQgPSBieXRlczJwb3J0KHBvcnRCeXRlcyk7XG4gICAgcmV0dXJuIGAke2FkZHJ9OiR7cG9ydH1gO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29udmVydC5qcy5tYXAiXSwibmFtZXMiOlsiSXBOZXQiLCJiYXNlMzIiLCJiYXNlNThidGMiLCJiYXNlcyIsIkNJRCIsIkRpZ2VzdCIsInZhcmludCIsImNvbmNhdCIsInVpbnQ4QXJyYXlDb25jYXQiLCJmcm9tU3RyaW5nIiwidWludDhBcnJheUZyb21TdHJpbmciLCJ0b1N0cmluZyIsInVpbnQ4QXJyYXlUb1N0cmluZyIsImlwIiwiZ2V0UHJvdG9jb2wiLCJpcDRQcm90b2NvbCIsImlwNlByb3RvY29sIiwiaXBjaWRyUHJvdG9jb2wiLCJjb252ZXJ0IiwicHJvdG8iLCJhIiwiVWludDhBcnJheSIsImNvbnZlcnRUb1N0cmluZyIsImNvbnZlcnRUb0J5dGVzIiwiYnVmIiwicHJvdG9jb2wiLCJjb2RlIiwiYnl0ZXMyaXAiLCJieXRlczJzdHIiLCJieXRlczJwb3J0IiwiYnl0ZXMybWgiLCJieXRlczJvbmlvbiIsImJ5dGVzMm1iIiwic3RyIiwiaXAyYnl0ZXMiLCJzdHIyYnl0ZXMiLCJwb3J0MmJ5dGVzIiwicGFyc2VJbnQiLCJtaDJieXRlcyIsIm9uaW9uMmJ5dGVzIiwib25pb24zMmJ5dGVzIiwibWIyYnl0ZXMiLCJjb252ZXJ0VG9JcE5ldCIsIm11bHRpYWRkciIsIm1hc2siLCJhZGRyIiwic3RyaW5nVHVwbGVzIiwiZm9yRWFjaCIsInZhbHVlIiwiRXJyb3IiLCJkZWNvZGVycyIsIk9iamVjdCIsInZhbHVlcyIsIm1hcCIsImMiLCJkZWNvZGVyIiwiYW55YmFzZURlY29kZXIiLCJhY2MiLCJvciIsInNsaWNlIiwiZCIsImlwU3RyaW5nIiwiaXNJUCIsInRvQnl0ZXMiLCJpcEJ1ZmYiLCJsZW5ndGgiLCJwb3J0IiwiQXJyYXlCdWZmZXIiLCJ2aWV3IiwiRGF0YVZpZXciLCJzZXRVaW50MTYiLCJidWZmZXIiLCJnZXRVaW50MTYiLCJieXRlT2Zmc2V0Iiwic2l6ZSIsImZyb20iLCJlbmNvZGUiLCJkZWNvZGUiLCJlbmNvZGluZ0xlbmd0aCIsImhhc2giLCJtaCIsImJ5dGVzIiwicGFyc2UiLCJtdWx0aWhhc2giLCJtYnN0ciIsIm1iIiwiYWRkcmVzcyIsInNwbGl0Iiwiam9pbiIsInBvcnRCdWYiLCJhZGRyQnl0ZXMiLCJwb3J0Qnl0ZXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@multiformats/multiaddr/dist/src/convert.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@multiformats/multiaddr/dist/src/filter/multiaddr-filter.js":
/*!**********************************************************************************!*\
!*** ./node_modules/@multiformats/multiaddr/dist/src/filter/multiaddr-filter.js ***!
\**********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MultiaddrFilter: () => (/* binding */ MultiaddrFilter)\n/* harmony export */ });\n/* harmony import */ var _convert_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../convert.js */ \"(ssr)/./node_modules/@multiformats/multiaddr/dist/src/convert.js\");\n/* harmony import */ var _index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../index.js */ \"(ssr)/./node_modules/@multiformats/multiaddr/dist/src/index.js\");\n\n\n/**\n * A utility class to determine if a Multiaddr contains another\n * multiaddr.\n *\n * This can be used with ipcidr ranges to determine if a given\n * multiaddr is in a ipcidr range.\n *\n * @example\n *\n * ```js\n * import { multiaddr, MultiaddrFilter } from '@multiformats/multiaddr'\n *\n * const range = multiaddr('/ip4/192.168.10.10/ipcidr/24')\n * const filter = new MultiaddrFilter(range)\n *\n * const input = multiaddr('/ip4/192.168.10.2/udp/60')\n * console.info(filter.contains(input)) // true\n * ```\n */ class MultiaddrFilter {\n constructor(input){\n this.multiaddr = (0,_index_js__WEBPACK_IMPORTED_MODULE_1__.multiaddr)(input);\n this.netmask = (0,_convert_js__WEBPACK_IMPORTED_MODULE_0__.convertToIpNet)(this.multiaddr);\n }\n contains(input) {\n if (input == null) return false;\n const m = (0,_index_js__WEBPACK_IMPORTED_MODULE_1__.multiaddr)(input);\n let ip;\n for (const [code, value] of m.stringTuples()){\n if (code === 4 || code === 41) {\n ip = value;\n break;\n }\n }\n if (ip === undefined) return false;\n return this.netmask.contains(ip);\n }\n} //# sourceMappingURL=multiaddr-filter.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQG11bHRpZm9ybWF0cy9tdWx0aWFkZHIvZGlzdC9zcmMvZmlsdGVyL211bHRpYWRkci1maWx0ZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQStDO0FBQ1A7QUFDeEM7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQWtCQyxHQUNNLE1BQU1FO0lBR1RDLFlBQVlDLEtBQUssQ0FBRTtRQUNmLElBQUksQ0FBQ0gsU0FBUyxHQUFHQSxvREFBU0EsQ0FBQ0c7UUFDM0IsSUFBSSxDQUFDQyxPQUFPLEdBQUdMLDJEQUFjQSxDQUFDLElBQUksQ0FBQ0MsU0FBUztJQUNoRDtJQUNBSyxTQUFTRixLQUFLLEVBQUU7UUFDWixJQUFJQSxTQUFTLE1BQ1QsT0FBTztRQUNYLE1BQU1HLElBQUlOLG9EQUFTQSxDQUFDRztRQUNwQixJQUFJSTtRQUNKLEtBQUssTUFBTSxDQUFDQyxNQUFNQyxNQUFNLElBQUlILEVBQUVJLFlBQVksR0FBSTtZQUMxQyxJQUFJRixTQUFTLEtBQUtBLFNBQVMsSUFBSTtnQkFDM0JELEtBQUtFO2dCQUNMO1lBQ0o7UUFDSjtRQUNBLElBQUlGLE9BQU9JLFdBQ1AsT0FBTztRQUNYLE9BQU8sSUFBSSxDQUFDUCxPQUFPLENBQUNDLFFBQVEsQ0FBQ0U7SUFDakM7QUFDSixFQUNBLDRDQUE0QyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyL2Rpc3Qvc3JjL2ZpbHRlci9tdWx0aWFkZHItZmlsdGVyLmpzPzI2NjAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29udmVydFRvSXBOZXQgfSBmcm9tICcuLi9jb252ZXJ0LmpzJztcbmltcG9ydCB7IG11bHRpYWRkciB9IGZyb20gJy4uL2luZGV4LmpzJztcbi8qKlxuICogQSB1dGlsaXR5IGNsYXNzIHRvIGRldGVybWluZSBpZiBhIE11bHRpYWRkciBjb250YWlucyBhbm90aGVyXG4gKiBtdWx0aWFkZHIuXG4gKlxuICogVGhpcyBjYW4gYmUgdXNlZCB3aXRoIGlwY2lkciByYW5nZXMgdG8gZGV0ZXJtaW5lIGlmIGEgZ2l2ZW5cbiAqIG11bHRpYWRkciBpcyBpbiBhIGlwY2lkciByYW5nZS5cbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIGBgYGpzXG4gKiBpbXBvcnQgeyBtdWx0aWFkZHIsIE11bHRpYWRkckZpbHRlciB9IGZyb20gJ0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyJ1xuICpcbiAqIGNvbnN0IHJhbmdlID0gbXVsdGlhZGRyKCcvaXA0LzE5Mi4xNjguMTAuMTAvaXBjaWRyLzI0JylcbiAqIGNvbnN0IGZpbHRlciA9IG5ldyBNdWx0aWFkZHJGaWx0ZXIocmFuZ2UpXG4gKlxuICogY29uc3QgaW5wdXQgPSBtdWx0aWFkZHIoJy9pcDQvMTkyLjE2OC4xMC4yL3VkcC82MCcpXG4gKiBjb25zb2xlLmluZm8oZmlsdGVyLmNvbnRhaW5zKGlucHV0KSkgLy8gdHJ1ZVxuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBNdWx0aWFkZHJGaWx0ZXIge1xuICAgIG11bHRpYWRkcjtcbiAgICBuZXRtYXNrO1xuICAgIGNvbnN0cnVjdG9yKGlucHV0KSB7XG4gICAgICAgIHRoaXMubXVsdGlhZGRyID0gbXVsdGlhZGRyKGlucHV0KTtcbiAgICAgICAgdGhpcy5uZXRtYXNrID0gY29udmVydFRvSXBOZXQodGhpcy5tdWx0aWFkZHIpO1xuICAgIH1cbiAgICBjb250YWlucyhpbnB1dCkge1xuICAgICAgICBpZiAoaW5wdXQgPT0gbnVsbClcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgY29uc3QgbSA9IG11bHRpYWRkcihpbnB1dCk7XG4gICAgICAgIGxldCBpcDtcbiAgICAgICAgZm9yIChjb25zdCBbY29kZSwgdmFsdWVdIG9mIG0uc3RyaW5nVHVwbGVzKCkpIHtcbiAgICAgICAgICAgIGlmIChjb2RlID09PSA0IHx8IGNvZGUgPT09IDQxKSB7XG4gICAgICAgICAgICAgICAgaXAgPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaXAgPT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgcmV0dXJuIHRoaXMubmV0bWFzay5jb250YWlucyhpcCk7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bXVsdGlhZGRyLWZpbHRlci5qcy5tYXAiXSwibmFtZXMiOlsiY29udmVydFRvSXBOZXQiLCJtdWx0aWFkZHIiLCJNdWx0aWFkZHJGaWx0ZXIiLCJjb25zdHJ1Y3RvciIsImlucHV0IiwibmV0bWFzayIsImNvbnRhaW5zIiwibSIsImlwIiwiY29kZSIsInZhbHVlIiwic3RyaW5nVHVwbGVzIiwidW5kZWZpbmVkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@multiformats/multiaddr/dist/src/filter/multiaddr-filter.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@multiformats/multiaddr/dist/src/index.js":
/*!****************************************************************!*\
!*** ./node_modules/@multiformats/multiaddr/dist/src/index.js ***!
\****************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MultiaddrFilter: () => (/* reexport safe */ _filter_multiaddr_filter_js__WEBPACK_IMPORTED_MODULE_2__.MultiaddrFilter),\n/* harmony export */ fromNodeAddress: () => (/* binding */ fromNodeAddress),\n/* harmony export */ isMultiaddr: () => (/* binding */ isMultiaddr),\n/* harmony export */ isName: () => (/* binding */ isName),\n/* harmony export */ multiaddr: () => (/* binding */ multiaddr),\n/* harmony export */ protocols: () => (/* reexport safe */ _protocols_table_js__WEBPACK_IMPORTED_MODULE_1__.getProtocol),\n/* harmony export */ resolvers: () => (/* binding */ resolvers)\n/* harmony export */ });\n/* harmony import */ var _multiaddr_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./multiaddr.js */ \"(ssr)/./node_modules/@multiformats/multiaddr/dist/src/multiaddr.js\");\n/* harmony import */ var _protocols_table_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./protocols-table.js */ \"(ssr)/./node_modules/@multiformats/multiaddr/dist/src/protocols-table.js\");\n/* harmony import */ var _filter_multiaddr_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./filter/multiaddr-filter.js */ \"(ssr)/./node_modules/@multiformats/multiaddr/dist/src/filter/multiaddr-filter.js\");\n/**\n * @packageDocumentation\n *\n * A standard way to represent addresses that\n *\n * - support any standard network protocol\n * - are self-describing\n * - have a binary packed format\n * - have a nice string representation\n * - encapsulate well\n *\n * @example\n *\n * ```TypeScript\n * import { multiaddr } from '@multiformats/multiaddr'\n * const addr = multiaddr(\"/ip4/127.0.0.1/udp/1234\")\n * // Multiaddr(/ip4/127.0.0.1/udp/1234)\n *\n * const addr = multiaddr(\"/ip4/127.0.0.1/udp/1234\")\n * // Multiaddr(/ip4/127.0.0.1/udp/1234)\n *\n * addr.bytes\n * // <Uint8Array 04 7f 00 00 01 11 04 d2>\n *\n * addr.toString()\n * // '/ip4/127.0.0.1/udp/1234'\n *\n * addr.protos()\n * // [\n * // {code: 4, name: 'ip4', size: 32},\n * // {code: 273, name: 'udp', size: 16}\n * // ]\n *\n * // gives you an object that is friendly with what Node.js core modules expect for addresses\n * addr.nodeAddress()\n * // {\n * // family: 4,\n * // port: 1234,\n * // address: \"127.0.0.1\"\n * // }\n *\n * addr.encapsulate('/sctp/5678')\n * // Multiaddr(/ip4/127.0.0.1/udp/1234/sctp/5678)\n * ```\n *\n * ## Resolving DNSADDR addresses\n *\n * [DNSADDR](https://github.com/multiformats/multiaddr/blob/master/protocols/DNSADDR.md) is a spec that allows storing a TXT DNS record that contains a Multiaddr.\n *\n * To resolve DNSADDR addresses, call the `.resolve()` function the multiaddr, optionally passing a `DNS` resolver.\n *\n * DNSADDR addresses can resolve to multiple multiaddrs, since there is no limit to the number of TXT records that can be stored.\n *\n * @example Resolving DNSADDR Multiaddrs\n *\n * ```TypeScript\n * import { multiaddr, resolvers } from '@multiformats/multiaddr'\n * import { dnsaddr } from '@multiformats/multiaddr/resolvers'\n *\n * resolvers.set('dnsaddr', dnsaddr)\n *\n * const ma = multiaddr('/dnsaddr/bootstrap.libp2p.io')\n *\n * // resolve with a 5s timeout\n * const resolved = await ma.resolve({\n * signal: AbortSignal.timeout(5000)\n * })\n *\n * console.info(await ma.resolve(resolved)\n * // [Multiaddr('/ip4/147.75...'), Multiaddr('/ip4/147.75...'), Multiaddr('/ip4/147.75...')...]\n * ```\n *\n * @example Using a custom DNS resolver to resolve DNSADDR Multiaddrs\n *\n * See the docs for [@multiformats/dns](https://www.npmjs.com/package/@multiformats/dns) for a full breakdown of how to specify multiple resolvers or resolvers that can be used for specific TLDs.\n *\n * ```TypeScript\n * import { multiaddr } from '@multiformats/multiaddr'\n * import { dns } from '@multiformats/dns'\n * import { dnsJsonOverHttps } from '@multiformats/dns/resolvers'\n *\n * const resolver = dns({\n * '.': dnsJsonOverHttps('https://cloudflare-dns.com/dns-query')\n * })\n *\n * const ma = multiaddr('/dnsaddr/bootstrap.libp2p.io')\n * const resolved = await ma.resolve({\n * dns: resolver\n * })\n *\n * console.info(resolved)\n * // [Multiaddr('/ip4/147.75...'), Multiaddr('/ip4/147.75...'), Multiaddr('/ip4/147.75...')...]\n * ```\n */ \n\n/**\n * All configured {@link Resolver}s\n */ const resolvers = new Map();\n\n/**\n * Creates a Multiaddr from a node-friendly address object\n *\n * @example\n * ```js\n * import { fromNodeAddress } from '@multiformats/multiaddr'\n *\n * fromNodeAddress({address: '127.0.0.1', port: '4001'}, 'tcp')\n * // Multiaddr(/ip4/127.0.0.1/tcp/4001)\n * ```\n */ function fromNodeAddress(addr, transport) {\n if (addr == null) {\n throw new Error(\"requires node address object\");\n }\n if (transport == null) {\n throw new Error(\"requires transport protocol\");\n }\n let ip;\n let host = addr.address;\n switch(addr.family){\n case 4:\n ip = \"ip4\";\n break;\n case 6:\n ip = \"ip6\";\n if (host.includes(\"%\")) {\n const parts = host.split(\"%\");\n if (parts.length !== 2) {\n throw Error(\"Multiple ip6 zones in multiaddr\");\n }\n host = parts[0];\n const zone = parts[1];\n ip = `/ip6zone/${zone}/ip6`;\n }\n break;\n default:\n throw Error(\"Invalid addr family, should be 4 or 6.\");\n }\n return new _multiaddr_js__WEBPACK_IMPORTED_MODULE_0__.Multiaddr(\"/\" + [\n ip,\n host,\n transport,\n addr.port\n ].join(\"/\"));\n}\n/**\n * Returns if something is a {@link Multiaddr} that is a resolvable name\n *\n * @example\n *\n * ```js\n * import { isName, multiaddr } from '@multiformats/multiaddr'\n *\n * isName(multiaddr('/ip4/127.0.0.1'))\n * // false\n * isName(multiaddr('/dns/ipfs.io'))\n * // true\n * ```\n */ function isName(addr) {\n if (!isMultiaddr(addr)) {\n return false;\n }\n // if a part of the multiaddr is resolvable, then return true\n return addr.protos().some((proto)=>proto.resolvable);\n}\n/**\n * Check if object is a {@link Multiaddr} instance\n *\n * @example\n *\n * ```js\n * import { isMultiaddr, multiaddr } from '@multiformats/multiaddr'\n *\n * isMultiaddr(5)\n * // false\n * isMultiaddr(multiaddr('/ip4/127.0.0.1'))\n * // true\n * ```\n */ function isMultiaddr(value) {\n return Boolean(value?.[_multiaddr_js__WEBPACK_IMPORTED_MODULE_0__.symbol]);\n}\n/**\n * A function that takes a {@link MultiaddrInput} and returns a {@link Multiaddr}\n *\n * @example\n * ```js\n * import { multiaddr } from '@libp2p/multiaddr'\n *\n * multiaddr('/ip4/127.0.0.1/tcp/4001')\n * // Multiaddr(/ip4/127.0.0.1/tcp/4001)\n * ```\n *\n * @param {MultiaddrInput} [addr] - If String or Uint8Array, needs to adhere to the address format of a [multiaddr](https://github.com/multiformats/multiaddr#string-format)\n */ function multiaddr(addr) {\n return new _multiaddr_js__WEBPACK_IMPORTED_MODULE_0__.Multiaddr(addr);\n}\n //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQG11bHRpZm9ybWF0cy9tdWx0aWFkZHIvZGlzdC9zcmMvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0E2RkMsR0FDb0U7QUFDbEI7QUFDbkQ7O0NBRUMsR0FDTSxNQUFNSSxZQUFZLElBQUlDLE1BQU07QUFDNEI7QUFDL0Q7Ozs7Ozs7Ozs7Q0FVQyxHQUNNLFNBQVNFLGdCQUFnQkMsSUFBSSxFQUFFQyxTQUFTO0lBQzNDLElBQUlELFFBQVEsTUFBTTtRQUNkLE1BQU0sSUFBSUUsTUFBTTtJQUNwQjtJQUNBLElBQUlELGFBQWEsTUFBTTtRQUNuQixNQUFNLElBQUlDLE1BQU07SUFDcEI7SUFDQSxJQUFJQztJQUNKLElBQUlDLE9BQU9KLEtBQUtLLE9BQU87SUFDdkIsT0FBUUwsS0FBS00sTUFBTTtRQUNmLEtBQUs7WUFDREgsS0FBSztZQUNMO1FBQ0osS0FBSztZQUNEQSxLQUFLO1lBQ0wsSUFBSUMsS0FBS0csUUFBUSxDQUFDLE1BQU07Z0JBQ3BCLE1BQU1DLFFBQVFKLEtBQUtLLEtBQUssQ0FBQztnQkFDekIsSUFBSUQsTUFBTUUsTUFBTSxLQUFLLEdBQUc7b0JBQ3BCLE1BQU1SLE1BQU07Z0JBQ2hCO2dCQUNBRSxPQUFPSSxLQUFLLENBQUMsRUFBRTtnQkFDZixNQUFNRyxPQUFPSCxLQUFLLENBQUMsRUFBRTtnQkFDckJMLEtBQUssQ0FBQyxTQUFTLEVBQUVRLEtBQUssSUFBSSxDQUFDO1lBQy9CO1lBQ0E7UUFDSjtZQUNJLE1BQU1ULE1BQU07SUFDcEI7SUFDQSxPQUFPLElBQUlULG9EQUFjQSxDQUFDLE1BQU07UUFBQ1U7UUFBSUM7UUFBTUg7UUFBV0QsS0FBS1ksSUFBSTtLQUFDLENBQUNDLElBQUksQ0FBQztBQUMxRTtBQUNBOzs7Ozs7Ozs7Ozs7O0NBYUMsR0FDTSxTQUFTQyxPQUFPZCxJQUFJO0lBQ3ZCLElBQUksQ0FBQ2UsWUFBWWYsT0FBTztRQUNwQixPQUFPO0lBQ1g7SUFDQSw2REFBNkQ7SUFDN0QsT0FBT0EsS0FBS2dCLE1BQU0sR0FBR0MsSUFBSSxDQUFDLENBQUNDLFFBQVVBLE1BQU1DLFVBQVU7QUFDekQ7QUFDQTs7Ozs7Ozs7Ozs7OztDQWFDLEdBQ00sU0FBU0osWUFBWUssS0FBSztJQUM3QixPQUFPQyxRQUFRRCxPQUFPLENBQUMxQixpREFBTUEsQ0FBQztBQUNsQztBQUNBOzs7Ozs7Ozs7Ozs7Q0FZQyxHQUNNLFNBQVM0QixVQUFVdEIsSUFBSTtJQUMxQixPQUFPLElBQUlQLG9EQUFjQSxDQUFDTztBQUM5QjtBQUNvQyxDQUNwQyxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9AbXVsdGlmb3JtYXRzL211bHRpYWRkci9kaXN0L3NyYy9pbmRleC5qcz9kZDA3Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogQSBzdGFuZGFyZCB3YXkgdG8gcmVwcmVzZW50IGFkZHJlc3NlcyB0aGF0XG4gKlxuICogLSBzdXBwb3J0IGFueSBzdGFuZGFyZCBuZXR3b3JrIHByb3RvY29sXG4gKiAtIGFyZSBzZWxmLWRlc2NyaWJpbmdcbiAqIC0gaGF2ZSBhIGJpbmFyeSBwYWNrZWQgZm9ybWF0XG4gKiAtIGhhdmUgYSBuaWNlIHN0cmluZyByZXByZXNlbnRhdGlvblxuICogLSBlbmNhcHN1bGF0ZSB3ZWxsXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiBgYGBUeXBlU2NyaXB0XG4gKiBpbXBvcnQgeyBtdWx0aWFkZHIgfSBmcm9tICdAbXVsdGlmb3JtYXRzL211bHRpYWRkcidcbiAqIGNvbnN0IGFkZHIgPSAgbXVsdGlhZGRyKFwiL2lwNC8xMjcuMC4wLjEvdWRwLzEyMzRcIilcbiAqIC8vIE11bHRpYWRkcigvaXA0LzEyNy4wLjAuMS91ZHAvMTIzNClcbiAqXG4gKiBjb25zdCBhZGRyID0gbXVsdGlhZGRyKFwiL2lwNC8xMjcuMC4wLjEvdWRwLzEyMzRcIilcbiAqIC8vIE11bHRpYWRkcigvaXA0LzEyNy4wLjAuMS91ZHAvMTIzNClcbiAqXG4gKiBhZGRyLmJ5dGVzXG4gKiAvLyA8VWludDhBcnJheSAwNCA3ZiAwMCAwMCAwMSAxMSAwNCBkMj5cbiAqXG4gKiBhZGRyLnRvU3RyaW5nKClcbiAqIC8vICcvaXA0LzEyNy4wLjAuMS91ZHAvMTIzNCdcbiAqXG4gKiBhZGRyLnByb3RvcygpXG4gKiAvLyBbXG4gKiAvLyAgIHtjb2RlOiA0LCBuYW1lOiAnaXA0Jywgc2l6ZTogMzJ9LFxuICogLy8gICB7Y29kZTogMjczLCBuYW1lOiAndWRwJywgc2l6ZTogMTZ9XG4gKiAvLyBdXG4gKlxuICogLy8gZ2l2ZXMgeW91IGFuIG9iamVjdCB0aGF0IGlzIGZyaWVuZGx5IHdpdGggd2hhdCBOb2RlLmpzIGNvcmUgbW9kdWxlcyBleHBlY3QgZm9yIGFkZHJlc3Nlc1xuICogYWRkci5ub2RlQWRkcmVzcygpXG4gKiAvLyB7XG4gKiAvLyAgIGZhbWlseTogNCxcbiAqIC8vICAgcG9ydDogMTIzNCxcbiAqIC8vICAgYWRkcmVzczogXCIxMjcuMC4wLjFcIlxuICogLy8gfVxuICpcbiAqIGFkZHIuZW5jYXBzdWxhdGUoJy9zY3RwLzU2NzgnKVxuICogLy8gTXVsdGlhZGRyKC9pcDQvMTI3LjAuMC4xL3VkcC8xMjM0L3NjdHAvNTY3OClcbiAqIGBgYFxuICpcbiAqICMjIFJlc29sdmluZyBETlNBRERSIGFkZHJlc3Nlc1xuICpcbiAqIFtETlNBRERSXShodHRwczovL2dpdGh1Yi5jb20vbXVsdGlmb3JtYXRzL211bHRpYWRkci9ibG9iL21hc3Rlci9wcm90b2NvbHMvRE5TQUREUi5tZCkgaXMgYSBzcGVjIHRoYXQgYWxsb3dzIHN0b3JpbmcgYSBUWFQgRE5TIHJlY29yZCB0aGF0IGNvbnRhaW5zIGEgTXVsdGlhZGRyLlxuICpcbiAqIFRvIHJlc29sdmUgRE5TQUREUiBhZGRyZXNzZXMsIGNhbGwgdGhlIGAucmVzb2x2ZSgpYCBmdW5jdGlvbiB0aGUgbXVsdGlhZGRyLCBvcHRpb25hbGx5IHBhc3NpbmcgYSBgRE5TYCByZXNvbHZlci5cbiAqXG4gKiBETlNBRERSIGFkZHJlc3NlcyBjYW4gcmVzb2x2ZSB0byBtdWx0aXBsZSBtdWx0aWFkZHJzLCBzaW5jZSB0aGVyZSBpcyBubyBsaW1pdCB0byB0aGUgbnVtYmVyIG9mIFRYVCByZWNvcmRzIHRoYXQgY2FuIGJlIHN0b3JlZC5cbiAqXG4gKiBAZXhhbXBsZSBSZXNvbHZpbmcgRE5TQUREUiBNdWx0aWFkZHJzXG4gKlxuICogYGBgVHlwZVNjcmlwdFxuICogaW1wb3J0IHsgbXVsdGlhZGRyLCByZXNvbHZlcnMgfSBmcm9tICdAbXVsdGlmb3JtYXRzL211bHRpYWRkcidcbiAqIGltcG9ydCB7IGRuc2FkZHIgfSBmcm9tICdAbXVsdGlmb3JtYXRzL211bHRpYWRkci9yZXNvbHZlcnMnXG4gKlxuICogcmVzb2x2ZXJzLnNldCgnZG5zYWRkcicsIGRuc2FkZHIpXG4gKlxuICogY29uc3QgbWEgPSBtdWx0aWFkZHIoJy9kbnNhZGRyL2Jvb3RzdHJhcC5saWJwMnAuaW8nKVxuICpcbiAqIC8vIHJlc29sdmUgd2l0aCBhIDVzIHRpbWVvdXRcbiAqIGNvbnN0IHJlc29sdmVkID0gYXdhaXQgbWEucmVzb2x2ZSh7XG4gKiAgIHNpZ25hbDogQWJvcnRTaWduYWwudGltZW91dCg1MDAwKVxuICogfSlcbiAqXG4gKiBjb25zb2xlLmluZm8oYXdhaXQgbWEucmVzb2x2ZShyZXNvbHZlZClcbiAqIC8vIFtNdWx0aWFkZHIoJy9pcDQvMTQ3Ljc1Li4uJyksIE11bHRpYWRkcignL2lwNC8xNDcuNzUuLi4nKSwgTXVsdGlhZGRyKCcvaXA0LzE0Ny43NS4uLicpLi4uXVxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgVXNpbmcgYSBjdXN0b20gRE5TIHJlc29sdmVyIHRvIHJlc29sdmUgRE5TQUREUiBNdWx0aWFkZHJzXG4gKlxuICogU2VlIHRoZSBkb2NzIGZvciBbQG11bHRpZm9ybWF0cy9kbnNdKGh0dHBzOi8vd3d3Lm5wbWpzLmNvbS9wYWNrYWdlL0BtdWx0aWZvcm1hdHMvZG5zKSBmb3IgYSBmdWxsIGJyZWFrZG93biBvZiBob3cgdG8gc3BlY2lmeSBtdWx0aXBsZSByZXNvbHZlcnMgb3IgcmVzb2x2ZXJzIHRoYXQgY2FuIGJlIHVzZWQgZm9yIHNwZWNpZmljIFRMRHMuXG4gKlxuICogYGBgVHlwZVNjcmlwdFxuICogaW1wb3J0IHsgbXVsdGlhZGRyIH0gZnJvbSAnQG11bHRpZm9ybWF0cy9tdWx0aWFkZHInXG4gKiBpbXBvcnQgeyBkbnMgfSBmcm9tICdAbXVsdGlmb3JtYXRzL2RucydcbiAqIGltcG9ydCB7IGRuc0pzb25PdmVySHR0cHMgfSBmcm9tICdAbXVsdGlmb3JtYXRzL2Rucy9yZXNvbHZlcnMnXG4gKlxuICogY29uc3QgcmVzb2x2ZXIgPSBkbnMoe1xuICogICAnLic6IGRuc0pzb25PdmVySHR0cHMoJ2h0dHBzOi8vY2xvdWRmbGFyZS1kbnMuY29tL2Rucy1xdWVyeScpXG4gKiB9KVxuICpcbiAqIGNvbnN0IG1hID0gbXVsdGlhZGRyKCcvZG5zYWRkci9ib290c3RyYXAubGlicDJwLmlvJylcbiAqIGNvbnN0IHJlc29sdmVkID0gYXdhaXQgbWEucmVzb2x2ZSh7XG4gKiAgZG5zOiByZXNvbHZlclxuICogfSlcbiAqXG4gKiBjb25zb2xlLmluZm8ocmVzb2x2ZWQpXG4gKiAvLyBbTXVsdGlhZGRyKCcvaXA0LzE0Ny43NS4uLicpLCBNdWx0aWFkZHIoJy9pcDQvMTQ3Ljc1Li4uJyksIE11bHRpYWRkcignL2lwNC8xNDcuNzUuLi4nKS4uLl1cbiAqIGBgYFxuICovXG5pbXBvcnQgeyBNdWx0aWFkZHIgYXMgTXVsdGlhZGRyQ2xhc3MsIHN5bWJvbCB9IGZyb20gJy4vbXVsdGlhZGRyLmpzJztcbmltcG9ydCB7IGdldFByb3RvY29sIH0gZnJvbSAnLi9wcm90b2NvbHMtdGFibGUuanMnO1xuLyoqXG4gKiBBbGwgY29uZmlndXJlZCB7QGxpbmsgUmVzb2x2ZXJ9c1xuICovXG5leHBvcnQgY29uc3QgcmVzb2x2ZXJzID0gbmV3IE1hcCgpO1xuZXhwb3J0IHsgTXVsdGlhZGRyRmlsdGVyIH0gZnJvbSAnLi9maWx0ZXIvbXVsdGlhZGRyLWZpbHRlci5qcyc7XG4vKipcbiAqIENyZWF0ZXMgYSBNdWx0aWFkZHIgZnJvbSBhIG5vZGUtZnJpZW5kbHkgYWRkcmVzcyBvYmplY3RcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBganNcbiAqIGltcG9ydCB7IGZyb21Ob2RlQWRkcmVzcyB9IGZyb20gJ0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyJ1xuICpcbiAqIGZyb21Ob2RlQWRkcmVzcyh7YWRkcmVzczogJzEyNy4wLjAuMScsIHBvcnQ6ICc0MDAxJ30sICd0Y3AnKVxuICogLy8gTXVsdGlhZGRyKC9pcDQvMTI3LjAuMC4xL3RjcC80MDAxKVxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmcm9tTm9kZUFkZHJlc3MoYWRkciwgdHJhbnNwb3J0KSB7XG4gICAgaWYgKGFkZHIgPT0gbnVsbCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3JlcXVpcmVzIG5vZGUgYWRkcmVzcyBvYmplY3QnKTtcbiAgICB9XG4gICAgaWYgKHRyYW5zcG9ydCA9PSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcigncmVxdWlyZXMgdHJhbnNwb3J0IHByb3RvY29sJyk7XG4gICAgfVxuICAgIGxldCBpcDtcbiAgICBsZXQgaG9zdCA9IGFkZHIuYWRkcmVzcztcbiAgICBzd2l0Y2ggKGFkZHIuZmFtaWx5KSB7XG4gICAgICAgIGNhc2UgNDpcbiAgICAgICAgICAgIGlwID0gJ2lwNCc7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSA2OlxuICAgICAgICAgICAgaXAgPSAnaXA2JztcbiAgICAgICAgICAgIGlmIChob3N0LmluY2x1ZGVzKCclJykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJ0cyA9IGhvc3Quc3BsaXQoJyUnKTtcbiAgICAgICAgICAgICAgICBpZiAocGFydHMubGVuZ3RoICE9PSAyKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IEVycm9yKCdNdWx0aXBsZSBpcDYgem9uZXMgaW4gbXVsdGlhZGRyJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGhvc3QgPSBwYXJ0c1swXTtcbiAgICAgICAgICAgICAgICBjb25zdCB6b25lID0gcGFydHNbMV07XG4gICAgICAgICAgICAgICAgaXAgPSBgL2lwNnpvbmUvJHt6b25lfS9pcDZgO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aHJvdyBFcnJvcignSW52YWxpZCBhZGRyIGZhbWlseSwgc2hvdWxkIGJlIDQgb3IgNi4nKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBNdWx0aWFkZHJDbGFzcygnLycgKyBbaXAsIGhvc3QsIHRyYW5zcG9ydCwgYWRkci5wb3J0XS5qb2luKCcvJykpO1xufVxuLyoqXG4gKiBSZXR1cm5zIGlmIHNvbWV0aGluZyBpcyBhIHtAbGluayBNdWx0aWFkZHJ9IHRoYXQgaXMgYSByZXNvbHZhYmxlIG5hbWVcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIGBgYGpzXG4gKiBpbXBvcnQgeyBpc05hbWUsIG11bHRpYWRkciB9IGZyb20gJ0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyJ1xuICpcbiAqIGlzTmFtZShtdWx0aWFkZHIoJy9pcDQvMTI3LjAuMC4xJykpXG4gKiAvLyBmYWxzZVxuICogaXNOYW1lKG11bHRpYWRkcignL2Rucy9pcGZzLmlvJykpXG4gKiAvLyB0cnVlXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzTmFtZShhZGRyKSB7XG4gICAgaWYgKCFpc011bHRpYWRkcihhZGRyKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8vIGlmIGEgcGFydCBvZiB0aGUgbXVsdGlhZGRyIGlzIHJlc29sdmFibGUsIHRoZW4gcmV0dXJuIHRydWVcbiAgICByZXR1cm4gYWRkci5wcm90b3MoKS5zb21lKChwcm90bykgPT4gcHJvdG8ucmVzb2x2YWJsZSk7XG59XG4vKipcbiAqIENoZWNrIGlmIG9iamVjdCBpcyBhIHtAbGluayBNdWx0aWFkZHJ9IGluc3RhbmNlXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiBgYGBqc1xuICogaW1wb3J0IHsgaXNNdWx0aWFkZHIsIG11bHRpYWRkciB9IGZyb20gJ0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyJ1xuICpcbiAqIGlzTXVsdGlhZGRyKDUpXG4gKiAvLyBmYWxzZVxuICogaXNNdWx0aWFkZHIobXVsdGlhZGRyKCcvaXA0LzEyNy4wLjAuMScpKVxuICogLy8gdHJ1ZVxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc011bHRpYWRkcih2YWx1ZSkge1xuICAgIHJldHVybiBCb29sZWFuKHZhbHVlPy5bc3ltYm9sXSk7XG59XG4vKipcbiAqIEEgZnVuY3Rpb24gdGhhdCB0YWtlcyBhIHtAbGluayBNdWx0aWFkZHJJbnB1dH0gYW5kIHJldHVybnMgYSB7QGxpbmsgTXVsdGlhZGRyfVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBqc1xuICogaW1wb3J0IHsgbXVsdGlhZGRyIH0gZnJvbSAnQGxpYnAycC9tdWx0aWFkZHInXG4gKlxuICogbXVsdGlhZGRyKCcvaXA0LzEyNy4wLjAuMS90Y3AvNDAwMScpXG4gKiAvLyBNdWx0aWFkZHIoL2lwNC8xMjcuMC4wLjEvdGNwLzQwMDEpXG4gKiBgYGBcbiAqXG4gKiBAcGFyYW0ge011bHRpYWRkcklucHV0fSBbYWRkcl0gLSBJZiBTdHJpbmcgb3IgVWludDhBcnJheSwgbmVlZHMgdG8gYWRoZXJlIHRvIHRoZSBhZGRyZXNzIGZvcm1hdCBvZiBhIFttdWx0aWFkZHJdKGh0dHBzOi8vZ2l0aHViLmNvbS9tdWx0aWZvcm1hdHMvbXVsdGlhZGRyI3N0cmluZy1mb3JtYXQpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtdWx0aWFkZHIoYWRkcikge1xuICAgIHJldHVybiBuZXcgTXVsdGlhZGRyQ2xhc3MoYWRkcik7XG59XG5leHBvcnQgeyBnZXRQcm90b2NvbCBhcyBwcm90b2NvbHMgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6WyJNdWx0aWFkZHIiLCJNdWx0aWFkZHJDbGFzcyIsInN5bWJvbCIsImdldFByb3RvY29sIiwicmVzb2x2ZXJzIiwiTWFwIiwiTXVsdGlhZGRyRmlsdGVyIiwiZnJvbU5vZGVBZGRyZXNzIiwiYWRkciIsInRyYW5zcG9ydCIsIkVycm9yIiwiaXAiLCJob3N0IiwiYWRkcmVzcyIsImZhbWlseSIsImluY2x1ZGVzIiwicGFydHMiLCJzcGxpdCIsImxlbmd0aCIsInpvbmUiLCJwb3J0Iiwiam9pbiIsImlzTmFtZSIsImlzTXVsdGlhZGRyIiwicHJvdG9zIiwic29tZSIsInByb3RvIiwicmVzb2x2YWJsZSIsInZhbHVlIiwiQm9vbGVhbiIsIm11bHRpYWRkciIsInByb3RvY29scyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@multiformats/multiaddr/dist/src/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@multiformats/multiaddr/dist/src/ip.js":
/*!*************************************************************!*\
!*** ./node_modules/@multiformats/multiaddr/dist/src/ip.js ***!
\*************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isIP: () => (/* reexport safe */ _chainsafe_is_ip__WEBPACK_IMPORTED_MODULE_0__.isIP),\n/* harmony export */ isV4: () => (/* binding */ isV4),\n/* harmony export */ isV6: () => (/* binding */ isV6),\n/* harmony export */ toBytes: () => (/* binding */ toBytes),\n/* harmony export */ toString: () => (/* binding */ toString)\n/* harmony export */ });\n/* harmony import */ var _chainsafe_is_ip__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @chainsafe/is-ip */ \"(ssr)/./node_modules/@chainsafe/is-ip/lib/is-ip.node.js\");\n/* harmony import */ var uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/to-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/to-string.node.js\");\n\n\n\nconst isV4 = _chainsafe_is_ip__WEBPACK_IMPORTED_MODULE_0__.isIPv4;\nconst isV6 = _chainsafe_is_ip__WEBPACK_IMPORTED_MODULE_0__.isIPv6;\n// Copied from https://github.com/indutny/node-ip/blob/master/lib/ip.js#L7\n// but with buf/offset args removed because we don't use them\nconst toBytes = function(ip) {\n let offset = 0;\n ip = ip.toString().trim();\n if (isV4(ip)) {\n const bytes = new Uint8Array(offset + 4);\n ip.split(/\\./g).forEach((byte)=>{\n bytes[offset++] = parseInt(byte, 10) & 0xff;\n });\n return bytes;\n }\n if (isV6(ip)) {\n const sections = ip.split(\":\", 8);\n let i;\n for(i = 0; i < sections.length; i++){\n const isv4 = isV4(sections[i]);\n let v4Buffer;\n if (isv4) {\n v4Buffer = toBytes(sections[i]);\n sections[i] = (0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_1__.toString)(v4Buffer.slice(0, 2), \"base16\");\n }\n if (v4Buffer != null && ++i < 8) {\n sections.splice(i, 0, (0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_1__.toString)(v4Buffer.slice(2, 4), \"base16\"));\n }\n }\n if (sections[0] === \"\") {\n while(sections.length < 8)sections.unshift(\"0\");\n } else if (sections[sections.length - 1] === \"\") {\n while(sections.length < 8)sections.push(\"0\");\n } else if (sections.length < 8) {\n for(i = 0; i < sections.length && sections[i] !== \"\"; i++);\n const argv = [\n i,\n 1\n ];\n for(i = 9 - sections.length; i > 0; i--){\n argv.push(\"0\");\n }\n sections.splice.apply(sections, argv);\n }\n const bytes = new Uint8Array(offset + 16);\n for(i = 0; i < sections.length; i++){\n const word = parseInt(sections[i], 16);\n bytes[offset++] = word >> 8 & 0xff;\n bytes[offset++] = word & 0xff;\n }\n return bytes;\n }\n throw new Error(\"invalid ip address\");\n};\n// Copied from https://github.com/indutny/node-ip/blob/master/lib/ip.js#L63\nconst toString = function(buf, offset = 0, length) {\n offset = ~~offset;\n length = length ?? buf.length - offset;\n const view = new DataView(buf.buffer);\n if (length === 4) {\n const result = [];\n // IPv4\n for(let i = 0; i < length; i++){\n result.push(buf[offset + i]);\n }\n return result.join(\".\");\n }\n if (length === 16) {\n const result = [];\n // IPv6\n for(let i = 0; i < length; i += 2){\n result.push(view.getUint16(offset + i).toString(16));\n }\n return result.join(\":\").replace(/(^|:)0(:0)*:0(:|$)/, \"$1::$3\").replace(/:{3,4}/, \"::\");\n }\n return \"\";\n}; //# sourceMappingURL=ip.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQG11bHRpZm9ybWF0cy9tdWx0aWFkZHIvZGlzdC9zcmMvaXAuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFrRDtBQUNxQjtBQUMvQjtBQUNqQyxNQUFNSyxPQUFPTCxvREFBTUEsQ0FBQztBQUNwQixNQUFNTSxPQUFPTCxvREFBTUEsQ0FBQztBQUMzQiwwRUFBMEU7QUFDMUUsNkRBQTZEO0FBQ3RELE1BQU1NLFVBQVUsU0FBVUMsRUFBRTtJQUMvQixJQUFJQyxTQUFTO0lBQ2JELEtBQUtBLEdBQUdOLFFBQVEsR0FBR1EsSUFBSTtJQUN2QixJQUFJTCxLQUFLRyxLQUFLO1FBQ1YsTUFBTUcsUUFBUSxJQUFJQyxXQUFXSCxTQUFTO1FBQ3RDRCxHQUFHSyxLQUFLLENBQUMsT0FBT0MsT0FBTyxDQUFDLENBQUNDO1lBQ3JCSixLQUFLLENBQUNGLFNBQVMsR0FBR08sU0FBU0QsTUFBTSxNQUFNO1FBQzNDO1FBQ0EsT0FBT0o7SUFDWDtJQUNBLElBQUlMLEtBQUtFLEtBQUs7UUFDVixNQUFNUyxXQUFXVCxHQUFHSyxLQUFLLENBQUMsS0FBSztRQUMvQixJQUFJSztRQUNKLElBQUtBLElBQUksR0FBR0EsSUFBSUQsU0FBU0UsTUFBTSxFQUFFRCxJQUFLO1lBQ2xDLE1BQU1FLE9BQU9mLEtBQUtZLFFBQVEsQ0FBQ0MsRUFBRTtZQUM3QixJQUFJRztZQUNKLElBQUlELE1BQU07Z0JBQ05DLFdBQVdkLFFBQVFVLFFBQVEsQ0FBQ0MsRUFBRTtnQkFDOUJELFFBQVEsQ0FBQ0MsRUFBRSxHQUFHZiwrREFBa0JBLENBQUNrQixTQUFTQyxLQUFLLENBQUMsR0FBRyxJQUFJO1lBQzNEO1lBQ0EsSUFBSUQsWUFBWSxRQUFRLEVBQUVILElBQUksR0FBRztnQkFDN0JELFNBQVNNLE1BQU0sQ0FBQ0wsR0FBRyxHQUFHZiwrREFBa0JBLENBQUNrQixTQUFTQyxLQUFLLENBQUMsR0FBRyxJQUFJO1lBQ25FO1FBQ0o7UUFDQSxJQUFJTCxRQUFRLENBQUMsRUFBRSxLQUFLLElBQUk7WUFDcEIsTUFBT0EsU0FBU0UsTUFBTSxHQUFHLEVBQ3JCRixTQUFTTyxPQUFPLENBQUM7UUFDekIsT0FDSyxJQUFJUCxRQUFRLENBQUNBLFNBQVNFLE1BQU0sR0FBRyxFQUFFLEtBQUssSUFBSTtZQUMzQyxNQUFPRixTQUFTRSxNQUFNLEdBQUcsRUFDckJGLFNBQVNRLElBQUksQ0FBQztRQUN0QixPQUNLLElBQUlSLFNBQVNFLE1BQU0sR0FBRyxHQUFHO1lBQzFCLElBQUtELElBQUksR0FBR0EsSUFBSUQsU0FBU0UsTUFBTSxJQUFJRixRQUFRLENBQUNDLEVBQUUsS0FBSyxJQUFJQTtZQUV2RCxNQUFNUSxPQUFPO2dCQUFDUjtnQkFBRzthQUFFO1lBQ25CLElBQUtBLElBQUksSUFBSUQsU0FBU0UsTUFBTSxFQUFFRCxJQUFJLEdBQUdBLElBQUs7Z0JBQ3RDUSxLQUFLRCxJQUFJLENBQUM7WUFDZDtZQUNBUixTQUFTTSxNQUFNLENBQUNJLEtBQUssQ0FBQ1YsVUFBVVM7UUFDcEM7UUFDQSxNQUFNZixRQUFRLElBQUlDLFdBQVdILFNBQVM7UUFDdEMsSUFBS1MsSUFBSSxHQUFHQSxJQUFJRCxTQUFTRSxNQUFNLEVBQUVELElBQUs7WUFDbEMsTUFBTVUsT0FBT1osU0FBU0MsUUFBUSxDQUFDQyxFQUFFLEVBQUU7WUFDbkNQLEtBQUssQ0FBQ0YsU0FBUyxHQUFHLFFBQVMsSUFBSztZQUNoQ0UsS0FBSyxDQUFDRixTQUFTLEdBQUdtQixPQUFPO1FBQzdCO1FBQ0EsT0FBT2pCO0lBQ1g7SUFDQSxNQUFNLElBQUlrQixNQUFNO0FBQ3BCLEVBQUU7QUFDRiwyRUFBMkU7QUFDcEUsTUFBTTNCLFdBQVcsU0FBVTRCLEdBQUcsRUFBRXJCLFNBQVMsQ0FBQyxFQUFFVSxNQUFNO0lBQ3JEVixTQUFTLENBQUMsQ0FBQ0E7SUFDWFUsU0FBU0EsVUFBV1csSUFBSVgsTUFBTSxHQUFHVjtJQUNqQyxNQUFNc0IsT0FBTyxJQUFJQyxTQUFTRixJQUFJRyxNQUFNO0lBQ3BDLElBQUlkLFdBQVcsR0FBRztRQUNkLE1BQU1lLFNBQVMsRUFBRTtRQUNqQixPQUFPO1FBQ1AsSUFBSyxJQUFJaEIsSUFBSSxHQUFHQSxJQUFJQyxRQUFRRCxJQUFLO1lBQzdCZ0IsT0FBT1QsSUFBSSxDQUFDSyxHQUFHLENBQUNyQixTQUFTUyxFQUFFO1FBQy9CO1FBQ0EsT0FBT2dCLE9BQU9DLElBQUksQ0FBQztJQUN2QjtJQUNBLElBQUloQixXQUFXLElBQUk7UUFDZixNQUFNZSxTQUFTLEVBQUU7UUFDakIsT0FBTztRQUNQLElBQUssSUFBSWhCLElBQUksR0FBR0EsSUFBSUMsUUFBUUQsS0FBSyxFQUFHO1lBQ2hDZ0IsT0FBT1QsSUFBSSxDQUFDTSxLQUFLSyxTQUFTLENBQUMzQixTQUFTUyxHQUFHaEIsUUFBUSxDQUFDO1FBQ3BEO1FBQ0EsT0FBT2dDLE9BQU9DLElBQUksQ0FBQyxLQUNkRSxPQUFPLENBQUMsc0JBQXNCLFVBQzlCQSxPQUFPLENBQUMsVUFBVTtJQUMzQjtJQUNBLE9BQU87QUFDWCxFQUFFLENBQ0YsOEJBQThCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQG11bHRpZm9ybWF0cy9tdWx0aWFkZHIvZGlzdC9zcmMvaXAuanM/MGYyMSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0lQdjQsIGlzSVB2NiB9IGZyb20gJ0BjaGFpbnNhZmUvaXMtaXAnO1xuaW1wb3J0IHsgdG9TdHJpbmcgYXMgdWludDhBcnJheVRvU3RyaW5nIH0gZnJvbSAndWludDhhcnJheXMvdG8tc3RyaW5nJztcbmV4cG9ydCB7IGlzSVAgfSBmcm9tICdAY2hhaW5zYWZlL2lzLWlwJztcbmV4cG9ydCBjb25zdCBpc1Y0ID0gaXNJUHY0O1xuZXhwb3J0IGNvbnN0IGlzVjYgPSBpc0lQdjY7XG4vLyBDb3BpZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vaW5kdXRueS9ub2RlLWlwL2Jsb2IvbWFzdGVyL2xpYi9pcC5qcyNMN1xuLy8gYnV0IHdpdGggYnVmL29mZnNldCBhcmdzIHJlbW92ZWQgYmVjYXVzZSB3ZSBkb24ndCB1c2UgdGhlbVxuZXhwb3J0IGNvbnN0IHRvQnl0ZXMgPSBmdW5jdGlvbiAoaXApIHtcbiAgICBsZXQgb2Zmc2V0ID0gMDtcbiAgICBpcCA9IGlwLnRvU3RyaW5nKCkudHJpbSgpO1xuICAgIGlmIChpc1Y0KGlwKSkge1xuICAgICAgICBjb25zdCBieXRlcyA9IG5ldyBVaW50OEFycmF5KG9mZnNldCArIDQpO1xuICAgICAgICBpcC5zcGxpdCgvXFwuL2cpLmZvckVhY2goKGJ5dGUpID0+IHtcbiAgICAgICAgICAgIGJ5dGVzW29mZnNldCsrXSA9IHBhcnNlSW50KGJ5dGUsIDEwKSAmIDB4ZmY7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gYnl0ZXM7XG4gICAgfVxuICAgIGlmIChpc1Y2KGlwKSkge1xuICAgICAgICBjb25zdCBzZWN0aW9ucyA9IGlwLnNwbGl0KCc6JywgOCk7XG4gICAgICAgIGxldCBpO1xuICAgICAgICBmb3IgKGkgPSAwOyBpIDwgc2VjdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGlzdjQgPSBpc1Y0KHNlY3Rpb25zW2ldKTtcbiAgICAgICAgICAgIGxldCB2NEJ1ZmZlcjtcbiAgICAgICAgICAgIGlmIChpc3Y0KSB7XG4gICAgICAgICAgICAgICAgdjRCdWZmZXIgPSB0b0J5dGVzKHNlY3Rpb25zW2ldKTtcbiAgICAgICAgICAgICAgICBzZWN0aW9uc1tpXSA9IHVpbnQ4QXJyYXlUb1N0cmluZyh2NEJ1ZmZlci5zbGljZSgwLCAyKSwgJ2Jhc2UxNicpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHY0QnVmZmVyICE9IG51bGwgJiYgKytpIDwgOCkge1xuICAgICAgICAgICAgICAgIHNlY3Rpb25zLnNwbGljZShpLCAwLCB1aW50OEFycmF5VG9TdHJpbmcodjRCdWZmZXIuc2xpY2UoMiwgNCksICdiYXNlMTYnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNlY3Rpb25zWzBdID09PSAnJykge1xuICAgICAgICAgICAgd2hpbGUgKHNlY3Rpb25zLmxlbmd0aCA8IDgpXG4gICAgICAgICAgICAgICAgc2VjdGlvbnMudW5zaGlmdCgnMCcpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHNlY3Rpb25zW3NlY3Rpb25zLmxlbmd0aCAtIDFdID09PSAnJykge1xuICAgICAgICAgICAgd2hpbGUgKHNlY3Rpb25zLmxlbmd0aCA8IDgpXG4gICAgICAgICAgICAgICAgc2VjdGlvbnMucHVzaCgnMCcpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHNlY3Rpb25zLmxlbmd0aCA8IDgpIHtcbiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBzZWN0aW9ucy5sZW5ndGggJiYgc2VjdGlvbnNbaV0gIT09ICcnOyBpKyspXG4gICAgICAgICAgICAgICAgO1xuICAgICAgICAgICAgY29uc3QgYXJndiA9IFtpLCAxXTtcbiAgICAgICAgICAgIGZvciAoaSA9IDkgLSBzZWN0aW9ucy5sZW5ndGg7IGkgPiAwOyBpLS0pIHtcbiAgICAgICAgICAgICAgICBhcmd2LnB1c2goJzAnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNlY3Rpb25zLnNwbGljZS5hcHBseShzZWN0aW9ucywgYXJndik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYnl0ZXMgPSBuZXcgVWludDhBcnJheShvZmZzZXQgKyAxNik7XG4gICAgICAgIGZvciAoaSA9IDA7IGkgPCBzZWN0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgd29yZCA9IHBhcnNlSW50KHNlY3Rpb25zW2ldLCAxNik7XG4gICAgICAgICAgICBieXRlc1tvZmZzZXQrK10gPSAod29yZCA+PiA4KSAmIDB4ZmY7XG4gICAgICAgICAgICBieXRlc1tvZmZzZXQrK10gPSB3b3JkICYgMHhmZjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYnl0ZXM7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBpcCBhZGRyZXNzJyk7XG59O1xuLy8gQ29waWVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2luZHV0bnkvbm9kZS1pcC9ibG9iL21hc3Rlci9saWIvaXAuanMjTDYzXG5leHBvcnQgY29uc3QgdG9TdHJpbmcgPSBmdW5jdGlvbiAoYnVmLCBvZmZzZXQgPSAwLCBsZW5ndGgpIHtcbiAgICBvZmZzZXQgPSB+fm9mZnNldDtcbiAgICBsZW5ndGggPSBsZW5ndGggPz8gKGJ1Zi5sZW5ndGggLSBvZmZzZXQpO1xuICAgIGNvbnN0IHZpZXcgPSBuZXcgRGF0YVZpZXcoYnVmLmJ1ZmZlcik7XG4gICAgaWYgKGxlbmd0aCA9PT0gNCkge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICAgICAgLy8gSVB2NFxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaChidWZbb2Zmc2V0ICsgaV0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQuam9pbignLicpO1xuICAgIH1cbiAgICBpZiAobGVuZ3RoID09PSAxNikge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICAgICAgLy8gSVB2NlxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSArPSAyKSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaCh2aWV3LmdldFVpbnQxNihvZmZzZXQgKyBpKS50b1N0cmluZygxNikpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQuam9pbignOicpXG4gICAgICAgICAgICAucmVwbGFjZSgvKF58OikwKDowKSo6MCg6fCQpLywgJyQxOjokMycpXG4gICAgICAgICAgICAucmVwbGFjZSgvOnszLDR9LywgJzo6Jyk7XG4gICAgfVxuICAgIHJldHVybiAnJztcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pcC5qcy5tYXAiXSwibmFtZXMiOlsiaXNJUHY0IiwiaXNJUHY2IiwidG9TdHJpbmciLCJ1aW50OEFycmF5VG9TdHJpbmciLCJpc0lQIiwiaXNWNCIsImlzVjYiLCJ0b0J5dGVzIiwiaXAiLCJvZmZzZXQiLCJ0cmltIiwiYnl0ZXMiLCJVaW50OEFycmF5Iiwic3BsaXQiLCJmb3JFYWNoIiwiYnl0ZSIsInBhcnNlSW50Iiwic2VjdGlvbnMiLCJpIiwibGVuZ3RoIiwiaXN2NCIsInY0QnVmZmVyIiwic2xpY2UiLCJzcGxpY2UiLCJ1bnNoaWZ0IiwicHVzaCIsImFyZ3YiLCJhcHBseSIsIndvcmQiLCJFcnJvciIsImJ1ZiIsInZpZXciLCJEYXRhVmlldyIsImJ1ZmZlciIsInJlc3VsdCIsImpvaW4iLCJnZXRVaW50MTYiLCJyZXBsYWNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@multiformats/multiaddr/dist/src/ip.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@multiformats/multiaddr/dist/src/multiaddr.js":
/*!********************************************************************!*\
!*** ./node_modules/@multiformats/multiaddr/dist/src/multiaddr.js ***!
\********************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Multiaddr: () => (/* binding */ Multiaddr),\n/* harmony export */ symbol: () => (/* binding */ symbol)\n/* harmony export */ });\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/errors.js\");\n/* harmony import */ var multiformats_bases_base58__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! multiformats/bases/base58 */ \"(ssr)/./node_modules/multiformats/dist/src/bases/base58.js\");\n/* harmony import */ var multiformats_cid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! multiformats/cid */ \"(ssr)/./node_modules/multiformats/dist/src/cid.js\");\n/* harmony import */ var uint8arrays_equals__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! uint8arrays/equals */ \"(ssr)/./node_modules/uint8arrays/dist/src/equals.js\");\n/* harmony import */ var uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! uint8arrays/to-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/to-string.node.js\");\n/* harmony import */ var _codec_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./codec.js */ \"(ssr)/./node_modules/@multiformats/multiaddr/dist/src/codec.js\");\n/* harmony import */ var _protocols_table_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./protocols-table.js */ \"(ssr)/./node_modules/@multiformats/multiaddr/dist/src/protocols-table.js\");\n/* harmony import */ var _index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./index.js */ \"(ssr)/./node_modules/@multiformats/multiaddr/dist/src/index.js\");\n/**\n * @packageDocumentation\n *\n * An implementation of a Multiaddr in JavaScript\n *\n * @example\n *\n * ```js\n * import { multiaddr } from '@multiformats/multiaddr'\n *\n * const ma = multiaddr('/ip4/127.0.0.1/tcp/1234')\n * ```\n */ \n\n\n\n\n\n\n\nconst inspect = Symbol.for(\"nodejs.util.inspect.custom\");\nconst symbol = Symbol.for(\"@multiformats/js-multiaddr/multiaddr\");\nconst DNS_CODES = [\n (0,_protocols_table_js__WEBPACK_IMPORTED_MODULE_5__.getProtocol)(\"dns\").code,\n (0,_protocols_table_js__WEBPACK_IMPORTED_MODULE_5__.getProtocol)(\"dns4\").code,\n (0,_protocols_table_js__WEBPACK_IMPORTED_MODULE_5__.getProtocol)(\"dns6\").code,\n (0,_protocols_table_js__WEBPACK_IMPORTED_MODULE_5__.getProtocol)(\"dnsaddr\").code\n];\n/**\n * Creates a {@link Multiaddr} from a {@link MultiaddrInput}\n */ class Multiaddr {\n #string;\n #tuples;\n #stringTuples;\n #path;\n constructor(addr){\n this[symbol] = true;\n // default\n if (addr == null) {\n addr = \"\";\n }\n let parts;\n if (addr instanceof Uint8Array) {\n parts = (0,_codec_js__WEBPACK_IMPORTED_MODULE_4__.bytesToMultiaddrParts)(addr);\n } else if (typeof addr === \"string\") {\n if (addr.length > 0 && addr.charAt(0) !== \"/\") {\n throw new Error(`multiaddr \"${addr}\" must start with a \"/\"`);\n }\n parts = (0,_codec_js__WEBPACK_IMPORTED_MODULE_4__.stringToMultiaddrParts)(addr);\n } else if ((0,_index_js__WEBPACK_IMPORTED_MODULE_6__.isMultiaddr)(addr)) {\n parts = (0,_codec_js__WEBPACK_IMPORTED_MODULE_4__.bytesToMultiaddrParts)(addr.bytes);\n } else {\n throw new Error(\"addr must be a string, Buffer, or another Multiaddr\");\n }\n this.bytes = parts.bytes;\n this.#string = parts.string;\n this.#tuples = parts.tuples;\n this.#stringTuples = parts.stringTuples;\n this.#path = parts.path;\n }\n toString() {\n return this.#string;\n }\n toJSON() {\n return this.toString();\n }\n toOptions() {\n let family;\n let transport;\n let host;\n let port;\n let zone = \"\";\n const tcp = (0,_protocols_table_js__WEBPACK_IMPORTED_MODULE_5__.getProtocol)(\"tcp\");\n const udp = (0,_protocols_table_js__WEBPACK_IMPORTED_MODULE_5__.getProtocol)(\"udp\");\n const ip4 = (0,_protocols_table_js__WEBPACK_IMPORTED_MODULE_5__.getProtocol)(\"ip4\");\n const ip6 = (0,_protocols_table_js__WEBPACK_IMPORTED_MODULE_5__.getProtocol)(\"ip6\");\n const dns6 = (0,_protocols_table_js__WEBPACK_IMPORTED_MODULE_5__.getProtocol)(\"dns6\");\n const ip6zone = (0,_protocols_table_js__WEBPACK_IMPORTED_MODULE_5__.getProtocol)(\"ip6zone\");\n for (const [code, value] of this.stringTuples()){\n if (code === ip6zone.code) {\n zone = `%${value ?? \"\"}`;\n }\n // default to https when protocol & port are omitted from DNS addrs\n if (DNS_CODES.includes(code)) {\n transport = tcp.name;\n port = 443;\n host = `${value ?? \"\"}${zone}`;\n family = code === dns6.code ? 6 : 4;\n }\n if (code === tcp.code || code === udp.code) {\n transport = (0,_protocols_table_js__WEBPACK_IMPORTED_MODULE_5__.getProtocol)(code).name;\n port = parseInt(value ?? \"\");\n }\n if (code === ip4.code || code === ip6.code) {\n transport = (0,_protocols_table_js__WEBPACK_IMPORTED_MODULE_5__.getProtocol)(code).name;\n host = `${value ?? \"\"}${zone}`;\n family = code === ip6.code ? 6 : 4;\n }\n }\n if (family == null || transport == null || host == null || port == null) {\n throw new Error('multiaddr must have a valid format: \"/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}\".');\n }\n const opts = {\n family,\n host,\n transport,\n port\n };\n return opts;\n }\n protos() {\n return this.#tuples.map(([code])=>Object.assign({}, (0,_protocols_table_js__WEBPACK_IMPORTED_MODULE_5__.getProtocol)(code)));\n }\n protoCodes() {\n return this.#tuples.map(([code])=>code);\n }\n protoNames() {\n return this.#tuples.map(([code])=>(0,_protocols_table_js__WEBPACK_IMPORTED_MODULE_5__.getProtocol)(code).name);\n }\n tuples() {\n return this.#tuples;\n }\n stringTuples() {\n return this.#stringTuples;\n }\n encapsulate(addr) {\n addr = new Multiaddr(addr);\n return new Multiaddr(this.toString() + addr.toString());\n }\n decapsulate(addr) {\n const addrString = addr.toString();\n const s = this.toString();\n const i = s.lastIndexOf(addrString);\n if (i < 0) {\n throw new Error(`Address ${this.toString()} does not contain subaddress: ${addr.toString()}`);\n }\n return new Multiaddr(s.slice(0, i));\n }\n decapsulateCode(code) {\n const tuples = this.tuples();\n for(let i = tuples.length - 1; i >= 0; i--){\n if (tuples[i][0] === code) {\n return new Multiaddr((0,_codec_js__WEBPACK_IMPORTED_MODULE_4__.tuplesToBytes)(tuples.slice(0, i)));\n }\n }\n return this;\n }\n getPeerId() {\n try {\n let tuples = [];\n this.stringTuples().forEach(([code, name])=>{\n if (code === _protocols_table_js__WEBPACK_IMPORTED_MODULE_5__.names.p2p.code) {\n tuples.push([\n code,\n name\n ]);\n }\n // if this is a p2p-circuit address, return the target peer id if present\n // not the peer id of the relay\n if (code === _protocols_table_js__WEBPACK_IMPORTED_MODULE_5__.names[\"p2p-circuit\"].code) {\n tuples = [];\n }\n });\n // Get the last ipfs tuple ['p2p', 'peerid string']\n const tuple = tuples.pop();\n if (tuple?.[1] != null) {\n const peerIdStr = tuple[1];\n // peer id is base58btc encoded string but not multibase encoded so add the `z`\n // prefix so we can validate that it is correctly encoded\n if (peerIdStr[0] === \"Q\" || peerIdStr[0] === \"1\") {\n return (0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_3__.toString)(multiformats_bases_base58__WEBPACK_IMPORTED_MODULE_0__.base58btc.decode(`z${peerIdStr}`), \"base58btc\");\n }\n // try to parse peer id as CID\n return (0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_3__.toString)(multiformats_cid__WEBPACK_IMPORTED_MODULE_1__.CID.parse(peerIdStr).multihash.bytes, \"base58btc\");\n }\n return null;\n } catch (e) {\n return null;\n }\n }\n getPath() {\n return this.#path;\n }\n equals(addr) {\n return (0,uint8arrays_equals__WEBPACK_IMPORTED_MODULE_2__.equals)(this.bytes, addr.bytes);\n }\n async resolve(options) {\n const resolvableProto = this.protos().find((p)=>p.resolvable);\n // Multiaddr is not resolvable?\n if (resolvableProto == null) {\n return [\n this\n ];\n }\n const resolver = _index_js__WEBPACK_IMPORTED_MODULE_6__.resolvers.get(resolvableProto.name);\n if (resolver == null) {\n throw new _libp2p_interface__WEBPACK_IMPORTED_MODULE_7__.CodeError(`no available resolver for ${resolvableProto.name}`, \"ERR_NO_AVAILABLE_RESOLVER\");\n }\n const result = await resolver(this, options);\n return result.map((str)=>(0,_index_js__WEBPACK_IMPORTED_MODULE_6__.multiaddr)(str));\n }\n nodeAddress() {\n const options = this.toOptions();\n if (options.transport !== \"tcp\" && options.transport !== \"udp\") {\n throw new Error(`multiaddr must have a valid format - no protocol with name: \"${options.transport}\". Must have a valid transport protocol: \"{tcp, udp}\"`);\n }\n return {\n family: options.family,\n address: options.host,\n port: options.port\n };\n }\n isThinWaistAddress(addr) {\n const protos = (addr ?? this).protos();\n if (protos.length !== 2) {\n return false;\n }\n if (protos[0].code !== 4 && protos[0].code !== 41) {\n return false;\n }\n if (protos[1].code !== 6 && protos[1].code !== 273) {\n return false;\n }\n return true;\n }\n /**\n * Returns Multiaddr as a human-readable string\n * https://nodejs.org/api/util.html#utilinspectcustom\n *\n * @example\n * ```js\n * import { multiaddr } from '@multiformats/multiaddr'\n *\n * console.info(multiaddr('/ip4/127.0.0.1/tcp/4001'))\n * // 'Multiaddr(/ip4/127.0.0.1/tcp/4001)'\n * ```\n */ [inspect]() {\n return `Multiaddr(${this.#string})`;\n }\n} //# sourceMappingURL=multiaddr.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQG11bHRpZm9ybWF0cy9tdWx0aWFkZHIvZGlzdC9zcmMvbXVsdGlhZGRyLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7Ozs7Ozs7O0NBWUMsR0FDNkM7QUFDUTtBQUNmO0FBQ3lCO0FBQ087QUFDbUI7QUFDaEM7QUFDSztBQUMvRCxNQUFNZSxVQUFVQyxPQUFPQyxHQUFHLENBQUM7QUFDcEIsTUFBTUMsU0FBU0YsT0FBT0MsR0FBRyxDQUFDLHdDQUF3QztBQUN6RSxNQUFNRSxZQUFZO0lBQ2RULGdFQUFXQSxDQUFDLE9BQU9VLElBQUk7SUFDdkJWLGdFQUFXQSxDQUFDLFFBQVFVLElBQUk7SUFDeEJWLGdFQUFXQSxDQUFDLFFBQVFVLElBQUk7SUFDeEJWLGdFQUFXQSxDQUFDLFdBQVdVLElBQUk7Q0FDOUI7QUFDRDs7Q0FFQyxHQUNNLE1BQU1DO0lBRVQsQ0FBQ0MsTUFBTSxDQUFDO0lBQ1IsQ0FBQ0MsTUFBTSxDQUFDO0lBQ1IsQ0FBQ0MsWUFBWSxDQUFDO0lBQ2QsQ0FBQ0MsSUFBSSxDQUFDO0lBRU5DLFlBQVlDLElBQUksQ0FBRTtZQURsQixDQUFDVCxPQUFPLEdBQUc7UUFFUCxVQUFVO1FBQ1YsSUFBSVMsUUFBUSxNQUFNO1lBQ2RBLE9BQU87UUFDWDtRQUNBLElBQUlDO1FBQ0osSUFBSUQsZ0JBQWdCRSxZQUFZO1lBQzVCRCxRQUFRckIsZ0VBQXFCQSxDQUFDb0I7UUFDbEMsT0FDSyxJQUFJLE9BQU9BLFNBQVMsVUFBVTtZQUMvQixJQUFJQSxLQUFLRyxNQUFNLEdBQUcsS0FBS0gsS0FBS0ksTUFBTSxDQUFDLE9BQU8sS0FBSztnQkFDM0MsTUFBTSxJQUFJQyxNQUFNLENBQUMsV0FBVyxFQUFFTCxLQUFLLHVCQUF1QixDQUFDO1lBQy9EO1lBQ0FDLFFBQVFwQixpRUFBc0JBLENBQUNtQjtRQUNuQyxPQUNLLElBQUlmLHNEQUFXQSxDQUFDZSxPQUFPO1lBQ3hCQyxRQUFRckIsZ0VBQXFCQSxDQUFD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WUFDaEQsT0FBTztRQUNYO1FBQ0EsT0FBTztJQUNYO0lBQ0E7Ozs7Ozs7Ozs7O0tBV0MsR0FDRCxDQUFDTCxRQUFRLEdBQUc7UUFDUixPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDTyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDO0FBQ0osRUFDQSxxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9AbXVsdGlmb3JtYXRzL211bHRpYWRkci9kaXN0L3NyYy9tdWx0aWFkZHIuanM/OGJhOSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIEFuIGltcGxlbWVudGF0aW9uIG9mIGEgTXVsdGlhZGRyIGluIEphdmFTY3JpcHRcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIGBgYGpzXG4gKiBpbXBvcnQgeyBtdWx0aWFkZHIgfSBmcm9tICdAbXVsdGlmb3JtYXRzL211bHRpYWRkcidcbiAqXG4gKiBjb25zdCBtYSA9IG11bHRpYWRkcignL2lwNC8xMjcuMC4wLjEvdGNwLzEyMzQnKVxuICogYGBgXG4gKi9cbmltcG9ydCB7IENvZGVFcnJvciB9IGZyb20gJ0BsaWJwMnAvaW50ZXJmYWNlJztcbmltcG9ydCB7IGJhc2U1OGJ0YyB9IGZyb20gJ211bHRpZm9ybWF0cy9iYXNlcy9iYXNlNTgnO1xuaW1wb3J0IHsgQ0lEIH0gZnJvbSAnbXVsdGlmb3JtYXRzL2NpZCc7XG5pbXBvcnQgeyBlcXVhbHMgYXMgdWludDhBcnJheUVxdWFscyB9IGZyb20gJ3VpbnQ4YXJyYXlzL2VxdWFscyc7XG5pbXBvcnQgeyB0b1N0cmluZyBhcyB1aW50OEFycmF5VG9TdHJpbmcgfSBmcm9tICd1aW50OGFycmF5cy90by1zdHJpbmcnO1xuaW1wb3J0IHsgYnl0ZXNUb011bHRpYWRkclBhcnRzLCBzdHJpbmdUb011bHRpYWRkclBhcnRzLCB0dXBsZXNUb0J5dGVzIH0gZnJvbSAnLi9jb2RlYy5qcyc7XG5pbXBvcnQgeyBnZXRQcm90b2NvbCwgbmFtZXMgfSBmcm9tICcuL3Byb3RvY29scy10YWJsZS5qcyc7XG5pbXBvcnQgeyBpc011bHRpYWRkciwgbXVsdGlhZGRyLCByZXNvbHZlcnMgfSBmcm9tICcuL2luZGV4LmpzJztcbmNvbnN0IGluc3BlY3QgPSBTeW1ib2wuZm9yKCdub2RlanMudXRpbC5pbnNwZWN0LmN1c3RvbScpO1xuZXhwb3J0IGNvbnN0IHN5bWJvbCA9IFN5bWJvbC5mb3IoJ0BtdWx0aWZvcm1hdHMvanMtbXVsdGlhZGRyL211bHRpYWRkcicpO1xuY29uc3QgRE5TX0NPREVTID0gW1xuICAgIGdldFByb3RvY29sKCdkbnMnKS5jb2RlLFxuICAgIGdldFByb3RvY29sKCdkbnM0JykuY29kZSxcbiAgICBnZXRQcm90b2NvbCgnZG5zNicpLmNvZGUsXG4gICAgZ2V0UHJvdG9jb2woJ2Ruc2FkZHInKS5jb2RlXG5dO1xuLyoqXG4gKiBDcmVhdGVzIGEge0BsaW5rIE11bHRpYWRkcn0gZnJvbSBhIHtAbGluayBNdWx0aWFkZHJJbnB1dH1cbiAqL1xuZXhwb3J0IGNsYXNzIE11bHRpYWRkciB7XG4gICAgYnl0ZXM7XG4gICAgI3N0cmluZztcbiAgICAjdHVwbGVzO1xuICAgICNzdHJpbmdUdXBsZXM7XG4gICAgI3BhdGg7XG4gICAgW3N5bWJvbF0gPSB0cnVlO1xuICAgIGNvbnN0cnVjdG9yKGFkZHIpIHtcbiAgICAgICAgLy8gZGVmYXVsdFxuICAgICAgICBpZiAoYWRkciA9PSBudWxsKSB7XG4gICAgICAgICAgICBhZGRyID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHBhcnRzO1xuICAgICAgICBpZiAoYWRkciBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpIHtcbiAgICAgICAgICAgIHBhcnRzID0gYnl0ZXNUb011bHRpYWRkclBhcnRzKGFkZHIpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHR5cGVvZiBhZGRyID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgaWYgKGFkZHIubGVuZ3RoID4gMCAmJiBhZGRyLmNoYXJBdCgwKSAhPT0gJy8nKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBtdWx0aWFkZHIgXCIke2FkZHJ9XCIgbXVzdCBzdGFydCB3aXRoIGEgXCIvXCJgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhcnRzID0gc3RyaW5nVG9NdWx0aWFkZHJQYXJ0cyhhZGRyKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChpc011bHRpYWRkcihhZGRyKSkgeyAvLyBNdWx0aWFkZHJcbiAgICAgICAgICAgIHBhcnRzID0gYnl0ZXNUb011bHRpYWRkclBhcnRzKGFkZHIuYnl0ZXMpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdhZGRyIG11c3QgYmUgYSBzdHJpbmcsIEJ1ZmZlciwgb3IgYW5vdGhlciBNdWx0aWFkZHInKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmJ5dGVzID0gcGFydHMuYnl0ZXM7XG4gICAgICAgIHRoaXMuI3N0cmluZyA9IHBhcnRzLnN0cmluZztcbiAgICAgICAgdGhpcy4jdHVwbGVzID0gcGFydHMudHVwbGVzO1xuICAgICAgICB0aGlzLiNzdHJpbmdUdXBsZXMgPSBwYXJ0cy5zdHJpbmdUdXBsZXM7XG4gICAgICAgIHRoaXMuI3BhdGggPSBwYXJ0cy5wYXRoO1xuICAgIH1cbiAgICB0b1N0cmluZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuI3N0cmluZztcbiAgICB9XG4gICAgdG9KU09OKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50b1N0cmluZygpO1xuICAgIH1cbiAgICB0b09wdGlvbnMoKSB7XG4gICAgICAgIGxldCBmYW1pbHk7XG4gICAgICAgIGxldCB0cmFuc3BvcnQ7XG4gICAgICAgIGxldCBob3N0O1xuICAgICAgICBsZXQgcG9ydDtcbiAgICAgICAgbGV0IHpvbmUgPSAnJztcbiAgICAgICAgY29uc3QgdGNwID0gZ2V0UHJvdG9jb2woJ3RjcCcpO1xuICAgICAgICBjb25zdCB1ZHAgPSBnZXRQcm90b2NvbCgndWRwJyk7XG4gICAgICAgIGNvbnN0IGlwNCA9IGdldFByb3RvY29sKCdpcDQnKTtcbiAgICAgICAgY29uc3QgaXA2ID0gZ2V0UHJvdG9jb2woJ2lwNicpO1xuICAgICAgICBjb25zdCBkbnM2ID0gZ2V0UHJvdG9jb2woJ2RuczYnKTtcbiAgICAgICAgY29uc3QgaXA2em9uZSA9IGdldFByb3RvY29sKCdpcDZ6b25lJyk7XG4gICAgICAgIGZvciAoY29uc3QgW2NvZGUsIHZhbHVlXSBvZiB0aGlzLnN0cmluZ1R1cGxlcygpKSB7XG4gICAgICAgICAgICBpZiAoY29kZSA9PT0gaXA2em9uZS5jb2RlKSB7XG4gICAgICAgICAgICAgICAgem9uZSA9IGAlJHt2YWx1ZSA/PyAnJ31gO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gZGVmYXVsdCB0byBodHRwcyB3aGVuIHByb3RvY29sICYgcG9ydCBhcmUgb21pdHRlZCBmcm9tIEROUyBhZGRyc1xuICAgICAgICAgICAgaWYgKEROU19DT0RFUy5pbmNsdWRlcyhjb2RlKSkge1xuICAgICAgICAgICAgICAgIHRyYW5zcG9ydCA9IHRjcC5uYW1lO1xuICAgICAgICAgICAgICAgIHBvcnQgPSA0NDM7XG4gICAgICAgICAgICAgICAgaG9zdCA9IGAke3ZhbHVlID8/ICcnfSR7em9uZX1gO1xuICAgICAgICAgICAgICAgIGZhbWlseSA9IGNvZGUgPT09IGRuczYuY29kZSA/IDYgOiA0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGNvZGUgPT09IHRjcC5jb2RlIHx8IGNvZGUgPT09IHVkcC5jb2RlKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNwb3J0ID0gZ2V0UHJvdG9jb2woY29kZSkubmFtZTtcbiAgICAgICAgICAgICAgICBwb3J0ID0gcGFyc2VJbnQodmFsdWUgPz8gJycpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGNvZGUgPT09IGlwNC5jb2RlIHx8IGNvZGUgPT09IGlwNi5jb2RlKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNwb3J0ID0gZ2V0UHJvdG9jb2woY29kZSkubmFtZTtcbiAgICAgICAgICAgICAgICBob3N0ID0gYCR7dmFsdWUgPz8gJyd9JHt6b25lfWA7XG4gICAgICAgICAgICAgICAgZmFtaWx5ID0gY29kZSA9PT0gaXA2LmNvZGUgPyA2IDogNDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZmFtaWx5ID09IG51bGwgfHwgdHJhbnNwb3J0ID09IG51bGwgfHwgaG9zdCA9PSBudWxsIHx8IHBvcnQgPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdtdWx0aWFkZHIgbXVzdCBoYXZlIGEgdmFsaWQgZm9ybWF0OiBcIi97aXA0LCBpcDYsIGRuczQsIGRuczYsIGRuc2FkZHJ9L3thZGRyZXNzfS97dGNwLCB1ZHB9L3twb3J0fVwiLicpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9wdHMgPSB7XG4gICAgICAgICAgICBmYW1pbHksXG4gICAgICAgICAgICBob3N0LFxuICAgICAgICAgICAgdHJhbnNwb3J0LFxuICAgICAgICAgICAgcG9ydFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gb3B0cztcbiAgICB9XG4gICAgcHJvdG9zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy4jdHVwbGVzLm1hcCgoW2NvZGVdKSA9PiBPYmplY3QuYXNzaWduKHt9LCBnZXRQcm90b2NvbChjb2RlKSkpO1xuICAgIH1cbiAgICBwcm90b0NvZGVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy4jdHVwbGVzLm1hcCgoW2NvZGVdKSA9PiBjb2RlKTtcbiAgICB9XG4gICAgcHJvdG9OYW1lcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuI3R1cGxlcy5tYXAoKFtjb2RlXSkgPT4gZ2V0UHJvdG9jb2woY29kZSkubmFtZSk7XG4gICAgfVxuICAgIHR1cGxlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuI3R1cGxlcztcbiAgICB9XG4gICAgc3RyaW5nVHVwbGVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy4jc3RyaW5nVHVwbGVzO1xuICAgIH1cbiAgICBlbmNhcHN1bGF0ZShhZGRyKSB7XG4gICAgICAgIGFkZHIgPSBuZXcgTXVsdGlhZGRyKGFkZHIpO1xuICAgICAgICByZXR1cm4gbmV3IE11bHRpYWRkcih0aGlzLnRvU3RyaW5nKCkgKyBhZGRyLnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgICBkZWNhcHN1bGF0ZShhZGRyKSB7XG4gICAgICAgIGNvbnN0IGFkZHJTdHJpbmcgPSBhZGRyLnRvU3RyaW5nKCk7XG4gICAgICAgIGNvbnN0IHMgPSB0aGlzLnRvU3RyaW5nKCk7XG4gICAgICAgIGNvbnN0IGkgPSBzLmxhc3RJbmRleE9mKGFkZHJTdHJpbmcpO1xuICAgICAgICBpZiAoaSA8IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQWRkcmVzcyAke3RoaXMudG9TdHJpbmcoKX0gZG9lcyBub3QgY29udGFpbiBzdWJhZGRyZXNzOiAke2FkZHIudG9TdHJpbmcoKX1gKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IE11bHRpYWRkcihzLnNsaWNlKDAsIGkpKTtcbiAgICB9XG4gICAgZGVjYXBzdWxhdGVDb2RlKGNvZGUpIHtcbiAgICAgICAgY29uc3QgdHVwbGVzID0gdGhpcy50dXBsZXMoKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IHR1cGxlcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgICAgaWYgKHR1cGxlc1tpXVswXSA9PT0gY29kZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgTXVsdGlhZGRyKHR1cGxlc1RvQnl0ZXModHVwbGVzLnNsaWNlKDAsIGkpKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIGdldFBlZXJJZCgpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGxldCB0dXBsZXMgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuc3RyaW5nVHVwbGVzKCkuZm9yRWFjaCgoW2NvZGUsIG5hbWVdKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGNvZGUgPT09IG5hbWVzLnAycC5jb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgIHR1cGxlcy5wdXNoKFtjb2RlLCBuYW1lXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIGlmIHRoaXMgaXMgYSBwMnAtY2lyY3VpdCBhZGRyZXNzLCByZXR1cm4gdGhlIHRhcmdldCBwZWVyIGlkIGlmIHByZXNlbnRcbiAgICAgICAgICAgICAgICAvLyBub3QgdGhlIHBlZXIgaWQgb2YgdGhlIHJlbGF5XG4gICAgICAgICAgICAgICAgaWYgKGNvZGUgPT09IG5hbWVzWydwMnAtY2lyY3VpdCddLmNvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdHVwbGVzID0gW107XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyBHZXQgdGhlIGxhc3QgaXBmcyB0dXBsZSBbJ3AycCcsICdwZWVyaWQgc3RyaW5nJ11cbiAgICAgICAgICAgIGNvbnN0IHR1cGxlID0gdHVwbGVzLnBvcCgpO1xuICAgICAgICAgICAgaWYgKHR1cGxlPy5bMV0gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBlZXJJZFN0ciA9IHR1cGxlWzFdO1xuICAgICAgICAgICAgICAgIC8vIHBlZXIgaWQgaXMgYmFzZTU4YnRjIGVuY29kZWQgc3RyaW5nIGJ1dCBub3QgbXVsdGliYXNlIGVuY29kZWQgc28gYWRkIHRoZSBgemBcbiAgICAgICAgICAgICAgICAvLyBwcmVmaXggc28gd2UgY2FuIHZhbGlkYXRlIHRoYXQgaXQgaXMgY29ycmVjdGx5IGVuY29kZWRcbiAgICAgICAgICAgICAgICBpZiAocGVlcklkU3RyWzBdID09PSAnUScgfHwgcGVlcklkU3RyWzBdID09PSAnMScpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVpbnQ4QXJyYXlUb1N0cmluZyhiYXNlNThidGMuZGVjb2RlKGB6JHtwZWVySWRTdHJ9YCksICdiYXNlNThidGMnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gdHJ5IHRvIHBhcnNlIHBlZXIgaWQgYXMgQ0lEXG4gICAgICAgICAgICAgICAgcmV0dXJuIHVpbnQ4QXJyYXlUb1N0cmluZyhDSUQucGFyc2UocGVlcklkU3RyKS5tdWx0aWhhc2guYnl0ZXMsICdiYXNlNThidGMnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXRQYXRoKCkge1xuICAgICAgICByZXR1cm4gdGhpcy4jcGF0aDtcbiAgICB9XG4gICAgZXF1YWxzKGFkZHIpIHtcbiAgICAgICAgcmV0dXJuIHVpbnQ4QXJyYXlFcXVhbHModGhpcy5ieXRlcywgYWRkci5ieXRlcyk7XG4gICAgfVxuICAgIGFzeW5jIHJlc29sdmUob3B0aW9ucykge1xuICAgICAgICBjb25zdCByZXNvbHZhYmxlUHJvdG8gPSB0aGlzLnByb3RvcygpLmZpbmQoKHApID0+IHAucmVzb2x2YWJsZSk7XG4gICAgICAgIC8vIE11bHRpYWRkciBpcyBub3QgcmVzb2x2YWJsZT9cbiAgICAgICAgaWYgKHJlc29sdmFibGVQcm90byA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gW3RoaXNdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc29sdmVyID0gcmVzb2x2ZXJzLmdldChyZXNvbHZhYmxlUHJvdG8ubmFtZSk7XG4gICAgICAgIGlmIChyZXNvbHZlciA9PSBudWxsKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQ29kZUVycm9yKGBubyBhdmFpbGFibGUgcmVzb2x2ZXIgZm9yICR7cmVzb2x2YWJsZVByb3RvLm5hbWV9YCwgJ0VSUl9OT19BVkFJTEFCTEVfUkVTT0xWRVInKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCByZXNvbHZlcih0aGlzLCBvcHRpb25zKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5tYXAoc3RyID0+IG11bHRpYWRkcihzdHIpKTtcbiAgICB9XG4gICAgbm9kZUFkZHJlc3MoKSB7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLnRvT3B0aW9ucygpO1xuICAgICAgICBpZiAob3B0aW9ucy50cmFuc3BvcnQgIT09ICd0Y3AnICYmIG9wdGlvbnMudHJhbnNwb3J0ICE9PSAndWRwJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBtdWx0aWFkZHIgbXVzdCBoYXZlIGEgdmFsaWQgZm9ybWF0IC0gbm8gcHJvdG9jb2wgd2l0aCBuYW1lOiBcIiR7b3B0aW9ucy50cmFuc3BvcnR9XCIuIE11c3QgaGF2ZSBhIHZhbGlkIHRyYW5zcG9ydCBwcm90b2NvbDogXCJ7dGNwLCB1ZHB9XCJgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZmFtaWx5OiBvcHRpb25zLmZhbWlseSxcbiAgICAgICAgICAgIGFkZHJlc3M6IG9wdGlvbnMuaG9zdCxcbiAgICAgICAgICAgIHBvcnQ6IG9wdGlvbnMucG9ydFxuICAgICAgICB9O1xuICAgIH1cbiAgICBpc1RoaW5XYWlzdEFkZHJlc3MoYWRkcikge1xuICAgICAgICBjb25zdCBwcm90b3MgPSAoYWRkciA/PyB0aGlzKS5wcm90b3MoKTtcbiAgICAgICAgaWYgKHByb3Rvcy5sZW5ndGggIT09IDIpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvdG9zWzBdLmNvZGUgIT09IDQgJiYgcHJvdG9zWzBdLmNvZGUgIT09IDQxKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByb3Rvc1sxXS5jb2RlICE9PSA2ICYmIHByb3Rvc1sxXS5jb2RlICE9PSAyNzMpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBNdWx0aWFkZHIgYXMgYSBodW1hbi1yZWFkYWJsZSBzdHJpbmdcbiAgICAgKiBodHRwczovL25vZGVqcy5vcmcvYXBpL3V0aWwuaHRtbCN1dGlsaW5zcGVjdGN1c3RvbVxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGBqc1xuICAgICAqIGltcG9ydCB7IG11bHRpYWRkciB9IGZyb20gJ0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyJ1xuICAgICAqXG4gICAgICogY29uc29sZS5pbmZvKG11bHRpYWRkcignL2lwNC8xMjcuMC4wLjEvdGNwLzQwMDEnKSlcbiAgICAgKiAvLyAnTXVsdGlhZGRyKC9pcDQvMTI3LjAuMC4xL3RjcC80MDAxKSdcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBbaW5zcGVjdF0oKSB7XG4gICAgICAgIHJldHVybiBgTXVsdGlhZGRyKCR7dGhpcy4jc3RyaW5nfSlgO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW11bHRpYWRkci5qcy5tYXAiXSwibmFtZXMiOlsiQ29kZUVycm9yIiwiYmFzZTU4YnRjIiwiQ0lEIiwiZXF1YWxzIiwidWludDhBcnJheUVxdWFscyIsInRvU3RyaW5nIiwidWludDhBcnJheVRvU3RyaW5nIiwiYnl0ZXNUb011bHRpYWRkclBhcnRzIiwic3RyaW5nVG9NdWx0aWFkZHJQYXJ0cyIsInR1cGxlc1RvQnl0ZXMiLCJnZXRQcm90b2NvbCIsIm5hbWVzIiwiaXNNdWx0aWFkZHIiLCJtdWx0aWFkZHIiLCJyZXNvbHZlcnMiLCJpbnNwZWN0IiwiU3ltYm9sIiwiZm9yIiwic3ltYm9sIiwiRE5TX0NPREVTIiwiY29kZSIsIk11bHRpYWRkciIsInN0cmluZyIsInR1cGxlcyIsInN0cmluZ1R1cGxlcyIsInBhdGgiLCJjb25zdHJ1Y3RvciIsImFkZHIiLCJwYXJ0cyIsIlVpbnQ4QXJyYXkiLCJsZW5ndGgiLCJjaGFyQXQiLCJFcnJvciIsImJ5dGVzIiwidG9KU09OIiwidG9PcHRpb25zIiwiZmFtaWx5IiwidHJhbnNwb3J0IiwiaG9zdCIsInBvcnQiLCJ6b25lIiwidGNwIiwidWRwIiwiaXA0IiwiaXA2IiwiZG5zNiIsImlwNnpvbmUiLCJ2YWx1ZSIsImluY2x1ZGVzIiwibmFtZSIsInBhcnNlSW50Iiwib3B0cyIsInByb3RvcyIsIm1hcCIsIk9iamVjdCIsImFzc2lnbiIsInByb3RvQ29kZXMiLCJwcm90b05hbWVzIiwiZW5jYXBzdWxhdGUiLCJkZWNhcHN1bGF0ZSIsImFkZHJTdHJpbmciLCJzIiwiaSIsImxhc3RJbmRleE9mIiwic2xpY2UiLCJkZWNhcHN1bGF0ZUNvZGUiLCJnZXRQZWVySWQiLCJmb3JFYWNoIiwicDJwIiwicHVzaCIsInR1cGxlIiwicG9wIiwicGVlcklkU3RyIiwiZGVjb2RlIiwicGFyc2UiLCJtdWx0aWhhc2giLCJlIiwiZ2V0UGF0aCIsInJlc29sdmUiLCJvcHRpb25zIiwicmVzb2x2YWJsZVByb3RvIiwiZmluZCIsInAiLCJyZXNvbHZhYmxlIiwicmVzb2x2ZXIiLCJnZXQiLCJyZXN1bHQiLCJzdHIiLCJub2RlQWRkcmVzcyIsImFkZHJlc3MiLCJpc1RoaW5XYWlzdEFkZHJlc3MiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@multiformats/multiaddr/dist/src/multiaddr.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@multiformats/multiaddr/dist/src/protocols-table.js":
/*!**************************************************************************!*\
!*** ./node_modules/@multiformats/multiaddr/dist/src/protocols-table.js ***!
\**************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ codes: () => (/* binding */ codes),\n/* harmony export */ createProtocol: () => (/* binding */ createProtocol),\n/* harmony export */ getProtocol: () => (/* binding */ getProtocol),\n/* harmony export */ names: () => (/* binding */ names),\n/* harmony export */ table: () => (/* binding */ table)\n/* harmony export */ });\nconst V = -1;\nconst names = {};\nconst codes = {};\nconst table = [\n [\n 4,\n 32,\n \"ip4\"\n ],\n [\n 6,\n 16,\n \"tcp\"\n ],\n [\n 33,\n 16,\n \"dccp\"\n ],\n [\n 41,\n 128,\n \"ip6\"\n ],\n [\n 42,\n V,\n \"ip6zone\"\n ],\n [\n 43,\n 8,\n \"ipcidr\"\n ],\n [\n 53,\n V,\n \"dns\",\n true\n ],\n [\n 54,\n V,\n \"dns4\",\n true\n ],\n [\n 55,\n V,\n \"dns6\",\n true\n ],\n [\n 56,\n V,\n \"dnsaddr\",\n true\n ],\n [\n 132,\n 16,\n \"sctp\"\n ],\n [\n 273,\n 16,\n \"udp\"\n ],\n [\n 275,\n 0,\n \"p2p-webrtc-star\"\n ],\n [\n 276,\n 0,\n \"p2p-webrtc-direct\"\n ],\n [\n 277,\n 0,\n \"p2p-stardust\"\n ],\n [\n 280,\n 0,\n \"webrtc-direct\"\n ],\n [\n 281,\n 0,\n \"webrtc\"\n ],\n [\n 290,\n 0,\n \"p2p-circuit\"\n ],\n [\n 301,\n 0,\n \"udt\"\n ],\n [\n 302,\n 0,\n \"utp\"\n ],\n [\n 400,\n V,\n \"unix\",\n false,\n true\n ],\n // `ipfs` is added before `p2p` for legacy support.\n // All text representations will default to `p2p`, but `ipfs` will\n // still be supported\n [\n 421,\n V,\n \"ipfs\"\n ],\n // `p2p` is the preferred name for 421, and is now the default\n [\n 421,\n V,\n \"p2p\"\n ],\n [\n 443,\n 0,\n \"https\"\n ],\n [\n 444,\n 96,\n \"onion\"\n ],\n [\n 445,\n 296,\n \"onion3\"\n ],\n [\n 446,\n V,\n \"garlic64\"\n ],\n [\n 448,\n 0,\n \"tls\"\n ],\n [\n 449,\n V,\n \"sni\"\n ],\n [\n 460,\n 0,\n \"quic\"\n ],\n [\n 461,\n 0,\n \"quic-v1\"\n ],\n [\n 465,\n 0,\n \"webtransport\"\n ],\n [\n 466,\n V,\n \"certhash\"\n ],\n [\n 477,\n 0,\n \"ws\"\n ],\n [\n 478,\n 0,\n \"wss\"\n ],\n [\n 479,\n 0,\n \"p2p-websocket-star\"\n ],\n [\n 480,\n 0,\n \"http\"\n ],\n [\n 777,\n V,\n \"memory\"\n ]\n];\n// populate tables\ntable.forEach((row)=>{\n const proto = createProtocol(...row);\n codes[proto.code] = proto;\n names[proto.name] = proto;\n});\nfunction createProtocol(code, size, name, resolvable, path) {\n return {\n code,\n size,\n name,\n resolvable: Boolean(resolvable),\n path: Boolean(path)\n };\n}\n/**\n * For the passed proto string or number, return a {@link Protocol}\n *\n * @example\n *\n * ```js\n * import { protocol } from '@multiformats/multiaddr'\n *\n * console.info(protocol(4))\n * // { code: 4, size: 32, name: 'ip4', resolvable: false, path: false }\n * ```\n */ function getProtocol(proto) {\n if (typeof proto === \"number\") {\n if (codes[proto] != null) {\n return codes[proto];\n }\n throw new Error(`no protocol with code: ${proto}`);\n } else if (typeof proto === \"string\") {\n if (names[proto] != null) {\n return names[proto];\n }\n throw new Error(`no protocol with name: ${proto}`);\n }\n throw new Error(`invalid protocol id type: ${typeof proto}`);\n} //# sourceMappingURL=protocols-table.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQG11bHRpZm9ybWF0cy9tdWx0aWFkZHIvZGlzdC9zcmMvcHJvdG9jb2xzLXRhYmxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsTUFBTUEsSUFBSSxDQUFDO0FBQ0osTUFBTUMsUUFBUSxDQUFDLEVBQUU7QUFDakIsTUFBTUMsUUFBUSxDQUFDLEVBQUU7QUFDakIsTUFBTUMsUUFBUTtJQUNqQjtRQUFDO1FBQUc7UUFBSTtLQUFNO0lBQ2Q7UUFBQztRQUFHO1FBQUk7S0FBTTtJQUNkO1FBQUM7UUFBSTtRQUFJO0tBQU87SUFDaEI7UUFBQztRQUFJO1FBQUs7S0FBTTtJQUNoQjtRQUFDO1FBQUlIO1FBQUc7S0FBVTtJQUNsQjtRQUFDO1FBQUk7UUFBRztLQUFTO0lBQ2pCO1FBQUM7UUFBSUE7UUFBRztRQUFPO0tBQUs7SUFDcEI7UUFBQztRQUFJQTtRQUFHO1FBQVE7S0FBSztJQUNyQjtRQUFDO1FBQUlBO1FBQUc7UUFBUTtLQUFLO0lBQ3JCO1FBQUM7UUFBSUE7UUFBRztRQUFXO0tBQUs7SUFDeEI7UUFBQztRQUFLO1FBQUk7S0FBTztJQUNqQjtRQUFDO1FBQUs7UUFBSTtLQUFNO0lBQ2hCO1FBQUM7UUFBSztRQUFHO0tBQWtCO0lBQzNCO1FBQUM7UUFBSztRQUFHO0tBQW9CO0lBQzdCO1FBQUM7UUFBSztRQUFHO0tBQWU7SUFDeEI7UUFBQztRQUFLO1FBQUc7S0FBZ0I7SUFDekI7UUFBQztRQUFLO1FBQUc7S0FBUztJQUNsQjtRQUFDO1FBQUs7UUFBRztLQUFjO0lBQ3ZCO1FBQUM7UUFBSztRQUFHO0tBQU07SUFDZjtRQUFDO1FBQUs7UUFBRztLQUFNO0lBQ2Y7UUFBQztRQUFLQTtRQUFHO1FBQVE7UUFBTztLQUFLO0lBQzdCLG1EQUFtRDtJQUNuRCxrRUFBa0U7SUFDbEUscUJBQXFCO0lBQ3JCO1FBQUM7UUFBS0E7UUFBRztLQUFPO0lBQ2hCLDhEQUE4RDtJQUM5RDtRQUFDO1FBQUtBO1FBQUc7S0FBTTtJQUNmO1FBQUM7UUFBSztRQUFHO0tBQVE7SUFDakI7UUFBQztRQUFLO1FBQUk7S0FBUTtJQUNsQjtRQUFDO1FBQUs7UUFBSztLQUFTO0lBQ3BCO1FBQUM7UUFBS0E7UUFBRztLQUFXO0lBQ3BCO1FBQUM7UUFBSztRQUFHO0tBQU07SUFDZjtRQUFDO1FBQUtBO1FBQUc7S0FBTTtJQUNmO1FBQUM7UUFBSztRQUFHO0tBQU87SUFDaEI7UUFBQztRQUFLO1FBQUc7S0FBVTtJQUNuQjtRQUFDO1FBQUs7UUFBRztLQUFlO0lBQ3hCO1FBQUM7UUFBS0E7UUFBRztLQUFXO0lBQ3BCO1FBQUM7UUFBSztRQUFHO0tBQUs7SUFDZDtRQUFDO1FBQUs7UUFBRztLQUFNO0lBQ2Y7UUFBQztRQUFLO1FBQUc7S0FBcUI7SUFDOUI7UUFBQztRQUFLO1FBQUc7S0FBTztJQUNoQjtRQUFDO1FBQUtBO1FBQUc7S0FBUztDQUNyQixDQUFDO0FBQ0Ysa0JBQWtCO0FBQ2xCRyxNQUFNQyxPQUFPLENBQUNDLENBQUFBO0lBQ1YsTUFBTUMsUUFBUUMsa0JBQWtCRjtJQUNoQ0gsS0FBSyxDQUFDSSxNQUFNRSxJQUFJLENBQUMsR0FBR0Y7SUFDcEJMLEtBQUssQ0FBQ0ssTUFBTUcsSUFBSSxDQUFDLEdBQUdIO0FBQ3hCO0FBQ08sU0FBU0MsZUFBZUMsSUFBSSxFQUFFRSxJQUFJLEVBQUVELElBQUksRUFBRUUsVUFBVSxFQUFFQyxJQUFJO0lBQzdELE9BQU87UUFDSEo7UUFDQUU7UUFDQUQ7UUFDQUUsWUFBWUUsUUFBUUY7UUFDcEJDLE1BQU1DLFFBQVFEO0lBQ2xCO0FBQ0o7QUFDQTs7Ozs7Ozs7Ozs7Q0FXQyxHQUNNLFNBQVNFLFlBQVlSLEtBQUs7SUFDN0IsSUFBSSxPQUFPQSxVQUFVLFVBQVU7UUFDM0IsSUFBSUosS0FBSyxDQUFDSSxNQUFNLElBQUksTUFBTTtZQUN0QixPQUFPSixLQUFLLENBQUNJLE1BQU07UUFDdkI7UUFDQSxNQUFNLElBQUlTLE1BQU0sQ0FBQyx1QkFBdUIsRUFBRVQsTUFBTSxDQUFDO0lBQ3JELE9BQ0ssSUFBSSxPQUFPQSxVQUFVLFVBQVU7UUFDaEMsSUFBSUwsS0FBSyxDQUFDSyxNQUFNLElBQUksTUFBTTtZQUN0QixPQUFPTCxLQUFLLENBQUNLLE1BQU07UUFDdkI7UUFDQSxNQUFNLElBQUlTLE1BQU0sQ0FBQyx1QkFBdUIsRUFBRVQsTUFBTSxDQUFDO0lBQ3JEO0lBQ0EsTUFBTSxJQUFJUyxNQUFNLENBQUMsMEJBQTBCLEVBQUUsT0FBT1QsTUFBTSxDQUFDO0FBQy9ELEVBQ0EsMkNBQTJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQG11bHRpZm9ybWF0cy9tdWx0aWFkZHIvZGlzdC9zcmMvcHJvdG9jb2xzLXRhYmxlLmpzPzc1Y2MiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgViA9IC0xO1xuZXhwb3J0IGNvbnN0IG5hbWVzID0ge307XG5leHBvcnQgY29uc3QgY29kZXMgPSB7fTtcbmV4cG9ydCBjb25zdCB0YWJsZSA9IFtcbiAgICBbNCwgMzIsICdpcDQnXSxcbiAgICBbNiwgMTYsICd0Y3AnXSxcbiAgICBbMzMsIDE2LCAnZGNjcCddLFxuICAgIFs0MSwgMTI4LCAnaXA2J10sXG4gICAgWzQyLCBWLCAnaXA2em9uZSddLFxuICAgIFs0MywgOCwgJ2lwY2lkciddLFxuICAgIFs1MywgViwgJ2RucycsIHRydWVdLFxuICAgIFs1NCwgViwgJ2RuczQnLCB0cnVlXSxcbiAgICBbNTUsIFYsICdkbnM2JywgdHJ1ZV0sXG4gICAgWzU2LCBWLCAnZG5zYWRkcicsIHRydWVdLFxuICAgIFsxMzIsIDE2LCAnc2N0cCddLFxuICAgIFsyNzMsIDE2LCAndWRwJ10sXG4gICAgWzI3NSwgMCwgJ3AycC13ZWJydGMtc3RhciddLFxuICAgIFsyNzYsIDAsICdwMnAtd2VicnRjLWRpcmVjdCddLFxuICAgIFsyNzcsIDAsICdwMnAtc3RhcmR1c3QnXSxcbiAgICBbMjgwLCAwLCAnd2VicnRjLWRpcmVjdCddLFxuICAgIFsyODEsIDAsICd3ZWJydGMnXSxcbiAgICBbMjkwLCAwLCAncDJwLWNpcmN1aXQnXSxcbiAgICBbMzAxLCAwLCAndWR0J10sXG4gICAgWzMwMiwgMCwgJ3V0cCddLFxuICAgIFs0MDAsIFYsICd1bml4JywgZmFsc2UsIHRydWVdLFxuICAgIC8vIGBpcGZzYCBpcyBhZGRlZCBiZWZvcmUgYHAycGAgZm9yIGxlZ2FjeSBzdXBwb3J0LlxuICAgIC8vIEFsbCB0ZXh0IHJlcHJlc2VudGF0aW9ucyB3aWxsIGRlZmF1bHQgdG8gYHAycGAsIGJ1dCBgaXBmc2Agd2lsbFxuICAgIC8vIHN0aWxsIGJlIHN1cHBvcnRlZFxuICAgIFs0MjEsIFYsICdpcGZzJ10sXG4gICAgLy8gYHAycGAgaXMgdGhlIHByZWZlcnJlZCBuYW1lIGZvciA0MjEsIGFuZCBpcyBub3cgdGhlIGRlZmF1bHRcbiAgICBbNDIxLCBWLCAncDJwJ10sXG4gICAgWzQ0MywgMCwgJ2h0dHBzJ10sXG4gICAgWzQ0NCwgOTYsICdvbmlvbiddLFxuICAgIFs0NDUsIDI5NiwgJ29uaW9uMyddLFxuICAgIFs0NDYsIFYsICdnYXJsaWM2NCddLFxuICAgIFs0NDgsIDAsICd0bHMnXSxcbiAgICBbNDQ5LCBWLCAnc25pJ10sXG4gICAgWzQ2MCwgMCwgJ3F1aWMnXSxcbiAgICBbNDYxLCAwLCAncXVpYy12MSddLFxuICAgIFs0NjUsIDAsICd3ZWJ0cmFuc3BvcnQnXSxcbiAgICBbNDY2LCBWLCAnY2VydGhhc2gnXSxcbiAgICBbNDc3LCAwLCAnd3MnXSxcbiAgICBbNDc4LCAwLCAnd3NzJ10sXG4gICAgWzQ3OSwgMCwgJ3AycC13ZWJzb2NrZXQtc3RhciddLFxuICAgIFs0ODAsIDAsICdodHRwJ10sXG4gICAgWzc3NywgViwgJ21lbW9yeSddXG5dO1xuLy8gcG9wdWxhdGUgdGFibGVzXG50YWJsZS5mb3JFYWNoKHJvdyA9PiB7XG4gICAgY29uc3QgcHJvdG8gPSBjcmVhdGVQcm90b2NvbCguLi5yb3cpO1xuICAgIGNvZGVzW3Byb3RvLmNvZGVdID0gcHJvdG87XG4gICAgbmFtZXNbcHJvdG8ubmFtZV0gPSBwcm90bztcbn0pO1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVByb3RvY29sKGNvZGUsIHNpemUsIG5hbWUsIHJlc29sdmFibGUsIHBhdGgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBjb2RlLFxuICAgICAgICBzaXplLFxuICAgICAgICBuYW1lLFxuICAgICAgICByZXNvbHZhYmxlOiBCb29sZWFuKHJlc29sdmFibGUpLFxuICAgICAgICBwYXRoOiBCb29sZWFuKHBhdGgpXG4gICAgfTtcbn1cbi8qKlxuICogRm9yIHRoZSBwYXNzZWQgcHJvdG8gc3RyaW5nIG9yIG51bWJlciwgcmV0dXJuIGEge0BsaW5rIFByb3RvY29sfVxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogYGBganNcbiAqIGltcG9ydCB7IHByb3RvY29sIH0gZnJvbSAnQG11bHRpZm9ybWF0cy9tdWx0aWFkZHInXG4gKlxuICogY29uc29sZS5pbmZvKHByb3RvY29sKDQpKVxuICogLy8geyBjb2RlOiA0LCBzaXplOiAzMiwgbmFtZTogJ2lwNCcsIHJlc29sdmFibGU6IGZhbHNlLCBwYXRoOiBmYWxzZSB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFByb3RvY29sKHByb3RvKSB7XG4gICAgaWYgKHR5cGVvZiBwcm90byA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgaWYgKGNvZGVzW3Byb3RvXSAhPSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gY29kZXNbcHJvdG9dO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgbm8gcHJvdG9jb2wgd2l0aCBjb2RlOiAke3Byb3RvfWApO1xuICAgIH1cbiAgICBlbHNlIGlmICh0eXBlb2YgcHJvdG8gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGlmIChuYW1lc1twcm90b10gIT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG5hbWVzW3Byb3RvXTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYG5vIHByb3RvY29sIHdpdGggbmFtZTogJHtwcm90b31gKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGBpbnZhbGlkIHByb3RvY29sIGlkIHR5cGU6ICR7dHlwZW9mIHByb3RvfWApO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHJvdG9jb2xzLXRhYmxlLmpzLm1hcCJdLCJuYW1lcyI6WyJWIiwibmFtZXMiLCJjb2RlcyIsInRhYmxlIiwiZm9yRWFjaCIsInJvdyIsInByb3RvIiwiY3JlYXRlUHJvdG9jb2wiLCJjb2RlIiwibmFtZSIsInNpemUiLCJyZXNvbHZhYmxlIiwicGF0aCIsIkJvb2xlYW4iLCJnZXRQcm90b2NvbCIsIkVycm9yIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@multiformats/multiaddr/dist/src/protocols-table.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@multiformats/multiaddr/dist/src/resolvers/dnsaddr.js":
/*!****************************************************************************!*\
!*** ./node_modules/@multiformats/multiaddr/dist/src/resolvers/dnsaddr.js ***!
\****************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ dnsaddrResolver: () => (/* binding */ dnsaddrResolver)\n/* harmony export */ });\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/errors.js\");\n/* harmony import */ var _multiformats_dns__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @multiformats/dns */ \"(ssr)/./node_modules/@multiformats/dns/dist/src/index.js\");\n/* harmony import */ var _index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../index.js */ \"(ssr)/./node_modules/@multiformats/multiaddr/dist/src/index.js\");\n/* harmony import */ var _protocols_table_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../protocols-table.js */ \"(ssr)/./node_modules/@multiformats/multiaddr/dist/src/protocols-table.js\");\n\n\n\n\nconst MAX_RECURSIVE_DEPTH = 32;\nconst { code: dnsaddrCode } = (0,_protocols_table_js__WEBPACK_IMPORTED_MODULE_2__.getProtocol)(\"dnsaddr\");\nconst dnsaddrResolver = async function dnsaddrResolver(ma, options = {}) {\n const recursionLimit = options.maxRecursiveDepth ?? MAX_RECURSIVE_DEPTH;\n if (recursionLimit === 0) {\n throw new _libp2p_interface__WEBPACK_IMPORTED_MODULE_3__.CodeError(\"Max recursive depth reached\", \"ERR_MAX_RECURSIVE_DEPTH_REACHED\");\n }\n const [, hostname] = ma.stringTuples().find(([proto])=>proto === dnsaddrCode) ?? [];\n const resolver = options?.dns ?? (0,_multiformats_dns__WEBPACK_IMPORTED_MODULE_0__.dns)();\n const result = await resolver.query(`_dnsaddr.${hostname}`, {\n signal: options?.signal,\n types: [\n _multiformats_dns__WEBPACK_IMPORTED_MODULE_0__.RecordType.TXT\n ]\n });\n const peerId = ma.getPeerId();\n const output = [];\n for (const answer of result.Answer){\n const addr = answer.data.split(\"=\")[1];\n if (addr == null) {\n continue;\n }\n if (peerId != null && !addr.includes(peerId)) {\n continue;\n }\n const ma = (0,_index_js__WEBPACK_IMPORTED_MODULE_1__.multiaddr)(addr);\n if (addr.startsWith(\"/dnsaddr\")) {\n const resolved = await ma.resolve({\n ...options,\n maxRecursiveDepth: recursionLimit - 1\n });\n output.push(...resolved.map((ma)=>ma.toString()));\n } else {\n output.push(ma.toString());\n }\n }\n return output;\n}; //# sourceMappingURL=dnsaddr.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQG11bHRpZm9ybWF0cy9tdWx0aWFkZHIvZGlzdC9zcmMvcmVzb2x2ZXJzL2Ruc2FkZHIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBOEM7QUFDTTtBQUNaO0FBQ1k7QUFDcEQsTUFBTUssc0JBQXNCO0FBQzVCLE1BQU0sRUFBRUMsTUFBTUMsV0FBVyxFQUFFLEdBQUdILGdFQUFXQSxDQUFDO0FBQ25DLE1BQU1JLGtCQUFrQixlQUFlQSxnQkFBZ0JDLEVBQUUsRUFBRUMsVUFBVSxDQUFDLENBQUM7SUFDMUUsTUFBTUMsaUJBQWlCRCxRQUFRRSxpQkFBaUIsSUFBSVA7SUFDcEQsSUFBSU0sbUJBQW1CLEdBQUc7UUFDdEIsTUFBTSxJQUFJWCx3REFBU0EsQ0FBQywrQkFBK0I7SUFDdkQ7SUFDQSxNQUFNLEdBQUdhLFNBQVMsR0FBR0osR0FBR0ssWUFBWSxHQUFHQyxJQUFJLENBQUMsQ0FBQyxDQUFDQyxNQUFNLEdBQUtBLFVBQVVULGdCQUFnQixFQUFFO0lBQ3JGLE1BQU1VLFdBQVdQLFNBQVNULE9BQU9BLHNEQUFHQTtJQUNwQyxNQUFNaUIsU0FBUyxNQUFNRCxTQUFTRSxLQUFLLENBQUMsQ0FBQyxTQUFTLEVBQUVOLFNBQVMsQ0FBQyxFQUFFO1FBQ3hETyxRQUFRVixTQUFTVTtRQUNqQkMsT0FBTztZQUNIbkIseURBQVVBLENBQUNvQixHQUFHO1NBQ2pCO0lBQ0w7SUFDQSxNQUFNQyxTQUFTZCxHQUFHZSxTQUFTO0lBQzNCLE1BQU1DLFNBQVMsRUFBRTtJQUNqQixLQUFLLE1BQU1DLFVBQVVSLE9BQU9TLE1BQU0sQ0FBRTtRQUNoQyxNQUFNQyxPQUFPRixPQUFPRyxJQUFJLENBQUNDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN0QyxJQUFJRixRQUFRLE1BQU07WUFDZDtRQUNKO1FBQ0EsSUFBSUwsVUFBVSxRQUFRLENBQUNLLEtBQUtHLFFBQVEsQ0FBQ1IsU0FBUztZQUMxQztRQUNKO1FBQ0EsTUFBTWQsS0FBS04sb0RBQVNBLENBQUN5QjtRQUNyQixJQUFJQSxLQUFLSSxVQUFVLENBQUMsYUFBYTtZQUM3QixNQUFNQyxXQUFXLE1BQU14QixHQUFHeUIsT0FBTyxDQUFDO2dCQUM5QixHQUFHeEIsT0FBTztnQkFDVkUsbUJBQW1CRCxpQkFBaUI7WUFDeEM7WUFDQWMsT0FBT1UsSUFBSSxJQUFJRixTQUFTRyxHQUFHLENBQUMzQixDQUFBQSxLQUFNQSxHQUFHNEIsUUFBUTtRQUNqRCxPQUNLO1lBQ0RaLE9BQU9VLElBQUksQ0FBQzFCLEdBQUc0QixRQUFRO1FBQzNCO0lBQ0o7SUFDQSxPQUFPWjtBQUNYLEVBQUUsQ0FDRixtQ0FBbUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9AbXVsdGlmb3JtYXRzL211bHRpYWRkci9kaXN0L3NyYy9yZXNvbHZlcnMvZG5zYWRkci5qcz81MmUyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvZGVFcnJvciB9IGZyb20gJ0BsaWJwMnAvaW50ZXJmYWNlJztcbmltcG9ydCB7IGRucywgUmVjb3JkVHlwZSB9IGZyb20gJ0BtdWx0aWZvcm1hdHMvZG5zJztcbmltcG9ydCB7IG11bHRpYWRkciB9IGZyb20gJy4uL2luZGV4LmpzJztcbmltcG9ydCB7IGdldFByb3RvY29sIH0gZnJvbSAnLi4vcHJvdG9jb2xzLXRhYmxlLmpzJztcbmNvbnN0IE1BWF9SRUNVUlNJVkVfREVQVEggPSAzMjtcbmNvbnN0IHsgY29kZTogZG5zYWRkckNvZGUgfSA9IGdldFByb3RvY29sKCdkbnNhZGRyJyk7XG5leHBvcnQgY29uc3QgZG5zYWRkclJlc29sdmVyID0gYXN5bmMgZnVuY3Rpb24gZG5zYWRkclJlc29sdmVyKG1hLCBvcHRpb25zID0ge30pIHtcbiAgICBjb25zdCByZWN1cnNpb25MaW1pdCA9IG9wdGlvbnMubWF4UmVjdXJzaXZlRGVwdGggPz8gTUFYX1JFQ1VSU0lWRV9ERVBUSDtcbiAgICBpZiAocmVjdXJzaW9uTGltaXQgPT09IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IENvZGVFcnJvcignTWF4IHJlY3Vyc2l2ZSBkZXB0aCByZWFjaGVkJywgJ0VSUl9NQVhfUkVDVVJTSVZFX0RFUFRIX1JFQUNIRUQnKTtcbiAgICB9XG4gICAgY29uc3QgWywgaG9zdG5hbWVdID0gbWEuc3RyaW5nVHVwbGVzKCkuZmluZCgoW3Byb3RvXSkgPT4gcHJvdG8gPT09IGRuc2FkZHJDb2RlKSA/PyBbXTtcbiAgICBjb25zdCByZXNvbHZlciA9IG9wdGlvbnM/LmRucyA/PyBkbnMoKTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCByZXNvbHZlci5xdWVyeShgX2Ruc2FkZHIuJHtob3N0bmFtZX1gLCB7XG4gICAgICAgIHNpZ25hbDogb3B0aW9ucz8uc2lnbmFsLFxuICAgICAgICB0eXBlczogW1xuICAgICAgICAgICAgUmVjb3JkVHlwZS5UWFRcbiAgICAgICAgXVxuICAgIH0pO1xuICAgIGNvbnN0IHBlZXJJZCA9IG1hLmdldFBlZXJJZCgpO1xuICAgIGNvbnN0IG91dHB1dCA9IFtdO1xuICAgIGZvciAoY29uc3QgYW5zd2VyIG9mIHJlc3VsdC5BbnN3ZXIpIHtcbiAgICAgICAgY29uc3QgYWRkciA9IGFuc3dlci5kYXRhLnNwbGl0KCc9JylbMV07XG4gICAgICAgIGlmIChhZGRyID09IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwZWVySWQgIT0gbnVsbCAmJiAhYWRkci5pbmNsdWRlcyhwZWVySWQpKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtYSA9IG11bHRpYWRkcihhZGRyKTtcbiAgICAgICAgaWYgKGFkZHIuc3RhcnRzV2l0aCgnL2Ruc2FkZHInKSkge1xuICAgICAgICAgICAgY29uc3QgcmVzb2x2ZWQgPSBhd2FpdCBtYS5yZXNvbHZlKHtcbiAgICAgICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgICAgIG1heFJlY3Vyc2l2ZURlcHRoOiByZWN1cnNpb25MaW1pdCAtIDFcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgb3V0cHV0LnB1c2goLi4ucmVzb2x2ZWQubWFwKG1hID0+IG1hLnRvU3RyaW5nKCkpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIG91dHB1dC5wdXNoKG1hLnRvU3RyaW5nKCkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBvdXRwdXQ7XG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZG5zYWRkci5qcy5tYXAiXSwibmFtZXMiOlsiQ29kZUVycm9yIiwiZG5zIiwiUmVjb3JkVHlwZSIsIm11bHRpYWRkciIsImdldFByb3RvY29sIiwiTUFYX1JFQ1VSU0lWRV9ERVBUSCIsImNvZGUiLCJkbnNhZGRyQ29kZSIsImRuc2FkZHJSZXNvbHZlciIsIm1hIiwib3B0aW9ucyIsInJlY3Vyc2lvbkxpbWl0IiwibWF4UmVjdXJzaXZlRGVwdGgiLCJob3N0bmFtZSIsInN0cmluZ1R1cGxlcyIsImZpbmQiLCJwcm90byIsInJlc29sdmVyIiwicmVzdWx0IiwicXVlcnkiLCJzaWduYWwiLCJ0eXBlcyIsIlRYVCIsInBlZXJJZCIsImdldFBlZXJJZCIsIm91dHB1dCIsImFuc3dlciIsIkFuc3dlciIsImFkZHIiLCJkYXRhIiwic3BsaXQiLCJpbmNsdWRlcyIsInN0YXJ0c1dpdGgiLCJyZXNvbHZlZCIsInJlc29sdmUiLCJwdXNoIiwibWFwIiwidG9TdHJpbmciXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@multiformats/multiaddr/dist/src/resolvers/dnsaddr.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@multiformats/multiaddr/dist/src/resolvers/index.js":
/*!**************************************************************************!*\
!*** ./node_modules/@multiformats/multiaddr/dist/src/resolvers/index.js ***!
\**************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ dnsaddrResolver: () => (/* reexport safe */ _dnsaddr_js__WEBPACK_IMPORTED_MODULE_0__.dnsaddrResolver)\n/* harmony export */ });\n/* harmony import */ var _dnsaddr_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dnsaddr.js */ \"(ssr)/./node_modules/@multiformats/multiaddr/dist/src/resolvers/dnsaddr.js\");\n //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQG11bHRpZm9ybWF0cy9tdWx0aWFkZHIvZGlzdC9zcmMvcmVzb2x2ZXJzL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQStDLENBQy9DLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0BtdWx0aWZvcm1hdHMvbXVsdGlhZGRyL2Rpc3Qvc3JjL3Jlc29sdmVycy9pbmRleC5qcz83Nzk4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRuc2FkZHJSZXNvbHZlciB9IGZyb20gJy4vZG5zYWRkci5qcyc7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOlsiZG5zYWRkclJlc29sdmVyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@multiformats/multiaddr/dist/src/resolvers/index.js\n");
/***/ })
};
;