155 lines
162 KiB
JavaScript
155 lines
162 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/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1";
|
|
exports.ids = ["vendor-chunks/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1"];
|
|
exports.modules = {
|
|
|
|
/***/ "(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/enums/AttributeNames.js":
|
|
/*!***********************************************************************************************************************************************************************************!*\
|
|
!*** ./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/enums/AttributeNames.js ***!
|
|
\***********************************************************************************************************************************************************************************/
|
|
/***/ ((__unused_webpack_module, exports) => {
|
|
|
|
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AttributeNames = void 0;\n/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar AttributeNames;\n(function (AttributeNames) {\n AttributeNames[\"HAPI_TYPE\"] = \"hapi.type\";\n AttributeNames[\"PLUGIN_NAME\"] = \"hapi.plugin.name\";\n AttributeNames[\"EXT_TYPE\"] = \"server.ext.type\";\n})(AttributeNames = exports.AttributeNames || (exports.AttributeNames = {}));\n//# sourceMappingURL=AttributeNames.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLWhhcGlAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLWhhcGkvYnVpbGQvc3JjL2VudW1zL0F0dHJpYnV0ZU5hbWVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyw4Q0FBOEMsc0JBQXNCLEtBQUs7QUFDMUUiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLWhhcGlAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLWhhcGkvYnVpbGQvc3JjL2VudW1zL0F0dHJpYnV0ZU5hbWVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5BdHRyaWJ1dGVOYW1lcyA9IHZvaWQgMDtcbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG52YXIgQXR0cmlidXRlTmFtZXM7XG4oZnVuY3Rpb24gKEF0dHJpYnV0ZU5hbWVzKSB7XG4gICAgQXR0cmlidXRlTmFtZXNbXCJIQVBJX1RZUEVcIl0gPSBcImhhcGkudHlwZVwiO1xuICAgIEF0dHJpYnV0ZU5hbWVzW1wiUExVR0lOX05BTUVcIl0gPSBcImhhcGkucGx1Z2luLm5hbWVcIjtcbiAgICBBdHRyaWJ1dGVOYW1lc1tcIkVYVF9UWVBFXCJdID0gXCJzZXJ2ZXIuZXh0LnR5cGVcIjtcbn0pKEF0dHJpYnV0ZU5hbWVzID0gZXhwb3J0cy5BdHRyaWJ1dGVOYW1lcyB8fCAoZXhwb3J0cy5BdHRyaWJ1dGVOYW1lcyA9IHt9KSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1BdHRyaWJ1dGVOYW1lcy5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/enums/AttributeNames.js\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/index.js":
|
|
/*!********************************************************************************************************************************************************************!*\
|
|
!*** ./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/index.js ***!
|
|
\********************************************************************************************************************************************************************/
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
|
|
eval("\n/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AttributeNames = exports.HapiInstrumentation = void 0;\nvar instrumentation_1 = __webpack_require__(/*! ./instrumentation */ \"(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/instrumentation.js\");\nObject.defineProperty(exports, \"HapiInstrumentation\", ({ enumerable: true, get: function () { return instrumentation_1.HapiInstrumentation; } }));\nvar AttributeNames_1 = __webpack_require__(/*! ./enums/AttributeNames */ \"(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/enums/AttributeNames.js\");\nObject.defineProperty(exports, \"AttributeNames\", ({ enumerable: true, get: function () { return AttributeNames_1.AttributeNames; } }));\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLWhhcGlAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLWhhcGkvYnVpbGQvc3JjL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHNCQUFzQixHQUFHLDJCQUEyQjtBQUNwRCx3QkFBd0IsbUJBQU8sQ0FBQyx1TUFBbUI7QUFDbkQsdURBQXNELEVBQUUscUNBQXFDLGlEQUFpRCxFQUFDO0FBQy9JLHVCQUF1QixtQkFBTyxDQUFDLGlOQUF3QjtBQUN2RCxrREFBaUQsRUFBRSxxQ0FBcUMsMkNBQTJDLEVBQUM7QUFDcEkiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLWhhcGlAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLWhhcGkvYnVpbGQvc3JjL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuQXR0cmlidXRlTmFtZXMgPSBleHBvcnRzLkhhcGlJbnN0cnVtZW50YXRpb24gPSB2b2lkIDA7XG52YXIgaW5zdHJ1bWVudGF0aW9uXzEgPSByZXF1aXJlKFwiLi9pbnN0cnVtZW50YXRpb25cIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJIYXBpSW5zdHJ1bWVudGF0aW9uXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBpbnN0cnVtZW50YXRpb25fMS5IYXBpSW5zdHJ1bWVudGF0aW9uOyB9IH0pO1xudmFyIEF0dHJpYnV0ZU5hbWVzXzEgPSByZXF1aXJlKFwiLi9lbnVtcy9BdHRyaWJ1dGVOYW1lc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkF0dHJpYnV0ZU5hbWVzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBBdHRyaWJ1dGVOYW1lc18xLkF0dHJpYnV0ZU5hbWVzOyB9IH0pO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/index.js\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/instrumentation.js":
|
|
/*!******************************************************************************************************************************************************************************!*\
|
|
!*** ./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/instrumentation.js ***!
|
|
\******************************************************************************************************************************************************************************/
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
|
|
eval(";globalThis[\"_sentryRewritesTunnelPath\"] = undefined;globalThis[\"SENTRY_RELEASE\"] = undefined;globalThis[\"_sentryBasePath\"] = undefined;globalThis[\"_sentryNextJsVersion\"] = \"16.1.6\";globalThis[\"_sentryRewriteFramesDistDir\"] = \".next\";globalThis[\"_sentryVercelCronsConfig\"] = undefined;\n/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.HapiInstrumentation = void 0;\nconst api = __webpack_require__(/*! @opentelemetry/api */ \"(rsc)/./node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/index.js\");\nconst core_1 = __webpack_require__(/*! @opentelemetry/core */ \"(rsc)/./node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/esm/index.js\");\nconst instrumentation_1 = __webpack_require__(/*! @opentelemetry/instrumentation */ \"(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/esm/index.js\");\n/** @knipignore */\nconst version_1 = __webpack_require__(/*! ./version */ \"(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/version.js\");\nconst internal_types_1 = __webpack_require__(/*! ./internal-types */ \"(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/internal-types.js\");\nconst utils_1 = __webpack_require__(/*! ./utils */ \"(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/utils.js\");\n/** Hapi instrumentation for OpenTelemetry */\nclass HapiInstrumentation extends instrumentation_1.InstrumentationBase {\n _semconvStability;\n constructor(config = {}) {\n super(version_1.PACKAGE_NAME, version_1.PACKAGE_VERSION, config);\n this._semconvStability = (0, instrumentation_1.semconvStabilityFromStr)('http', process.env.OTEL_SEMCONV_STABILITY_OPT_IN);\n }\n init() {\n return new instrumentation_1.InstrumentationNodeModuleDefinition(internal_types_1.HapiComponentName, ['>=17.0.0 <22'], (module) => {\n const moduleExports = module[Symbol.toStringTag] === 'Module' ? module.default : module;\n if (!(0, instrumentation_1.isWrapped)(moduleExports.server)) {\n this._wrap(moduleExports, 'server', this._getServerPatch.bind(this));\n }\n if (!(0, instrumentation_1.isWrapped)(moduleExports.Server)) {\n this._wrap(moduleExports, 'Server', this._getServerPatch.bind(this));\n }\n return moduleExports;\n }, (module) => {\n const moduleExports = module[Symbol.toStringTag] === 'Module' ? module.default : module;\n this._massUnwrap([moduleExports], ['server', 'Server']);\n });\n }\n /**\n * Patches the Hapi.server and Hapi.Server functions in order to instrument\n * the server.route, server.ext, and server.register functions via calls to the\n * @function _getServerRoutePatch, @function _getServerExtPatch, and\n * @function _getServerRegisterPatch functions\n * @param original - the original Hapi Server creation function\n */\n _getServerPatch(original) {\n const instrumentation = this;\n const self = this;\n return function server(opts) {\n const newServer = original.apply(this, [opts]);\n self._wrap(newServer, 'route', originalRouter => {\n return instrumentation._getServerRoutePatch.bind(instrumentation)(originalRouter);\n });\n // Casting as any is necessary here due to multiple overloads on the Hapi.ext\n // function, which requires supporting a variety of different parameters\n // as extension inputs\n self._wrap(newServer, 'ext', originalExtHandler => {\n return instrumentation._getServerExtPatch.bind(instrumentation)(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n originalExtHandler);\n });\n // Casting as any is necessary here due to multiple overloads on the Hapi.Server.register\n // function, which requires supporting a variety of different types of Plugin inputs\n self._wrap(newServer, 'register', \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n instrumentation._getServerRegisterPatch.bind(instrumentation));\n return newServer;\n };\n }\n /**\n * Patches the plugin register function used by the Hapi Server. This function\n * goes through each plugin that is being registered and adds instrumentation\n * via a call to the @function _wrapRegisterHandler function.\n * @param {RegisterFunction<T>} original - the original register function which\n * registers each plugin on the server\n */\n _getServerRegisterPatch(original) {\n const instrumentation = this;\n return function register(pluginInput, options) {\n if (Array.isArray(pluginInput)) {\n for (const pluginObj of pluginInput) {\n const plugin = (0, utils_1.getPluginFromInput)(pluginObj);\n instrumentation._wrapRegisterHandler(plugin);\n }\n }\n else {\n const plugin = (0, utils_1.getPluginFromInput)(pluginInput);\n instrumentation._wrapRegisterHandler(plugin);\n }\n return original.apply(this, [pluginInput, options]);\n };\n }\n /**\n * Patches the Server.ext function which adds extension methods to the specified\n * point along the request lifecycle. This function accepts the full range of\n * accepted input into the standard Hapi `server.ext` function. For each extension,\n * it adds instrumentation to the handler via a call to the @function _wrapExtMethods\n * function.\n * @param original - the original ext function which adds the extension method to the server\n * @param {string} [pluginName] - if present, represents the name of the plugin responsible\n * for adding this server extension. Else, signifies that the extension was added directly\n */\n _getServerExtPatch(original, pluginName) {\n const instrumentation = this;\n return function ext(...args) {\n if (Array.isArray(args[0])) {\n const eventsList = args[0];\n for (let i = 0; i < eventsList.length; i++) {\n const eventObj = eventsList[i];\n if ((0, utils_1.isLifecycleExtType)(eventObj.type)) {\n const lifecycleEventObj = eventObj;\n const handler = instrumentation._wrapExtMethods(lifecycleEventObj.method, eventObj.type, pluginName);\n lifecycleEventObj.method = handler;\n eventsList[i] = lifecycleEventObj;\n }\n }\n return original.apply(this, args);\n }\n else if ((0, utils_1.isDirectExtInput)(args)) {\n const extInput = args;\n const method = extInput[1];\n const handler = instrumentation._wrapExtMethods(method, extInput[0], pluginName);\n return original.apply(this, [extInput[0], handler, extInput[2]]);\n }\n else if ((0, utils_1.isLifecycleExtEventObj)(args[0])) {\n const lifecycleEventObj = args[0];\n const handler = instrumentation._wrapExtMethods(lifecycleEventObj.method, lifecycleEventObj.type, pluginName);\n lifecycleEventObj.method = handler;\n return original.call(this, lifecycleEventObj);\n }\n return original.apply(this, args);\n };\n }\n /**\n * Patches the Server.route function. This function accepts either one or an array\n * of Hapi.ServerRoute objects and adds instrumentation on each route via a call to\n * the @function _wrapRouteHandler function.\n * @param {HapiServerRouteInputMethod} original - the original route function which adds\n * the route to the server\n * @param {string} [pluginName] - if present, represents the name of the plugin responsible\n * for adding this server route. Else, signifies that the route was added directly\n */\n _getServerRoutePatch(original, pluginName) {\n const instrumentation = this;\n return function route(route) {\n if (Array.isArray(route)) {\n for (let i = 0; i < route.length; i++) {\n const newRoute = instrumentation._wrapRouteHandler.call(instrumentation, route[i], pluginName);\n route[i] = newRoute;\n }\n }\n else {\n route = instrumentation._wrapRouteHandler.call(instrumentation, route, pluginName);\n }\n return original.apply(this, [route]);\n };\n }\n /**\n * Wraps newly registered plugins to add instrumentation to the plugin's clone of\n * the original server. Specifically, wraps the server.route and server.ext functions\n * via calls to @function _getServerRoutePatch and @function _getServerExtPatch\n * @param {Hapi.Plugin<T>} plugin - the new plugin which is being instrumented\n */\n _wrapRegisterHandler(plugin) {\n const instrumentation = this;\n const pluginName = (0, utils_1.getPluginName)(plugin);\n const oldRegister = plugin.register;\n const self = this;\n const newRegisterHandler = function (server, options) {\n self._wrap(server, 'route', original => {\n return instrumentation._getServerRoutePatch.bind(instrumentation)(original, pluginName);\n });\n // Casting as any is necessary here due to multiple overloads on the Hapi.ext\n // function, which requires supporting a variety of different parameters\n // as extension inputs\n self._wrap(server, 'ext', originalExtHandler => {\n return instrumentation._getServerExtPatch.bind(instrumentation)(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n originalExtHandler, pluginName);\n });\n return oldRegister.call(this, server, options);\n };\n plugin.register = newRegisterHandler;\n }\n /**\n * Wraps request extension methods to add instrumentation to each new extension handler.\n * Patches each individual extension in order to create the\n * span and propagate context. It does not create spans when there is no parent span.\n * @param {PatchableExtMethod | PatchableExtMethod[]} method - the request extension\n * handler which is being instrumented\n * @param {Hapi.ServerRequestExtType} extPoint - the point in the Hapi request lifecycle\n * which this extension targets\n * @param {string} [pluginName] - if present, represents the name of the plugin responsible\n * for adding this server route. Else, signifies that the route was added directly\n */\n _wrapExtMethods(method, extPoint, pluginName) {\n const instrumentation = this;\n if (method instanceof Array) {\n for (let i = 0; i < method.length; i++) {\n method[i] = instrumentation._wrapExtMethods(method[i], extPoint);\n }\n return method;\n }\n else if ((0, utils_1.isPatchableExtMethod)(method)) {\n if (method[internal_types_1.handlerPatched] === true)\n return method;\n method[internal_types_1.handlerPatched] = true;\n const newHandler = async function (...params) {\n if (api.trace.getSpan(api.context.active()) === undefined) {\n return await method.apply(this, params);\n }\n const metadata = (0, utils_1.getExtMetadata)(extPoint, pluginName, method.name);\n const span = instrumentation.tracer.startSpan(metadata.name, {\n attributes: metadata.attributes,\n });\n try {\n return await api.context.with(api.trace.setSpan(api.context.active(), span), method, undefined, ...params);\n }\n catch (err) {\n span.recordException(err);\n span.setStatus({\n code: api.SpanStatusCode.ERROR,\n message: err.message,\n });\n throw err;\n }\n finally {\n span.end();\n }\n };\n return newHandler;\n }\n return method;\n }\n /**\n * Patches each individual route handler method in order to create the\n * span and propagate context. It does not create spans when there is no parent span.\n * @param {PatchableServerRoute} route - the route handler which is being instrumented\n * @param {string} [pluginName] - if present, represents the name of the plugin responsible\n * for adding this server route. Else, signifies that the route was added directly\n */\n _wrapRouteHandler(route, pluginName) {\n const instrumentation = this;\n if (route[internal_types_1.handlerPatched] === true)\n return route;\n route[internal_types_1.handlerPatched] = true;\n const wrapHandler = oldHandler => {\n return async function (...params) {\n if (api.trace.getSpan(api.context.active()) === undefined) {\n return await oldHandler.call(this, ...params);\n }\n const rpcMetadata = (0, core_1.getRPCMetadata)(api.context.active());\n if (rpcMetadata?.type === core_1.RPCType.HTTP) {\n rpcMetadata.route = route.path;\n }\n const metadata = (0, utils_1.getRouteMetadata)(route, instrumentation._semconvStability, pluginName);\n const span = instrumentation.tracer.startSpan(metadata.name, {\n attributes: metadata.attributes,\n });\n try {\n return await api.context.with(api.trace.setSpan(api.context.active(), span), () => oldHandler.call(this, ...params));\n }\n catch (err) {\n span.recordException(err);\n span.setStatus({\n code: api.SpanStatusCode.ERROR,\n message: err.message,\n });\n throw err;\n }\n finally {\n span.end();\n }\n };\n };\n if (typeof route.handler === 'function') {\n route.handler = wrapHandler(route.handler);\n }\n else if (typeof route.options === 'function') {\n const oldOptions = route.options;\n route.options = function (server) {\n const options = oldOptions(server);\n if (typeof options.handler === 'function') {\n options.handler = wrapHandler(options.handler);\n }\n return options;\n };\n }\n else if (typeof route.options?.handler === 'function') {\n route.options.handler = wrapHandler(route.options.handler);\n }\n return route;\n }\n}\nexports.HapiInstrumentation = HapiInstrumentation;\n//# sourceMappingURL=instrumentation.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLWhhcGlAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLWhhcGkvYnVpbGQvc3JjL2luc3RydW1lbnRhdGlvbi5qcyIsIm1hcHBpbmdzIjoiQUFBYSxDQUFDLG9EQUFvRCx5Q0FBeUMsMENBQTBDLDhDQUE4QyxvREFBb0Q7QUFDdlA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDJCQUEyQjtBQUMzQixZQUFZLG1CQUFPLENBQUMsa0lBQW9CO0FBQ3hDLGVBQWUsbUJBQU8sQ0FBQyw4SkFBcUI7QUFDNUMsMEJBQTBCLG1CQUFPLENBQUMsaU1BQWdDO0FBQ2xFO0FBQ0Esa0JBQWtCLG1CQUFPLENBQUMsdUxBQVc7QUFDckMseUJBQXlCLG1CQUFPLENBQUMscU1BQWtCO0FBQ25ELGdCQUFnQixtQkFBTyxDQUFDLG1MQUFTO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLHFCQUFxQjtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsUUFBUTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQyx1QkFBdUI7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsNEJBQTRCO0FBQzNDO0FBQ0EsZUFBZSxRQUFRO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQyxrQkFBa0I7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsZ0JBQWdCO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSwyQ0FBMkM7QUFDMUQ7QUFDQSxlQUFlLDJCQUEyQjtBQUMxQztBQUNBLGVBQWUsUUFBUTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLG1CQUFtQjtBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsc0JBQXNCO0FBQ3JDLGVBQWUsUUFBUTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0IiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLWhhcGlAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLWhhcGkvYnVpbGQvc3JjL2luc3RydW1lbnRhdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjs7Z2xvYmFsVGhpc1tcIl9zZW50cnlSZXdyaXRlc1R1bm5lbFBhdGhcIl0gPSB1bmRlZmluZWQ7Z2xvYmFsVGhpc1tcIlNFTlRSWV9SRUxFQVNFXCJdID0gdW5kZWZpbmVkO2dsb2JhbFRoaXNbXCJfc2VudHJ5QmFzZVBhdGhcIl0gPSB1bmRlZmluZWQ7Z2xvYmFsVGhpc1tcIl9zZW50cnlOZXh0SnNWZXJzaW9uXCJdID0gXCIxNi4xLjZcIjtnbG9iYWxUaGlzW1wiX3NlbnRyeVJld3JpdGVGcmFtZXNEaXN0RGlyXCJdID0gXCIubmV4dFwiO2dsb2JhbFRoaXNbXCJfc2VudHJ5VmVyY2VsQ3JvbnNDb25maWdcIl0gPSB1bmRlZmluZWQ7XG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5IYXBpSW5zdHJ1bWVudGF0aW9uID0gdm9pZCAwO1xuY29uc3QgYXBpID0gcmVxdWlyZShcIkBvcGVudGVsZW1ldHJ5L2FwaVwiKTtcbmNvbnN0IGNvcmVfMSA9IHJlcXVpcmUoXCJAb3BlbnRlbGVtZXRyeS9jb3JlXCIpO1xuY29uc3QgaW5zdHJ1bWVudGF0aW9uXzEgPSByZXF1aXJlKFwiQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uXCIpO1xuLyoqIEBrbmlwaWdub3JlICovXG5jb25zdCB2ZXJzaW9uXzEgPSByZXF1aXJlKFwiLi92ZXJzaW9uXCIpO1xuY29uc3QgaW50ZXJuYWxfdHlwZXNfMSA9IHJlcXVpcmUoXCIuL2ludGVybmFsLXR5cGVzXCIpO1xuY29uc3QgdXRpbHNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzXCIpO1xuLyoqIEhhcGkgaW5zdHJ1bWVudGF0aW9uIGZvciBPcGVuVGVsZW1ldHJ5ICovXG5jbGFzcyBIYXBpSW5zdHJ1bWVudGF0aW9uIGV4dGVuZHMgaW5zdHJ1bWVudGF0aW9uXzEuSW5zdHJ1bWVudGF0aW9uQmFzZSB7XG4gICAgX3NlbWNvbnZTdGFiaWxpdHk7XG4gICAgY29uc3RydWN0b3IoY29uZmlnID0ge30pIHtcbiAgICAgICAgc3VwZXIodmVyc2lvbl8xLlBBQ0tBR0VfTkFNRSwgdmVyc2lvbl8xLlBBQ0tBR0VfVkVSU0lPTiwgY29uZmlnKTtcbiAgICAgICAgdGhpcy5fc2VtY29udlN0YWJpbGl0eSA9ICgwLCBpbnN0cnVtZW50YXRpb25fMS5zZW1jb252U3RhYmlsaXR5RnJvbVN0cikoJ2h0dHAnLCBwcm9jZXNzLmVudi5PVEVMX1NFTUNPTlZfU1RBQklMSVRZX09QVF9JTik7XG4gICAgfVxuICAgIGluaXQoKSB7XG4gICAgICAgIHJldHVybiBuZXcgaW5zdHJ1bWVudGF0aW9uXzEuSW5zdHJ1bWVudGF0aW9uTm9kZU1vZHVsZURlZmluaXRpb24oaW50ZXJuYWxfdHlwZXNfMS5IYXBpQ29tcG9uZW50TmFtZSwgWyc+PTE3LjAuMCA8MjInXSwgKG1vZHVsZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbW9kdWxlRXhwb3J0cyA9IG1vZHVsZVtTeW1ib2wudG9TdHJpbmdUYWddID09PSAnTW9kdWxlJyA/IG1vZHVsZS5kZWZhdWx0IDogbW9kdWxlO1xuICAgICAgICAgICAgaWYgKCEoMCwgaW5zdHJ1bWVudGF0aW9uXzEuaXNXcmFwcGVkKShtb2R1bGVFeHBvcnRzLnNlcnZlcikpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl93cmFwKG1vZHVsZUV4cG9ydHMsICdzZXJ2ZXInLCB0aGlzLl9nZXRTZXJ2ZXJQYXRjaC5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghKDAsIGluc3RydW1lbnRhdGlvbl8xLmlzV3JhcHBlZCkobW9kdWxlRXhwb3J0cy5TZXJ2ZXIpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fd3JhcChtb2R1bGVFeHBvcnRzLCAnU2VydmVyJywgdGhpcy5fZ2V0U2VydmVyUGF0Y2guYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbW9kdWxlRXhwb3J0cztcbiAgICAgICAgfSwgKG1vZHVsZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbW9kdWxlRXhwb3J0cyA9IG1vZHVsZVtTeW1ib2wudG9TdHJpbmdUYWddID09PSAnTW9kdWxlJyA/IG1vZHVsZS5kZWZhdWx0IDogbW9kdWxlO1xuICAgICAgICAgICAgdGhpcy5fbWFzc1Vud3JhcChbbW9kdWxlRXhwb3J0c10sIFsnc2VydmVyJywgJ1NlcnZlciddKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFBhdGNoZXMgdGhlIEhhcGkuc2VydmVyIGFuZCBIYXBpLlNlcnZlciBmdW5jdGlvbnMgaW4gb3JkZXIgdG8gaW5zdHJ1bWVudFxuICAgICAqIHRoZSBzZXJ2ZXIucm91dGUsIHNlcnZlci5leHQsIGFuZCBzZXJ2ZXIucmVnaXN0ZXIgZnVuY3Rpb25zIHZpYSBjYWxscyB0byB0aGVcbiAgICAgKiBAZnVuY3Rpb24gX2dldFNlcnZlclJvdXRlUGF0Y2gsIEBmdW5jdGlvbiBfZ2V0U2VydmVyRXh0UGF0Y2gsIGFuZFxuICAgICAqIEBmdW5jdGlvbiBfZ2V0U2VydmVyUmVnaXN0ZXJQYXRjaCBmdW5jdGlvbnNcbiAgICAgKiBAcGFyYW0gb3JpZ2luYWwgLSB0aGUgb3JpZ2luYWwgSGFwaSBTZXJ2ZXIgY3JlYXRpb24gZnVuY3Rpb25cbiAgICAgKi9cbiAgICBfZ2V0U2VydmVyUGF0Y2gob3JpZ2luYWwpIHtcbiAgICAgICAgY29uc3QgaW5zdHJ1bWVudGF0aW9uID0gdGhpcztcbiAgICAgICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiBzZXJ2ZXIob3B0cykge1xuICAgICAgICAgICAgY29uc3QgbmV3U2VydmVyID0gb3JpZ2luYWwuYXBwbHkodGhpcywgW29wdHNdKTtcbiAgICAgICAgICAgIHNlbGYuX3dyYXAobmV3U2VydmVyLCAncm91dGUnLCBvcmlnaW5hbFJvdXRlciA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGluc3RydW1lbnRhdGlvbi5fZ2V0U2VydmVyUm91dGVQYXRjaC5iaW5kKGluc3RydW1lbnRhdGlvbikob3JpZ2luYWxSb3V0ZXIpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyBDYXN0aW5nIGFzIGFueSBpcyBuZWNlc3NhcnkgaGVyZSBkdWUgdG8gbXVsdGlwbGUgb3ZlcmxvYWRzIG9uIHRoZSBIYXBpLmV4dFxuICAgICAgICAgICAgLy8gZnVuY3Rpb24sIHdoaWNoIHJlcXVpcmVzIHN1cHBvcnRpbmcgYSB2YXJpZXR5IG9mIGRpZmZlcmVudCBwYXJhbWV0ZXJzXG4gICAgICAgICAgICAvLyBhcyBleHRlbnNpb24gaW5wdXRzXG4gICAgICAgICAgICBzZWxmLl93cmFwKG5ld1NlcnZlciwgJ2V4dCcsIG9yaWdpbmFsRXh0SGFuZGxlciA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGluc3RydW1lbnRhdGlvbi5fZ2V0U2VydmVyRXh0UGF0Y2guYmluZChpbnN0cnVtZW50YXRpb24pKFxuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgICAgICAgICAgb3JpZ2luYWxFeHRIYW5kbGVyKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gQ2FzdGluZyBhcyBhbnkgaXMgbmVjZXNzYXJ5IGhlcmUgZHVlIHRvIG11bHRpcGxlIG92ZXJsb2FkcyBvbiB0aGUgSGFwaS5TZXJ2ZXIucmVnaXN0ZXJcbiAgICAgICAgICAgIC8vIGZ1bmN0aW9uLCB3aGljaCByZXF1aXJlcyBzdXBwb3J0aW5nIGEgdmFyaWV0eSBvZiBkaWZmZXJlbnQgdHlwZXMgb2YgUGx1Z2luIGlucHV0c1xuICAgICAgICAgICAgc2VsZi5fd3JhcChuZXdTZXJ2ZXIsICdyZWdpc3RlcicsIFxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgICAgIGluc3RydW1lbnRhdGlvbi5fZ2V0U2VydmVyUmVnaXN0ZXJQYXRjaC5iaW5kKGluc3RydW1lbnRhdGlvbikpO1xuICAgICAgICAgICAgcmV0dXJuIG5ld1NlcnZlcjtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUGF0Y2hlcyB0aGUgcGx1Z2luIHJlZ2lzdGVyIGZ1bmN0aW9uIHVzZWQgYnkgdGhlIEhhcGkgU2VydmVyLiBUaGlzIGZ1bmN0aW9uXG4gICAgICogZ29lcyB0aHJvdWdoIGVhY2ggcGx1Z2luIHRoYXQgaXMgYmVpbmcgcmVnaXN0ZXJlZCBhbmQgYWRkcyBpbnN0cnVtZW50YXRpb25cbiAgICAgKiB2aWEgYSBjYWxsIHRvIHRoZSBAZnVuY3Rpb24gX3dyYXBSZWdpc3RlckhhbmRsZXIgZnVuY3Rpb24uXG4gICAgICogQHBhcmFtIHtSZWdpc3RlckZ1bmN0aW9uPFQ+fSBvcmlnaW5hbCAtIHRoZSBvcmlnaW5hbCByZWdpc3RlciBmdW5jdGlvbiB3aGljaFxuICAgICAqIHJlZ2lzdGVycyBlYWNoIHBsdWdpbiBvbiB0aGUgc2VydmVyXG4gICAgICovXG4gICAgX2dldFNlcnZlclJlZ2lzdGVyUGF0Y2gob3JpZ2luYWwpIHtcbiAgICAgICAgY29uc3QgaW5zdHJ1bWVudGF0aW9uID0gdGhpcztcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIHJlZ2lzdGVyKHBsdWdpbklucHV0LCBvcHRpb25zKSB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShwbHVnaW5JbnB1dCkpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHBsdWdpbk9iaiBvZiBwbHVnaW5JbnB1dCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwbHVnaW4gPSAoMCwgdXRpbHNfMS5nZXRQbHVnaW5Gcm9tSW5wdXQpKHBsdWdpbk9iaik7XG4gICAgICAgICAgICAgICAgICAgIGluc3RydW1lbnRhdGlvbi5fd3JhcFJlZ2lzdGVySGFuZGxlcihwbHVnaW4pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBsdWdpbiA9ICgwLCB1dGlsc18xLmdldFBsdWdpbkZyb21JbnB1dCkocGx1Z2luSW5wdXQpO1xuICAgICAgICAgICAgICAgIGluc3RydW1lbnRhdGlvbi5fd3JhcFJlZ2lzdGVySGFuZGxlcihwbHVnaW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsLmFwcGx5KHRoaXMsIFtwbHVnaW5JbnB1dCwgb3B0aW9uc10pO1xuICAgICAgICB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBQYXRjaGVzIHRoZSBTZXJ2ZXIuZXh0IGZ1bmN0aW9uIHdoaWNoIGFkZHMgZXh0ZW5zaW9uIG1ldGhvZHMgdG8gdGhlIHNwZWNpZmllZFxuICAgICAqIHBvaW50IGFsb25nIHRoZSByZXF1ZXN0IGxpZmVjeWNsZS4gVGhpcyBmdW5jdGlvbiBhY2NlcHRzIHRoZSBmdWxsIHJhbmdlIG9mXG4gICAgICogYWNjZXB0ZWQgaW5wdXQgaW50byB0aGUgc3RhbmRhcmQgSGFwaSBgc2VydmVyLmV4dGAgZnVuY3Rpb24uIEZvciBlYWNoIGV4dGVuc2lvbixcbiAgICAgKiBpdCBhZGRzIGluc3RydW1lbnRhdGlvbiB0byB0aGUgaGFuZGxlciB2aWEgYSBjYWxsIHRvIHRoZSBAZnVuY3Rpb24gX3dyYXBFeHRNZXRob2RzXG4gICAgICogZnVuY3Rpb24uXG4gICAgICogQHBhcmFtIG9yaWdpbmFsIC0gdGhlIG9yaWdpbmFsIGV4dCBmdW5jdGlvbiB3aGljaCBhZGRzIHRoZSBleHRlbnNpb24gbWV0aG9kIHRvIHRoZSBzZXJ2ZXJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3BsdWdpbk5hbWVdIC0gaWYgcHJlc2VudCwgcmVwcmVzZW50cyB0aGUgbmFtZSBvZiB0aGUgcGx1Z2luIHJlc3BvbnNpYmxlXG4gICAgICogZm9yIGFkZGluZyB0aGlzIHNlcnZlciBleHRlbnNpb24uIEVsc2UsIHNpZ25pZmllcyB0aGF0IHRoZSBleHRlbnNpb24gd2FzIGFkZGVkIGRpcmVjdGx5XG4gICAgICovXG4gICAgX2dldFNlcnZlckV4dFBhdGNoKG9yaWdpbmFsLCBwbHVnaW5OYW1lKSB7XG4gICAgICAgIGNvbnN0IGluc3RydW1lbnRhdGlvbiA9IHRoaXM7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiBleHQoLi4uYXJncykge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYXJnc1swXSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBldmVudHNMaXN0ID0gYXJnc1swXTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGV2ZW50c0xpc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXZlbnRPYmogPSBldmVudHNMaXN0W2ldO1xuICAgICAgICAgICAgICAgICAgICBpZiAoKDAsIHV0aWxzXzEuaXNMaWZlY3ljbGVFeHRUeXBlKShldmVudE9iai50eXBlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlmZWN5Y2xlRXZlbnRPYmogPSBldmVudE9iajtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGhhbmRsZXIgPSBpbnN0cnVtZW50YXRpb24uX3dyYXBFeHRNZXRob2RzKGxpZmVjeWNsZUV2ZW50T2JqLm1ldGhvZCwgZXZlbnRPYmoudHlwZSwgcGx1Z2luTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaWZlY3ljbGVFdmVudE9iai5tZXRob2QgPSBoYW5kbGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnRzTGlzdFtpXSA9IGxpZmVjeWNsZUV2ZW50T2JqO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbC5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKCgwLCB1dGlsc18xLmlzRGlyZWN0RXh0SW5wdXQpKGFyZ3MpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZXh0SW5wdXQgPSBhcmdzO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1ldGhvZCA9IGV4dElucHV0WzFdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGhhbmRsZXIgPSBpbnN0cnVtZW50YXRpb24uX3dyYXBFeHRNZXRob2RzKG1ldGhvZCwgZXh0SW5wdXRbMF0sIHBsdWdpbk5hbWUpO1xuICAgICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbC5hcHBseSh0aGlzLCBbZXh0SW5wdXRbMF0sIGhhbmRsZXIsIGV4dElucHV0WzJdXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICgoMCwgdXRpbHNfMS5pc0xpZmVjeWNsZUV4dEV2ZW50T2JqKShhcmdzWzBdKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxpZmVjeWNsZUV2ZW50T2JqID0gYXJnc1swXTtcbiAgICAgICAgICAgICAgICBjb25zdCBoYW5kbGVyID0gaW5zdHJ1bWVudGF0aW9uLl93cmFwRXh0TWV0aG9kcyhsaWZlY3ljbGVFdmVudE9iai5tZXRob2QsIGxpZmVjeWNsZUV2ZW50T2JqLnR5cGUsIHBsdWdpbk5hbWUpO1xuICAgICAgICAgICAgICAgIGxpZmVjeWNsZUV2ZW50T2JqLm1ldGhvZCA9IGhhbmRsZXI7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsLmNhbGwodGhpcywgbGlmZWN5Y2xlRXZlbnRPYmopO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgICAgICB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBQYXRjaGVzIHRoZSBTZXJ2ZXIucm91dGUgZnVuY3Rpb24uIFRoaXMgZnVuY3Rpb24gYWNjZXB0cyBlaXRoZXIgb25lIG9yIGFuIGFycmF5XG4gICAgICogb2YgSGFwaS5TZXJ2ZXJSb3V0ZSBvYmplY3RzIGFuZCBhZGRzIGluc3RydW1lbnRhdGlvbiBvbiBlYWNoIHJvdXRlIHZpYSBhIGNhbGwgdG9cbiAgICAgKiB0aGUgQGZ1bmN0aW9uIF93cmFwUm91dGVIYW5kbGVyIGZ1bmN0aW9uLlxuICAgICAqIEBwYXJhbSB7SGFwaVNlcnZlclJvdXRlSW5wdXRNZXRob2R9IG9yaWdpbmFsIC0gdGhlIG9yaWdpbmFsIHJvdXRlIGZ1bmN0aW9uIHdoaWNoIGFkZHNcbiAgICAgKiB0aGUgcm91dGUgdG8gdGhlIHNlcnZlclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbcGx1Z2luTmFtZV0gLSBpZiBwcmVzZW50LCByZXByZXNlbnRzIHRoZSBuYW1lIG9mIHRoZSBwbHVnaW4gcmVzcG9uc2libGVcbiAgICAgKiBmb3IgYWRkaW5nIHRoaXMgc2VydmVyIHJvdXRlLiBFbHNlLCBzaWduaWZpZXMgdGhhdCB0aGUgcm91dGUgd2FzIGFkZGVkIGRpcmVjdGx5XG4gICAgICovXG4gICAgX2dldFNlcnZlclJvdXRlUGF0Y2gob3JpZ2luYWwsIHBsdWdpbk5hbWUpIHtcbiAgICAgICAgY29uc3QgaW5zdHJ1bWVudGF0aW9uID0gdGhpcztcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIHJvdXRlKHJvdXRlKSB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyb3V0ZSkpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJvdXRlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld1JvdXRlID0gaW5zdHJ1bWVudGF0aW9uLl93cmFwUm91dGVIYW5kbGVyLmNhbGwoaW5zdHJ1bWVudGF0aW9uLCByb3V0ZVtpXSwgcGx1Z2luTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlW2ldID0gbmV3Um91dGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcm91dGUgPSBpbnN0cnVtZW50YXRpb24uX3dyYXBSb3V0ZUhhbmRsZXIuY2FsbChpbnN0cnVtZW50YXRpb24sIHJvdXRlLCBwbHVnaW5OYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbC5hcHBseSh0aGlzLCBbcm91dGVdKTtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogV3JhcHMgbmV3bHkgcmVnaXN0ZXJlZCBwbHVnaW5zIHRvIGFkZCBpbnN0cnVtZW50YXRpb24gdG8gdGhlIHBsdWdpbidzIGNsb25lIG9mXG4gICAgICogdGhlIG9yaWdpbmFsIHNlcnZlci4gU3BlY2lmaWNhbGx5LCB3cmFwcyB0aGUgc2VydmVyLnJvdXRlIGFuZCBzZXJ2ZXIuZXh0IGZ1bmN0aW9uc1xuICAgICAqIHZpYSBjYWxscyB0byBAZnVuY3Rpb24gX2dldFNlcnZlclJvdXRlUGF0Y2ggYW5kIEBmdW5jdGlvbiBfZ2V0U2VydmVyRXh0UGF0Y2hcbiAgICAgKiBAcGFyYW0ge0hhcGkuUGx1Z2luPFQ+fSBwbHVnaW4gLSB0aGUgbmV3IHBsdWdpbiB3aGljaCBpcyBiZWluZyBpbnN0cnVtZW50ZWRcbiAgICAgKi9cbiAgICBfd3JhcFJlZ2lzdGVySGFuZGxlcihwbHVnaW4pIHtcbiAgICAgICAgY29uc3QgaW5zdHJ1bWVudGF0aW9uID0gdGhpcztcbiAgICAgICAgY29uc3QgcGx1Z2luTmFtZSA9ICgwLCB1dGlsc18xLmdldFBsdWdpbk5hbWUpKHBsdWdpbik7XG4gICAgICAgIGNvbnN0IG9sZFJlZ2lzdGVyID0gcGx1Z2luLnJlZ2lzdGVyO1xuICAgICAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICAgICAgY29uc3QgbmV3UmVnaXN0ZXJIYW5kbGVyID0gZnVuY3Rpb24gKHNlcnZlciwgb3B0aW9ucykge1xuICAgICAgICAgICAgc2VsZi5fd3JhcChzZXJ2ZXIsICdyb3V0ZScsIG9yaWdpbmFsID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaW5zdHJ1bWVudGF0aW9uLl9nZXRTZXJ2ZXJSb3V0ZVBhdGNoLmJpbmQoaW5zdHJ1bWVudGF0aW9uKShvcmlnaW5hbCwgcGx1Z2luTmFtZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIENhc3RpbmcgYXMgYW55IGlzIG5lY2Vzc2FyeSBoZXJlIGR1ZSB0byBtdWx0aXBsZSBvdmVybG9hZHMgb24gdGhlIEhhcGkuZXh0XG4gICAgICAgICAgICAvLyBmdW5jdGlvbiwgd2hpY2ggcmVxdWlyZXMgc3VwcG9ydGluZyBhIHZhcmlldHkgb2YgZGlmZmVyZW50IHBhcmFtZXRlcnNcbiAgICAgICAgICAgIC8vIGFzIGV4dGVuc2lvbiBpbnB1dHNcbiAgICAgICAgICAgIHNlbGYuX3dyYXAoc2VydmVyLCAnZXh0Jywgb3JpZ2luYWxFeHRIYW5kbGVyID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaW5zdHJ1bWVudGF0aW9uLl9nZXRTZXJ2ZXJFeHRQYXRjaC5iaW5kKGluc3RydW1lbnRhdGlvbikoXG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgICAgICAgICBvcmlnaW5hbEV4dEhhbmRsZXIsIHBsdWdpbk5hbWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gb2xkUmVnaXN0ZXIuY2FsbCh0aGlzLCBzZXJ2ZXIsIG9wdGlvbnMpO1xuICAgICAgICB9O1xuICAgICAgICBwbHVnaW4ucmVnaXN0ZXIgPSBuZXdSZWdpc3RlckhhbmRsZXI7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFdyYXBzIHJlcXVlc3QgZXh0ZW5zaW9uIG1ldGhvZHMgdG8gYWRkIGluc3RydW1lbnRhdGlvbiB0byBlYWNoIG5ldyBleHRlbnNpb24gaGFuZGxlci5cbiAgICAgKiBQYXRjaGVzIGVhY2ggaW5kaXZpZHVhbCBleHRlbnNpb24gaW4gb3JkZXIgdG8gY3JlYXRlIHRoZVxuICAgICAqIHNwYW4gYW5kIHByb3BhZ2F0ZSBjb250ZXh0LiBJdCBkb2VzIG5vdCBjcmVhdGUgc3BhbnMgd2hlbiB0aGVyZSBpcyBubyBwYXJlbnQgc3Bhbi5cbiAgICAgKiBAcGFyYW0ge1BhdGNoYWJsZUV4dE1ldGhvZCB8IFBhdGNoYWJsZUV4dE1ldGhvZFtdfSBtZXRob2QgLSB0aGUgcmVxdWVzdCBleHRlbnNpb25cbiAgICAgKiBoYW5kbGVyIHdoaWNoIGlzIGJlaW5nIGluc3RydW1lbnRlZFxuICAgICAqIEBwYXJhbSB7SGFwaS5TZXJ2ZXJSZXF1ZXN0RXh0VHlwZX0gZXh0UG9pbnQgLSB0aGUgcG9pbnQgaW4gdGhlIEhhcGkgcmVxdWVzdCBsaWZlY3ljbGVcbiAgICAgKiB3aGljaCB0aGlzIGV4dGVuc2lvbiB0YXJnZXRzXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtwbHVnaW5OYW1lXSAtIGlmIHByZXNlbnQsIHJlcHJlc2VudHMgdGhlIG5hbWUgb2YgdGhlIHBsdWdpbiByZXNwb25zaWJsZVxuICAgICAqIGZvciBhZGRpbmcgdGhpcyBzZXJ2ZXIgcm91dGUuIEVsc2UsIHNpZ25pZmllcyB0aGF0IHRoZSByb3V0ZSB3YXMgYWRkZWQgZGlyZWN0bHlcbiAgICAgKi9cbiAgICBfd3JhcEV4dE1ldGhvZHMobWV0aG9kLCBleHRQb2ludCwgcGx1Z2luTmFtZSkge1xuICAgICAgICBjb25zdCBpbnN0cnVtZW50YXRpb24gPSB0aGlzO1xuICAgICAgICBpZiAobWV0aG9kIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWV0aG9kLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbWV0aG9kW2ldID0gaW5zdHJ1bWVudGF0aW9uLl93cmFwRXh0TWV0aG9kcyhtZXRob2RbaV0sIGV4dFBvaW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBtZXRob2Q7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoKDAsIHV0aWxzXzEuaXNQYXRjaGFibGVFeHRNZXRob2QpKG1ldGhvZCkpIHtcbiAgICAgICAgICAgIGlmIChtZXRob2RbaW50ZXJuYWxfdHlwZXNfMS5oYW5kbGVyUGF0Y2hlZF0gPT09IHRydWUpXG4gICAgICAgICAgICAgICAgcmV0dXJuIG1ldGhvZDtcbiAgICAgICAgICAgIG1ldGhvZFtpbnRlcm5hbF90eXBlc18xLmhhbmRsZXJQYXRjaGVkXSA9IHRydWU7XG4gICAgICAgICAgICBjb25zdCBuZXdIYW5kbGVyID0gYXN5bmMgZnVuY3Rpb24gKC4uLnBhcmFtcykge1xuICAgICAgICAgICAgICAgIGlmIChhcGkudHJhY2UuZ2V0U3BhbihhcGkuY29udGV4dC5hY3RpdmUoKSkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXdhaXQgbWV0aG9kLmFwcGx5KHRoaXMsIHBhcmFtcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IG1ldGFkYXRhID0gKDAsIHV0aWxzXzEuZ2V0RXh0TWV0YWRhdGEpKGV4dFBvaW50LCBwbHVnaW5OYW1lLCBtZXRob2QubmFtZSk7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3BhbiA9IGluc3RydW1lbnRhdGlvbi50cmFjZXIuc3RhcnRTcGFuKG1ldGFkYXRhLm5hbWUsIHtcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlczogbWV0YWRhdGEuYXR0cmlidXRlcyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXdhaXQgYXBpLmNvbnRleHQud2l0aChhcGkudHJhY2Uuc2V0U3BhbihhcGkuY29udGV4dC5hY3RpdmUoKSwgc3BhbiksIG1ldGhvZCwgdW5kZWZpbmVkLCAuLi5wYXJhbXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIHNwYW4ucmVjb3JkRXhjZXB0aW9uKGVycik7XG4gICAgICAgICAgICAgICAgICAgIHNwYW4uc2V0U3RhdHVzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IGFwaS5TcGFuU3RhdHVzQ29kZS5FUlJPUixcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGVyci5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgICAgICAgc3Bhbi5lbmQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmV0dXJuIG5ld0hhbmRsZXI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1ldGhvZDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUGF0Y2hlcyBlYWNoIGluZGl2aWR1YWwgcm91dGUgaGFuZGxlciBtZXRob2QgaW4gb3JkZXIgdG8gY3JlYXRlIHRoZVxuICAgICAqIHNwYW4gYW5kIHByb3BhZ2F0ZSBjb250ZXh0LiBJdCBkb2VzIG5vdCBjcmVhdGUgc3BhbnMgd2hlbiB0aGVyZSBpcyBubyBwYXJlbnQgc3Bhbi5cbiAgICAgKiBAcGFyYW0ge1BhdGNoYWJsZVNlcnZlclJvdXRlfSByb3V0ZSAtIHRoZSByb3V0ZSBoYW5kbGVyIHdoaWNoIGlzIGJlaW5nIGluc3RydW1lbnRlZFxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbcGx1Z2luTmFtZV0gLSBpZiBwcmVzZW50LCByZXByZXNlbnRzIHRoZSBuYW1lIG9mIHRoZSBwbHVnaW4gcmVzcG9uc2libGVcbiAgICAgKiBmb3IgYWRkaW5nIHRoaXMgc2VydmVyIHJvdXRlLiBFbHNlLCBzaWduaWZpZXMgdGhhdCB0aGUgcm91dGUgd2FzIGFkZGVkIGRpcmVjdGx5XG4gICAgICovXG4gICAgX3dyYXBSb3V0ZUhhbmRsZXIocm91dGUsIHBsdWdpbk5hbWUpIHtcbiAgICAgICAgY29uc3QgaW5zdHJ1bWVudGF0aW9uID0gdGhpcztcbiAgICAgICAgaWYgKHJvdXRlW2ludGVybmFsX3R5cGVzXzEuaGFuZGxlclBhdGNoZWRdID09PSB0cnVlKVxuICAgICAgICAgICAgcmV0dXJuIHJvdXRlO1xuICAgICAgICByb3V0ZVtpbnRlcm5hbF90eXBlc18xLmhhbmRsZXJQYXRjaGVkXSA9IHRydWU7XG4gICAgICAgIGNvbnN0IHdyYXBIYW5kbGVyID0gb2xkSGFuZGxlciA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gKC4uLnBhcmFtcykge1xuICAgICAgICAgICAgICAgIGlmIChhcGkudHJhY2UuZ2V0U3BhbihhcGkuY29udGV4dC5hY3RpdmUoKSkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXdhaXQgb2xkSGFuZGxlci5jYWxsKHRoaXMsIC4uLnBhcmFtcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHJwY01ldGFkYXRhID0gKDAsIGNvcmVfMS5nZXRSUENNZXRhZGF0YSkoYXBpLmNvbnRleHQuYWN0aXZlKCkpO1xuICAgICAgICAgICAgICAgIGlmIChycGNNZXRhZGF0YT8udHlwZSA9PT0gY29yZV8xLlJQQ1R5cGUuSFRUUCkge1xuICAgICAgICAgICAgICAgICAgICBycGNNZXRhZGF0YS5yb3V0ZSA9IHJvdXRlLnBhdGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IG1ldGFkYXRhID0gKDAsIHV0aWxzXzEuZ2V0Um91dGVNZXRhZGF0YSkocm91dGUsIGluc3RydW1lbnRhdGlvbi5fc2VtY29udlN0YWJpbGl0eSwgcGx1Z2luTmFtZSk7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3BhbiA9IGluc3RydW1lbnRhdGlvbi50cmFjZXIuc3RhcnRTcGFuKG1ldGFkYXRhLm5hbWUsIHtcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlczogbWV0YWRhdGEuYXR0cmlidXRlcyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXdhaXQgYXBpLmNvbnRleHQud2l0aChhcGkudHJhY2Uuc2V0U3BhbihhcGkuY29udGV4dC5hY3RpdmUoKSwgc3BhbiksICgpID0+IG9sZEhhbmRsZXIuY2FsbCh0aGlzLCAuLi5wYXJhbXMpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICBzcGFuLnJlY29yZEV4Y2VwdGlvbihlcnIpO1xuICAgICAgICAgICAgICAgICAgICBzcGFuLnNldFN0YXR1cyh7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBhcGkuU3BhblN0YXR1c0NvZGUuRVJST1IsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBlcnIubWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICAgICAgICAgIHNwYW4uZW5kKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHR5cGVvZiByb3V0ZS5oYW5kbGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICByb3V0ZS5oYW5kbGVyID0gd3JhcEhhbmRsZXIocm91dGUuaGFuZGxlcik7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIHJvdXRlLm9wdGlvbnMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGNvbnN0IG9sZE9wdGlvbnMgPSByb3V0ZS5vcHRpb25zO1xuICAgICAgICAgICAgcm91dGUub3B0aW9ucyA9IGZ1bmN0aW9uIChzZXJ2ZXIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25zID0gb2xkT3B0aW9ucyhzZXJ2ZXIpO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5oYW5kbGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnMuaGFuZGxlciA9IHdyYXBIYW5kbGVyKG9wdGlvbnMuaGFuZGxlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb25zO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0eXBlb2Ygcm91dGUub3B0aW9ucz8uaGFuZGxlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgcm91dGUub3B0aW9ucy5oYW5kbGVyID0gd3JhcEhhbmRsZXIocm91dGUub3B0aW9ucy5oYW5kbGVyKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcm91dGU7XG4gICAgfVxufVxuZXhwb3J0cy5IYXBpSW5zdHJ1bWVudGF0aW9uID0gSGFwaUluc3RydW1lbnRhdGlvbjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluc3RydW1lbnRhdGlvbi5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/instrumentation.js\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/internal-types.js":
|
|
/*!*****************************************************************************************************************************************************************************!*\
|
|
!*** ./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/internal-types.js ***!
|
|
\*****************************************************************************************************************************************************************************/
|
|
/***/ ((__unused_webpack_module, exports) => {
|
|
|
|
eval("\n/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.HapiLifecycleMethodNames = exports.HapiLayerType = exports.handlerPatched = exports.HapiComponentName = void 0;\nexports.HapiComponentName = '@hapi/hapi';\n/**\n * This symbol is used to mark a Hapi route handler or server extension handler as\n * already patched, since its possible to use these handlers multiple times\n * i.e. when allowing multiple versions of one plugin, or when registering a plugin\n * multiple times on different servers.\n */\nexports.handlerPatched = Symbol('hapi-handler-patched');\nexports.HapiLayerType = {\n ROUTER: 'router',\n PLUGIN: 'plugin',\n EXT: 'server.ext',\n};\nexports.HapiLifecycleMethodNames = new Set([\n 'onPreAuth',\n 'onCredentials',\n 'onPostAuth',\n 'onPreHandler',\n 'onPostHandler',\n 'onPreResponse',\n 'onRequest',\n]);\n//# sourceMappingURL=internal-types.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLWhhcGlAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLWhhcGkvYnVpbGQvc3JjL2ludGVybmFsLXR5cGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGdDQUFnQyxHQUFHLHFCQUFxQixHQUFHLHNCQUFzQixHQUFHLHlCQUF5QjtBQUM3Ryx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLWhhcGlAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLWhhcGkvYnVpbGQvc3JjL2ludGVybmFsLXR5cGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuSGFwaUxpZmVjeWNsZU1ldGhvZE5hbWVzID0gZXhwb3J0cy5IYXBpTGF5ZXJUeXBlID0gZXhwb3J0cy5oYW5kbGVyUGF0Y2hlZCA9IGV4cG9ydHMuSGFwaUNvbXBvbmVudE5hbWUgPSB2b2lkIDA7XG5leHBvcnRzLkhhcGlDb21wb25lbnROYW1lID0gJ0BoYXBpL2hhcGknO1xuLyoqXG4gKiBUaGlzIHN5bWJvbCBpcyB1c2VkIHRvIG1hcmsgYSBIYXBpIHJvdXRlIGhhbmRsZXIgb3Igc2VydmVyIGV4dGVuc2lvbiBoYW5kbGVyIGFzXG4gKiBhbHJlYWR5IHBhdGNoZWQsIHNpbmNlIGl0cyBwb3NzaWJsZSB0byB1c2UgdGhlc2UgaGFuZGxlcnMgbXVsdGlwbGUgdGltZXNcbiAqIGkuZS4gd2hlbiBhbGxvd2luZyBtdWx0aXBsZSB2ZXJzaW9ucyBvZiBvbmUgcGx1Z2luLCBvciB3aGVuIHJlZ2lzdGVyaW5nIGEgcGx1Z2luXG4gKiBtdWx0aXBsZSB0aW1lcyBvbiBkaWZmZXJlbnQgc2VydmVycy5cbiAqL1xuZXhwb3J0cy5oYW5kbGVyUGF0Y2hlZCA9IFN5bWJvbCgnaGFwaS1oYW5kbGVyLXBhdGNoZWQnKTtcbmV4cG9ydHMuSGFwaUxheWVyVHlwZSA9IHtcbiAgICBST1VURVI6ICdyb3V0ZXInLFxuICAgIFBMVUdJTjogJ3BsdWdpbicsXG4gICAgRVhUOiAnc2VydmVyLmV4dCcsXG59O1xuZXhwb3J0cy5IYXBpTGlmZWN5Y2xlTWV0aG9kTmFtZXMgPSBuZXcgU2V0KFtcbiAgICAnb25QcmVBdXRoJyxcbiAgICAnb25DcmVkZW50aWFscycsXG4gICAgJ29uUG9zdEF1dGgnLFxuICAgICdvblByZUhhbmRsZXInLFxuICAgICdvblBvc3RIYW5kbGVyJyxcbiAgICAnb25QcmVSZXNwb25zZScsXG4gICAgJ29uUmVxdWVzdCcsXG5dKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWludGVybmFsLXR5cGVzLmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/internal-types.js\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/semconv.js":
|
|
/*!**********************************************************************************************************************************************************************!*\
|
|
!*** ./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/semconv.js ***!
|
|
\**********************************************************************************************************************************************************************/
|
|
/***/ ((__unused_webpack_module, exports) => {
|
|
|
|
eval("\n/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ATTR_HTTP_METHOD = void 0;\n/*\n * This file contains a copy of unstable semantic convention definitions\n * used by this package.\n * @see https://github.com/open-telemetry/opentelemetry-js/tree/main/semantic-conventions#unstable-semconv\n */\n/**\n * Deprecated, use `http.request.method` instead.\n *\n * @example GET\n * @example POST\n * @example HEAD\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n *\n * @deprecated Replaced by `http.request.method`.\n */\nexports.ATTR_HTTP_METHOD = 'http.method';\n//# sourceMappingURL=semconv.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLWhhcGlAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLWhhcGkvYnVpbGQvc3JjL3NlbWNvbnYuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL0BvcGVudGVsZW1ldHJ5K2luc3RydW1lbnRhdGlvbi1oYXBpQDAuNjAuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMS45LjEvbm9kZV9tb2R1bGVzL0BvcGVudGVsZW1ldHJ5L2luc3RydW1lbnRhdGlvbi1oYXBpL2J1aWxkL3NyYy9zZW1jb252LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuQVRUUl9IVFRQX01FVEhPRCA9IHZvaWQgMDtcbi8qXG4gKiBUaGlzIGZpbGUgY29udGFpbnMgYSBjb3B5IG9mIHVuc3RhYmxlIHNlbWFudGljIGNvbnZlbnRpb24gZGVmaW5pdGlvbnNcbiAqIHVzZWQgYnkgdGhpcyBwYWNrYWdlLlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy90cmVlL21haW4vc2VtYW50aWMtY29udmVudGlvbnMjdW5zdGFibGUtc2VtY29udlxuICovXG4vKipcbiAqIERlcHJlY2F0ZWQsIHVzZSBgaHR0cC5yZXF1ZXN0Lm1ldGhvZGAgaW5zdGVhZC5cbiAqXG4gKiBAZXhhbXBsZSBHRVRcbiAqIEBleGFtcGxlIFBPU1RcbiAqIEBleGFtcGxlIEhFQURcbiAqXG4gKiBAZXhwZXJpbWVudGFsIFRoaXMgYXR0cmlidXRlIGlzIGV4cGVyaW1lbnRhbCBhbmQgaXMgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIGluIG1pbm9yIHJlbGVhc2VzIG9mIGBAb3BlbnRlbGVtZXRyeS9zZW1hbnRpYy1jb252ZW50aW9uc2AuXG4gKlxuICogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgYnkgYGh0dHAucmVxdWVzdC5tZXRob2RgLlxuICovXG5leHBvcnRzLkFUVFJfSFRUUF9NRVRIT0QgPSAnaHR0cC5tZXRob2QnO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2VtY29udi5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/semconv.js\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/utils.js":
|
|
/*!********************************************************************************************************************************************************************!*\
|
|
!*** ./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/utils.js ***!
|
|
\********************************************************************************************************************************************************************/
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
|
|
eval("\n/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getPluginFromInput = exports.getExtMetadata = exports.getRouteMetadata = exports.isPatchableExtMethod = exports.isDirectExtInput = exports.isLifecycleExtEventObj = exports.isLifecycleExtType = exports.getPluginName = void 0;\nconst semantic_conventions_1 = __webpack_require__(/*! @opentelemetry/semantic-conventions */ \"(rsc)/./node_modules/.pnpm/@opentelemetry+semantic-conventions@1.40.0/node_modules/@opentelemetry/semantic-conventions/build/esm/index.js\");\nconst semconv_1 = __webpack_require__(/*! ./semconv */ \"(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/semconv.js\");\nconst internal_types_1 = __webpack_require__(/*! ./internal-types */ \"(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/internal-types.js\");\nconst AttributeNames_1 = __webpack_require__(/*! ./enums/AttributeNames */ \"(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/enums/AttributeNames.js\");\nconst instrumentation_1 = __webpack_require__(/*! @opentelemetry/instrumentation */ \"(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/esm/index.js\");\nfunction getPluginName(plugin) {\n if (plugin.name) {\n return plugin.name;\n }\n else {\n return plugin.pkg.name;\n }\n}\nexports.getPluginName = getPluginName;\nconst isLifecycleExtType = (variableToCheck) => {\n return (typeof variableToCheck === 'string' &&\n internal_types_1.HapiLifecycleMethodNames.has(variableToCheck));\n};\nexports.isLifecycleExtType = isLifecycleExtType;\nconst isLifecycleExtEventObj = (variableToCheck) => {\n const event = variableToCheck?.type;\n return event !== undefined && (0, exports.isLifecycleExtType)(event);\n};\nexports.isLifecycleExtEventObj = isLifecycleExtEventObj;\nconst isDirectExtInput = (variableToCheck) => {\n return (Array.isArray(variableToCheck) &&\n variableToCheck.length <= 3 &&\n (0, exports.isLifecycleExtType)(variableToCheck[0]) &&\n typeof variableToCheck[1] === 'function');\n};\nexports.isDirectExtInput = isDirectExtInput;\nconst isPatchableExtMethod = (variableToCheck) => {\n return !Array.isArray(variableToCheck);\n};\nexports.isPatchableExtMethod = isPatchableExtMethod;\nconst getRouteMetadata = (route, semconvStability, pluginName) => {\n const attributes = {\n [semantic_conventions_1.ATTR_HTTP_ROUTE]: route.path,\n };\n if (semconvStability & instrumentation_1.SemconvStability.OLD) {\n attributes[semconv_1.ATTR_HTTP_METHOD] = route.method;\n }\n if (semconvStability & instrumentation_1.SemconvStability.STABLE) {\n // Note: This currently does *not* normalize the method name to uppercase\n // and conditionally include `http.request.method.original` as described\n // at https://opentelemetry.io/docs/specs/semconv/http/http-spans/\n // These attributes are for a *hapi* span, and not the parent HTTP span,\n // so the HTTP span guidance doesn't strictly apply.\n attributes[semantic_conventions_1.ATTR_HTTP_REQUEST_METHOD] = route.method;\n }\n let name;\n if (pluginName) {\n attributes[AttributeNames_1.AttributeNames.HAPI_TYPE] = internal_types_1.HapiLayerType.PLUGIN;\n attributes[AttributeNames_1.AttributeNames.PLUGIN_NAME] = pluginName;\n name = `${pluginName}: route - ${route.path}`;\n }\n else {\n attributes[AttributeNames_1.AttributeNames.HAPI_TYPE] = internal_types_1.HapiLayerType.ROUTER;\n name = `route - ${route.path}`;\n }\n return { attributes, name };\n};\nexports.getRouteMetadata = getRouteMetadata;\nconst getExtMetadata = (extPoint, pluginName, methodName) => {\n let baseName = `ext - ${extPoint}`;\n if (methodName && methodName !== 'method') {\n // method is the default name for the extension in the ServerExtEventsObject format.\n baseName = `ext - ${extPoint} - ${methodName}`;\n }\n if (pluginName) {\n return {\n attributes: {\n [AttributeNames_1.AttributeNames.EXT_TYPE]: extPoint,\n [AttributeNames_1.AttributeNames.HAPI_TYPE]: internal_types_1.HapiLayerType.EXT,\n [AttributeNames_1.AttributeNames.PLUGIN_NAME]: pluginName,\n },\n name: `${pluginName}: ${baseName}`,\n };\n }\n return {\n attributes: {\n [AttributeNames_1.AttributeNames.EXT_TYPE]: extPoint,\n [AttributeNames_1.AttributeNames.HAPI_TYPE]: internal_types_1.HapiLayerType.EXT,\n },\n name: baseName,\n };\n};\nexports.getExtMetadata = getExtMetadata;\nconst getPluginFromInput = (pluginObj) => {\n if ('plugin' in pluginObj) {\n if ('plugin' in pluginObj.plugin) {\n return pluginObj.plugin.plugin;\n }\n return pluginObj.plugin;\n }\n return pluginObj;\n};\nexports.getPluginFromInput = getPluginFromInput;\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLWhhcGlAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLWhhcGkvYnVpbGQvc3JjL3V0aWxzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDBCQUEwQixHQUFHLHNCQUFzQixHQUFHLHdCQUF3QixHQUFHLDRCQUE0QixHQUFHLHdCQUF3QixHQUFHLDhCQUE4QixHQUFHLDBCQUEwQixHQUFHLHFCQUFxQjtBQUM5TiwrQkFBK0IsbUJBQU8sQ0FBQyxzTEFBcUM7QUFDNUUsa0JBQWtCLG1CQUFPLENBQUMsdUxBQVc7QUFDckMseUJBQXlCLG1CQUFPLENBQUMscU1BQWtCO0FBQ25ELHlCQUF5QixtQkFBTyxDQUFDLGlOQUF3QjtBQUN6RCwwQkFBMEIsbUJBQU8sQ0FBQyxpTUFBZ0M7QUFDbEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QjtBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLFdBQVcsWUFBWSxXQUFXO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQixXQUFXO0FBQ3JDO0FBQ0EsYUFBYTtBQUNiO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0EsNEJBQTRCLFNBQVM7QUFDckM7QUFDQTtBQUNBLDRCQUE0QixVQUFVLElBQUksV0FBVztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYixxQkFBcUIsV0FBVyxJQUFJLFNBQVM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUIiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLWhhcGlAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLWhhcGkvYnVpbGQvc3JjL3V0aWxzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZ2V0UGx1Z2luRnJvbUlucHV0ID0gZXhwb3J0cy5nZXRFeHRNZXRhZGF0YSA9IGV4cG9ydHMuZ2V0Um91dGVNZXRhZGF0YSA9IGV4cG9ydHMuaXNQYXRjaGFibGVFeHRNZXRob2QgPSBleHBvcnRzLmlzRGlyZWN0RXh0SW5wdXQgPSBleHBvcnRzLmlzTGlmZWN5Y2xlRXh0RXZlbnRPYmogPSBleHBvcnRzLmlzTGlmZWN5Y2xlRXh0VHlwZSA9IGV4cG9ydHMuZ2V0UGx1Z2luTmFtZSA9IHZvaWQgMDtcbmNvbnN0IHNlbWFudGljX2NvbnZlbnRpb25zXzEgPSByZXF1aXJlKFwiQG9wZW50ZWxlbWV0cnkvc2VtYW50aWMtY29udmVudGlvbnNcIik7XG5jb25zdCBzZW1jb252XzEgPSByZXF1aXJlKFwiLi9zZW1jb252XCIpO1xuY29uc3QgaW50ZXJuYWxfdHlwZXNfMSA9IHJlcXVpcmUoXCIuL2ludGVybmFsLXR5cGVzXCIpO1xuY29uc3QgQXR0cmlidXRlTmFtZXNfMSA9IHJlcXVpcmUoXCIuL2VudW1zL0F0dHJpYnV0ZU5hbWVzXCIpO1xuY29uc3QgaW5zdHJ1bWVudGF0aW9uXzEgPSByZXF1aXJlKFwiQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uXCIpO1xuZnVuY3Rpb24gZ2V0UGx1Z2luTmFtZShwbHVnaW4pIHtcbiAgICBpZiAocGx1Z2luLm5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHBsdWdpbi5uYW1lO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHBsdWdpbi5wa2cubmFtZTtcbiAgICB9XG59XG5leHBvcnRzLmdldFBsdWdpbk5hbWUgPSBnZXRQbHVnaW5OYW1lO1xuY29uc3QgaXNMaWZlY3ljbGVFeHRUeXBlID0gKHZhcmlhYmxlVG9DaGVjaykgPT4ge1xuICAgIHJldHVybiAodHlwZW9mIHZhcmlhYmxlVG9DaGVjayA9PT0gJ3N0cmluZycgJiZcbiAgICAgICAgaW50ZXJuYWxfdHlwZXNfMS5IYXBpTGlmZWN5Y2xlTWV0aG9kTmFtZXMuaGFzKHZhcmlhYmxlVG9DaGVjaykpO1xufTtcbmV4cG9ydHMuaXNMaWZlY3ljbGVFeHRUeXBlID0gaXNMaWZlY3ljbGVFeHRUeXBlO1xuY29uc3QgaXNMaWZlY3ljbGVFeHRFdmVudE9iaiA9ICh2YXJpYWJsZVRvQ2hlY2spID0+IHtcbiAgICBjb25zdCBldmVudCA9IHZhcmlhYmxlVG9DaGVjaz8udHlwZTtcbiAgICByZXR1cm4gZXZlbnQgIT09IHVuZGVmaW5lZCAmJiAoMCwgZXhwb3J0cy5pc0xpZmVjeWNsZUV4dFR5cGUpKGV2ZW50KTtcbn07XG5leHBvcnRzLmlzTGlmZWN5Y2xlRXh0RXZlbnRPYmogPSBpc0xpZmVjeWNsZUV4dEV2ZW50T2JqO1xuY29uc3QgaXNEaXJlY3RFeHRJbnB1dCA9ICh2YXJpYWJsZVRvQ2hlY2spID0+IHtcbiAgICByZXR1cm4gKEFycmF5LmlzQXJyYXkodmFyaWFibGVUb0NoZWNrKSAmJlxuICAgICAgICB2YXJpYWJsZVRvQ2hlY2subGVuZ3RoIDw9IDMgJiZcbiAgICAgICAgKDAsIGV4cG9ydHMuaXNMaWZlY3ljbGVFeHRUeXBlKSh2YXJpYWJsZVRvQ2hlY2tbMF0pICYmXG4gICAgICAgIHR5cGVvZiB2YXJpYWJsZVRvQ2hlY2tbMV0gPT09ICdmdW5jdGlvbicpO1xufTtcbmV4cG9ydHMuaXNEaXJlY3RFeHRJbnB1dCA9IGlzRGlyZWN0RXh0SW5wdXQ7XG5jb25zdCBpc1BhdGNoYWJsZUV4dE1ldGhvZCA9ICh2YXJpYWJsZVRvQ2hlY2spID0+IHtcbiAgICByZXR1cm4gIUFycmF5LmlzQXJyYXkodmFyaWFibGVUb0NoZWNrKTtcbn07XG5leHBvcnRzLmlzUGF0Y2hhYmxlRXh0TWV0aG9kID0gaXNQYXRjaGFibGVFeHRNZXRob2Q7XG5jb25zdCBnZXRSb3V0ZU1ldGFkYXRhID0gKHJvdXRlLCBzZW1jb252U3RhYmlsaXR5LCBwbHVnaW5OYW1lKSA9PiB7XG4gICAgY29uc3QgYXR0cmlidXRlcyA9IHtcbiAgICAgICAgW3NlbWFudGljX2NvbnZlbnRpb25zXzEuQVRUUl9IVFRQX1JPVVRFXTogcm91dGUucGF0aCxcbiAgICB9O1xuICAgIGlmIChzZW1jb252U3RhYmlsaXR5ICYgaW5zdHJ1bWVudGF0aW9uXzEuU2VtY29udlN0YWJpbGl0eS5PTEQpIHtcbiAgICAgICAgYXR0cmlidXRlc1tzZW1jb252XzEuQVRUUl9IVFRQX01FVEhPRF0gPSByb3V0ZS5tZXRob2Q7XG4gICAgfVxuICAgIGlmIChzZW1jb252U3RhYmlsaXR5ICYgaW5zdHJ1bWVudGF0aW9uXzEuU2VtY29udlN0YWJpbGl0eS5TVEFCTEUpIHtcbiAgICAgICAgLy8gTm90ZTogVGhpcyBjdXJyZW50bHkgZG9lcyAqbm90KiBub3JtYWxpemUgdGhlIG1ldGhvZCBuYW1lIHRvIHVwcGVyY2FzZVxuICAgICAgICAvLyBhbmQgY29uZGl0aW9uYWxseSBpbmNsdWRlIGBodHRwLnJlcXVlc3QubWV0aG9kLm9yaWdpbmFsYCBhcyBkZXNjcmliZWRcbiAgICAgICAgLy8gYXQgaHR0cHM6Ly9vcGVudGVsZW1ldHJ5LmlvL2RvY3Mvc3BlY3Mvc2VtY29udi9odHRwL2h0dHAtc3BhbnMvXG4gICAgICAgIC8vIFRoZXNlIGF0dHJpYnV0ZXMgYXJlIGZvciBhICpoYXBpKiBzcGFuLCBhbmQgbm90IHRoZSBwYXJlbnQgSFRUUCBzcGFuLFxuICAgICAgICAvLyBzbyB0aGUgSFRUUCBzcGFuIGd1aWRhbmNlIGRvZXNuJ3Qgc3RyaWN0bHkgYXBwbHkuXG4gICAgICAgIGF0dHJpYnV0ZXNbc2VtYW50aWNfY29udmVudGlvbnNfMS5BVFRSX0hUVFBfUkVRVUVTVF9NRVRIT0RdID0gcm91dGUubWV0aG9kO1xuICAgIH1cbiAgICBsZXQgbmFtZTtcbiAgICBpZiAocGx1Z2luTmFtZSkge1xuICAgICAgICBhdHRyaWJ1dGVzW0F0dHJpYnV0ZU5hbWVzXzEuQXR0cmlidXRlTmFtZXMuSEFQSV9UWVBFXSA9IGludGVybmFsX3R5cGVzXzEuSGFwaUxheWVyVHlwZS5QTFVHSU47XG4gICAgICAgIGF0dHJpYnV0ZXNbQXR0cmlidXRlTmFtZXNfMS5BdHRyaWJ1dGVOYW1lcy5QTFVHSU5fTkFNRV0gPSBwbHVnaW5OYW1lO1xuICAgICAgICBuYW1lID0gYCR7cGx1Z2luTmFtZX06IHJvdXRlIC0gJHtyb3V0ZS5wYXRofWA7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBhdHRyaWJ1dGVzW0F0dHJpYnV0ZU5hbWVzXzEuQXR0cmlidXRlTmFtZXMuSEFQSV9UWVBFXSA9IGludGVybmFsX3R5cGVzXzEuSGFwaUxheWVyVHlwZS5ST1VURVI7XG4gICAgICAgIG5hbWUgPSBgcm91dGUgLSAke3JvdXRlLnBhdGh9YDtcbiAgICB9XG4gICAgcmV0dXJuIHsgYXR0cmlidXRlcywgbmFtZSB9O1xufTtcbmV4cG9ydHMuZ2V0Um91dGVNZXRhZGF0YSA9IGdldFJvdXRlTWV0YWRhdGE7XG5jb25zdCBnZXRFeHRNZXRhZGF0YSA9IChleHRQb2ludCwgcGx1Z2luTmFtZSwgbWV0aG9kTmFtZSkgPT4ge1xuICAgIGxldCBiYXNlTmFtZSA9IGBleHQgLSAke2V4dFBvaW50fWA7XG4gICAgaWYgKG1ldGhvZE5hbWUgJiYgbWV0aG9kTmFtZSAhPT0gJ21ldGhvZCcpIHtcbiAgICAgICAgLy8gbWV0aG9kIGlzIHRoZSBkZWZhdWx0IG5hbWUgZm9yIHRoZSBleHRlbnNpb24gaW4gdGhlIFNlcnZlckV4dEV2ZW50c09iamVjdCBmb3JtYXQuXG4gICAgICAgIGJhc2VOYW1lID0gYGV4dCAtICR7ZXh0UG9pbnR9IC0gJHttZXRob2ROYW1lfWA7XG4gICAgfVxuICAgIGlmIChwbHVnaW5OYW1lKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICAgICAgW0F0dHJpYnV0ZU5hbWVzXzEuQXR0cmlidXRlTmFtZXMuRVhUX1RZUEVdOiBleHRQb2ludCxcbiAgICAgICAgICAgICAgICBbQXR0cmlidXRlTmFtZXNfMS5BdHRyaWJ1dGVOYW1lcy5IQVBJX1RZUEVdOiBpbnRlcm5hbF90eXBlc18xLkhhcGlMYXllclR5cGUuRVhULFxuICAgICAgICAgICAgICAgIFtBdHRyaWJ1dGVOYW1lc18xLkF0dHJpYnV0ZU5hbWVzLlBMVUdJTl9OQU1FXTogcGx1Z2luTmFtZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBuYW1lOiBgJHtwbHVnaW5OYW1lfTogJHtiYXNlTmFtZX1gLFxuICAgICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICBbQXR0cmlidXRlTmFtZXNfMS5BdHRyaWJ1dGVOYW1lcy5FWFRfVFlQRV06IGV4dFBvaW50LFxuICAgICAgICAgICAgW0F0dHJpYnV0ZU5hbWVzXzEuQXR0cmlidXRlTmFtZXMuSEFQSV9UWVBFXTogaW50ZXJuYWxfdHlwZXNfMS5IYXBpTGF5ZXJUeXBlLkVYVCxcbiAgICAgICAgfSxcbiAgICAgICAgbmFtZTogYmFzZU5hbWUsXG4gICAgfTtcbn07XG5leHBvcnRzLmdldEV4dE1ldGFkYXRhID0gZ2V0RXh0TWV0YWRhdGE7XG5jb25zdCBnZXRQbHVnaW5Gcm9tSW5wdXQgPSAocGx1Z2luT2JqKSA9PiB7XG4gICAgaWYgKCdwbHVnaW4nIGluIHBsdWdpbk9iaikge1xuICAgICAgICBpZiAoJ3BsdWdpbicgaW4gcGx1Z2luT2JqLnBsdWdpbikge1xuICAgICAgICAgICAgcmV0dXJuIHBsdWdpbk9iai5wbHVnaW4ucGx1Z2luO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwbHVnaW5PYmoucGx1Z2luO1xuICAgIH1cbiAgICByZXR1cm4gcGx1Z2luT2JqO1xufTtcbmV4cG9ydHMuZ2V0UGx1Z2luRnJvbUlucHV0ID0gZ2V0UGx1Z2luRnJvbUlucHV0O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXRpbHMuanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/utils.js\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/version.js":
|
|
/*!**********************************************************************************************************************************************************************!*\
|
|
!*** ./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/version.js ***!
|
|
\**********************************************************************************************************************************************************************/
|
|
/***/ ((__unused_webpack_module, exports) => {
|
|
|
|
eval("\n/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PACKAGE_NAME = exports.PACKAGE_VERSION = void 0;\n// this is autogenerated file, see scripts/version-update.js\nexports.PACKAGE_VERSION = '0.60.0';\nexports.PACKAGE_NAME = '@opentelemetry/instrumentation-hapi';\n//# sourceMappingURL=version.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLWhhcGlAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLWhhcGkvYnVpbGQvc3JjL3ZlcnNpb24uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsb0JBQW9CLEdBQUcsdUJBQXVCO0FBQzlDO0FBQ0EsdUJBQXVCO0FBQ3ZCLG9CQUFvQjtBQUNwQiIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9Ab3BlbnRlbGVtZXRyeStpbnN0cnVtZW50YXRpb24taGFwaUAwLjYwLjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xL25vZGVfbW9kdWxlcy9Ab3BlbnRlbGVtZXRyeS9pbnN0cnVtZW50YXRpb24taGFwaS9idWlsZC9zcmMvdmVyc2lvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLlBBQ0tBR0VfTkFNRSA9IGV4cG9ydHMuUEFDS0FHRV9WRVJTSU9OID0gdm9pZCAwO1xuLy8gdGhpcyBpcyBhdXRvZ2VuZXJhdGVkIGZpbGUsIHNlZSBzY3JpcHRzL3ZlcnNpb24tdXBkYXRlLmpzXG5leHBvcnRzLlBBQ0tBR0VfVkVSU0lPTiA9ICcwLjYwLjAnO1xuZXhwb3J0cy5QQUNLQUdFX05BTUUgPSAnQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLWhhcGknO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dmVyc2lvbi5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/version.js\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/enums/AttributeNames.js":
|
|
/*!***********************************************************************************************************************************************************************************!*\
|
|
!*** ./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/enums/AttributeNames.js ***!
|
|
\***********************************************************************************************************************************************************************************/
|
|
/***/ ((__unused_webpack_module, exports) => {
|
|
|
|
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AttributeNames = void 0;\n/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar AttributeNames;\n(function (AttributeNames) {\n AttributeNames[\"HAPI_TYPE\"] = \"hapi.type\";\n AttributeNames[\"PLUGIN_NAME\"] = \"hapi.plugin.name\";\n AttributeNames[\"EXT_TYPE\"] = \"server.ext.type\";\n})(AttributeNames = exports.AttributeNames || (exports.AttributeNames = {}));\n//# sourceMappingURL=AttributeNames.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLWhhcGlAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLWhhcGkvYnVpbGQvc3JjL2VudW1zL0F0dHJpYnV0ZU5hbWVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyw4Q0FBOEMsc0JBQXNCLEtBQUs7QUFDMUUiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLWhhcGlAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLWhhcGkvYnVpbGQvc3JjL2VudW1zL0F0dHJpYnV0ZU5hbWVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5BdHRyaWJ1dGVOYW1lcyA9IHZvaWQgMDtcbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG52YXIgQXR0cmlidXRlTmFtZXM7XG4oZnVuY3Rpb24gKEF0dHJpYnV0ZU5hbWVzKSB7XG4gICAgQXR0cmlidXRlTmFtZXNbXCJIQVBJX1RZUEVcIl0gPSBcImhhcGkudHlwZVwiO1xuICAgIEF0dHJpYnV0ZU5hbWVzW1wiUExVR0lOX05BTUVcIl0gPSBcImhhcGkucGx1Z2luLm5hbWVcIjtcbiAgICBBdHRyaWJ1dGVOYW1lc1tcIkVYVF9UWVBFXCJdID0gXCJzZXJ2ZXIuZXh0LnR5cGVcIjtcbn0pKEF0dHJpYnV0ZU5hbWVzID0gZXhwb3J0cy5BdHRyaWJ1dGVOYW1lcyB8fCAoZXhwb3J0cy5BdHRyaWJ1dGVOYW1lcyA9IHt9KSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1BdHRyaWJ1dGVOYW1lcy5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/enums/AttributeNames.js\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/index.js":
|
|
/*!********************************************************************************************************************************************************************!*\
|
|
!*** ./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/index.js ***!
|
|
\********************************************************************************************************************************************************************/
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
|
|
eval("\n/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AttributeNames = exports.HapiInstrumentation = void 0;\nvar instrumentation_1 = __webpack_require__(/*! ./instrumentation */ \"(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/instrumentation.js\");\nObject.defineProperty(exports, \"HapiInstrumentation\", ({ enumerable: true, get: function () { return instrumentation_1.HapiInstrumentation; } }));\nvar AttributeNames_1 = __webpack_require__(/*! ./enums/AttributeNames */ \"(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/enums/AttributeNames.js\");\nObject.defineProperty(exports, \"AttributeNames\", ({ enumerable: true, get: function () { return AttributeNames_1.AttributeNames; } }));\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLWhhcGlAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLWhhcGkvYnVpbGQvc3JjL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHNCQUFzQixHQUFHLDJCQUEyQjtBQUNwRCx3QkFBd0IsbUJBQU8sQ0FBQyx1TUFBbUI7QUFDbkQsdURBQXNELEVBQUUscUNBQXFDLGlEQUFpRCxFQUFDO0FBQy9JLHVCQUF1QixtQkFBTyxDQUFDLGlOQUF3QjtBQUN2RCxrREFBaUQsRUFBRSxxQ0FBcUMsMkNBQTJDLEVBQUM7QUFDcEkiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLWhhcGlAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLWhhcGkvYnVpbGQvc3JjL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuQXR0cmlidXRlTmFtZXMgPSBleHBvcnRzLkhhcGlJbnN0cnVtZW50YXRpb24gPSB2b2lkIDA7XG52YXIgaW5zdHJ1bWVudGF0aW9uXzEgPSByZXF1aXJlKFwiLi9pbnN0cnVtZW50YXRpb25cIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJIYXBpSW5zdHJ1bWVudGF0aW9uXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBpbnN0cnVtZW50YXRpb25fMS5IYXBpSW5zdHJ1bWVudGF0aW9uOyB9IH0pO1xudmFyIEF0dHJpYnV0ZU5hbWVzXzEgPSByZXF1aXJlKFwiLi9lbnVtcy9BdHRyaWJ1dGVOYW1lc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkF0dHJpYnV0ZU5hbWVzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBBdHRyaWJ1dGVOYW1lc18xLkF0dHJpYnV0ZU5hbWVzOyB9IH0pO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/index.js\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/instrumentation.js":
|
|
/*!******************************************************************************************************************************************************************************!*\
|
|
!*** ./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/instrumentation.js ***!
|
|
\******************************************************************************************************************************************************************************/
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
|
|
eval(";globalThis[\"_sentryRewritesTunnelPath\"] = undefined;globalThis[\"SENTRY_RELEASE\"] = undefined;globalThis[\"_sentryBasePath\"] = undefined;globalThis[\"_sentryNextJsVersion\"] = \"16.1.6\";globalThis[\"_sentryRewriteFramesDistDir\"] = \".next\";globalThis[\"_sentryVercelCronsConfig\"] = undefined;\n/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.HapiInstrumentation = void 0;\nconst api = __webpack_require__(/*! @opentelemetry/api */ \"(ssr)/./node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/index.js\");\nconst core_1 = __webpack_require__(/*! @opentelemetry/core */ \"(ssr)/./node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/esm/index.js\");\nconst instrumentation_1 = __webpack_require__(/*! @opentelemetry/instrumentation */ \"(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/esm/index.js\");\n/** @knipignore */\nconst version_1 = __webpack_require__(/*! ./version */ \"(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/version.js\");\nconst internal_types_1 = __webpack_require__(/*! ./internal-types */ \"(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/internal-types.js\");\nconst utils_1 = __webpack_require__(/*! ./utils */ \"(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/utils.js\");\n/** Hapi instrumentation for OpenTelemetry */\nclass HapiInstrumentation extends instrumentation_1.InstrumentationBase {\n _semconvStability;\n constructor(config = {}) {\n super(version_1.PACKAGE_NAME, version_1.PACKAGE_VERSION, config);\n this._semconvStability = (0, instrumentation_1.semconvStabilityFromStr)('http', process.env.OTEL_SEMCONV_STABILITY_OPT_IN);\n }\n init() {\n return new instrumentation_1.InstrumentationNodeModuleDefinition(internal_types_1.HapiComponentName, ['>=17.0.0 <22'], (module) => {\n const moduleExports = module[Symbol.toStringTag] === 'Module' ? module.default : module;\n if (!(0, instrumentation_1.isWrapped)(moduleExports.server)) {\n this._wrap(moduleExports, 'server', this._getServerPatch.bind(this));\n }\n if (!(0, instrumentation_1.isWrapped)(moduleExports.Server)) {\n this._wrap(moduleExports, 'Server', this._getServerPatch.bind(this));\n }\n return moduleExports;\n }, (module) => {\n const moduleExports = module[Symbol.toStringTag] === 'Module' ? module.default : module;\n this._massUnwrap([moduleExports], ['server', 'Server']);\n });\n }\n /**\n * Patches the Hapi.server and Hapi.Server functions in order to instrument\n * the server.route, server.ext, and server.register functions via calls to the\n * @function _getServerRoutePatch, @function _getServerExtPatch, and\n * @function _getServerRegisterPatch functions\n * @param original - the original Hapi Server creation function\n */\n _getServerPatch(original) {\n const instrumentation = this;\n const self = this;\n return function server(opts) {\n const newServer = original.apply(this, [opts]);\n self._wrap(newServer, 'route', originalRouter => {\n return instrumentation._getServerRoutePatch.bind(instrumentation)(originalRouter);\n });\n // Casting as any is necessary here due to multiple overloads on the Hapi.ext\n // function, which requires supporting a variety of different parameters\n // as extension inputs\n self._wrap(newServer, 'ext', originalExtHandler => {\n return instrumentation._getServerExtPatch.bind(instrumentation)(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n originalExtHandler);\n });\n // Casting as any is necessary here due to multiple overloads on the Hapi.Server.register\n // function, which requires supporting a variety of different types of Plugin inputs\n self._wrap(newServer, 'register', \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n instrumentation._getServerRegisterPatch.bind(instrumentation));\n return newServer;\n };\n }\n /**\n * Patches the plugin register function used by the Hapi Server. This function\n * goes through each plugin that is being registered and adds instrumentation\n * via a call to the @function _wrapRegisterHandler function.\n * @param {RegisterFunction<T>} original - the original register function which\n * registers each plugin on the server\n */\n _getServerRegisterPatch(original) {\n const instrumentation = this;\n return function register(pluginInput, options) {\n if (Array.isArray(pluginInput)) {\n for (const pluginObj of pluginInput) {\n const plugin = (0, utils_1.getPluginFromInput)(pluginObj);\n instrumentation._wrapRegisterHandler(plugin);\n }\n }\n else {\n const plugin = (0, utils_1.getPluginFromInput)(pluginInput);\n instrumentation._wrapRegisterHandler(plugin);\n }\n return original.apply(this, [pluginInput, options]);\n };\n }\n /**\n * Patches the Server.ext function which adds extension methods to the specified\n * point along the request lifecycle. This function accepts the full range of\n * accepted input into the standard Hapi `server.ext` function. For each extension,\n * it adds instrumentation to the handler via a call to the @function _wrapExtMethods\n * function.\n * @param original - the original ext function which adds the extension method to the server\n * @param {string} [pluginName] - if present, represents the name of the plugin responsible\n * for adding this server extension. Else, signifies that the extension was added directly\n */\n _getServerExtPatch(original, pluginName) {\n const instrumentation = this;\n return function ext(...args) {\n if (Array.isArray(args[0])) {\n const eventsList = args[0];\n for (let i = 0; i < eventsList.length; i++) {\n const eventObj = eventsList[i];\n if ((0, utils_1.isLifecycleExtType)(eventObj.type)) {\n const lifecycleEventObj = eventObj;\n const handler = instrumentation._wrapExtMethods(lifecycleEventObj.method, eventObj.type, pluginName);\n lifecycleEventObj.method = handler;\n eventsList[i] = lifecycleEventObj;\n }\n }\n return original.apply(this, args);\n }\n else if ((0, utils_1.isDirectExtInput)(args)) {\n const extInput = args;\n const method = extInput[1];\n const handler = instrumentation._wrapExtMethods(method, extInput[0], pluginName);\n return original.apply(this, [extInput[0], handler, extInput[2]]);\n }\n else if ((0, utils_1.isLifecycleExtEventObj)(args[0])) {\n const lifecycleEventObj = args[0];\n const handler = instrumentation._wrapExtMethods(lifecycleEventObj.method, lifecycleEventObj.type, pluginName);\n lifecycleEventObj.method = handler;\n return original.call(this, lifecycleEventObj);\n }\n return original.apply(this, args);\n };\n }\n /**\n * Patches the Server.route function. This function accepts either one or an array\n * of Hapi.ServerRoute objects and adds instrumentation on each route via a call to\n * the @function _wrapRouteHandler function.\n * @param {HapiServerRouteInputMethod} original - the original route function which adds\n * the route to the server\n * @param {string} [pluginName] - if present, represents the name of the plugin responsible\n * for adding this server route. Else, signifies that the route was added directly\n */\n _getServerRoutePatch(original, pluginName) {\n const instrumentation = this;\n return function route(route) {\n if (Array.isArray(route)) {\n for (let i = 0; i < route.length; i++) {\n const newRoute = instrumentation._wrapRouteHandler.call(instrumentation, route[i], pluginName);\n route[i] = newRoute;\n }\n }\n else {\n route = instrumentation._wrapRouteHandler.call(instrumentation, route, pluginName);\n }\n return original.apply(this, [route]);\n };\n }\n /**\n * Wraps newly registered plugins to add instrumentation to the plugin's clone of\n * the original server. Specifically, wraps the server.route and server.ext functions\n * via calls to @function _getServerRoutePatch and @function _getServerExtPatch\n * @param {Hapi.Plugin<T>} plugin - the new plugin which is being instrumented\n */\n _wrapRegisterHandler(plugin) {\n const instrumentation = this;\n const pluginName = (0, utils_1.getPluginName)(plugin);\n const oldRegister = plugin.register;\n const self = this;\n const newRegisterHandler = function (server, options) {\n self._wrap(server, 'route', original => {\n return instrumentation._getServerRoutePatch.bind(instrumentation)(original, pluginName);\n });\n // Casting as any is necessary here due to multiple overloads on the Hapi.ext\n // function, which requires supporting a variety of different parameters\n // as extension inputs\n self._wrap(server, 'ext', originalExtHandler => {\n return instrumentation._getServerExtPatch.bind(instrumentation)(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n originalExtHandler, pluginName);\n });\n return oldRegister.call(this, server, options);\n };\n plugin.register = newRegisterHandler;\n }\n /**\n * Wraps request extension methods to add instrumentation to each new extension handler.\n * Patches each individual extension in order to create the\n * span and propagate context. It does not create spans when there is no parent span.\n * @param {PatchableExtMethod | PatchableExtMethod[]} method - the request extension\n * handler which is being instrumented\n * @param {Hapi.ServerRequestExtType} extPoint - the point in the Hapi request lifecycle\n * which this extension targets\n * @param {string} [pluginName] - if present, represents the name of the plugin responsible\n * for adding this server route. Else, signifies that the route was added directly\n */\n _wrapExtMethods(method, extPoint, pluginName) {\n const instrumentation = this;\n if (method instanceof Array) {\n for (let i = 0; i < method.length; i++) {\n method[i] = instrumentation._wrapExtMethods(method[i], extPoint);\n }\n return method;\n }\n else if ((0, utils_1.isPatchableExtMethod)(method)) {\n if (method[internal_types_1.handlerPatched] === true)\n return method;\n method[internal_types_1.handlerPatched] = true;\n const newHandler = async function (...params) {\n if (api.trace.getSpan(api.context.active()) === undefined) {\n return await method.apply(this, params);\n }\n const metadata = (0, utils_1.getExtMetadata)(extPoint, pluginName, method.name);\n const span = instrumentation.tracer.startSpan(metadata.name, {\n attributes: metadata.attributes,\n });\n try {\n return await api.context.with(api.trace.setSpan(api.context.active(), span), method, undefined, ...params);\n }\n catch (err) {\n span.recordException(err);\n span.setStatus({\n code: api.SpanStatusCode.ERROR,\n message: err.message,\n });\n throw err;\n }\n finally {\n span.end();\n }\n };\n return newHandler;\n }\n return method;\n }\n /**\n * Patches each individual route handler method in order to create the\n * span and propagate context. It does not create spans when there is no parent span.\n * @param {PatchableServerRoute} route - the route handler which is being instrumented\n * @param {string} [pluginName] - if present, represents the name of the plugin responsible\n * for adding this server route. Else, signifies that the route was added directly\n */\n _wrapRouteHandler(route, pluginName) {\n const instrumentation = this;\n if (route[internal_types_1.handlerPatched] === true)\n return route;\n route[internal_types_1.handlerPatched] = true;\n const wrapHandler = oldHandler => {\n return async function (...params) {\n if (api.trace.getSpan(api.context.active()) === undefined) {\n return await oldHandler.call(this, ...params);\n }\n const rpcMetadata = (0, core_1.getRPCMetadata)(api.context.active());\n if (rpcMetadata?.type === core_1.RPCType.HTTP) {\n rpcMetadata.route = route.path;\n }\n const metadata = (0, utils_1.getRouteMetadata)(route, instrumentation._semconvStability, pluginName);\n const span = instrumentation.tracer.startSpan(metadata.name, {\n attributes: metadata.attributes,\n });\n try {\n return await api.context.with(api.trace.setSpan(api.context.active(), span), () => oldHandler.call(this, ...params));\n }\n catch (err) {\n span.recordException(err);\n span.setStatus({\n code: api.SpanStatusCode.ERROR,\n message: err.message,\n });\n throw err;\n }\n finally {\n span.end();\n }\n };\n };\n if (typeof route.handler === 'function') {\n route.handler = wrapHandler(route.handler);\n }\n else if (typeof route.options === 'function') {\n const oldOptions = route.options;\n route.options = function (server) {\n const options = oldOptions(server);\n if (typeof options.handler === 'function') {\n options.handler = wrapHandler(options.handler);\n }\n return options;\n };\n }\n else if (typeof route.options?.handler === 'function') {\n route.options.handler = wrapHandler(route.options.handler);\n }\n return route;\n }\n}\nexports.HapiInstrumentation = HapiInstrumentation;\n//# sourceMappingURL=instrumentation.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLWhhcGlAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLWhhcGkvYnVpbGQvc3JjL2luc3RydW1lbnRhdGlvbi5qcyIsIm1hcHBpbmdzIjoiQUFBYSxDQUFDLG9EQUFvRCx5Q0FBeUMsMENBQTBDLDhDQUE4QyxvREFBb0Q7QUFDdlA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDJCQUEyQjtBQUMzQixZQUFZLG1CQUFPLENBQUMsa0lBQW9CO0FBQ3hDLGVBQWUsbUJBQU8sQ0FBQyw4SkFBcUI7QUFDNUMsMEJBQTBCLG1CQUFPLENBQUMsaU1BQWdDO0FBQ2xFO0FBQ0Esa0JBQWtCLG1CQUFPLENBQUMsdUxBQVc7QUFDckMseUJBQXlCLG1CQUFPLENBQUMscU1BQWtCO0FBQ25ELGdCQUFnQixtQkFBTyxDQUFDLG1MQUFTO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLHFCQUFxQjtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsUUFBUTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQyx1QkFBdUI7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsNEJBQTRCO0FBQzNDO0FBQ0EsZUFBZSxRQUFRO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQyxrQkFBa0I7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsZ0JBQWdCO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSwyQ0FBMkM7QUFDMUQ7QUFDQSxlQUFlLDJCQUEyQjtBQUMxQztBQUNBLGVBQWUsUUFBUTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLG1CQUFtQjtBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsc0JBQXNCO0FBQ3JDLGVBQWUsUUFBUTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0IiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLWhhcGlAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLWhhcGkvYnVpbGQvc3JjL2luc3RydW1lbnRhdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjs7Z2xvYmFsVGhpc1tcIl9zZW50cnlSZXdyaXRlc1R1bm5lbFBhdGhcIl0gPSB1bmRlZmluZWQ7Z2xvYmFsVGhpc1tcIlNFTlRSWV9SRUxFQVNFXCJdID0gdW5kZWZpbmVkO2dsb2JhbFRoaXNbXCJfc2VudHJ5QmFzZVBhdGhcIl0gPSB1bmRlZmluZWQ7Z2xvYmFsVGhpc1tcIl9zZW50cnlOZXh0SnNWZXJzaW9uXCJdID0gXCIxNi4xLjZcIjtnbG9iYWxUaGlzW1wiX3NlbnRyeVJld3JpdGVGcmFtZXNEaXN0RGlyXCJdID0gXCIubmV4dFwiO2dsb2JhbFRoaXNbXCJfc2VudHJ5VmVyY2VsQ3JvbnNDb25maWdcIl0gPSB1bmRlZmluZWQ7XG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5IYXBpSW5zdHJ1bWVudGF0aW9uID0gdm9pZCAwO1xuY29uc3QgYXBpID0gcmVxdWlyZShcIkBvcGVudGVsZW1ldHJ5L2FwaVwiKTtcbmNvbnN0IGNvcmVfMSA9IHJlcXVpcmUoXCJAb3BlbnRlbGVtZXRyeS9jb3JlXCIpO1xuY29uc3QgaW5zdHJ1bWVudGF0aW9uXzEgPSByZXF1aXJlKFwiQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uXCIpO1xuLyoqIEBrbmlwaWdub3JlICovXG5jb25zdCB2ZXJzaW9uXzEgPSByZXF1aXJlKFwiLi92ZXJzaW9uXCIpO1xuY29uc3QgaW50ZXJuYWxfdHlwZXNfMSA9IHJlcXVpcmUoXCIuL2ludGVybmFsLXR5cGVzXCIpO1xuY29uc3QgdXRpbHNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzXCIpO1xuLyoqIEhhcGkgaW5zdHJ1bWVudGF0aW9uIGZvciBPcGVuVGVsZW1ldHJ5ICovXG5jbGFzcyBIYXBpSW5zdHJ1bWVudGF0aW9uIGV4dGVuZHMgaW5zdHJ1bWVudGF0aW9uXzEuSW5zdHJ1bWVudGF0aW9uQmFzZSB7XG4gICAgX3NlbWNvbnZTdGFiaWxpdHk7XG4gICAgY29uc3RydWN0b3IoY29uZmlnID0ge30pIHtcbiAgICAgICAgc3VwZXIodmVyc2lvbl8xLlBBQ0tBR0VfTkFNRSwgdmVyc2lvbl8xLlBBQ0tBR0VfVkVSU0lPTiwgY29uZmlnKTtcbiAgICAgICAgdGhpcy5fc2VtY29udlN0YWJpbGl0eSA9ICgwLCBpbnN0cnVtZW50YXRpb25fMS5zZW1jb252U3RhYmlsaXR5RnJvbVN0cikoJ2h0dHAnLCBwcm9jZXNzLmVudi5PVEVMX1NFTUNPTlZfU1RBQklMSVRZX09QVF9JTik7XG4gICAgfVxuICAgIGluaXQoKSB7XG4gICAgICAgIHJldHVybiBuZXcgaW5zdHJ1bWVudGF0aW9uXzEuSW5zdHJ1bWVudGF0aW9uTm9kZU1vZHVsZURlZmluaXRpb24oaW50ZXJuYWxfdHlwZXNfMS5IYXBpQ29tcG9uZW50TmFtZSwgWyc+PTE3LjAuMCA8MjInXSwgKG1vZHVsZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbW9kdWxlRXhwb3J0cyA9IG1vZHVsZVtTeW1ib2wudG9TdHJpbmdUYWddID09PSAnTW9kdWxlJyA/IG1vZHVsZS5kZWZhdWx0IDogbW9kdWxlO1xuICAgICAgICAgICAgaWYgKCEoMCwgaW5zdHJ1bWVudGF0aW9uXzEuaXNXcmFwcGVkKShtb2R1bGVFeHBvcnRzLnNlcnZlcikpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl93cmFwKG1vZHVsZUV4cG9ydHMsICdzZXJ2ZXInLCB0aGlzLl9nZXRTZXJ2ZXJQYXRjaC5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghKDAsIGluc3RydW1lbnRhdGlvbl8xLmlzV3JhcHBlZCkobW9kdWxlRXhwb3J0cy5TZXJ2ZXIpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fd3JhcChtb2R1bGVFeHBvcnRzLCAnU2VydmVyJywgdGhpcy5fZ2V0U2VydmVyUGF0Y2guYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbW9kdWxlRXhwb3J0cztcbiAgICAgICAgfSwgKG1vZHVsZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbW9kdWxlRXhwb3J0cyA9IG1vZHVsZVtTeW1ib2wudG9TdHJpbmdUYWddID09PSAnTW9kdWxlJyA/IG1vZHVsZS5kZWZhdWx0IDogbW9kdWxlO1xuICAgICAgICAgICAgdGhpcy5fbWFzc1Vud3JhcChbbW9kdWxlRXhwb3J0c10sIFsnc2VydmVyJywgJ1NlcnZlciddKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFBhdGNoZXMgdGhlIEhhcGkuc2VydmVyIGFuZCBIYXBpLlNlcnZlciBmdW5jdGlvbnMgaW4gb3JkZXIgdG8gaW5zdHJ1bWVudFxuICAgICAqIHRoZSBzZXJ2ZXIucm91dGUsIHNlcnZlci5leHQsIGFuZCBzZXJ2ZXIucmVnaXN0ZXIgZnVuY3Rpb25zIHZpYSBjYWxscyB0byB0aGVcbiAgICAgKiBAZnVuY3Rpb24gX2dldFNlcnZlclJvdXRlUGF0Y2gsIEBmdW5jdGlvbiBfZ2V0U2VydmVyRXh0UGF0Y2gsIGFuZFxuICAgICAqIEBmdW5jdGlvbiBfZ2V0U2VydmVyUmVnaXN0ZXJQYXRjaCBmdW5jdGlvbnNcbiAgICAgKiBAcGFyYW0gb3JpZ2luYWwgLSB0aGUgb3JpZ2luYWwgSGFwaSBTZXJ2ZXIgY3JlYXRpb24gZnVuY3Rpb25cbiAgICAgKi9cbiAgICBfZ2V0U2VydmVyUGF0Y2gob3JpZ2luYWwpIHtcbiAgICAgICAgY29uc3QgaW5zdHJ1bWVudGF0aW9uID0gdGhpcztcbiAgICAgICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiBzZXJ2ZXIob3B0cykge1xuICAgICAgICAgICAgY29uc3QgbmV3U2VydmVyID0gb3JpZ2luYWwuYXBwbHkodGhpcywgW29wdHNdKTtcbiAgICAgICAgICAgIHNlbGYuX3dyYXAobmV3U2VydmVyLCAncm91dGUnLCBvcmlnaW5hbFJvdXRlciA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGluc3RydW1lbnRhdGlvbi5fZ2V0U2VydmVyUm91dGVQYXRjaC5iaW5kKGluc3RydW1lbnRhdGlvbikob3JpZ2luYWxSb3V0ZXIpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyBDYXN0aW5nIGFzIGFueSBpcyBuZWNlc3NhcnkgaGVyZSBkdWUgdG8gbXVsdGlwbGUgb3ZlcmxvYWRzIG9uIHRoZSBIYXBpLmV4dFxuICAgICAgICAgICAgLy8gZnVuY3Rpb24sIHdoaWNoIHJlcXVpcmVzIHN1cHBvcnRpbmcgYSB2YXJpZXR5IG9mIGRpZmZlcmVudCBwYXJhbWV0ZXJzXG4gICAgICAgICAgICAvLyBhcyBleHRlbnNpb24gaW5wdXRzXG4gICAgICAgICAgICBzZWxmLl93cmFwKG5ld1NlcnZlciwgJ2V4dCcsIG9yaWdpbmFsRXh0SGFuZGxlciA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGluc3RydW1lbnRhdGlvbi5fZ2V0U2VydmVyRXh0UGF0Y2guYmluZChpbnN0cnVtZW50YXRpb24pKFxuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgICAgICAgICAgb3JpZ2luYWxFeHRIYW5kbGVyKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gQ2FzdGluZyBhcyBhbnkgaXMgbmVjZXNzYXJ5IGhlcmUgZHVlIHRvIG11bHRpcGxlIG92ZXJsb2FkcyBvbiB0aGUgSGFwaS5TZXJ2ZXIucmVnaXN0ZXJcbiAgICAgICAgICAgIC8vIGZ1bmN0aW9uLCB3aGljaCByZXF1aXJlcyBzdXBwb3J0aW5nIGEgdmFyaWV0eSBvZiBkaWZmZXJlbnQgdHlwZXMgb2YgUGx1Z2luIGlucHV0c1xuICAgICAgICAgICAgc2VsZi5fd3JhcChuZXdTZXJ2ZXIsICdyZWdpc3RlcicsIFxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgICAgIGluc3RydW1lbnRhdGlvbi5fZ2V0U2VydmVyUmVnaXN0ZXJQYXRjaC5iaW5kKGluc3RydW1lbnRhdGlvbikpO1xuICAgICAgICAgICAgcmV0dXJuIG5ld1NlcnZlcjtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUGF0Y2hlcyB0aGUgcGx1Z2luIHJlZ2lzdGVyIGZ1bmN0aW9uIHVzZWQgYnkgdGhlIEhhcGkgU2VydmVyLiBUaGlzIGZ1bmN0aW9uXG4gICAgICogZ29lcyB0aHJvdWdoIGVhY2ggcGx1Z2luIHRoYXQgaXMgYmVpbmcgcmVnaXN0ZXJlZCBhbmQgYWRkcyBpbnN0cnVtZW50YXRpb25cbiAgICAgKiB2aWEgYSBjYWxsIHRvIHRoZSBAZnVuY3Rpb24gX3dyYXBSZWdpc3RlckhhbmRsZXIgZnVuY3Rpb24uXG4gICAgICogQHBhcmFtIHtSZWdpc3RlckZ1bmN0aW9uPFQ+fSBvcmlnaW5hbCAtIHRoZSBvcmlnaW5hbCByZWdpc3RlciBmdW5jdGlvbiB3aGljaFxuICAgICAqIHJlZ2lzdGVycyBlYWNoIHBsdWdpbiBvbiB0aGUgc2VydmVyXG4gICAgICovXG4gICAgX2dldFNlcnZlclJlZ2lzdGVyUGF0Y2gob3JpZ2luYWwpIHtcbiAgICAgICAgY29uc3QgaW5zdHJ1bWVudGF0aW9uID0gdGhpcztcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIHJlZ2lzdGVyKHBsdWdpbklucHV0LCBvcHRpb25zKSB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShwbHVnaW5JbnB1dCkpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHBsdWdpbk9iaiBvZiBwbHVnaW5JbnB1dCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwbHVnaW4gPSAoMCwgdXRpbHNfMS5nZXRQbHVnaW5Gcm9tSW5wdXQpKHBsdWdpbk9iaik7XG4gICAgICAgICAgICAgICAgICAgIGluc3RydW1lbnRhdGlvbi5fd3JhcFJlZ2lzdGVySGFuZGxlcihwbHVnaW4pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBsdWdpbiA9ICgwLCB1dGlsc18xLmdldFBsdWdpbkZyb21JbnB1dCkocGx1Z2luSW5wdXQpO1xuICAgICAgICAgICAgICAgIGluc3RydW1lbnRhdGlvbi5fd3JhcFJlZ2lzdGVySGFuZGxlcihwbHVnaW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsLmFwcGx5KHRoaXMsIFtwbHVnaW5JbnB1dCwgb3B0aW9uc10pO1xuICAgICAgICB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBQYXRjaGVzIHRoZSBTZXJ2ZXIuZXh0IGZ1bmN0aW9uIHdoaWNoIGFkZHMgZXh0ZW5zaW9uIG1ldGhvZHMgdG8gdGhlIHNwZWNpZmllZFxuICAgICAqIHBvaW50IGFsb25nIHRoZSByZXF1ZXN0IGxpZmVjeWNsZS4gVGhpcyBmdW5jdGlvbiBhY2NlcHRzIHRoZSBmdWxsIHJhbmdlIG9mXG4gICAgICogYWNjZXB0ZWQgaW5wdXQgaW50byB0aGUgc3RhbmRhcmQgSGFwaSBgc2VydmVyLmV4dGAgZnVuY3Rpb24uIEZvciBlYWNoIGV4dGVuc2lvbixcbiAgICAgKiBpdCBhZGRzIGluc3RydW1lbnRhdGlvbiB0byB0aGUgaGFuZGxlciB2aWEgYSBjYWxsIHRvIHRoZSBAZnVuY3Rpb24gX3dyYXBFeHRNZXRob2RzXG4gICAgICogZnVuY3Rpb24uXG4gICAgICogQHBhcmFtIG9yaWdpbmFsIC0gdGhlIG9yaWdpbmFsIGV4dCBmdW5jdGlvbiB3aGljaCBhZGRzIHRoZSBleHRlbnNpb24gbWV0aG9kIHRvIHRoZSBzZXJ2ZXJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3BsdWdpbk5hbWVdIC0gaWYgcHJlc2VudCwgcmVwcmVzZW50cyB0aGUgbmFtZSBvZiB0aGUgcGx1Z2luIHJlc3BvbnNpYmxlXG4gICAgICogZm9yIGFkZGluZyB0aGlzIHNlcnZlciBleHRlbnNpb24uIEVsc2UsIHNpZ25pZmllcyB0aGF0IHRoZSBleHRlbnNpb24gd2FzIGFkZGVkIGRpcmVjdGx5XG4gICAgICovXG4gICAgX2dldFNlcnZlckV4dFBhdGNoKG9yaWdpbmFsLCBwbHVnaW5OYW1lKSB7XG4gICAgICAgIGNvbnN0IGluc3RydW1lbnRhdGlvbiA9IHRoaXM7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiBleHQoLi4uYXJncykge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYXJnc1swXSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBldmVudHNMaXN0ID0gYXJnc1swXTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGV2ZW50c0xpc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXZlbnRPYmogPSBldmVudHNMaXN0W2ldO1xuICAgICAgICAgICAgICAgICAgICBpZiAoKDAsIHV0aWxzXzEuaXNMaWZlY3ljbGVFeHRUeXBlKShldmVudE9iai50eXBlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlmZWN5Y2xlRXZlbnRPYmogPSBldmVudE9iajtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGhhbmRsZXIgPSBpbnN0cnVtZW50YXRpb24uX3dyYXBFeHRNZXRob2RzKGxpZmVjeWNsZUV2ZW50T2JqLm1ldGhvZCwgZXZlbnRPYmoudHlwZSwgcGx1Z2luTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaWZlY3ljbGVFdmVudE9iai5tZXRob2QgPSBoYW5kbGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnRzTGlzdFtpXSA9IGxpZmVjeWNsZUV2ZW50T2JqO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbC5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKCgwLCB1dGlsc18xLmlzRGlyZWN0RXh0SW5wdXQpKGFyZ3MpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZXh0SW5wdXQgPSBhcmdzO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1ldGhvZCA9IGV4dElucHV0WzFdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGhhbmRsZXIgPSBpbnN0cnVtZW50YXRpb24uX3dyYXBFeHRNZXRob2RzKG1ldGhvZCwgZXh0SW5wdXRbMF0sIHBsdWdpbk5hbWUpO1xuICAgICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbC5hcHBseSh0aGlzLCBbZXh0SW5wdXRbMF0sIGhhbmRsZXIsIGV4dElucHV0WzJdXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICgoMCwgdXRpbHNfMS5pc0xpZmVjeWNsZUV4dEV2ZW50T2JqKShhcmdzWzBdKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxpZmVjeWNsZUV2ZW50T2JqID0gYXJnc1swXTtcbiAgICAgICAgICAgICAgICBjb25zdCBoYW5kbGVyID0gaW5zdHJ1bWVudGF0aW9uLl93cmFwRXh0TWV0aG9kcyhsaWZlY3ljbGVFdmVudE9iai5tZXRob2QsIGxpZmVjeWNsZUV2ZW50T2JqLnR5cGUsIHBsdWdpbk5hbWUpO1xuICAgICAgICAgICAgICAgIGxpZmVjeWNsZUV2ZW50T2JqLm1ldGhvZCA9IGhhbmRsZXI7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsLmNhbGwodGhpcywgbGlmZWN5Y2xlRXZlbnRPYmopO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgICAgICB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBQYXRjaGVzIHRoZSBTZXJ2ZXIucm91dGUgZnVuY3Rpb24uIFRoaXMgZnVuY3Rpb24gYWNjZXB0cyBlaXRoZXIgb25lIG9yIGFuIGFycmF5XG4gICAgICogb2YgSGFwaS5TZXJ2ZXJSb3V0ZSBvYmplY3RzIGFuZCBhZGRzIGluc3RydW1lbnRhdGlvbiBvbiBlYWNoIHJvdXRlIHZpYSBhIGNhbGwgdG9cbiAgICAgKiB0aGUgQGZ1bmN0aW9uIF93cmFwUm91dGVIYW5kbGVyIGZ1bmN0aW9uLlxuICAgICAqIEBwYXJhbSB7SGFwaVNlcnZlclJvdXRlSW5wdXRNZXRob2R9IG9yaWdpbmFsIC0gdGhlIG9yaWdpbmFsIHJvdXRlIGZ1bmN0aW9uIHdoaWNoIGFkZHNcbiAgICAgKiB0aGUgcm91dGUgdG8gdGhlIHNlcnZlclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbcGx1Z2luTmFtZV0gLSBpZiBwcmVzZW50LCByZXByZXNlbnRzIHRoZSBuYW1lIG9mIHRoZSBwbHVnaW4gcmVzcG9uc2libGVcbiAgICAgKiBmb3IgYWRkaW5nIHRoaXMgc2VydmVyIHJvdXRlLiBFbHNlLCBzaWduaWZpZXMgdGhhdCB0aGUgcm91dGUgd2FzIGFkZGVkIGRpcmVjdGx5XG4gICAgICovXG4gICAgX2dldFNlcnZlclJvdXRlUGF0Y2gob3JpZ2luYWwsIHBsdWdpbk5hbWUpIHtcbiAgICAgICAgY29uc3QgaW5zdHJ1bWVudGF0aW9uID0gdGhpcztcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIHJvdXRlKHJvdXRlKSB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyb3V0ZSkpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJvdXRlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld1JvdXRlID0gaW5zdHJ1bWVudGF0aW9uLl93cmFwUm91dGVIYW5kbGVyLmNhbGwoaW5zdHJ1bWVudGF0aW9uLCByb3V0ZVtpXSwgcGx1Z2luTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlW2ldID0gbmV3Um91dGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcm91dGUgPSBpbnN0cnVtZW50YXRpb24uX3dyYXBSb3V0ZUhhbmRsZXIuY2FsbChpbnN0cnVtZW50YXRpb24sIHJvdXRlLCBwbHVnaW5OYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbC5hcHBseSh0aGlzLCBbcm91dGVdKTtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogV3JhcHMgbmV3bHkgcmVnaXN0ZXJlZCBwbHVnaW5zIHRvIGFkZCBpbnN0cnVtZW50YXRpb24gdG8gdGhlIHBsdWdpbidzIGNsb25lIG9mXG4gICAgICogdGhlIG9yaWdpbmFsIHNlcnZlci4gU3BlY2lmaWNhbGx5LCB3cmFwcyB0aGUgc2VydmVyLnJvdXRlIGFuZCBzZXJ2ZXIuZXh0IGZ1bmN0aW9uc1xuICAgICAqIHZpYSBjYWxscyB0byBAZnVuY3Rpb24gX2dldFNlcnZlclJvdXRlUGF0Y2ggYW5kIEBmdW5jdGlvbiBfZ2V0U2VydmVyRXh0UGF0Y2hcbiAgICAgKiBAcGFyYW0ge0hhcGkuUGx1Z2luPFQ+fSBwbHVnaW4gLSB0aGUgbmV3IHBsdWdpbiB3aGljaCBpcyBiZWluZyBpbnN0cnVtZW50ZWRcbiAgICAgKi9cbiAgICBfd3JhcFJlZ2lzdGVySGFuZGxlcihwbHVnaW4pIHtcbiAgICAgICAgY29uc3QgaW5zdHJ1bWVudGF0aW9uID0gdGhpcztcbiAgICAgICAgY29uc3QgcGx1Z2luTmFtZSA9ICgwLCB1dGlsc18xLmdldFBsdWdpbk5hbWUpKHBsdWdpbik7XG4gICAgICAgIGNvbnN0IG9sZFJlZ2lzdGVyID0gcGx1Z2luLnJlZ2lzdGVyO1xuICAgICAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICAgICAgY29uc3QgbmV3UmVnaXN0ZXJIYW5kbGVyID0gZnVuY3Rpb24gKHNlcnZlciwgb3B0aW9ucykge1xuICAgICAgICAgICAgc2VsZi5fd3JhcChzZXJ2ZXIsICdyb3V0ZScsIG9yaWdpbmFsID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaW5zdHJ1bWVudGF0aW9uLl9nZXRTZXJ2ZXJSb3V0ZVBhdGNoLmJpbmQoaW5zdHJ1bWVudGF0aW9uKShvcmlnaW5hbCwgcGx1Z2luTmFtZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIENhc3RpbmcgYXMgYW55IGlzIG5lY2Vzc2FyeSBoZXJlIGR1ZSB0byBtdWx0aXBsZSBvdmVybG9hZHMgb24gdGhlIEhhcGkuZXh0XG4gICAgICAgICAgICAvLyBmdW5jdGlvbiwgd2hpY2ggcmVxdWlyZXMgc3VwcG9ydGluZyBhIHZhcmlldHkgb2YgZGlmZmVyZW50IHBhcmFtZXRlcnNcbiAgICAgICAgICAgIC8vIGFzIGV4dGVuc2lvbiBpbnB1dHNcbiAgICAgICAgICAgIHNlbGYuX3dyYXAoc2VydmVyLCAnZXh0Jywgb3JpZ2luYWxFeHRIYW5kbGVyID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaW5zdHJ1bWVudGF0aW9uLl9nZXRTZXJ2ZXJFeHRQYXRjaC5iaW5kKGluc3RydW1lbnRhdGlvbikoXG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgICAgICAgICBvcmlnaW5hbEV4dEhhbmRsZXIsIHBsdWdpbk5hbWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gb2xkUmVnaXN0ZXIuY2FsbCh0aGlzLCBzZXJ2ZXIsIG9wdGlvbnMpO1xuICAgICAgICB9O1xuICAgICAgICBwbHVnaW4ucmVnaXN0ZXIgPSBuZXdSZWdpc3RlckhhbmRsZXI7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFdyYXBzIHJlcXVlc3QgZXh0ZW5zaW9uIG1ldGhvZHMgdG8gYWRkIGluc3RydW1lbnRhdGlvbiB0byBlYWNoIG5ldyBleHRlbnNpb24gaGFuZGxlci5cbiAgICAgKiBQYXRjaGVzIGVhY2ggaW5kaXZpZHVhbCBleHRlbnNpb24gaW4gb3JkZXIgdG8gY3JlYXRlIHRoZVxuICAgICAqIHNwYW4gYW5kIHByb3BhZ2F0ZSBjb250ZXh0LiBJdCBkb2VzIG5vdCBjcmVhdGUgc3BhbnMgd2hlbiB0aGVyZSBpcyBubyBwYXJlbnQgc3Bhbi5cbiAgICAgKiBAcGFyYW0ge1BhdGNoYWJsZUV4dE1ldGhvZCB8IFBhdGNoYWJsZUV4dE1ldGhvZFtdfSBtZXRob2QgLSB0aGUgcmVxdWVzdCBleHRlbnNpb25cbiAgICAgKiBoYW5kbGVyIHdoaWNoIGlzIGJlaW5nIGluc3RydW1lbnRlZFxuICAgICAqIEBwYXJhbSB7SGFwaS5TZXJ2ZXJSZXF1ZXN0RXh0VHlwZX0gZXh0UG9pbnQgLSB0aGUgcG9pbnQgaW4gdGhlIEhhcGkgcmVxdWVzdCBsaWZlY3ljbGVcbiAgICAgKiB3aGljaCB0aGlzIGV4dGVuc2lvbiB0YXJnZXRzXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtwbHVnaW5OYW1lXSAtIGlmIHByZXNlbnQsIHJlcHJlc2VudHMgdGhlIG5hbWUgb2YgdGhlIHBsdWdpbiByZXNwb25zaWJsZVxuICAgICAqIGZvciBhZGRpbmcgdGhpcyBzZXJ2ZXIgcm91dGUuIEVsc2UsIHNpZ25pZmllcyB0aGF0IHRoZSByb3V0ZSB3YXMgYWRkZWQgZGlyZWN0bHlcbiAgICAgKi9cbiAgICBfd3JhcEV4dE1ldGhvZHMobWV0aG9kLCBleHRQb2ludCwgcGx1Z2luTmFtZSkge1xuICAgICAgICBjb25zdCBpbnN0cnVtZW50YXRpb24gPSB0aGlzO1xuICAgICAgICBpZiAobWV0aG9kIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWV0aG9kLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbWV0aG9kW2ldID0gaW5zdHJ1bWVudGF0aW9uLl93cmFwRXh0TWV0aG9kcyhtZXRob2RbaV0sIGV4dFBvaW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBtZXRob2Q7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoKDAsIHV0aWxzXzEuaXNQYXRjaGFibGVFeHRNZXRob2QpKG1ldGhvZCkpIHtcbiAgICAgICAgICAgIGlmIChtZXRob2RbaW50ZXJuYWxfdHlwZXNfMS5oYW5kbGVyUGF0Y2hlZF0gPT09IHRydWUpXG4gICAgICAgICAgICAgICAgcmV0dXJuIG1ldGhvZDtcbiAgICAgICAgICAgIG1ldGhvZFtpbnRlcm5hbF90eXBlc18xLmhhbmRsZXJQYXRjaGVkXSA9IHRydWU7XG4gICAgICAgICAgICBjb25zdCBuZXdIYW5kbGVyID0gYXN5bmMgZnVuY3Rpb24gKC4uLnBhcmFtcykge1xuICAgICAgICAgICAgICAgIGlmIChhcGkudHJhY2UuZ2V0U3BhbihhcGkuY29udGV4dC5hY3RpdmUoKSkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXdhaXQgbWV0aG9kLmFwcGx5KHRoaXMsIHBhcmFtcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IG1ldGFkYXRhID0gKDAsIHV0aWxzXzEuZ2V0RXh0TWV0YWRhdGEpKGV4dFBvaW50LCBwbHVnaW5OYW1lLCBtZXRob2QubmFtZSk7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3BhbiA9IGluc3RydW1lbnRhdGlvbi50cmFjZXIuc3RhcnRTcGFuKG1ldGFkYXRhLm5hbWUsIHtcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlczogbWV0YWRhdGEuYXR0cmlidXRlcyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXdhaXQgYXBpLmNvbnRleHQud2l0aChhcGkudHJhY2Uuc2V0U3BhbihhcGkuY29udGV4dC5hY3RpdmUoKSwgc3BhbiksIG1ldGhvZCwgdW5kZWZpbmVkLCAuLi5wYXJhbXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIHNwYW4ucmVjb3JkRXhjZXB0aW9uKGVycik7XG4gICAgICAgICAgICAgICAgICAgIHNwYW4uc2V0U3RhdHVzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IGFwaS5TcGFuU3RhdHVzQ29kZS5FUlJPUixcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGVyci5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgICAgICAgc3Bhbi5lbmQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmV0dXJuIG5ld0hhbmRsZXI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1ldGhvZDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUGF0Y2hlcyBlYWNoIGluZGl2aWR1YWwgcm91dGUgaGFuZGxlciBtZXRob2QgaW4gb3JkZXIgdG8gY3JlYXRlIHRoZVxuICAgICAqIHNwYW4gYW5kIHByb3BhZ2F0ZSBjb250ZXh0LiBJdCBkb2VzIG5vdCBjcmVhdGUgc3BhbnMgd2hlbiB0aGVyZSBpcyBubyBwYXJlbnQgc3Bhbi5cbiAgICAgKiBAcGFyYW0ge1BhdGNoYWJsZVNlcnZlclJvdXRlfSByb3V0ZSAtIHRoZSByb3V0ZSBoYW5kbGVyIHdoaWNoIGlzIGJlaW5nIGluc3RydW1lbnRlZFxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbcGx1Z2luTmFtZV0gLSBpZiBwcmVzZW50LCByZXByZXNlbnRzIHRoZSBuYW1lIG9mIHRoZSBwbHVnaW4gcmVzcG9uc2libGVcbiAgICAgKiBmb3IgYWRkaW5nIHRoaXMgc2VydmVyIHJvdXRlLiBFbHNlLCBzaWduaWZpZXMgdGhhdCB0aGUgcm91dGUgd2FzIGFkZGVkIGRpcmVjdGx5XG4gICAgICovXG4gICAgX3dyYXBSb3V0ZUhhbmRsZXIocm91dGUsIHBsdWdpbk5hbWUpIHtcbiAgICAgICAgY29uc3QgaW5zdHJ1bWVudGF0aW9uID0gdGhpcztcbiAgICAgICAgaWYgKHJvdXRlW2ludGVybmFsX3R5cGVzXzEuaGFuZGxlclBhdGNoZWRdID09PSB0cnVlKVxuICAgICAgICAgICAgcmV0dXJuIHJvdXRlO1xuICAgICAgICByb3V0ZVtpbnRlcm5hbF90eXBlc18xLmhhbmRsZXJQYXRjaGVkXSA9IHRydWU7XG4gICAgICAgIGNvbnN0IHdyYXBIYW5kbGVyID0gb2xkSGFuZGxlciA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gKC4uLnBhcmFtcykge1xuICAgICAgICAgICAgICAgIGlmIChhcGkudHJhY2UuZ2V0U3BhbihhcGkuY29udGV4dC5hY3RpdmUoKSkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXdhaXQgb2xkSGFuZGxlci5jYWxsKHRoaXMsIC4uLnBhcmFtcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHJwY01ldGFkYXRhID0gKDAsIGNvcmVfMS5nZXRSUENNZXRhZGF0YSkoYXBpLmNvbnRleHQuYWN0aXZlKCkpO1xuICAgICAgICAgICAgICAgIGlmIChycGNNZXRhZGF0YT8udHlwZSA9PT0gY29yZV8xLlJQQ1R5cGUuSFRUUCkge1xuICAgICAgICAgICAgICAgICAgICBycGNNZXRhZGF0YS5yb3V0ZSA9IHJvdXRlLnBhdGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IG1ldGFkYXRhID0gKDAsIHV0aWxzXzEuZ2V0Um91dGVNZXRhZGF0YSkocm91dGUsIGluc3RydW1lbnRhdGlvbi5fc2VtY29udlN0YWJpbGl0eSwgcGx1Z2luTmFtZSk7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3BhbiA9IGluc3RydW1lbnRhdGlvbi50cmFjZXIuc3RhcnRTcGFuKG1ldGFkYXRhLm5hbWUsIHtcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlczogbWV0YWRhdGEuYXR0cmlidXRlcyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXdhaXQgYXBpLmNvbnRleHQud2l0aChhcGkudHJhY2Uuc2V0U3BhbihhcGkuY29udGV4dC5hY3RpdmUoKSwgc3BhbiksICgpID0+IG9sZEhhbmRsZXIuY2FsbCh0aGlzLCAuLi5wYXJhbXMpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICBzcGFuLnJlY29yZEV4Y2VwdGlvbihlcnIpO1xuICAgICAgICAgICAgICAgICAgICBzcGFuLnNldFN0YXR1cyh7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBhcGkuU3BhblN0YXR1c0NvZGUuRVJST1IsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBlcnIubWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICAgICAgICAgIHNwYW4uZW5kKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHR5cGVvZiByb3V0ZS5oYW5kbGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICByb3V0ZS5oYW5kbGVyID0gd3JhcEhhbmRsZXIocm91dGUuaGFuZGxlcik7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIHJvdXRlLm9wdGlvbnMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGNvbnN0IG9sZE9wdGlvbnMgPSByb3V0ZS5vcHRpb25zO1xuICAgICAgICAgICAgcm91dGUub3B0aW9ucyA9IGZ1bmN0aW9uIChzZXJ2ZXIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25zID0gb2xkT3B0aW9ucyhzZXJ2ZXIpO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5oYW5kbGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnMuaGFuZGxlciA9IHdyYXBIYW5kbGVyKG9wdGlvbnMuaGFuZGxlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb25zO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0eXBlb2Ygcm91dGUub3B0aW9ucz8uaGFuZGxlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgcm91dGUub3B0aW9ucy5oYW5kbGVyID0gd3JhcEhhbmRsZXIocm91dGUub3B0aW9ucy5oYW5kbGVyKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcm91dGU7XG4gICAgfVxufVxuZXhwb3J0cy5IYXBpSW5zdHJ1bWVudGF0aW9uID0gSGFwaUluc3RydW1lbnRhdGlvbjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluc3RydW1lbnRhdGlvbi5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/instrumentation.js\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/internal-types.js":
|
|
/*!*****************************************************************************************************************************************************************************!*\
|
|
!*** ./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/internal-types.js ***!
|
|
\*****************************************************************************************************************************************************************************/
|
|
/***/ ((__unused_webpack_module, exports) => {
|
|
|
|
eval("\n/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.HapiLifecycleMethodNames = exports.HapiLayerType = exports.handlerPatched = exports.HapiComponentName = void 0;\nexports.HapiComponentName = '@hapi/hapi';\n/**\n * This symbol is used to mark a Hapi route handler or server extension handler as\n * already patched, since its possible to use these handlers multiple times\n * i.e. when allowing multiple versions of one plugin, or when registering a plugin\n * multiple times on different servers.\n */\nexports.handlerPatched = Symbol('hapi-handler-patched');\nexports.HapiLayerType = {\n ROUTER: 'router',\n PLUGIN: 'plugin',\n EXT: 'server.ext',\n};\nexports.HapiLifecycleMethodNames = new Set([\n 'onPreAuth',\n 'onCredentials',\n 'onPostAuth',\n 'onPreHandler',\n 'onPostHandler',\n 'onPreResponse',\n 'onRequest',\n]);\n//# sourceMappingURL=internal-types.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLWhhcGlAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLWhhcGkvYnVpbGQvc3JjL2ludGVybmFsLXR5cGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGdDQUFnQyxHQUFHLHFCQUFxQixHQUFHLHNCQUFzQixHQUFHLHlCQUF5QjtBQUM3Ryx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLWhhcGlAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLWhhcGkvYnVpbGQvc3JjL2ludGVybmFsLXR5cGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuSGFwaUxpZmVjeWNsZU1ldGhvZE5hbWVzID0gZXhwb3J0cy5IYXBpTGF5ZXJUeXBlID0gZXhwb3J0cy5oYW5kbGVyUGF0Y2hlZCA9IGV4cG9ydHMuSGFwaUNvbXBvbmVudE5hbWUgPSB2b2lkIDA7XG5leHBvcnRzLkhhcGlDb21wb25lbnROYW1lID0gJ0BoYXBpL2hhcGknO1xuLyoqXG4gKiBUaGlzIHN5bWJvbCBpcyB1c2VkIHRvIG1hcmsgYSBIYXBpIHJvdXRlIGhhbmRsZXIgb3Igc2VydmVyIGV4dGVuc2lvbiBoYW5kbGVyIGFzXG4gKiBhbHJlYWR5IHBhdGNoZWQsIHNpbmNlIGl0cyBwb3NzaWJsZSB0byB1c2UgdGhlc2UgaGFuZGxlcnMgbXVsdGlwbGUgdGltZXNcbiAqIGkuZS4gd2hlbiBhbGxvd2luZyBtdWx0aXBsZSB2ZXJzaW9ucyBvZiBvbmUgcGx1Z2luLCBvciB3aGVuIHJlZ2lzdGVyaW5nIGEgcGx1Z2luXG4gKiBtdWx0aXBsZSB0aW1lcyBvbiBkaWZmZXJlbnQgc2VydmVycy5cbiAqL1xuZXhwb3J0cy5oYW5kbGVyUGF0Y2hlZCA9IFN5bWJvbCgnaGFwaS1oYW5kbGVyLXBhdGNoZWQnKTtcbmV4cG9ydHMuSGFwaUxheWVyVHlwZSA9IHtcbiAgICBST1VURVI6ICdyb3V0ZXInLFxuICAgIFBMVUdJTjogJ3BsdWdpbicsXG4gICAgRVhUOiAnc2VydmVyLmV4dCcsXG59O1xuZXhwb3J0cy5IYXBpTGlmZWN5Y2xlTWV0aG9kTmFtZXMgPSBuZXcgU2V0KFtcbiAgICAnb25QcmVBdXRoJyxcbiAgICAnb25DcmVkZW50aWFscycsXG4gICAgJ29uUG9zdEF1dGgnLFxuICAgICdvblByZUhhbmRsZXInLFxuICAgICdvblBvc3RIYW5kbGVyJyxcbiAgICAnb25QcmVSZXNwb25zZScsXG4gICAgJ29uUmVxdWVzdCcsXG5dKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWludGVybmFsLXR5cGVzLmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/internal-types.js\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/semconv.js":
|
|
/*!**********************************************************************************************************************************************************************!*\
|
|
!*** ./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/semconv.js ***!
|
|
\**********************************************************************************************************************************************************************/
|
|
/***/ ((__unused_webpack_module, exports) => {
|
|
|
|
eval("\n/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ATTR_HTTP_METHOD = void 0;\n/*\n * This file contains a copy of unstable semantic convention definitions\n * used by this package.\n * @see https://github.com/open-telemetry/opentelemetry-js/tree/main/semantic-conventions#unstable-semconv\n */\n/**\n * Deprecated, use `http.request.method` instead.\n *\n * @example GET\n * @example POST\n * @example HEAD\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n *\n * @deprecated Replaced by `http.request.method`.\n */\nexports.ATTR_HTTP_METHOD = 'http.method';\n//# sourceMappingURL=semconv.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLWhhcGlAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLWhhcGkvYnVpbGQvc3JjL3NlbWNvbnYuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL0BvcGVudGVsZW1ldHJ5K2luc3RydW1lbnRhdGlvbi1oYXBpQDAuNjAuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMS45LjEvbm9kZV9tb2R1bGVzL0BvcGVudGVsZW1ldHJ5L2luc3RydW1lbnRhdGlvbi1oYXBpL2J1aWxkL3NyYy9zZW1jb252LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuQVRUUl9IVFRQX01FVEhPRCA9IHZvaWQgMDtcbi8qXG4gKiBUaGlzIGZpbGUgY29udGFpbnMgYSBjb3B5IG9mIHVuc3RhYmxlIHNlbWFudGljIGNvbnZlbnRpb24gZGVmaW5pdGlvbnNcbiAqIHVzZWQgYnkgdGhpcyBwYWNrYWdlLlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy90cmVlL21haW4vc2VtYW50aWMtY29udmVudGlvbnMjdW5zdGFibGUtc2VtY29udlxuICovXG4vKipcbiAqIERlcHJlY2F0ZWQsIHVzZSBgaHR0cC5yZXF1ZXN0Lm1ldGhvZGAgaW5zdGVhZC5cbiAqXG4gKiBAZXhhbXBsZSBHRVRcbiAqIEBleGFtcGxlIFBPU1RcbiAqIEBleGFtcGxlIEhFQURcbiAqXG4gKiBAZXhwZXJpbWVudGFsIFRoaXMgYXR0cmlidXRlIGlzIGV4cGVyaW1lbnRhbCBhbmQgaXMgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIGluIG1pbm9yIHJlbGVhc2VzIG9mIGBAb3BlbnRlbGVtZXRyeS9zZW1hbnRpYy1jb252ZW50aW9uc2AuXG4gKlxuICogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgYnkgYGh0dHAucmVxdWVzdC5tZXRob2RgLlxuICovXG5leHBvcnRzLkFUVFJfSFRUUF9NRVRIT0QgPSAnaHR0cC5tZXRob2QnO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2VtY29udi5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/semconv.js\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/utils.js":
|
|
/*!********************************************************************************************************************************************************************!*\
|
|
!*** ./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/utils.js ***!
|
|
\********************************************************************************************************************************************************************/
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
|
|
eval("\n/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getPluginFromInput = exports.getExtMetadata = exports.getRouteMetadata = exports.isPatchableExtMethod = exports.isDirectExtInput = exports.isLifecycleExtEventObj = exports.isLifecycleExtType = exports.getPluginName = void 0;\nconst semantic_conventions_1 = __webpack_require__(/*! @opentelemetry/semantic-conventions */ \"(ssr)/./node_modules/.pnpm/@opentelemetry+semantic-conventions@1.40.0/node_modules/@opentelemetry/semantic-conventions/build/esm/index.js\");\nconst semconv_1 = __webpack_require__(/*! ./semconv */ \"(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/semconv.js\");\nconst internal_types_1 = __webpack_require__(/*! ./internal-types */ \"(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/internal-types.js\");\nconst AttributeNames_1 = __webpack_require__(/*! ./enums/AttributeNames */ \"(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/enums/AttributeNames.js\");\nconst instrumentation_1 = __webpack_require__(/*! @opentelemetry/instrumentation */ \"(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/esm/index.js\");\nfunction getPluginName(plugin) {\n if (plugin.name) {\n return plugin.name;\n }\n else {\n return plugin.pkg.name;\n }\n}\nexports.getPluginName = getPluginName;\nconst isLifecycleExtType = (variableToCheck) => {\n return (typeof variableToCheck === 'string' &&\n internal_types_1.HapiLifecycleMethodNames.has(variableToCheck));\n};\nexports.isLifecycleExtType = isLifecycleExtType;\nconst isLifecycleExtEventObj = (variableToCheck) => {\n const event = variableToCheck?.type;\n return event !== undefined && (0, exports.isLifecycleExtType)(event);\n};\nexports.isLifecycleExtEventObj = isLifecycleExtEventObj;\nconst isDirectExtInput = (variableToCheck) => {\n return (Array.isArray(variableToCheck) &&\n variableToCheck.length <= 3 &&\n (0, exports.isLifecycleExtType)(variableToCheck[0]) &&\n typeof variableToCheck[1] === 'function');\n};\nexports.isDirectExtInput = isDirectExtInput;\nconst isPatchableExtMethod = (variableToCheck) => {\n return !Array.isArray(variableToCheck);\n};\nexports.isPatchableExtMethod = isPatchableExtMethod;\nconst getRouteMetadata = (route, semconvStability, pluginName) => {\n const attributes = {\n [semantic_conventions_1.ATTR_HTTP_ROUTE]: route.path,\n };\n if (semconvStability & instrumentation_1.SemconvStability.OLD) {\n attributes[semconv_1.ATTR_HTTP_METHOD] = route.method;\n }\n if (semconvStability & instrumentation_1.SemconvStability.STABLE) {\n // Note: This currently does *not* normalize the method name to uppercase\n // and conditionally include `http.request.method.original` as described\n // at https://opentelemetry.io/docs/specs/semconv/http/http-spans/\n // These attributes are for a *hapi* span, and not the parent HTTP span,\n // so the HTTP span guidance doesn't strictly apply.\n attributes[semantic_conventions_1.ATTR_HTTP_REQUEST_METHOD] = route.method;\n }\n let name;\n if (pluginName) {\n attributes[AttributeNames_1.AttributeNames.HAPI_TYPE] = internal_types_1.HapiLayerType.PLUGIN;\n attributes[AttributeNames_1.AttributeNames.PLUGIN_NAME] = pluginName;\n name = `${pluginName}: route - ${route.path}`;\n }\n else {\n attributes[AttributeNames_1.AttributeNames.HAPI_TYPE] = internal_types_1.HapiLayerType.ROUTER;\n name = `route - ${route.path}`;\n }\n return { attributes, name };\n};\nexports.getRouteMetadata = getRouteMetadata;\nconst getExtMetadata = (extPoint, pluginName, methodName) => {\n let baseName = `ext - ${extPoint}`;\n if (methodName && methodName !== 'method') {\n // method is the default name for the extension in the ServerExtEventsObject format.\n baseName = `ext - ${extPoint} - ${methodName}`;\n }\n if (pluginName) {\n return {\n attributes: {\n [AttributeNames_1.AttributeNames.EXT_TYPE]: extPoint,\n [AttributeNames_1.AttributeNames.HAPI_TYPE]: internal_types_1.HapiLayerType.EXT,\n [AttributeNames_1.AttributeNames.PLUGIN_NAME]: pluginName,\n },\n name: `${pluginName}: ${baseName}`,\n };\n }\n return {\n attributes: {\n [AttributeNames_1.AttributeNames.EXT_TYPE]: extPoint,\n [AttributeNames_1.AttributeNames.HAPI_TYPE]: internal_types_1.HapiLayerType.EXT,\n },\n name: baseName,\n };\n};\nexports.getExtMetadata = getExtMetadata;\nconst getPluginFromInput = (pluginObj) => {\n if ('plugin' in pluginObj) {\n if ('plugin' in pluginObj.plugin) {\n return pluginObj.plugin.plugin;\n }\n return pluginObj.plugin;\n }\n return pluginObj;\n};\nexports.getPluginFromInput = getPluginFromInput;\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLWhhcGlAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLWhhcGkvYnVpbGQvc3JjL3V0aWxzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDBCQUEwQixHQUFHLHNCQUFzQixHQUFHLHdCQUF3QixHQUFHLDRCQUE0QixHQUFHLHdCQUF3QixHQUFHLDhCQUE4QixHQUFHLDBCQUEwQixHQUFHLHFCQUFxQjtBQUM5TiwrQkFBK0IsbUJBQU8sQ0FBQyxzTEFBcUM7QUFDNUUsa0JBQWtCLG1CQUFPLENBQUMsdUxBQVc7QUFDckMseUJBQXlCLG1CQUFPLENBQUMscU1BQWtCO0FBQ25ELHlCQUF5QixtQkFBTyxDQUFDLGlOQUF3QjtBQUN6RCwwQkFBMEIsbUJBQU8sQ0FBQyxpTUFBZ0M7QUFDbEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QjtBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLFdBQVcsWUFBWSxXQUFXO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQixXQUFXO0FBQ3JDO0FBQ0EsYUFBYTtBQUNiO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0EsNEJBQTRCLFNBQVM7QUFDckM7QUFDQTtBQUNBLDRCQUE0QixVQUFVLElBQUksV0FBVztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYixxQkFBcUIsV0FBVyxJQUFJLFNBQVM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUIiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLWhhcGlAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLWhhcGkvYnVpbGQvc3JjL3V0aWxzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZ2V0UGx1Z2luRnJvbUlucHV0ID0gZXhwb3J0cy5nZXRFeHRNZXRhZGF0YSA9IGV4cG9ydHMuZ2V0Um91dGVNZXRhZGF0YSA9IGV4cG9ydHMuaXNQYXRjaGFibGVFeHRNZXRob2QgPSBleHBvcnRzLmlzRGlyZWN0RXh0SW5wdXQgPSBleHBvcnRzLmlzTGlmZWN5Y2xlRXh0RXZlbnRPYmogPSBleHBvcnRzLmlzTGlmZWN5Y2xlRXh0VHlwZSA9IGV4cG9ydHMuZ2V0UGx1Z2luTmFtZSA9IHZvaWQgMDtcbmNvbnN0IHNlbWFudGljX2NvbnZlbnRpb25zXzEgPSByZXF1aXJlKFwiQG9wZW50ZWxlbWV0cnkvc2VtYW50aWMtY29udmVudGlvbnNcIik7XG5jb25zdCBzZW1jb252XzEgPSByZXF1aXJlKFwiLi9zZW1jb252XCIpO1xuY29uc3QgaW50ZXJuYWxfdHlwZXNfMSA9IHJlcXVpcmUoXCIuL2ludGVybmFsLXR5cGVzXCIpO1xuY29uc3QgQXR0cmlidXRlTmFtZXNfMSA9IHJlcXVpcmUoXCIuL2VudW1zL0F0dHJpYnV0ZU5hbWVzXCIpO1xuY29uc3QgaW5zdHJ1bWVudGF0aW9uXzEgPSByZXF1aXJlKFwiQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uXCIpO1xuZnVuY3Rpb24gZ2V0UGx1Z2luTmFtZShwbHVnaW4pIHtcbiAgICBpZiAocGx1Z2luLm5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHBsdWdpbi5uYW1lO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHBsdWdpbi5wa2cubmFtZTtcbiAgICB9XG59XG5leHBvcnRzLmdldFBsdWdpbk5hbWUgPSBnZXRQbHVnaW5OYW1lO1xuY29uc3QgaXNMaWZlY3ljbGVFeHRUeXBlID0gKHZhcmlhYmxlVG9DaGVjaykgPT4ge1xuICAgIHJldHVybiAodHlwZW9mIHZhcmlhYmxlVG9DaGVjayA9PT0gJ3N0cmluZycgJiZcbiAgICAgICAgaW50ZXJuYWxfdHlwZXNfMS5IYXBpTGlmZWN5Y2xlTWV0aG9kTmFtZXMuaGFzKHZhcmlhYmxlVG9DaGVjaykpO1xufTtcbmV4cG9ydHMuaXNMaWZlY3ljbGVFeHRUeXBlID0gaXNMaWZlY3ljbGVFeHRUeXBlO1xuY29uc3QgaXNMaWZlY3ljbGVFeHRFdmVudE9iaiA9ICh2YXJpYWJsZVRvQ2hlY2spID0+IHtcbiAgICBjb25zdCBldmVudCA9IHZhcmlhYmxlVG9DaGVjaz8udHlwZTtcbiAgICByZXR1cm4gZXZlbnQgIT09IHVuZGVmaW5lZCAmJiAoMCwgZXhwb3J0cy5pc0xpZmVjeWNsZUV4dFR5cGUpKGV2ZW50KTtcbn07XG5leHBvcnRzLmlzTGlmZWN5Y2xlRXh0RXZlbnRPYmogPSBpc0xpZmVjeWNsZUV4dEV2ZW50T2JqO1xuY29uc3QgaXNEaXJlY3RFeHRJbnB1dCA9ICh2YXJpYWJsZVRvQ2hlY2spID0+IHtcbiAgICByZXR1cm4gKEFycmF5LmlzQXJyYXkodmFyaWFibGVUb0NoZWNrKSAmJlxuICAgICAgICB2YXJpYWJsZVRvQ2hlY2subGVuZ3RoIDw9IDMgJiZcbiAgICAgICAgKDAsIGV4cG9ydHMuaXNMaWZlY3ljbGVFeHRUeXBlKSh2YXJpYWJsZVRvQ2hlY2tbMF0pICYmXG4gICAgICAgIHR5cGVvZiB2YXJpYWJsZVRvQ2hlY2tbMV0gPT09ICdmdW5jdGlvbicpO1xufTtcbmV4cG9ydHMuaXNEaXJlY3RFeHRJbnB1dCA9IGlzRGlyZWN0RXh0SW5wdXQ7XG5jb25zdCBpc1BhdGNoYWJsZUV4dE1ldGhvZCA9ICh2YXJpYWJsZVRvQ2hlY2spID0+IHtcbiAgICByZXR1cm4gIUFycmF5LmlzQXJyYXkodmFyaWFibGVUb0NoZWNrKTtcbn07XG5leHBvcnRzLmlzUGF0Y2hhYmxlRXh0TWV0aG9kID0gaXNQYXRjaGFibGVFeHRNZXRob2Q7XG5jb25zdCBnZXRSb3V0ZU1ldGFkYXRhID0gKHJvdXRlLCBzZW1jb252U3RhYmlsaXR5LCBwbHVnaW5OYW1lKSA9PiB7XG4gICAgY29uc3QgYXR0cmlidXRlcyA9IHtcbiAgICAgICAgW3NlbWFudGljX2NvbnZlbnRpb25zXzEuQVRUUl9IVFRQX1JPVVRFXTogcm91dGUucGF0aCxcbiAgICB9O1xuICAgIGlmIChzZW1jb252U3RhYmlsaXR5ICYgaW5zdHJ1bWVudGF0aW9uXzEuU2VtY29udlN0YWJpbGl0eS5PTEQpIHtcbiAgICAgICAgYXR0cmlidXRlc1tzZW1jb252XzEuQVRUUl9IVFRQX01FVEhPRF0gPSByb3V0ZS5tZXRob2Q7XG4gICAgfVxuICAgIGlmIChzZW1jb252U3RhYmlsaXR5ICYgaW5zdHJ1bWVudGF0aW9uXzEuU2VtY29udlN0YWJpbGl0eS5TVEFCTEUpIHtcbiAgICAgICAgLy8gTm90ZTogVGhpcyBjdXJyZW50bHkgZG9lcyAqbm90KiBub3JtYWxpemUgdGhlIG1ldGhvZCBuYW1lIHRvIHVwcGVyY2FzZVxuICAgICAgICAvLyBhbmQgY29uZGl0aW9uYWxseSBpbmNsdWRlIGBodHRwLnJlcXVlc3QubWV0aG9kLm9yaWdpbmFsYCBhcyBkZXNjcmliZWRcbiAgICAgICAgLy8gYXQgaHR0cHM6Ly9vcGVudGVsZW1ldHJ5LmlvL2RvY3Mvc3BlY3Mvc2VtY29udi9odHRwL2h0dHAtc3BhbnMvXG4gICAgICAgIC8vIFRoZXNlIGF0dHJpYnV0ZXMgYXJlIGZvciBhICpoYXBpKiBzcGFuLCBhbmQgbm90IHRoZSBwYXJlbnQgSFRUUCBzcGFuLFxuICAgICAgICAvLyBzbyB0aGUgSFRUUCBzcGFuIGd1aWRhbmNlIGRvZXNuJ3Qgc3RyaWN0bHkgYXBwbHkuXG4gICAgICAgIGF0dHJpYnV0ZXNbc2VtYW50aWNfY29udmVudGlvbnNfMS5BVFRSX0hUVFBfUkVRVUVTVF9NRVRIT0RdID0gcm91dGUubWV0aG9kO1xuICAgIH1cbiAgICBsZXQgbmFtZTtcbiAgICBpZiAocGx1Z2luTmFtZSkge1xuICAgICAgICBhdHRyaWJ1dGVzW0F0dHJpYnV0ZU5hbWVzXzEuQXR0cmlidXRlTmFtZXMuSEFQSV9UWVBFXSA9IGludGVybmFsX3R5cGVzXzEuSGFwaUxheWVyVHlwZS5QTFVHSU47XG4gICAgICAgIGF0dHJpYnV0ZXNbQXR0cmlidXRlTmFtZXNfMS5BdHRyaWJ1dGVOYW1lcy5QTFVHSU5fTkFNRV0gPSBwbHVnaW5OYW1lO1xuICAgICAgICBuYW1lID0gYCR7cGx1Z2luTmFtZX06IHJvdXRlIC0gJHtyb3V0ZS5wYXRofWA7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBhdHRyaWJ1dGVzW0F0dHJpYnV0ZU5hbWVzXzEuQXR0cmlidXRlTmFtZXMuSEFQSV9UWVBFXSA9IGludGVybmFsX3R5cGVzXzEuSGFwaUxheWVyVHlwZS5ST1VURVI7XG4gICAgICAgIG5hbWUgPSBgcm91dGUgLSAke3JvdXRlLnBhdGh9YDtcbiAgICB9XG4gICAgcmV0dXJuIHsgYXR0cmlidXRlcywgbmFtZSB9O1xufTtcbmV4cG9ydHMuZ2V0Um91dGVNZXRhZGF0YSA9IGdldFJvdXRlTWV0YWRhdGE7XG5jb25zdCBnZXRFeHRNZXRhZGF0YSA9IChleHRQb2ludCwgcGx1Z2luTmFtZSwgbWV0aG9kTmFtZSkgPT4ge1xuICAgIGxldCBiYXNlTmFtZSA9IGBleHQgLSAke2V4dFBvaW50fWA7XG4gICAgaWYgKG1ldGhvZE5hbWUgJiYgbWV0aG9kTmFtZSAhPT0gJ21ldGhvZCcpIHtcbiAgICAgICAgLy8gbWV0aG9kIGlzIHRoZSBkZWZhdWx0IG5hbWUgZm9yIHRoZSBleHRlbnNpb24gaW4gdGhlIFNlcnZlckV4dEV2ZW50c09iamVjdCBmb3JtYXQuXG4gICAgICAgIGJhc2VOYW1lID0gYGV4dCAtICR7ZXh0UG9pbnR9IC0gJHttZXRob2ROYW1lfWA7XG4gICAgfVxuICAgIGlmIChwbHVnaW5OYW1lKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICAgICAgW0F0dHJpYnV0ZU5hbWVzXzEuQXR0cmlidXRlTmFtZXMuRVhUX1RZUEVdOiBleHRQb2ludCxcbiAgICAgICAgICAgICAgICBbQXR0cmlidXRlTmFtZXNfMS5BdHRyaWJ1dGVOYW1lcy5IQVBJX1RZUEVdOiBpbnRlcm5hbF90eXBlc18xLkhhcGlMYXllclR5cGUuRVhULFxuICAgICAgICAgICAgICAgIFtBdHRyaWJ1dGVOYW1lc18xLkF0dHJpYnV0ZU5hbWVzLlBMVUdJTl9OQU1FXTogcGx1Z2luTmFtZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBuYW1lOiBgJHtwbHVnaW5OYW1lfTogJHtiYXNlTmFtZX1gLFxuICAgICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICBbQXR0cmlidXRlTmFtZXNfMS5BdHRyaWJ1dGVOYW1lcy5FWFRfVFlQRV06IGV4dFBvaW50LFxuICAgICAgICAgICAgW0F0dHJpYnV0ZU5hbWVzXzEuQXR0cmlidXRlTmFtZXMuSEFQSV9UWVBFXTogaW50ZXJuYWxfdHlwZXNfMS5IYXBpTGF5ZXJUeXBlLkVYVCxcbiAgICAgICAgfSxcbiAgICAgICAgbmFtZTogYmFzZU5hbWUsXG4gICAgfTtcbn07XG5leHBvcnRzLmdldEV4dE1ldGFkYXRhID0gZ2V0RXh0TWV0YWRhdGE7XG5jb25zdCBnZXRQbHVnaW5Gcm9tSW5wdXQgPSAocGx1Z2luT2JqKSA9PiB7XG4gICAgaWYgKCdwbHVnaW4nIGluIHBsdWdpbk9iaikge1xuICAgICAgICBpZiAoJ3BsdWdpbicgaW4gcGx1Z2luT2JqLnBsdWdpbikge1xuICAgICAgICAgICAgcmV0dXJuIHBsdWdpbk9iai5wbHVnaW4ucGx1Z2luO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwbHVnaW5PYmoucGx1Z2luO1xuICAgIH1cbiAgICByZXR1cm4gcGx1Z2luT2JqO1xufTtcbmV4cG9ydHMuZ2V0UGx1Z2luRnJvbUlucHV0ID0gZ2V0UGx1Z2luRnJvbUlucHV0O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXRpbHMuanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/utils.js\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/version.js":
|
|
/*!**********************************************************************************************************************************************************************!*\
|
|
!*** ./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/version.js ***!
|
|
\**********************************************************************************************************************************************************************/
|
|
/***/ ((__unused_webpack_module, exports) => {
|
|
|
|
eval("\n/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PACKAGE_NAME = exports.PACKAGE_VERSION = void 0;\n// this is autogenerated file, see scripts/version-update.js\nexports.PACKAGE_VERSION = '0.60.0';\nexports.PACKAGE_NAME = '@opentelemetry/instrumentation-hapi';\n//# sourceMappingURL=version.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLWhhcGlAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLWhhcGkvYnVpbGQvc3JjL3ZlcnNpb24uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsb0JBQW9CLEdBQUcsdUJBQXVCO0FBQzlDO0FBQ0EsdUJBQXVCO0FBQ3ZCLG9CQUFvQjtBQUNwQiIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9Ab3BlbnRlbGVtZXRyeStpbnN0cnVtZW50YXRpb24taGFwaUAwLjYwLjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xL25vZGVfbW9kdWxlcy9Ab3BlbnRlbGVtZXRyeS9pbnN0cnVtZW50YXRpb24taGFwaS9idWlsZC9zcmMvdmVyc2lvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLlBBQ0tBR0VfTkFNRSA9IGV4cG9ydHMuUEFDS0FHRV9WRVJTSU9OID0gdm9pZCAwO1xuLy8gdGhpcyBpcyBhdXRvZ2VuZXJhdGVkIGZpbGUsIHNlZSBzY3JpcHRzL3ZlcnNpb24tdXBkYXRlLmpzXG5leHBvcnRzLlBBQ0tBR0VfVkVSU0lPTiA9ICcwLjYwLjAnO1xuZXhwb3J0cy5QQUNLQUdFX05BTUUgPSAnQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLWhhcGknO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dmVyc2lvbi5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/version.js\n");
|
|
|
|
/***/ })
|
|
|
|
};
|
|
; |