"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-mysql@0.60.0_@opentelemetry+api@1.9.1"; exports.ids = ["vendor-chunks/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1"]; exports.modules = { /***/ "(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/AttributeNames.js": /*!*******************************************************************************************************************************************************************************!*\ !*** ./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/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 */\n// Mysql specific attributes not covered by semantic conventions\nvar AttributeNames;\n(function (AttributeNames) {\n AttributeNames[\"MYSQL_VALUES\"] = \"db.mysql.values\";\n})(AttributeNames = exports.AttributeNames || (exports.AttributeNames = {}));\n//# sourceMappingURL=AttributeNames.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLW15c3FsQDAuNjAuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMS45LjEvbm9kZV9tb2R1bGVzL0BvcGVudGVsZW1ldHJ5L2luc3RydW1lbnRhdGlvbi1teXNxbC9idWlsZC9zcmMvQXR0cmlidXRlTmFtZXMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsc0JBQXNCO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyw4Q0FBOEMsc0JBQXNCLEtBQUs7QUFDMUUiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLW15c3FsQDAuNjAuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMS45LjEvbm9kZV9tb2R1bGVzL0BvcGVudGVsZW1ldHJ5L2luc3RydW1lbnRhdGlvbi1teXNxbC9idWlsZC9zcmMvQXR0cmlidXRlTmFtZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLkF0dHJpYnV0ZU5hbWVzID0gdm9pZCAwO1xuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vIE15c3FsIHNwZWNpZmljIGF0dHJpYnV0ZXMgbm90IGNvdmVyZWQgYnkgc2VtYW50aWMgY29udmVudGlvbnNcbnZhciBBdHRyaWJ1dGVOYW1lcztcbihmdW5jdGlvbiAoQXR0cmlidXRlTmFtZXMpIHtcbiAgICBBdHRyaWJ1dGVOYW1lc1tcIk1ZU1FMX1ZBTFVFU1wiXSA9IFwiZGIubXlzcWwudmFsdWVzXCI7XG59KShBdHRyaWJ1dGVOYW1lcyA9IGV4cG9ydHMuQXR0cmlidXRlTmFtZXMgfHwgKGV4cG9ydHMuQXR0cmlidXRlTmFtZXMgPSB7fSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9QXR0cmlidXRlTmFtZXMuanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/AttributeNames.js\n"); /***/ }), /***/ "(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/index.js": /*!**********************************************************************************************************************************************************************!*\ !*** ./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/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.MySQLInstrumentation = void 0;\nvar instrumentation_1 = __webpack_require__(/*! ./instrumentation */ \"(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/instrumentation.js\");\nObject.defineProperty(exports, \"MySQLInstrumentation\", ({ enumerable: true, get: function () { return instrumentation_1.MySQLInstrumentation; } }));\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLW15c3FsQDAuNjAuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMS45LjEvbm9kZV9tb2R1bGVzL0BvcGVudGVsZW1ldHJ5L2luc3RydW1lbnRhdGlvbi1teXNxbC9idWlsZC9zcmMvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsNEJBQTRCO0FBQzVCLHdCQUF3QixtQkFBTyxDQUFDLHlNQUFtQjtBQUNuRCx3REFBdUQsRUFBRSxxQ0FBcUMsa0RBQWtELEVBQUM7QUFDakoiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLW15c3FsQDAuNjAuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMS45LjEvbm9kZV9tb2R1bGVzL0BvcGVudGVsZW1ldHJ5L2luc3RydW1lbnRhdGlvbi1teXNxbC9idWlsZC9zcmMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5NeVNRTEluc3RydW1lbnRhdGlvbiA9IHZvaWQgMDtcbnZhciBpbnN0cnVtZW50YXRpb25fMSA9IHJlcXVpcmUoXCIuL2luc3RydW1lbnRhdGlvblwiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIk15U1FMSW5zdHJ1bWVudGF0aW9uXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBpbnN0cnVtZW50YXRpb25fMS5NeVNRTEluc3RydW1lbnRhdGlvbjsgfSB9KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/index.js\n"); /***/ }), /***/ "(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/instrumentation.js": /*!********************************************************************************************************************************************************************************!*\ !*** ./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/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.MySQLInstrumentation = void 0;\nconst api_1 = __webpack_require__(/*! @opentelemetry/api */ \"(rsc)/./node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/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\");\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-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/semconv.js\");\nconst AttributeNames_1 = __webpack_require__(/*! ./AttributeNames */ \"(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/AttributeNames.js\");\nconst utils_1 = __webpack_require__(/*! ./utils */ \"(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/utils.js\");\n/** @knipignore */\nconst version_1 = __webpack_require__(/*! ./version */ \"(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/version.js\");\nclass MySQLInstrumentation extends instrumentation_1.InstrumentationBase {\n _netSemconvStability;\n _dbSemconvStability;\n constructor(config = {}) {\n super(version_1.PACKAGE_NAME, version_1.PACKAGE_VERSION, config);\n this._setSemconvStabilityFromEnv();\n }\n // Used for testing.\n _setSemconvStabilityFromEnv() {\n this._netSemconvStability = (0, instrumentation_1.semconvStabilityFromStr)('http', process.env.OTEL_SEMCONV_STABILITY_OPT_IN);\n this._dbSemconvStability = (0, instrumentation_1.semconvStabilityFromStr)('database', process.env.OTEL_SEMCONV_STABILITY_OPT_IN);\n }\n _updateMetricInstruments() {\n this._connectionsUsageOld = this.meter.createUpDownCounter(semconv_1.METRIC_DB_CLIENT_CONNECTIONS_USAGE, {\n description: 'The number of connections that are currently in state described by the state attribute.',\n unit: '{connection}',\n });\n }\n /**\n * Convenience function for updating the `db.client.connections.usage` metric.\n * The name \"count\" comes from the eventually replacement for this metric per\n * https://opentelemetry.io/docs/specs/semconv/non-normative/db-migration/#database-client-connection-count\n */\n _connCountAdd(n, poolNameOld, state) {\n this._connectionsUsageOld?.add(n, { state, name: poolNameOld });\n }\n init() {\n return [\n new instrumentation_1.InstrumentationNodeModuleDefinition('mysql', ['>=2.0.0 <3'], (moduleExports) => {\n if ((0, instrumentation_1.isWrapped)(moduleExports.createConnection)) {\n this._unwrap(moduleExports, 'createConnection');\n }\n this._wrap(moduleExports, 'createConnection', this._patchCreateConnection());\n if ((0, instrumentation_1.isWrapped)(moduleExports.createPool)) {\n this._unwrap(moduleExports, 'createPool');\n }\n this._wrap(moduleExports, 'createPool', this._patchCreatePool());\n if ((0, instrumentation_1.isWrapped)(moduleExports.createPoolCluster)) {\n this._unwrap(moduleExports, 'createPoolCluster');\n }\n this._wrap(moduleExports, 'createPoolCluster', this._patchCreatePoolCluster());\n return moduleExports;\n }, (moduleExports) => {\n if (moduleExports === undefined)\n return;\n this._unwrap(moduleExports, 'createConnection');\n this._unwrap(moduleExports, 'createPool');\n this._unwrap(moduleExports, 'createPoolCluster');\n }),\n ];\n }\n // global export function\n _patchCreateConnection() {\n return (originalCreateConnection) => {\n const thisPlugin = this;\n return function createConnection(_connectionUri) {\n const originalResult = originalCreateConnection(...arguments);\n // This is unwrapped on next call after unpatch\n thisPlugin._wrap(originalResult, 'query', thisPlugin._patchQuery(originalResult));\n return originalResult;\n };\n };\n }\n // global export function\n _patchCreatePool() {\n return (originalCreatePool) => {\n const thisPlugin = this;\n return function createPool(_config) {\n const pool = originalCreatePool(...arguments);\n thisPlugin._wrap(pool, 'query', thisPlugin._patchQuery(pool));\n thisPlugin._wrap(pool, 'getConnection', thisPlugin._patchGetConnection(pool));\n thisPlugin._wrap(pool, 'end', thisPlugin._patchPoolEnd(pool));\n thisPlugin._setPoolCallbacks(pool, '');\n return pool;\n };\n };\n }\n _patchPoolEnd(pool) {\n return (originalPoolEnd) => {\n const thisPlugin = this;\n return function end(callback) {\n const nAll = pool._allConnections.length;\n const nFree = pool._freeConnections.length;\n const nUsed = nAll - nFree;\n const poolNameOld = (0, utils_1.getPoolNameOld)(pool);\n thisPlugin._connCountAdd(-nUsed, poolNameOld, 'used');\n thisPlugin._connCountAdd(-nFree, poolNameOld, 'idle');\n originalPoolEnd.apply(pool, arguments);\n };\n };\n }\n // global export function\n _patchCreatePoolCluster() {\n return (originalCreatePoolCluster) => {\n const thisPlugin = this;\n return function createPool(_config) {\n const cluster = originalCreatePoolCluster(...arguments);\n // This is unwrapped on next call after unpatch\n thisPlugin._wrap(cluster, 'getConnection', thisPlugin._patchGetConnection(cluster));\n thisPlugin._wrap(cluster, 'add', thisPlugin._patchAdd(cluster));\n return cluster;\n };\n };\n }\n _patchAdd(cluster) {\n return (originalAdd) => {\n const thisPlugin = this;\n return function add(id, config) {\n // Unwrap if unpatch has been called\n if (!thisPlugin['_enabled']) {\n thisPlugin._unwrap(cluster, 'add');\n return originalAdd.apply(cluster, arguments);\n }\n originalAdd.apply(cluster, arguments);\n const nodes = cluster['_nodes'];\n if (nodes) {\n const nodeId = typeof id === 'object'\n ? 'CLUSTER::' + cluster._lastId\n : String(id);\n const pool = nodes[nodeId].pool;\n thisPlugin._setPoolCallbacks(pool, id);\n }\n };\n };\n }\n // method on cluster or pool\n _patchGetConnection(pool) {\n return (originalGetConnection) => {\n const thisPlugin = this;\n return function getConnection(arg1, arg2, arg3) {\n // Unwrap if unpatch has been called\n if (!thisPlugin['_enabled']) {\n thisPlugin._unwrap(pool, 'getConnection');\n return originalGetConnection.apply(pool, arguments);\n }\n if (arguments.length === 1 && typeof arg1 === 'function') {\n const patchFn = thisPlugin._getConnectionCallbackPatchFn(arg1);\n return originalGetConnection.call(pool, patchFn);\n }\n if (arguments.length === 2 && typeof arg2 === 'function') {\n const patchFn = thisPlugin._getConnectionCallbackPatchFn(arg2);\n return originalGetConnection.call(pool, arg1, patchFn);\n }\n if (arguments.length === 3 && typeof arg3 === 'function') {\n const patchFn = thisPlugin._getConnectionCallbackPatchFn(arg3);\n return originalGetConnection.call(pool, arg1, arg2, patchFn);\n }\n return originalGetConnection.apply(pool, arguments);\n };\n };\n }\n _getConnectionCallbackPatchFn(cb) {\n const thisPlugin = this;\n const activeContext = api_1.context.active();\n return function (err, connection) {\n if (connection) {\n // this is the callback passed into a query\n // no need to unwrap\n if (!(0, instrumentation_1.isWrapped)(connection.query)) {\n thisPlugin._wrap(connection, 'query', thisPlugin._patchQuery(connection));\n }\n }\n if (typeof cb === 'function') {\n api_1.context.with(activeContext, cb, this, err, connection);\n }\n };\n }\n _patchQuery(connection) {\n return (originalQuery) => {\n const thisPlugin = this;\n return function query(query, _valuesOrCallback, _callback) {\n if (!thisPlugin['_enabled']) {\n thisPlugin._unwrap(connection, 'query');\n return originalQuery.apply(connection, arguments);\n }\n const attributes = {};\n const { host, port, database, user } = (0, utils_1.getConfig)(connection.config);\n const portNumber = parseInt(port, 10);\n const dbQueryText = (0, utils_1.getDbQueryText)(query);\n if (thisPlugin._dbSemconvStability & instrumentation_1.SemconvStability.OLD) {\n attributes[semconv_1.ATTR_DB_SYSTEM] = semconv_1.DB_SYSTEM_VALUE_MYSQL;\n attributes[semconv_1.ATTR_DB_CONNECTION_STRING] = (0, utils_1.getJDBCString)(host, port, database);\n attributes[semconv_1.ATTR_DB_NAME] = database;\n attributes[semconv_1.ATTR_DB_USER] = user;\n attributes[semconv_1.ATTR_DB_STATEMENT] = dbQueryText;\n }\n if (thisPlugin._dbSemconvStability & instrumentation_1.SemconvStability.STABLE) {\n attributes[semantic_conventions_1.ATTR_DB_SYSTEM_NAME] = semantic_conventions_1.DB_SYSTEM_NAME_VALUE_MYSQL;\n attributes[semantic_conventions_1.ATTR_DB_NAMESPACE] = database;\n attributes[semantic_conventions_1.ATTR_DB_QUERY_TEXT] = dbQueryText;\n }\n if (thisPlugin._netSemconvStability & instrumentation_1.SemconvStability.OLD) {\n attributes[semconv_1.ATTR_NET_PEER_NAME] = host;\n if (!isNaN(portNumber)) {\n attributes[semconv_1.ATTR_NET_PEER_PORT] = portNumber;\n }\n }\n if (thisPlugin._netSemconvStability & instrumentation_1.SemconvStability.STABLE) {\n attributes[semantic_conventions_1.ATTR_SERVER_ADDRESS] = host;\n if (!isNaN(portNumber)) {\n attributes[semantic_conventions_1.ATTR_SERVER_PORT] = portNumber;\n }\n }\n const span = thisPlugin.tracer.startSpan((0, utils_1.getSpanName)(query), {\n kind: api_1.SpanKind.CLIENT,\n attributes,\n });\n if (thisPlugin.getConfig().enhancedDatabaseReporting) {\n let values;\n if (Array.isArray(_valuesOrCallback)) {\n values = _valuesOrCallback;\n }\n else if (arguments[2]) {\n values = [_valuesOrCallback];\n }\n span.setAttribute(AttributeNames_1.AttributeNames.MYSQL_VALUES, (0, utils_1.getDbValues)(query, values));\n }\n const cbIndex = Array.from(arguments).findIndex(arg => typeof arg === 'function');\n const parentContext = api_1.context.active();\n if (cbIndex === -1) {\n const streamableQuery = api_1.context.with(api_1.trace.setSpan(api_1.context.active(), span), () => {\n return originalQuery.apply(connection, arguments);\n });\n api_1.context.bind(parentContext, streamableQuery);\n return streamableQuery\n .on('error', err => span.setStatus({\n code: api_1.SpanStatusCode.ERROR,\n message: err.message,\n }))\n .on('end', () => {\n span.end();\n });\n }\n else {\n thisPlugin._wrap(arguments, cbIndex, thisPlugin._patchCallbackQuery(span, parentContext));\n return api_1.context.with(api_1.trace.setSpan(api_1.context.active(), span), () => {\n return originalQuery.apply(connection, arguments);\n });\n }\n };\n };\n }\n _patchCallbackQuery(span, parentContext) {\n return (originalCallback) => {\n return function (err, results, fields) {\n if (err) {\n span.setStatus({\n code: api_1.SpanStatusCode.ERROR,\n message: err.message,\n });\n }\n span.end();\n return api_1.context.with(parentContext, () => originalCallback(...arguments));\n };\n };\n }\n _setPoolCallbacks(pool, id) {\n const poolNameOld = id || (0, utils_1.getPoolNameOld)(pool);\n pool.on('connection', _connection => {\n this._connCountAdd(1, poolNameOld, 'idle');\n });\n pool.on('acquire', _connection => {\n this._connCountAdd(-1, poolNameOld, 'idle');\n this._connCountAdd(1, poolNameOld, 'used');\n });\n pool.on('release', _connection => {\n this._connCountAdd(1, poolNameOld, 'idle');\n this._connCountAdd(-1, poolNameOld, 'used');\n });\n }\n}\nexports.MySQLInstrumentation = MySQLInstrumentation;\n//# sourceMappingURL=instrumentation.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLW15c3FsQDAuNjAuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMS45LjEvbm9kZV9tb2R1bGVzL0BvcGVudGVsZW1ldHJ5L2luc3RydW1lbnRhdGlvbi1teXNxbC9idWlsZC9zcmMvaW5zdHJ1bWVudGF0aW9uLmpzIiwibWFwcGluZ3MiOiJBQUFhLENBQUMsb0RBQW9ELHlDQUF5QywwQ0FBMEMsOENBQThDLG9EQUFvRDtBQUN2UDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsNEJBQTRCO0FBQzVCLGNBQWMsbUJBQU8sQ0FBQyxrSUFBb0I7QUFDMUMsMEJBQTBCLG1CQUFPLENBQUMsaU1BQWdDO0FBQ2xFLCtCQUErQixtQkFBTyxDQUFDLHNMQUFxQztBQUM1RSxrQkFBa0IsbUJBQU8sQ0FBQyx5TEFBVztBQUNyQyx5QkFBeUIsbUJBQU8sQ0FBQyx1TUFBa0I7QUFDbkQsZ0JBQWdCLG1CQUFPLENBQUMscUxBQVM7QUFDakM7QUFDQSxrQkFBa0IsbUJBQU8sQ0FBQyx5TEFBVztBQUNyQztBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixXQUFXO0FBQy9CLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0QywwQkFBMEI7QUFDdEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLDZCQUE2QjtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLDRCQUE0QjtBQUM1QiIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9Ab3BlbnRlbGVtZXRyeStpbnN0cnVtZW50YXRpb24tbXlzcWxAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLW15c3FsL2J1aWxkL3NyYy9pbnN0cnVtZW50YXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7O2dsb2JhbFRoaXNbXCJfc2VudHJ5UmV3cml0ZXNUdW5uZWxQYXRoXCJdID0gdW5kZWZpbmVkO2dsb2JhbFRoaXNbXCJTRU5UUllfUkVMRUFTRVwiXSA9IHVuZGVmaW5lZDtnbG9iYWxUaGlzW1wiX3NlbnRyeUJhc2VQYXRoXCJdID0gdW5kZWZpbmVkO2dsb2JhbFRoaXNbXCJfc2VudHJ5TmV4dEpzVmVyc2lvblwiXSA9IFwiMTYuMS42XCI7Z2xvYmFsVGhpc1tcIl9zZW50cnlSZXdyaXRlRnJhbWVzRGlzdERpclwiXSA9IFwiLm5leHRcIjtnbG9iYWxUaGlzW1wiX3NlbnRyeVZlcmNlbENyb25zQ29uZmlnXCJdID0gdW5kZWZpbmVkO1xuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuTXlTUUxJbnN0cnVtZW50YXRpb24gPSB2b2lkIDA7XG5jb25zdCBhcGlfMSA9IHJlcXVpcmUoXCJAb3BlbnRlbGVtZXRyeS9hcGlcIik7XG5jb25zdCBpbnN0cnVtZW50YXRpb25fMSA9IHJlcXVpcmUoXCJAb3BlbnRlbGVtZXRyeS9pbnN0cnVtZW50YXRpb25cIik7XG5jb25zdCBzZW1hbnRpY19jb252ZW50aW9uc18xID0gcmVxdWlyZShcIkBvcGVudGVsZW1ldHJ5L3NlbWFudGljLWNvbnZlbnRpb25zXCIpO1xuY29uc3Qgc2VtY29udl8xID0gcmVxdWlyZShcIi4vc2VtY29udlwiKTtcbmNvbnN0IEF0dHJpYnV0ZU5hbWVzXzEgPSByZXF1aXJlKFwiLi9BdHRyaWJ1dGVOYW1lc1wiKTtcbmNvbnN0IHV0aWxzXzEgPSByZXF1aXJlKFwiLi91dGlsc1wiKTtcbi8qKiBAa25pcGlnbm9yZSAqL1xuY29uc3QgdmVyc2lvbl8xID0gcmVxdWlyZShcIi4vdmVyc2lvblwiKTtcbmNsYXNzIE15U1FMSW5zdHJ1bWVudGF0aW9uIGV4dGVuZHMgaW5zdHJ1bWVudGF0aW9uXzEuSW5zdHJ1bWVudGF0aW9uQmFzZSB7XG4gICAgX25ldFNlbWNvbnZTdGFiaWxpdHk7XG4gICAgX2RiU2VtY29udlN0YWJpbGl0eTtcbiAgICBjb25zdHJ1Y3Rvcihjb25maWcgPSB7fSkge1xuICAgICAgICBzdXBlcih2ZXJzaW9uXzEuUEFDS0FHRV9OQU1FLCB2ZXJzaW9uXzEuUEFDS0FHRV9WRVJTSU9OLCBjb25maWcpO1xuICAgICAgICB0aGlzLl9zZXRTZW1jb252U3RhYmlsaXR5RnJvbUVudigpO1xuICAgIH1cbiAgICAvLyBVc2VkIGZvciB0ZXN0aW5nLlxuICAgIF9zZXRTZW1jb252U3RhYmlsaXR5RnJvbUVudigpIHtcbiAgICAgICAgdGhpcy5fbmV0U2VtY29udlN0YWJpbGl0eSA9ICgwLCBpbnN0cnVtZW50YXRpb25fMS5zZW1jb252U3RhYmlsaXR5RnJvbVN0cikoJ2h0dHAnLCBwcm9jZXNzLmVudi5PVEVMX1NFTUNPTlZfU1RBQklMSVRZX09QVF9JTik7XG4gICAgICAgIHRoaXMuX2RiU2VtY29udlN0YWJpbGl0eSA9ICgwLCBpbnN0cnVtZW50YXRpb25fMS5zZW1jb252U3RhYmlsaXR5RnJvbVN0cikoJ2RhdGFiYXNlJywgcHJvY2Vzcy5lbnYuT1RFTF9TRU1DT05WX1NUQUJJTElUWV9PUFRfSU4pO1xuICAgIH1cbiAgICBfdXBkYXRlTWV0cmljSW5zdHJ1bWVudHMoKSB7XG4gICAgICAgIHRoaXMuX2Nvbm5lY3Rpb25zVXNhZ2VPbGQgPSB0aGlzLm1ldGVyLmNyZWF0ZVVwRG93bkNvdW50ZXIoc2VtY29udl8xLk1FVFJJQ19EQl9DTElFTlRfQ09OTkVDVElPTlNfVVNBR0UsIHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIG51bWJlciBvZiBjb25uZWN0aW9ucyB0aGF0IGFyZSBjdXJyZW50bHkgaW4gc3RhdGUgZGVzY3JpYmVkIGJ5IHRoZSBzdGF0ZSBhdHRyaWJ1dGUuJyxcbiAgICAgICAgICAgIHVuaXQ6ICd7Y29ubmVjdGlvbn0nLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ29udmVuaWVuY2UgZnVuY3Rpb24gZm9yIHVwZGF0aW5nIHRoZSBgZGIuY2xpZW50LmNvbm5lY3Rpb25zLnVzYWdlYCBtZXRyaWMuXG4gICAgICogVGhlIG5hbWUgXCJjb3VudFwiIGNvbWVzIGZyb20gdGhlIGV2ZW50dWFsbHkgcmVwbGFjZW1lbnQgZm9yIHRoaXMgbWV0cmljIHBlclxuICAgICAqIGh0dHBzOi8vb3BlbnRlbGVtZXRyeS5pby9kb2NzL3NwZWNzL3NlbWNvbnYvbm9uLW5vcm1hdGl2ZS9kYi1taWdyYXRpb24vI2RhdGFiYXNlLWNsaWVudC1jb25uZWN0aW9uLWNvdW50XG4gICAgICovXG4gICAgX2Nvbm5Db3VudEFkZChuLCBwb29sTmFtZU9sZCwgc3RhdGUpIHtcbiAgICAgICAgdGhpcy5fY29ubmVjdGlvbnNVc2FnZU9sZD8uYWRkKG4sIHsgc3RhdGUsIG5hbWU6IHBvb2xOYW1lT2xkIH0pO1xuICAgIH1cbiAgICBpbml0KCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgbmV3IGluc3RydW1lbnRhdGlvbl8xLkluc3RydW1lbnRhdGlvbk5vZGVNb2R1bGVEZWZpbml0aW9uKCdteXNxbCcsIFsnPj0yLjAuMCA8MyddLCAobW9kdWxlRXhwb3J0cykgPT4ge1xuICAgICAgICAgICAgICAgIGlmICgoMCwgaW5zdHJ1bWVudGF0aW9uXzEuaXNXcmFwcGVkKShtb2R1bGVFeHBvcnRzLmNyZWF0ZUNvbm5lY3Rpb24pKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Vud3JhcChtb2R1bGVFeHBvcnRzLCAnY3JlYXRlQ29ubmVjdGlvbicpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLl93cmFwKG1vZHVsZUV4cG9ydHMsICdjcmVhdGVDb25uZWN0aW9uJywgdGhpcy5fcGF0Y2hDcmVhdGVDb25uZWN0aW9uKCkpO1xuICAgICAgICAgICAgICAgIGlmICgoMCwgaW5zdHJ1bWVudGF0aW9uXzEuaXNXcmFwcGVkKShtb2R1bGVFeHBvcnRzLmNyZWF0ZVBvb2wpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Vud3JhcChtb2R1bGVFeHBvcnRzLCAnY3JlYXRlUG9vbCcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLl93cmFwKG1vZHVsZUV4cG9ydHMsICdjcmVhdGVQb29sJywgdGhpcy5fcGF0Y2hDcmVhdGVQb29sKCkpO1xuICAgICAgICAgICAgICAgIGlmICgoMCwgaW5zdHJ1bWVudGF0aW9uXzEuaXNXcmFwcGVkKShtb2R1bGVFeHBvcnRzLmNyZWF0ZVBvb2xDbHVzdGVyKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl91bndyYXAobW9kdWxlRXhwb3J0cywgJ2NyZWF0ZVBvb2xDbHVzdGVyJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuX3dyYXAobW9kdWxlRXhwb3J0cywgJ2NyZWF0ZVBvb2xDbHVzdGVyJywgdGhpcy5fcGF0Y2hDcmVhdGVQb29sQ2x1c3RlcigpKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbW9kdWxlRXhwb3J0cztcbiAgICAgICAgICAgIH0sIChtb2R1bGVFeHBvcnRzKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG1vZHVsZUV4cG9ydHMgPT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIHRoaXMuX3Vud3JhcChtb2R1bGVFeHBvcnRzLCAnY3JlYXRlQ29ubmVjdGlvbicpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3Vud3JhcChtb2R1bGVFeHBvcnRzLCAnY3JlYXRlUG9vbCcpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3Vud3JhcChtb2R1bGVFeHBvcnRzLCAnY3JlYXRlUG9vbENsdXN0ZXInKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICBdO1xuICAgIH1cbiAgICAvLyBnbG9iYWwgZXhwb3J0IGZ1bmN0aW9uXG4gICAgX3BhdGNoQ3JlYXRlQ29ubmVjdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIChvcmlnaW5hbENyZWF0ZUNvbm5lY3Rpb24pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRoaXNQbHVnaW4gPSB0aGlzO1xuICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIGNyZWF0ZUNvbm5lY3Rpb24oX2Nvbm5lY3Rpb25VcmkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcmlnaW5hbFJlc3VsdCA9IG9yaWdpbmFsQ3JlYXRlQ29ubmVjdGlvbiguLi5hcmd1bWVudHMpO1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgdW53cmFwcGVkIG9uIG5leHQgY2FsbCBhZnRlciB1bnBhdGNoXG4gICAgICAgICAgICAgICAgdGhpc1BsdWdpbi5fd3JhcChvcmlnaW5hbFJlc3VsdCwgJ3F1ZXJ5JywgdGhpc1BsdWdpbi5fcGF0Y2hRdWVyeShvcmlnaW5hbFJlc3VsdCkpO1xuICAgICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbFJlc3VsdDtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH07XG4gICAgfVxuICAgIC8vIGdsb2JhbCBleHBvcnQgZnVuY3Rpb25cbiAgICBfcGF0Y2hDcmVhdGVQb29sKCkge1xuICAgICAgICByZXR1cm4gKG9yaWdpbmFsQ3JlYXRlUG9vbCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGhpc1BsdWdpbiA9IHRoaXM7XG4gICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gY3JlYXRlUG9vbChfY29uZmlnKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9vbCA9IG9yaWdpbmFsQ3JlYXRlUG9vbCguLi5hcmd1bWVudHMpO1xuICAgICAgICAgICAgICAgIHRoaXNQbHVnaW4uX3dyYXAocG9vbCwgJ3F1ZXJ5JywgdGhpc1BsdWdpbi5fcGF0Y2hRdWVyeShwb29sKSk7XG4gICAgICAgICAgICAgICAgdGhpc1BsdWdpbi5fd3JhcChwb29sLCAnZ2V0Q29ubmVjdGlvbicsIHRoaXNQbHVnaW4uX3BhdGNoR2V0Q29ubmVjdGlvbihwb29sKSk7XG4gICAgICAgICAgICAgICAgdGhpc1BsdWdpbi5fd3JhcChwb29sLCAnZW5kJywgdGhpc1BsdWdpbi5fcGF0Y2hQb29sRW5kKHBvb2wpKTtcbiAgICAgICAgICAgICAgICB0aGlzUGx1Z2luLl9zZXRQb29sQ2FsbGJhY2tzKHBvb2wsICcnKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcG9vbDtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH07XG4gICAgfVxuICAgIF9wYXRjaFBvb2xFbmQocG9vbCkge1xuICAgICAgICByZXR1cm4gKG9yaWdpbmFsUG9vbEVuZCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGhpc1BsdWdpbiA9IHRoaXM7XG4gICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gZW5kKGNhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbkFsbCA9IHBvb2wuX2FsbENvbm5lY3Rpb25zLmxlbmd0aDtcbiAgICAgICAgICAgICAgICBjb25zdCBuRnJlZSA9IHBvb2wuX2ZyZWVDb25uZWN0aW9ucy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgY29uc3QgblVzZWQgPSBuQWxsIC0gbkZyZWU7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9vbE5hbWVPbGQgPSAoMCwgdXRpbHNfMS5nZXRQb29sTmFtZU9sZCkocG9vbCk7XG4gICAgICAgICAgICAgICAgdGhpc1BsdWdpbi5fY29ubkNvdW50QWRkKC1uVXNlZCwgcG9vbE5hbWVPbGQsICd1c2VkJyk7XG4gICAgICAgICAgICAgICAgdGhpc1BsdWdpbi5fY29ubkNvdW50QWRkKC1uRnJlZSwgcG9vbE5hbWVPbGQsICdpZGxlJyk7XG4gICAgICAgICAgICAgICAgb3JpZ2luYWxQb29sRW5kLmFwcGx5KHBvb2wsIGFyZ3VtZW50cyk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9O1xuICAgIH1cbiAgICAvLyBnbG9iYWwgZXhwb3J0IGZ1bmN0aW9uXG4gICAgX3BhdGNoQ3JlYXRlUG9vbENsdXN0ZXIoKSB7XG4gICAgICAgIHJldHVybiAob3JpZ2luYWxDcmVhdGVQb29sQ2x1c3RlcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGhpc1BsdWdpbiA9IHRoaXM7XG4gICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gY3JlYXRlUG9vbChfY29uZmlnKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2x1c3RlciA9IG9yaWdpbmFsQ3JlYXRlUG9vbENsdXN0ZXIoLi4uYXJndW1lbnRzKTtcbiAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIHVud3JhcHBlZCBvbiBuZXh0IGNhbGwgYWZ0ZXIgdW5wYXRjaFxuICAgICAgICAgICAgICAgIHRoaXNQbHVnaW4uX3dyYXAoY2x1c3RlciwgJ2dldENvbm5lY3Rpb24nLCB0aGlzUGx1Z2luLl9wYXRjaEdldENvbm5lY3Rpb24oY2x1c3RlcikpO1xuICAgICAgICAgICAgICAgIHRoaXNQbHVnaW4uX3dyYXAoY2x1c3RlciwgJ2FkZCcsIHRoaXNQbHVnaW4uX3BhdGNoQWRkKGNsdXN0ZXIpKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gY2x1c3RlcjtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH07XG4gICAgfVxuICAgIF9wYXRjaEFkZChjbHVzdGVyKSB7XG4gICAgICAgIHJldHVybiAob3JpZ2luYWxBZGQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRoaXNQbHVnaW4gPSB0aGlzO1xuICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIGFkZChpZCwgY29uZmlnKSB7XG4gICAgICAgICAgICAgICAgLy8gVW53cmFwIGlmIHVucGF0Y2ggaGFzIGJlZW4gY2FsbGVkXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzUGx1Z2luWydfZW5hYmxlZCddKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXNQbHVnaW4uX3Vud3JhcChjbHVzdGVyLCAnYWRkJyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbEFkZC5hcHBseShjbHVzdGVyLCBhcmd1bWVudHMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBvcmlnaW5hbEFkZC5hcHBseShjbHVzdGVyLCBhcmd1bWVudHMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5vZGVzID0gY2x1c3RlclsnX25vZGVzJ107XG4gICAgICAgICAgICAgICAgaWYgKG5vZGVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5vZGVJZCA9IHR5cGVvZiBpZCA9PT0gJ29iamVjdCdcbiAgICAgICAgICAgICAgICAgICAgICAgID8gJ0NMVVNURVI6OicgKyBjbHVzdGVyLl9sYXN0SWRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogU3RyaW5nKGlkKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcG9vbCA9IG5vZGVzW25vZGVJZF0ucG9vbDtcbiAgICAgICAgICAgICAgICAgICAgdGhpc1BsdWdpbi5fc2V0UG9vbENhbGxiYWNrcyhwb29sLCBpZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgLy8gbWV0aG9kIG9uIGNsdXN0ZXIgb3IgcG9vbFxuICAgIF9wYXRjaEdldENvbm5lY3Rpb24ocG9vbCkge1xuICAgICAgICByZXR1cm4gKG9yaWdpbmFsR2V0Q29ubmVjdGlvbikgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGhpc1BsdWdpbiA9IHRoaXM7XG4gICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gZ2V0Q29ubmVjdGlvbihhcmcxLCBhcmcyLCBhcmczKSB7XG4gICAgICAgICAgICAgICAgLy8gVW53cmFwIGlmIHVucGF0Y2ggaGFzIGJlZW4gY2FsbGVkXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzUGx1Z2luWydfZW5hYmxlZCddKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXNQbHVnaW4uX3Vud3JhcChwb29sLCAnZ2V0Q29ubmVjdGlvbicpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxHZXRDb25uZWN0aW9uLmFwcGx5KHBvb2wsIGFyZ3VtZW50cyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxICYmIHR5cGVvZiBhcmcxID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGNoRm4gPSB0aGlzUGx1Z2luLl9nZXRDb25uZWN0aW9uQ2FsbGJhY2tQYXRjaEZuKGFyZzEpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxHZXRDb25uZWN0aW9uLmNhbGwocG9vbCwgcGF0Y2hGbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyICYmIHR5cGVvZiBhcmcyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGNoRm4gPSB0aGlzUGx1Z2luLl9nZXRDb25uZWN0aW9uQ2FsbGJhY2tQYXRjaEZuKGFyZzIpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxHZXRDb25uZWN0aW9uLmNhbGwocG9vbCwgYXJnMSwgcGF0Y2hGbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAzICYmIHR5cGVvZiBhcmczID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGNoRm4gPSB0aGlzUGx1Z2luLl9nZXRDb25uZWN0aW9uQ2FsbGJhY2tQYXRjaEZuKGFyZzMpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxHZXRDb25uZWN0aW9uLmNhbGwocG9vbCwgYXJnMSwgYXJnMiwgcGF0Y2hGbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbEdldENvbm5lY3Rpb24uYXBwbHkocG9vbCwgYXJndW1lbnRzKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH07XG4gICAgfVxuICAgIF9nZXRDb25uZWN0aW9uQ2FsbGJhY2tQYXRjaEZuKGNiKSB7XG4gICAgICAgIGNvbnN0IHRoaXNQbHVnaW4gPSB0aGlzO1xuICAgICAgICBjb25zdCBhY3RpdmVDb250ZXh0ID0gYXBpXzEuY29udGV4dC5hY3RpdmUoKTtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChlcnIsIGNvbm5lY3Rpb24pIHtcbiAgICAgICAgICAgIGlmIChjb25uZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgLy8gdGhpcyBpcyB0aGUgY2FsbGJhY2sgcGFzc2VkIGludG8gYSBxdWVyeVxuICAgICAgICAgICAgICAgIC8vIG5vIG5lZWQgdG8gdW53cmFwXG4gICAgICAgICAgICAgICAgaWYgKCEoMCwgaW5zdHJ1bWVudGF0aW9uXzEuaXNXcmFwcGVkKShjb25uZWN0aW9uLnF1ZXJ5KSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzUGx1Z2luLl93cmFwKGNvbm5lY3Rpb24sICdxdWVyeScsIHRoaXNQbHVnaW4uX3BhdGNoUXVlcnkoY29ubmVjdGlvbikpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0eXBlb2YgY2IgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICBhcGlfMS5jb250ZXh0LndpdGgoYWN0aXZlQ29udGV4dCwgY2IsIHRoaXMsIGVyciwgY29ubmVjdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuICAgIF9wYXRjaFF1ZXJ5KGNvbm5lY3Rpb24pIHtcbiAgICAgICAgcmV0dXJuIChvcmlnaW5hbFF1ZXJ5KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0aGlzUGx1Z2luID0gdGhpcztcbiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiBxdWVyeShxdWVyeSwgX3ZhbHVlc09yQ2FsbGJhY2ssIF9jYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIGlmICghdGhpc1BsdWdpblsnX2VuYWJsZWQnXSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzUGx1Z2luLl91bndyYXAoY29ubmVjdGlvbiwgJ3F1ZXJ5Jyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbFF1ZXJ5LmFwcGx5KGNvbm5lY3Rpb24sIGFyZ3VtZW50cyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSB7fTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGhvc3QsIHBvcnQsIGRhdGFiYXNlLCB1c2VyIH0gPSAoMCwgdXRpbHNfMS5nZXRDb25maWcpKGNvbm5lY3Rpb24uY29uZmlnKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwb3J0TnVtYmVyID0gcGFyc2VJbnQocG9ydCwgMTApO1xuICAgICAgICAgICAgICAgIGNvbnN0IGRiUXVlcnlUZXh0ID0gKDAsIHV0aWxzXzEuZ2V0RGJRdWVyeVRleHQpKHF1ZXJ5KTtcbiAgICAgICAgICAgICAgICBpZiAodGhpc1BsdWdpbi5fZGJTZW1jb252U3RhYmlsaXR5ICYgaW5zdHJ1bWVudGF0aW9uXzEuU2VtY29udlN0YWJpbGl0eS5PTEQpIHtcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlc1tzZW1jb252XzEuQVRUUl9EQl9TWVNURU1dID0gc2VtY29udl8xLkRCX1NZU1RFTV9WQUxVRV9NWVNRTDtcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlc1tzZW1jb252XzEuQVRUUl9EQl9DT05ORUNUSU9OX1NUUklOR10gPSAoMCwgdXRpbHNfMS5nZXRKREJDU3RyaW5nKShob3N0LCBwb3J0LCBkYXRhYmFzZSk7XG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXNbc2VtY29udl8xLkFUVFJfREJfTkFNRV0gPSBkYXRhYmFzZTtcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlc1tzZW1jb252XzEuQVRUUl9EQl9VU0VSXSA9IHVzZXI7XG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXNbc2VtY29udl8xLkFUVFJfREJfU1RBVEVNRU5UXSA9IGRiUXVlcnlUZXh0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpc1BsdWdpbi5fZGJTZW1jb252U3RhYmlsaXR5ICYgaW5zdHJ1bWVudGF0aW9uXzEuU2VtY29udlN0YWJpbGl0eS5TVEFCTEUpIHtcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlc1tzZW1hbnRpY19jb252ZW50aW9uc18xLkFUVFJfREJfU1lTVEVNX05BTUVdID0gc2VtYW50aWNfY29udmVudGlvbnNfMS5EQl9TWVNURU1fTkFNRV9WQUxVRV9NWVNRTDtcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlc1tzZW1hbnRpY19jb252ZW50aW9uc18xLkFUVFJfREJfTkFNRVNQQUNFXSA9IGRhdGFiYXNlO1xuICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzW3NlbWFudGljX2NvbnZlbnRpb25zXzEuQVRUUl9EQl9RVUVSWV9URVhUXSA9IGRiUXVlcnlUZXh0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpc1BsdWdpbi5fbmV0U2VtY29udlN0YWJpbGl0eSAmIGluc3RydW1lbnRhdGlvbl8xLlNlbWNvbnZTdGFiaWxpdHkuT0xEKSB7XG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXNbc2VtY29udl8xLkFUVFJfTkVUX1BFRVJfTkFNRV0gPSBob3N0O1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWlzTmFOKHBvcnROdW1iZXIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzW3NlbWNvbnZfMS5BVFRSX05FVF9QRUVSX1BPUlRdID0gcG9ydE51bWJlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpc1BsdWdpbi5fbmV0U2VtY29udlN0YWJpbGl0eSAmIGluc3RydW1lbnRhdGlvbl8xLlNlbWNvbnZTdGFiaWxpdHkuU1RBQkxFKSB7XG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXNbc2VtYW50aWNfY29udmVudGlvbnNfMS5BVFRSX1NFUlZFUl9BRERSRVNTXSA9IGhvc3Q7XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXNOYU4ocG9ydE51bWJlcikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXNbc2VtYW50aWNfY29udmVudGlvbnNfMS5BVFRSX1NFUlZFUl9QT1JUXSA9IHBvcnROdW1iZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3Qgc3BhbiA9IHRoaXNQbHVnaW4udHJhY2VyLnN0YXJ0U3BhbigoMCwgdXRpbHNfMS5nZXRTcGFuTmFtZSkocXVlcnkpLCB7XG4gICAgICAgICAgICAgICAgICAgIGtpbmQ6IGFwaV8xLlNwYW5LaW5kLkNMSUVOVCxcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlcyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAodGhpc1BsdWdpbi5nZXRDb25maWcoKS5lbmhhbmNlZERhdGFiYXNlUmVwb3J0aW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZXM7XG4gICAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KF92YWx1ZXNPckNhbGxiYWNrKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzID0gX3ZhbHVlc09yQ2FsbGJhY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoYXJndW1lbnRzWzJdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXMgPSBbX3ZhbHVlc09yQ2FsbGJhY2tdO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHNwYW4uc2V0QXR0cmlidXRlKEF0dHJpYnV0ZU5hbWVzXzEuQXR0cmlidXRlTmFtZXMuTVlTUUxfVkFMVUVTLCAoMCwgdXRpbHNfMS5nZXREYlZhbHVlcykocXVlcnksIHZhbHVlcykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBjYkluZGV4ID0gQXJyYXkuZnJvbShhcmd1bWVudHMpLmZpbmRJbmRleChhcmcgPT4gdHlwZW9mIGFyZyA9PT0gJ2Z1bmN0aW9uJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50Q29udGV4dCA9IGFwaV8xLmNvbnRleHQuYWN0aXZlKCk7XG4gICAgICAgICAgICAgICAgaWYgKGNiSW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cmVhbWFibGVRdWVyeSA9IGFwaV8xLmNvbnRleHQud2l0aChhcGlfMS50cmFjZS5zZXRTcGFuKGFwaV8xLmNvbnRleHQuYWN0aXZlKCksIHNwYW4pLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxRdWVyeS5hcHBseShjb25uZWN0aW9uLCBhcmd1bWVudHMpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgYXBpXzEuY29udGV4dC5iaW5kKHBhcmVudENvbnRleHQsIHN0cmVhbWFibGVRdWVyeSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzdHJlYW1hYmxlUXVlcnlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5vbignZXJyb3InLCBlcnIgPT4gc3Bhbi5zZXRTdGF0dXMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogYXBpXzEuU3BhblN0YXR1c0NvZGUuRVJST1IsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBlcnIubWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgICAgICAgICAgICAub24oJ2VuZCcsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4uZW5kKCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpc1BsdWdpbi5fd3JhcChhcmd1bWVudHMsIGNiSW5kZXgsIHRoaXNQbHVnaW4uX3BhdGNoQ2FsbGJhY2tRdWVyeShzcGFuLCBwYXJlbnRDb250ZXh0KSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhcGlfMS5jb250ZXh0LndpdGgoYXBpXzEudHJhY2Uuc2V0U3BhbihhcGlfMS5jb250ZXh0LmFjdGl2ZSgpLCBzcGFuKSwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsUXVlcnkuYXBwbHkoY29ubmVjdGlvbiwgYXJndW1lbnRzKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgX3BhdGNoQ2FsbGJhY2tRdWVyeShzcGFuLCBwYXJlbnRDb250ZXh0KSB7XG4gICAgICAgIHJldHVybiAob3JpZ2luYWxDYWxsYmFjaykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChlcnIsIHJlc3VsdHMsIGZpZWxkcykge1xuICAgICAgICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgc3Bhbi5zZXRTdGF0dXMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogYXBpXzEuU3BhblN0YXR1c0NvZGUuRVJST1IsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBlcnIubWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNwYW4uZW5kKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFwaV8xLmNvbnRleHQud2l0aChwYXJlbnRDb250ZXh0LCAoKSA9PiBvcmlnaW5hbENhbGxiYWNrKC4uLmFyZ3VtZW50cykpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgX3NldFBvb2xDYWxsYmFja3MocG9vbCwgaWQpIHtcbiAgICAgICAgY29uc3QgcG9vbE5hbWVPbGQgPSBpZCB8fCAoMCwgdXRpbHNfMS5nZXRQb29sTmFtZU9sZCkocG9vbCk7XG4gICAgICAgIHBvb2wub24oJ2Nvbm5lY3Rpb24nLCBfY29ubmVjdGlvbiA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jb25uQ291bnRBZGQoMSwgcG9vbE5hbWVPbGQsICdpZGxlJyk7XG4gICAgICAgIH0pO1xuICAgICAgICBwb29sLm9uKCdhY3F1aXJlJywgX2Nvbm5lY3Rpb24gPT4ge1xuICAgICAgICAgICAgdGhpcy5fY29ubkNvdW50QWRkKC0xLCBwb29sTmFtZU9sZCwgJ2lkbGUnKTtcbiAgICAgICAgICAgIHRoaXMuX2Nvbm5Db3VudEFkZCgxLCBwb29sTmFtZU9sZCwgJ3VzZWQnKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHBvb2wub24oJ3JlbGVhc2UnLCBfY29ubmVjdGlvbiA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jb25uQ291bnRBZGQoMSwgcG9vbE5hbWVPbGQsICdpZGxlJyk7XG4gICAgICAgICAgICB0aGlzLl9jb25uQ291bnRBZGQoLTEsIHBvb2xOYW1lT2xkLCAndXNlZCcpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnRzLk15U1FMSW5zdHJ1bWVudGF0aW9uID0gTXlTUUxJbnN0cnVtZW50YXRpb247XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbnN0cnVtZW50YXRpb24uanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/instrumentation.js\n"); /***/ }), /***/ "(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/semconv.js": /*!************************************************************************************************************************************************************************!*\ !*** ./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/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.METRIC_DB_CLIENT_CONNECTIONS_USAGE = exports.DB_SYSTEM_VALUE_MYSQL = exports.ATTR_NET_PEER_PORT = exports.ATTR_NET_PEER_NAME = exports.ATTR_DB_USER = exports.ATTR_DB_SYSTEM = exports.ATTR_DB_STATEMENT = exports.ATTR_DB_NAME = exports.ATTR_DB_CONNECTION_STRING = 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 `server.address`, `server.port` attributes instead.\n *\n * @example \"Server=(localdb)\\\\v11.0;Integrated Security=true;\"\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 `server.address` and `server.port`.\n */\nexports.ATTR_DB_CONNECTION_STRING = 'db.connection_string';\n/**\n * Deprecated, use `db.namespace` instead.\n *\n * @example customers\n * @example main\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 `db.namespace`.\n */\nexports.ATTR_DB_NAME = 'db.name';\n/**\n * The database statement being executed.\n *\n * @example SELECT * FROM wuser_table\n * @example SET mykey \"WuValue\"\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 `db.query.text`.\n */\nexports.ATTR_DB_STATEMENT = 'db.statement';\n/**\n * Deprecated, use `db.system.name` instead.\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 `db.system.name`.\n */\nexports.ATTR_DB_SYSTEM = 'db.system';\n/**\n * Deprecated, no replacement at this time.\n *\n * @example readonly_user\n * @example reporting_user\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n *\n * @deprecated Removed, no replacement at this time.\n */\nexports.ATTR_DB_USER = 'db.user';\n/**\n * Deprecated, use `server.address` on client spans and `client.address` on server spans.\n *\n * @example example.com\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 `server.address` on client spans and `client.address` on server spans.\n */\nexports.ATTR_NET_PEER_NAME = 'net.peer.name';\n/**\n * Deprecated, use `server.port` on client spans and `client.port` on server spans.\n *\n * @example 8080\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 `server.port` on client spans and `client.port` on server spans.\n */\nexports.ATTR_NET_PEER_PORT = 'net.peer.port';\n/**\n * Enum value \"mysql\" for attribute {@link ATTR_DB_SYSTEM}.\n *\n * MySQL\n *\n * @experimental This enum value is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexports.DB_SYSTEM_VALUE_MYSQL = 'mysql';\n/**\n * Deprecated, use `db.client.connection.count` instead.\n *\n * @experimental This metric is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n *\n * @deprecated Replaced by `db.client.connection.count`.\n */\nexports.METRIC_DB_CLIENT_CONNECTIONS_USAGE = 'db.client.connections.usage';\n//# sourceMappingURL=semconv.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLW15c3FsQDAuNjAuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMS45LjEvbm9kZV9tb2R1bGVzL0BvcGVudGVsZW1ldHJ5L2luc3RydW1lbnRhdGlvbi1teXNxbC9idWlsZC9zcmMvc2VtY29udi5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCwwQ0FBMEMsR0FBRyw2QkFBNkIsR0FBRywwQkFBMEIsR0FBRywwQkFBMEIsR0FBRyxvQkFBb0IsR0FBRyxzQkFBc0IsR0FBRyx5QkFBeUIsR0FBRyxvQkFBb0IsR0FBRyxpQ0FBaUM7QUFDM1E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQyx5QkFBeUI7QUFDOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0EscUNBQXFDLHFCQUFxQjtBQUMxRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDO0FBQzFDIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL0BvcGVudGVsZW1ldHJ5K2luc3RydW1lbnRhdGlvbi1teXNxbEAwLjYwLjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xL25vZGVfbW9kdWxlcy9Ab3BlbnRlbGVtZXRyeS9pbnN0cnVtZW50YXRpb24tbXlzcWwvYnVpbGQvc3JjL3NlbWNvbnYuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5NRVRSSUNfREJfQ0xJRU5UX0NPTk5FQ1RJT05TX1VTQUdFID0gZXhwb3J0cy5EQl9TWVNURU1fVkFMVUVfTVlTUUwgPSBleHBvcnRzLkFUVFJfTkVUX1BFRVJfUE9SVCA9IGV4cG9ydHMuQVRUUl9ORVRfUEVFUl9OQU1FID0gZXhwb3J0cy5BVFRSX0RCX1VTRVIgPSBleHBvcnRzLkFUVFJfREJfU1lTVEVNID0gZXhwb3J0cy5BVFRSX0RCX1NUQVRFTUVOVCA9IGV4cG9ydHMuQVRUUl9EQl9OQU1FID0gZXhwb3J0cy5BVFRSX0RCX0NPTk5FQ1RJT05fU1RSSU5HID0gdm9pZCAwO1xuLypcbiAqIFRoaXMgZmlsZSBjb250YWlucyBhIGNvcHkgb2YgdW5zdGFibGUgc2VtYW50aWMgY29udmVudGlvbiBkZWZpbml0aW9uc1xuICogdXNlZCBieSB0aGlzIHBhY2thZ2UuXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL3RyZWUvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucyN1bnN0YWJsZS1zZW1jb252XG4gKi9cbi8qKlxuICogRGVwcmVjYXRlZCwgdXNlIGBzZXJ2ZXIuYWRkcmVzc2AsIGBzZXJ2ZXIucG9ydGAgYXR0cmlidXRlcyBpbnN0ZWFkLlxuICpcbiAqIEBleGFtcGxlIFwiU2VydmVyPShsb2NhbGRiKVxcXFx2MTEuMDtJbnRlZ3JhdGVkIFNlY3VyaXR5PXRydWU7XCJcbiAqXG4gKiBAZXhwZXJpbWVudGFsIFRoaXMgYXR0cmlidXRlIGlzIGV4cGVyaW1lbnRhbCBhbmQgaXMgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIGluIG1pbm9yIHJlbGVhc2VzIG9mIGBAb3BlbnRlbGVtZXRyeS9zZW1hbnRpYy1jb252ZW50aW9uc2AuXG4gKlxuICogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgYnkgYHNlcnZlci5hZGRyZXNzYCBhbmQgYHNlcnZlci5wb3J0YC5cbiAqL1xuZXhwb3J0cy5BVFRSX0RCX0NPTk5FQ1RJT05fU1RSSU5HID0gJ2RiLmNvbm5lY3Rpb25fc3RyaW5nJztcbi8qKlxuICogRGVwcmVjYXRlZCwgdXNlIGBkYi5uYW1lc3BhY2VgIGluc3RlYWQuXG4gKlxuICogQGV4YW1wbGUgY3VzdG9tZXJzXG4gKiBAZXhhbXBsZSBtYWluXG4gKlxuICogQGV4cGVyaW1lbnRhbCBUaGlzIGF0dHJpYnV0ZSBpcyBleHBlcmltZW50YWwgYW5kIGlzIHN1YmplY3QgdG8gYnJlYWtpbmcgY2hhbmdlcyBpbiBtaW5vciByZWxlYXNlcyBvZiBgQG9wZW50ZWxlbWV0cnkvc2VtYW50aWMtY29udmVudGlvbnNgLlxuICpcbiAqIEBkZXByZWNhdGVkIFJlcGxhY2VkIGJ5IGBkYi5uYW1lc3BhY2VgLlxuICovXG5leHBvcnRzLkFUVFJfREJfTkFNRSA9ICdkYi5uYW1lJztcbi8qKlxuICogVGhlIGRhdGFiYXNlIHN0YXRlbWVudCBiZWluZyBleGVjdXRlZC5cbiAqXG4gKiBAZXhhbXBsZSBTRUxFQ1QgKiBGUk9NIHd1c2VyX3RhYmxlXG4gKiBAZXhhbXBsZSBTRVQgbXlrZXkgXCJXdVZhbHVlXCJcbiAqXG4gKiBAZXhwZXJpbWVudGFsIFRoaXMgYXR0cmlidXRlIGlzIGV4cGVyaW1lbnRhbCBhbmQgaXMgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIGluIG1pbm9yIHJlbGVhc2VzIG9mIGBAb3BlbnRlbGVtZXRyeS9zZW1hbnRpYy1jb252ZW50aW9uc2AuXG4gKlxuICogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgYnkgYGRiLnF1ZXJ5LnRleHRgLlxuICovXG5leHBvcnRzLkFUVFJfREJfU1RBVEVNRU5UID0gJ2RiLnN0YXRlbWVudCc7XG4vKipcbiAqIERlcHJlY2F0ZWQsIHVzZSBgZGIuc3lzdGVtLm5hbWVgIGluc3RlYWQuXG4gKlxuICogQGV4cGVyaW1lbnRhbCBUaGlzIGF0dHJpYnV0ZSBpcyBleHBlcmltZW50YWwgYW5kIGlzIHN1YmplY3QgdG8gYnJlYWtpbmcgY2hhbmdlcyBpbiBtaW5vciByZWxlYXNlcyBvZiBgQG9wZW50ZWxlbWV0cnkvc2VtYW50aWMtY29udmVudGlvbnNgLlxuICpcbiAqIEBkZXByZWNhdGVkIFJlcGxhY2VkIGJ5IGBkYi5zeXN0ZW0ubmFtZWAuXG4gKi9cbmV4cG9ydHMuQVRUUl9EQl9TWVNURU0gPSAnZGIuc3lzdGVtJztcbi8qKlxuICogRGVwcmVjYXRlZCwgbm8gcmVwbGFjZW1lbnQgYXQgdGhpcyB0aW1lLlxuICpcbiAqIEBleGFtcGxlIHJlYWRvbmx5X3VzZXJcbiAqIEBleGFtcGxlIHJlcG9ydGluZ191c2VyXG4gKlxuICogQGV4cGVyaW1lbnRhbCBUaGlzIGF0dHJpYnV0ZSBpcyBleHBlcmltZW50YWwgYW5kIGlzIHN1YmplY3QgdG8gYnJlYWtpbmcgY2hhbmdlcyBpbiBtaW5vciByZWxlYXNlcyBvZiBgQG9wZW50ZWxlbWV0cnkvc2VtYW50aWMtY29udmVudGlvbnNgLlxuICpcbiAqIEBkZXByZWNhdGVkIFJlbW92ZWQsIG5vIHJlcGxhY2VtZW50IGF0IHRoaXMgdGltZS5cbiAqL1xuZXhwb3J0cy5BVFRSX0RCX1VTRVIgPSAnZGIudXNlcic7XG4vKipcbiAqIERlcHJlY2F0ZWQsIHVzZSBgc2VydmVyLmFkZHJlc3NgIG9uIGNsaWVudCBzcGFucyBhbmQgYGNsaWVudC5hZGRyZXNzYCBvbiBzZXJ2ZXIgc3BhbnMuXG4gKlxuICogQGV4YW1wbGUgZXhhbXBsZS5jb21cbiAqXG4gKiBAZXhwZXJpbWVudGFsIFRoaXMgYXR0cmlidXRlIGlzIGV4cGVyaW1lbnRhbCBhbmQgaXMgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIGluIG1pbm9yIHJlbGVhc2VzIG9mIGBAb3BlbnRlbGVtZXRyeS9zZW1hbnRpYy1jb252ZW50aW9uc2AuXG4gKlxuICogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgYnkgYHNlcnZlci5hZGRyZXNzYCBvbiBjbGllbnQgc3BhbnMgYW5kIGBjbGllbnQuYWRkcmVzc2Agb24gc2VydmVyIHNwYW5zLlxuICovXG5leHBvcnRzLkFUVFJfTkVUX1BFRVJfTkFNRSA9ICduZXQucGVlci5uYW1lJztcbi8qKlxuICogRGVwcmVjYXRlZCwgdXNlIGBzZXJ2ZXIucG9ydGAgb24gY2xpZW50IHNwYW5zIGFuZCBgY2xpZW50LnBvcnRgIG9uIHNlcnZlciBzcGFucy5cbiAqXG4gKiBAZXhhbXBsZSA4MDgwXG4gKlxuICogQGV4cGVyaW1lbnRhbCBUaGlzIGF0dHJpYnV0ZSBpcyBleHBlcmltZW50YWwgYW5kIGlzIHN1YmplY3QgdG8gYnJlYWtpbmcgY2hhbmdlcyBpbiBtaW5vciByZWxlYXNlcyBvZiBgQG9wZW50ZWxlbWV0cnkvc2VtYW50aWMtY29udmVudGlvbnNgLlxuICpcbiAqIEBkZXByZWNhdGVkIFJlcGxhY2VkIGJ5IGBzZXJ2ZXIucG9ydGAgb24gY2xpZW50IHNwYW5zIGFuZCBgY2xpZW50LnBvcnRgIG9uIHNlcnZlciBzcGFucy5cbiAqL1xuZXhwb3J0cy5BVFRSX05FVF9QRUVSX1BPUlQgPSAnbmV0LnBlZXIucG9ydCc7XG4vKipcbiAqIEVudW0gdmFsdWUgXCJteXNxbFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfREJfU1lTVEVNfS5cbiAqXG4gKiBNeVNRTFxuICpcbiAqIEBleHBlcmltZW50YWwgVGhpcyBlbnVtIHZhbHVlIGlzIGV4cGVyaW1lbnRhbCBhbmQgaXMgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIGluIG1pbm9yIHJlbGVhc2VzIG9mIGBAb3BlbnRlbGVtZXRyeS9zZW1hbnRpYy1jb252ZW50aW9uc2AuXG4gKi9cbmV4cG9ydHMuREJfU1lTVEVNX1ZBTFVFX01ZU1FMID0gJ215c3FsJztcbi8qKlxuICogRGVwcmVjYXRlZCwgdXNlIGBkYi5jbGllbnQuY29ubmVjdGlvbi5jb3VudGAgaW5zdGVhZC5cbiAqXG4gKiBAZXhwZXJpbWVudGFsIFRoaXMgbWV0cmljIGlzIGV4cGVyaW1lbnRhbCBhbmQgaXMgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIGluIG1pbm9yIHJlbGVhc2VzIG9mIGBAb3BlbnRlbGVtZXRyeS9zZW1hbnRpYy1jb252ZW50aW9uc2AuXG4gKlxuICogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgYnkgYGRiLmNsaWVudC5jb25uZWN0aW9uLmNvdW50YC5cbiAqL1xuZXhwb3J0cy5NRVRSSUNfREJfQ0xJRU5UX0NPTk5FQ1RJT05TX1VTQUdFID0gJ2RiLmNsaWVudC5jb25uZWN0aW9ucy51c2FnZSc7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zZW1jb252LmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/semconv.js\n"); /***/ }), /***/ "(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/utils.js": /*!**********************************************************************************************************************************************************************!*\ !*** ./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/utils.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.getPoolNameOld = exports.arrayStringifyHelper = exports.getSpanName = exports.getDbValues = exports.getDbQueryText = exports.getJDBCString = exports.getConfig = void 0;\nfunction getConfig(config) {\n const { host, port, database, user } = (config && config.connectionConfig) || config || {};\n return { host, port, database, user };\n}\nexports.getConfig = getConfig;\nfunction getJDBCString(host, port, database) {\n let jdbcString = `jdbc:mysql://${host || 'localhost'}`;\n if (typeof port === 'number') {\n jdbcString += `:${port}`;\n }\n if (typeof database === 'string') {\n jdbcString += `/${database}`;\n }\n return jdbcString;\n}\nexports.getJDBCString = getJDBCString;\n/**\n * @returns the database query being executed.\n */\nfunction getDbQueryText(query) {\n if (typeof query === 'string') {\n return query;\n }\n else {\n return query.sql;\n }\n}\nexports.getDbQueryText = getDbQueryText;\nfunction getDbValues(query, values) {\n if (typeof query === 'string') {\n return arrayStringifyHelper(values);\n }\n else {\n // According to https://github.com/mysqljs/mysql#performing-queries\n // The values argument will override the values in the option object.\n return arrayStringifyHelper(values || query.values);\n }\n}\nexports.getDbValues = getDbValues;\n/**\n * The span name SHOULD be set to a low cardinality value\n * representing the statement executed on the database.\n *\n * TODO: revisit span name based on https://github.com/open-telemetry/semantic-conventions/blob/v1.33.0/docs/database/database-spans.md#name\n *\n * @returns SQL statement without variable arguments or SQL verb\n */\nfunction getSpanName(query) {\n const rawQuery = typeof query === 'object' ? query.sql : query;\n // Extract the SQL verb\n const firstSpace = rawQuery?.indexOf(' ');\n if (typeof firstSpace === 'number' && firstSpace !== -1) {\n return rawQuery?.substring(0, firstSpace);\n }\n return rawQuery;\n}\nexports.getSpanName = getSpanName;\nfunction arrayStringifyHelper(arr) {\n if (arr)\n return `[${arr.toString()}]`;\n return '';\n}\nexports.arrayStringifyHelper = arrayStringifyHelper;\nfunction getPoolNameOld(pool) {\n const c = pool.config.connectionConfig;\n let poolName = '';\n poolName += c.host ? `host: '${c.host}', ` : '';\n poolName += c.port ? `port: ${c.port}, ` : '';\n poolName += c.database ? `database: '${c.database}', ` : '';\n poolName += c.user ? `user: '${c.user}'` : '';\n if (!c.user) {\n poolName = poolName.substring(0, poolName.length - 2); //omit last comma\n }\n return poolName.trim();\n}\nexports.getPoolNameOld = getPoolNameOld;\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLW15c3FsQDAuNjAuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMS45LjEvbm9kZV9tb2R1bGVzL0BvcGVudGVsZW1ldHJ5L2luc3RydW1lbnRhdGlvbi1teXNxbC9idWlsZC9zcmMvdXRpbHMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsc0JBQXNCLEdBQUcsNEJBQTRCLEdBQUcsbUJBQW1CLEdBQUcsbUJBQW1CLEdBQUcsc0JBQXNCLEdBQUcscUJBQXFCLEdBQUcsaUJBQWlCO0FBQ3RLO0FBQ0EsWUFBWSw2QkFBNkI7QUFDekMsYUFBYTtBQUNiO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0EscUNBQXFDLG9CQUFvQjtBQUN6RDtBQUNBLDBCQUEwQixLQUFLO0FBQy9CO0FBQ0E7QUFDQSwwQkFBMEIsU0FBUztBQUNuQztBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQSxtQkFBbUIsZUFBZTtBQUNsQztBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQyxPQUFPO0FBQzFDLGtDQUFrQyxPQUFPO0FBQ3pDLDJDQUEyQyxXQUFXO0FBQ3RELG1DQUFtQyxPQUFPO0FBQzFDO0FBQ0EsK0RBQStEO0FBQy9EO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QiIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9Ab3BlbnRlbGVtZXRyeStpbnN0cnVtZW50YXRpb24tbXlzcWxAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLW15c3FsL2J1aWxkL3NyYy91dGlscy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmdldFBvb2xOYW1lT2xkID0gZXhwb3J0cy5hcnJheVN0cmluZ2lmeUhlbHBlciA9IGV4cG9ydHMuZ2V0U3Bhbk5hbWUgPSBleHBvcnRzLmdldERiVmFsdWVzID0gZXhwb3J0cy5nZXREYlF1ZXJ5VGV4dCA9IGV4cG9ydHMuZ2V0SkRCQ1N0cmluZyA9IGV4cG9ydHMuZ2V0Q29uZmlnID0gdm9pZCAwO1xuZnVuY3Rpb24gZ2V0Q29uZmlnKGNvbmZpZykge1xuICAgIGNvbnN0IHsgaG9zdCwgcG9ydCwgZGF0YWJhc2UsIHVzZXIgfSA9IChjb25maWcgJiYgY29uZmlnLmNvbm5lY3Rpb25Db25maWcpIHx8IGNvbmZpZyB8fCB7fTtcbiAgICByZXR1cm4geyBob3N0LCBwb3J0LCBkYXRhYmFzZSwgdXNlciB9O1xufVxuZXhwb3J0cy5nZXRDb25maWcgPSBnZXRDb25maWc7XG5mdW5jdGlvbiBnZXRKREJDU3RyaW5nKGhvc3QsIHBvcnQsIGRhdGFiYXNlKSB7XG4gICAgbGV0IGpkYmNTdHJpbmcgPSBgamRiYzpteXNxbDovLyR7aG9zdCB8fCAnbG9jYWxob3N0J31gO1xuICAgIGlmICh0eXBlb2YgcG9ydCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgamRiY1N0cmluZyArPSBgOiR7cG9ydH1gO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGRhdGFiYXNlID09PSAnc3RyaW5nJykge1xuICAgICAgICBqZGJjU3RyaW5nICs9IGAvJHtkYXRhYmFzZX1gO1xuICAgIH1cbiAgICByZXR1cm4gamRiY1N0cmluZztcbn1cbmV4cG9ydHMuZ2V0SkRCQ1N0cmluZyA9IGdldEpEQkNTdHJpbmc7XG4vKipcbiAqIEByZXR1cm5zIHRoZSBkYXRhYmFzZSBxdWVyeSBiZWluZyBleGVjdXRlZC5cbiAqL1xuZnVuY3Rpb24gZ2V0RGJRdWVyeVRleHQocXVlcnkpIHtcbiAgICBpZiAodHlwZW9mIHF1ZXJ5ID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gcXVlcnk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gcXVlcnkuc3FsO1xuICAgIH1cbn1cbmV4cG9ydHMuZ2V0RGJRdWVyeVRleHQgPSBnZXREYlF1ZXJ5VGV4dDtcbmZ1bmN0aW9uIGdldERiVmFsdWVzKHF1ZXJ5LCB2YWx1ZXMpIHtcbiAgICBpZiAodHlwZW9mIHF1ZXJ5ID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gYXJyYXlTdHJpbmdpZnlIZWxwZXIodmFsdWVzKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIC8vIEFjY29yZGluZyB0byBodHRwczovL2dpdGh1Yi5jb20vbXlzcWxqcy9teXNxbCNwZXJmb3JtaW5nLXF1ZXJpZXNcbiAgICAgICAgLy8gVGhlIHZhbHVlcyBhcmd1bWVudCB3aWxsIG92ZXJyaWRlIHRoZSB2YWx1ZXMgaW4gdGhlIG9wdGlvbiBvYmplY3QuXG4gICAgICAgIHJldHVybiBhcnJheVN0cmluZ2lmeUhlbHBlcih2YWx1ZXMgfHwgcXVlcnkudmFsdWVzKTtcbiAgICB9XG59XG5leHBvcnRzLmdldERiVmFsdWVzID0gZ2V0RGJWYWx1ZXM7XG4vKipcbiAqIFRoZSBzcGFuIG5hbWUgU0hPVUxEIGJlIHNldCB0byBhIGxvdyBjYXJkaW5hbGl0eSB2YWx1ZVxuICogcmVwcmVzZW50aW5nIHRoZSBzdGF0ZW1lbnQgZXhlY3V0ZWQgb24gdGhlIGRhdGFiYXNlLlxuICpcbiAqIFRPRE86IHJldmlzaXQgc3BhbiBuYW1lIGJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9zZW1hbnRpYy1jb252ZW50aW9ucy9ibG9iL3YxLjMzLjAvZG9jcy9kYXRhYmFzZS9kYXRhYmFzZS1zcGFucy5tZCNuYW1lXG4gKlxuICogQHJldHVybnMgU1FMIHN0YXRlbWVudCB3aXRob3V0IHZhcmlhYmxlIGFyZ3VtZW50cyBvciBTUUwgdmVyYlxuICovXG5mdW5jdGlvbiBnZXRTcGFuTmFtZShxdWVyeSkge1xuICAgIGNvbnN0IHJhd1F1ZXJ5ID0gdHlwZW9mIHF1ZXJ5ID09PSAnb2JqZWN0JyA/IHF1ZXJ5LnNxbCA6IHF1ZXJ5O1xuICAgIC8vIEV4dHJhY3QgdGhlIFNRTCB2ZXJiXG4gICAgY29uc3QgZmlyc3RTcGFjZSA9IHJhd1F1ZXJ5Py5pbmRleE9mKCcgJyk7XG4gICAgaWYgKHR5cGVvZiBmaXJzdFNwYWNlID09PSAnbnVtYmVyJyAmJiBmaXJzdFNwYWNlICE9PSAtMSkge1xuICAgICAgICByZXR1cm4gcmF3UXVlcnk/LnN1YnN0cmluZygwLCBmaXJzdFNwYWNlKTtcbiAgICB9XG4gICAgcmV0dXJuIHJhd1F1ZXJ5O1xufVxuZXhwb3J0cy5nZXRTcGFuTmFtZSA9IGdldFNwYW5OYW1lO1xuZnVuY3Rpb24gYXJyYXlTdHJpbmdpZnlIZWxwZXIoYXJyKSB7XG4gICAgaWYgKGFycilcbiAgICAgICAgcmV0dXJuIGBbJHthcnIudG9TdHJpbmcoKX1dYDtcbiAgICByZXR1cm4gJyc7XG59XG5leHBvcnRzLmFycmF5U3RyaW5naWZ5SGVscGVyID0gYXJyYXlTdHJpbmdpZnlIZWxwZXI7XG5mdW5jdGlvbiBnZXRQb29sTmFtZU9sZChwb29sKSB7XG4gICAgY29uc3QgYyA9IHBvb2wuY29uZmlnLmNvbm5lY3Rpb25Db25maWc7XG4gICAgbGV0IHBvb2xOYW1lID0gJyc7XG4gICAgcG9vbE5hbWUgKz0gYy5ob3N0ID8gYGhvc3Q6ICcke2MuaG9zdH0nLCBgIDogJyc7XG4gICAgcG9vbE5hbWUgKz0gYy5wb3J0ID8gYHBvcnQ6ICR7Yy5wb3J0fSwgYCA6ICcnO1xuICAgIHBvb2xOYW1lICs9IGMuZGF0YWJhc2UgPyBgZGF0YWJhc2U6ICcke2MuZGF0YWJhc2V9JywgYCA6ICcnO1xuICAgIHBvb2xOYW1lICs9IGMudXNlciA/IGB1c2VyOiAnJHtjLnVzZXJ9J2AgOiAnJztcbiAgICBpZiAoIWMudXNlcikge1xuICAgICAgICBwb29sTmFtZSA9IHBvb2xOYW1lLnN1YnN0cmluZygwLCBwb29sTmFtZS5sZW5ndGggLSAyKTsgLy9vbWl0IGxhc3QgY29tbWFcbiAgICB9XG4gICAgcmV0dXJuIHBvb2xOYW1lLnRyaW0oKTtcbn1cbmV4cG9ydHMuZ2V0UG9vbE5hbWVPbGQgPSBnZXRQb29sTmFtZU9sZDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXV0aWxzLmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/utils.js\n"); /***/ }), /***/ "(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/version.js": /*!************************************************************************************************************************************************************************!*\ !*** ./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/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-mysql';\n//# sourceMappingURL=version.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLW15c3FsQDAuNjAuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMS45LjEvbm9kZV9tb2R1bGVzL0BvcGVudGVsZW1ldHJ5L2luc3RydW1lbnRhdGlvbi1teXNxbC9idWlsZC9zcmMvdmVyc2lvbi5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxvQkFBb0IsR0FBRyx1QkFBdUI7QUFDOUM7QUFDQSx1QkFBdUI7QUFDdkIsb0JBQW9CO0FBQ3BCIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL0BvcGVudGVsZW1ldHJ5K2luc3RydW1lbnRhdGlvbi1teXNxbEAwLjYwLjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xL25vZGVfbW9kdWxlcy9Ab3BlbnRlbGVtZXRyeS9pbnN0cnVtZW50YXRpb24tbXlzcWwvYnVpbGQvc3JjL3ZlcnNpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5QQUNLQUdFX05BTUUgPSBleHBvcnRzLlBBQ0tBR0VfVkVSU0lPTiA9IHZvaWQgMDtcbi8vIHRoaXMgaXMgYXV0b2dlbmVyYXRlZCBmaWxlLCBzZWUgc2NyaXB0cy92ZXJzaW9uLXVwZGF0ZS5qc1xuZXhwb3J0cy5QQUNLQUdFX1ZFUlNJT04gPSAnMC42MC4wJztcbmV4cG9ydHMuUEFDS0FHRV9OQU1FID0gJ0BvcGVudGVsZW1ldHJ5L2luc3RydW1lbnRhdGlvbi1teXNxbCc7XG4vLyMgc291cmNlTWFwcGluZ1VSTD12ZXJzaW9uLmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/version.js\n"); /***/ }), /***/ "(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/AttributeNames.js": /*!*******************************************************************************************************************************************************************************!*\ !*** ./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/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 */\n// Mysql specific attributes not covered by semantic conventions\nvar AttributeNames;\n(function (AttributeNames) {\n AttributeNames[\"MYSQL_VALUES\"] = \"db.mysql.values\";\n})(AttributeNames = exports.AttributeNames || (exports.AttributeNames = {}));\n//# sourceMappingURL=AttributeNames.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLW15c3FsQDAuNjAuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMS45LjEvbm9kZV9tb2R1bGVzL0BvcGVudGVsZW1ldHJ5L2luc3RydW1lbnRhdGlvbi1teXNxbC9idWlsZC9zcmMvQXR0cmlidXRlTmFtZXMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsc0JBQXNCO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyw4Q0FBOEMsc0JBQXNCLEtBQUs7QUFDMUUiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLW15c3FsQDAuNjAuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMS45LjEvbm9kZV9tb2R1bGVzL0BvcGVudGVsZW1ldHJ5L2luc3RydW1lbnRhdGlvbi1teXNxbC9idWlsZC9zcmMvQXR0cmlidXRlTmFtZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLkF0dHJpYnV0ZU5hbWVzID0gdm9pZCAwO1xuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vIE15c3FsIHNwZWNpZmljIGF0dHJpYnV0ZXMgbm90IGNvdmVyZWQgYnkgc2VtYW50aWMgY29udmVudGlvbnNcbnZhciBBdHRyaWJ1dGVOYW1lcztcbihmdW5jdGlvbiAoQXR0cmlidXRlTmFtZXMpIHtcbiAgICBBdHRyaWJ1dGVOYW1lc1tcIk1ZU1FMX1ZBTFVFU1wiXSA9IFwiZGIubXlzcWwudmFsdWVzXCI7XG59KShBdHRyaWJ1dGVOYW1lcyA9IGV4cG9ydHMuQXR0cmlidXRlTmFtZXMgfHwgKGV4cG9ydHMuQXR0cmlidXRlTmFtZXMgPSB7fSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9QXR0cmlidXRlTmFtZXMuanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/AttributeNames.js\n"); /***/ }), /***/ "(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/index.js": /*!**********************************************************************************************************************************************************************!*\ !*** ./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/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.MySQLInstrumentation = void 0;\nvar instrumentation_1 = __webpack_require__(/*! ./instrumentation */ \"(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/instrumentation.js\");\nObject.defineProperty(exports, \"MySQLInstrumentation\", ({ enumerable: true, get: function () { return instrumentation_1.MySQLInstrumentation; } }));\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLW15c3FsQDAuNjAuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMS45LjEvbm9kZV9tb2R1bGVzL0BvcGVudGVsZW1ldHJ5L2luc3RydW1lbnRhdGlvbi1teXNxbC9idWlsZC9zcmMvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsNEJBQTRCO0FBQzVCLHdCQUF3QixtQkFBTyxDQUFDLHlNQUFtQjtBQUNuRCx3REFBdUQsRUFBRSxxQ0FBcUMsa0RBQWtELEVBQUM7QUFDakoiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLW15c3FsQDAuNjAuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMS45LjEvbm9kZV9tb2R1bGVzL0BvcGVudGVsZW1ldHJ5L2luc3RydW1lbnRhdGlvbi1teXNxbC9idWlsZC9zcmMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5NeVNRTEluc3RydW1lbnRhdGlvbiA9IHZvaWQgMDtcbnZhciBpbnN0cnVtZW50YXRpb25fMSA9IHJlcXVpcmUoXCIuL2luc3RydW1lbnRhdGlvblwiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIk15U1FMSW5zdHJ1bWVudGF0aW9uXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBpbnN0cnVtZW50YXRpb25fMS5NeVNRTEluc3RydW1lbnRhdGlvbjsgfSB9KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/instrumentation.js": /*!********************************************************************************************************************************************************************************!*\ !*** ./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/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.MySQLInstrumentation = void 0;\nconst api_1 = __webpack_require__(/*! @opentelemetry/api */ \"(ssr)/./node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/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\");\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-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/semconv.js\");\nconst AttributeNames_1 = __webpack_require__(/*! ./AttributeNames */ \"(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/AttributeNames.js\");\nconst utils_1 = __webpack_require__(/*! ./utils */ \"(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/utils.js\");\n/** @knipignore */\nconst version_1 = __webpack_require__(/*! ./version */ \"(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/version.js\");\nclass MySQLInstrumentation extends instrumentation_1.InstrumentationBase {\n _netSemconvStability;\n _dbSemconvStability;\n constructor(config = {}) {\n super(version_1.PACKAGE_NAME, version_1.PACKAGE_VERSION, config);\n this._setSemconvStabilityFromEnv();\n }\n // Used for testing.\n _setSemconvStabilityFromEnv() {\n this._netSemconvStability = (0, instrumentation_1.semconvStabilityFromStr)('http', process.env.OTEL_SEMCONV_STABILITY_OPT_IN);\n this._dbSemconvStability = (0, instrumentation_1.semconvStabilityFromStr)('database', process.env.OTEL_SEMCONV_STABILITY_OPT_IN);\n }\n _updateMetricInstruments() {\n this._connectionsUsageOld = this.meter.createUpDownCounter(semconv_1.METRIC_DB_CLIENT_CONNECTIONS_USAGE, {\n description: 'The number of connections that are currently in state described by the state attribute.',\n unit: '{connection}',\n });\n }\n /**\n * Convenience function for updating the `db.client.connections.usage` metric.\n * The name \"count\" comes from the eventually replacement for this metric per\n * https://opentelemetry.io/docs/specs/semconv/non-normative/db-migration/#database-client-connection-count\n */\n _connCountAdd(n, poolNameOld, state) {\n this._connectionsUsageOld?.add(n, { state, name: poolNameOld });\n }\n init() {\n return [\n new instrumentation_1.InstrumentationNodeModuleDefinition('mysql', ['>=2.0.0 <3'], (moduleExports) => {\n if ((0, instrumentation_1.isWrapped)(moduleExports.createConnection)) {\n this._unwrap(moduleExports, 'createConnection');\n }\n this._wrap(moduleExports, 'createConnection', this._patchCreateConnection());\n if ((0, instrumentation_1.isWrapped)(moduleExports.createPool)) {\n this._unwrap(moduleExports, 'createPool');\n }\n this._wrap(moduleExports, 'createPool', this._patchCreatePool());\n if ((0, instrumentation_1.isWrapped)(moduleExports.createPoolCluster)) {\n this._unwrap(moduleExports, 'createPoolCluster');\n }\n this._wrap(moduleExports, 'createPoolCluster', this._patchCreatePoolCluster());\n return moduleExports;\n }, (moduleExports) => {\n if (moduleExports === undefined)\n return;\n this._unwrap(moduleExports, 'createConnection');\n this._unwrap(moduleExports, 'createPool');\n this._unwrap(moduleExports, 'createPoolCluster');\n }),\n ];\n }\n // global export function\n _patchCreateConnection() {\n return (originalCreateConnection) => {\n const thisPlugin = this;\n return function createConnection(_connectionUri) {\n const originalResult = originalCreateConnection(...arguments);\n // This is unwrapped on next call after unpatch\n thisPlugin._wrap(originalResult, 'query', thisPlugin._patchQuery(originalResult));\n return originalResult;\n };\n };\n }\n // global export function\n _patchCreatePool() {\n return (originalCreatePool) => {\n const thisPlugin = this;\n return function createPool(_config) {\n const pool = originalCreatePool(...arguments);\n thisPlugin._wrap(pool, 'query', thisPlugin._patchQuery(pool));\n thisPlugin._wrap(pool, 'getConnection', thisPlugin._patchGetConnection(pool));\n thisPlugin._wrap(pool, 'end', thisPlugin._patchPoolEnd(pool));\n thisPlugin._setPoolCallbacks(pool, '');\n return pool;\n };\n };\n }\n _patchPoolEnd(pool) {\n return (originalPoolEnd) => {\n const thisPlugin = this;\n return function end(callback) {\n const nAll = pool._allConnections.length;\n const nFree = pool._freeConnections.length;\n const nUsed = nAll - nFree;\n const poolNameOld = (0, utils_1.getPoolNameOld)(pool);\n thisPlugin._connCountAdd(-nUsed, poolNameOld, 'used');\n thisPlugin._connCountAdd(-nFree, poolNameOld, 'idle');\n originalPoolEnd.apply(pool, arguments);\n };\n };\n }\n // global export function\n _patchCreatePoolCluster() {\n return (originalCreatePoolCluster) => {\n const thisPlugin = this;\n return function createPool(_config) {\n const cluster = originalCreatePoolCluster(...arguments);\n // This is unwrapped on next call after unpatch\n thisPlugin._wrap(cluster, 'getConnection', thisPlugin._patchGetConnection(cluster));\n thisPlugin._wrap(cluster, 'add', thisPlugin._patchAdd(cluster));\n return cluster;\n };\n };\n }\n _patchAdd(cluster) {\n return (originalAdd) => {\n const thisPlugin = this;\n return function add(id, config) {\n // Unwrap if unpatch has been called\n if (!thisPlugin['_enabled']) {\n thisPlugin._unwrap(cluster, 'add');\n return originalAdd.apply(cluster, arguments);\n }\n originalAdd.apply(cluster, arguments);\n const nodes = cluster['_nodes'];\n if (nodes) {\n const nodeId = typeof id === 'object'\n ? 'CLUSTER::' + cluster._lastId\n : String(id);\n const pool = nodes[nodeId].pool;\n thisPlugin._setPoolCallbacks(pool, id);\n }\n };\n };\n }\n // method on cluster or pool\n _patchGetConnection(pool) {\n return (originalGetConnection) => {\n const thisPlugin = this;\n return function getConnection(arg1, arg2, arg3) {\n // Unwrap if unpatch has been called\n if (!thisPlugin['_enabled']) {\n thisPlugin._unwrap(pool, 'getConnection');\n return originalGetConnection.apply(pool, arguments);\n }\n if (arguments.length === 1 && typeof arg1 === 'function') {\n const patchFn = thisPlugin._getConnectionCallbackPatchFn(arg1);\n return originalGetConnection.call(pool, patchFn);\n }\n if (arguments.length === 2 && typeof arg2 === 'function') {\n const patchFn = thisPlugin._getConnectionCallbackPatchFn(arg2);\n return originalGetConnection.call(pool, arg1, patchFn);\n }\n if (arguments.length === 3 && typeof arg3 === 'function') {\n const patchFn = thisPlugin._getConnectionCallbackPatchFn(arg3);\n return originalGetConnection.call(pool, arg1, arg2, patchFn);\n }\n return originalGetConnection.apply(pool, arguments);\n };\n };\n }\n _getConnectionCallbackPatchFn(cb) {\n const thisPlugin = this;\n const activeContext = api_1.context.active();\n return function (err, connection) {\n if (connection) {\n // this is the callback passed into a query\n // no need to unwrap\n if (!(0, instrumentation_1.isWrapped)(connection.query)) {\n thisPlugin._wrap(connection, 'query', thisPlugin._patchQuery(connection));\n }\n }\n if (typeof cb === 'function') {\n api_1.context.with(activeContext, cb, this, err, connection);\n }\n };\n }\n _patchQuery(connection) {\n return (originalQuery) => {\n const thisPlugin = this;\n return function query(query, _valuesOrCallback, _callback) {\n if (!thisPlugin['_enabled']) {\n thisPlugin._unwrap(connection, 'query');\n return originalQuery.apply(connection, arguments);\n }\n const attributes = {};\n const { host, port, database, user } = (0, utils_1.getConfig)(connection.config);\n const portNumber = parseInt(port, 10);\n const dbQueryText = (0, utils_1.getDbQueryText)(query);\n if (thisPlugin._dbSemconvStability & instrumentation_1.SemconvStability.OLD) {\n attributes[semconv_1.ATTR_DB_SYSTEM] = semconv_1.DB_SYSTEM_VALUE_MYSQL;\n attributes[semconv_1.ATTR_DB_CONNECTION_STRING] = (0, utils_1.getJDBCString)(host, port, database);\n attributes[semconv_1.ATTR_DB_NAME] = database;\n attributes[semconv_1.ATTR_DB_USER] = user;\n attributes[semconv_1.ATTR_DB_STATEMENT] = dbQueryText;\n }\n if (thisPlugin._dbSemconvStability & instrumentation_1.SemconvStability.STABLE) {\n attributes[semantic_conventions_1.ATTR_DB_SYSTEM_NAME] = semantic_conventions_1.DB_SYSTEM_NAME_VALUE_MYSQL;\n attributes[semantic_conventions_1.ATTR_DB_NAMESPACE] = database;\n attributes[semantic_conventions_1.ATTR_DB_QUERY_TEXT] = dbQueryText;\n }\n if (thisPlugin._netSemconvStability & instrumentation_1.SemconvStability.OLD) {\n attributes[semconv_1.ATTR_NET_PEER_NAME] = host;\n if (!isNaN(portNumber)) {\n attributes[semconv_1.ATTR_NET_PEER_PORT] = portNumber;\n }\n }\n if (thisPlugin._netSemconvStability & instrumentation_1.SemconvStability.STABLE) {\n attributes[semantic_conventions_1.ATTR_SERVER_ADDRESS] = host;\n if (!isNaN(portNumber)) {\n attributes[semantic_conventions_1.ATTR_SERVER_PORT] = portNumber;\n }\n }\n const span = thisPlugin.tracer.startSpan((0, utils_1.getSpanName)(query), {\n kind: api_1.SpanKind.CLIENT,\n attributes,\n });\n if (thisPlugin.getConfig().enhancedDatabaseReporting) {\n let values;\n if (Array.isArray(_valuesOrCallback)) {\n values = _valuesOrCallback;\n }\n else if (arguments[2]) {\n values = [_valuesOrCallback];\n }\n span.setAttribute(AttributeNames_1.AttributeNames.MYSQL_VALUES, (0, utils_1.getDbValues)(query, values));\n }\n const cbIndex = Array.from(arguments).findIndex(arg => typeof arg === 'function');\n const parentContext = api_1.context.active();\n if (cbIndex === -1) {\n const streamableQuery = api_1.context.with(api_1.trace.setSpan(api_1.context.active(), span), () => {\n return originalQuery.apply(connection, arguments);\n });\n api_1.context.bind(parentContext, streamableQuery);\n return streamableQuery\n .on('error', err => span.setStatus({\n code: api_1.SpanStatusCode.ERROR,\n message: err.message,\n }))\n .on('end', () => {\n span.end();\n });\n }\n else {\n thisPlugin._wrap(arguments, cbIndex, thisPlugin._patchCallbackQuery(span, parentContext));\n return api_1.context.with(api_1.trace.setSpan(api_1.context.active(), span), () => {\n return originalQuery.apply(connection, arguments);\n });\n }\n };\n };\n }\n _patchCallbackQuery(span, parentContext) {\n return (originalCallback) => {\n return function (err, results, fields) {\n if (err) {\n span.setStatus({\n code: api_1.SpanStatusCode.ERROR,\n message: err.message,\n });\n }\n span.end();\n return api_1.context.with(parentContext, () => originalCallback(...arguments));\n };\n };\n }\n _setPoolCallbacks(pool, id) {\n const poolNameOld = id || (0, utils_1.getPoolNameOld)(pool);\n pool.on('connection', _connection => {\n this._connCountAdd(1, poolNameOld, 'idle');\n });\n pool.on('acquire', _connection => {\n this._connCountAdd(-1, poolNameOld, 'idle');\n this._connCountAdd(1, poolNameOld, 'used');\n });\n pool.on('release', _connection => {\n this._connCountAdd(1, poolNameOld, 'idle');\n this._connCountAdd(-1, poolNameOld, 'used');\n });\n }\n}\nexports.MySQLInstrumentation = MySQLInstrumentation;\n//# sourceMappingURL=instrumentation.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLW15c3FsQDAuNjAuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMS45LjEvbm9kZV9tb2R1bGVzL0BvcGVudGVsZW1ldHJ5L2luc3RydW1lbnRhdGlvbi1teXNxbC9idWlsZC9zcmMvaW5zdHJ1bWVudGF0aW9uLmpzIiwibWFwcGluZ3MiOiJBQUFhLENBQUMsb0RBQW9ELHlDQUF5QywwQ0FBMEMsOENBQThDLG9EQUFvRDtBQUN2UDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsNEJBQTRCO0FBQzVCLGNBQWMsbUJBQU8sQ0FBQyxrSUFBb0I7QUFDMUMsMEJBQTBCLG1CQUFPLENBQUMsaU1BQWdDO0FBQ2xFLCtCQUErQixtQkFBTyxDQUFDLHNMQUFxQztBQUM1RSxrQkFBa0IsbUJBQU8sQ0FBQyx5TEFBVztBQUNyQyx5QkFBeUIsbUJBQU8sQ0FBQyx1TUFBa0I7QUFDbkQsZ0JBQWdCLG1CQUFPLENBQUMscUxBQVM7QUFDakM7QUFDQSxrQkFBa0IsbUJBQU8sQ0FBQyx5TEFBVztBQUNyQztBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixXQUFXO0FBQy9CLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0QywwQkFBMEI7QUFDdEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLDZCQUE2QjtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLDRCQUE0QjtBQUM1QiIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9Ab3BlbnRlbGVtZXRyeStpbnN0cnVtZW50YXRpb24tbXlzcWxAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLW15c3FsL2J1aWxkL3NyYy9pbnN0cnVtZW50YXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7O2dsb2JhbFRoaXNbXCJfc2VudHJ5UmV3cml0ZXNUdW5uZWxQYXRoXCJdID0gdW5kZWZpbmVkO2dsb2JhbFRoaXNbXCJTRU5UUllfUkVMRUFTRVwiXSA9IHVuZGVmaW5lZDtnbG9iYWxUaGlzW1wiX3NlbnRyeUJhc2VQYXRoXCJdID0gdW5kZWZpbmVkO2dsb2JhbFRoaXNbXCJfc2VudHJ5TmV4dEpzVmVyc2lvblwiXSA9IFwiMTYuMS42XCI7Z2xvYmFsVGhpc1tcIl9zZW50cnlSZXdyaXRlRnJhbWVzRGlzdERpclwiXSA9IFwiLm5leHRcIjtnbG9iYWxUaGlzW1wiX3NlbnRyeVZlcmNlbENyb25zQ29uZmlnXCJdID0gdW5kZWZpbmVkO1xuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuTXlTUUxJbnN0cnVtZW50YXRpb24gPSB2b2lkIDA7XG5jb25zdCBhcGlfMSA9IHJlcXVpcmUoXCJAb3BlbnRlbGVtZXRyeS9hcGlcIik7XG5jb25zdCBpbnN0cnVtZW50YXRpb25fMSA9IHJlcXVpcmUoXCJAb3BlbnRlbGVtZXRyeS9pbnN0cnVtZW50YXRpb25cIik7XG5jb25zdCBzZW1hbnRpY19jb252ZW50aW9uc18xID0gcmVxdWlyZShcIkBvcGVudGVsZW1ldHJ5L3NlbWFudGljLWNvbnZlbnRpb25zXCIpO1xuY29uc3Qgc2VtY29udl8xID0gcmVxdWlyZShcIi4vc2VtY29udlwiKTtcbmNvbnN0IEF0dHJpYnV0ZU5hbWVzXzEgPSByZXF1aXJlKFwiLi9BdHRyaWJ1dGVOYW1lc1wiKTtcbmNvbnN0IHV0aWxzXzEgPSByZXF1aXJlKFwiLi91dGlsc1wiKTtcbi8qKiBAa25pcGlnbm9yZSAqL1xuY29uc3QgdmVyc2lvbl8xID0gcmVxdWlyZShcIi4vdmVyc2lvblwiKTtcbmNsYXNzIE15U1FMSW5zdHJ1bWVudGF0aW9uIGV4dGVuZHMgaW5zdHJ1bWVudGF0aW9uXzEuSW5zdHJ1bWVudGF0aW9uQmFzZSB7XG4gICAgX25ldFNlbWNvbnZTdGFiaWxpdHk7XG4gICAgX2RiU2VtY29udlN0YWJpbGl0eTtcbiAgICBjb25zdHJ1Y3Rvcihjb25maWcgPSB7fSkge1xuICAgICAgICBzdXBlcih2ZXJzaW9uXzEuUEFDS0FHRV9OQU1FLCB2ZXJzaW9uXzEuUEFDS0FHRV9WRVJTSU9OLCBjb25maWcpO1xuICAgICAgICB0aGlzLl9zZXRTZW1jb252U3RhYmlsaXR5RnJvbUVudigpO1xuICAgIH1cbiAgICAvLyBVc2VkIGZvciB0ZXN0aW5nLlxuICAgIF9zZXRTZW1jb252U3RhYmlsaXR5RnJvbUVudigpIHtcbiAgICAgICAgdGhpcy5fbmV0U2VtY29udlN0YWJpbGl0eSA9ICgwLCBpbnN0cnVtZW50YXRpb25fMS5zZW1jb252U3RhYmlsaXR5RnJvbVN0cikoJ2h0dHAnLCBwcm9jZXNzLmVudi5PVEVMX1NFTUNPTlZfU1RBQklMSVRZX09QVF9JTik7XG4gICAgICAgIHRoaXMuX2RiU2VtY29udlN0YWJpbGl0eSA9ICgwLCBpbnN0cnVtZW50YXRpb25fMS5zZW1jb252U3RhYmlsaXR5RnJvbVN0cikoJ2RhdGFiYXNlJywgcHJvY2Vzcy5lbnYuT1RFTF9TRU1DT05WX1NUQUJJTElUWV9PUFRfSU4pO1xuICAgIH1cbiAgICBfdXBkYXRlTWV0cmljSW5zdHJ1bWVudHMoKSB7XG4gICAgICAgIHRoaXMuX2Nvbm5lY3Rpb25zVXNhZ2VPbGQgPSB0aGlzLm1ldGVyLmNyZWF0ZVVwRG93bkNvdW50ZXIoc2VtY29udl8xLk1FVFJJQ19EQl9DTElFTlRfQ09OTkVDVElPTlNfVVNBR0UsIHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIG51bWJlciBvZiBjb25uZWN0aW9ucyB0aGF0IGFyZSBjdXJyZW50bHkgaW4gc3RhdGUgZGVzY3JpYmVkIGJ5IHRoZSBzdGF0ZSBhdHRyaWJ1dGUuJyxcbiAgICAgICAgICAgIHVuaXQ6ICd7Y29ubmVjdGlvbn0nLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ29udmVuaWVuY2UgZnVuY3Rpb24gZm9yIHVwZGF0aW5nIHRoZSBgZGIuY2xpZW50LmNvbm5lY3Rpb25zLnVzYWdlYCBtZXRyaWMuXG4gICAgICogVGhlIG5hbWUgXCJjb3VudFwiIGNvbWVzIGZyb20gdGhlIGV2ZW50dWFsbHkgcmVwbGFjZW1lbnQgZm9yIHRoaXMgbWV0cmljIHBlclxuICAgICAqIGh0dHBzOi8vb3BlbnRlbGVtZXRyeS5pby9kb2NzL3NwZWNzL3NlbWNvbnYvbm9uLW5vcm1hdGl2ZS9kYi1taWdyYXRpb24vI2RhdGFiYXNlLWNsaWVudC1jb25uZWN0aW9uLWNvdW50XG4gICAgICovXG4gICAgX2Nvbm5Db3VudEFkZChuLCBwb29sTmFtZU9sZCwgc3RhdGUpIHtcbiAgICAgICAgdGhpcy5fY29ubmVjdGlvbnNVc2FnZU9sZD8uYWRkKG4sIHsgc3RhdGUsIG5hbWU6IHBvb2xOYW1lT2xkIH0pO1xuICAgIH1cbiAgICBpbml0KCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgbmV3IGluc3RydW1lbnRhdGlvbl8xLkluc3RydW1lbnRhdGlvbk5vZGVNb2R1bGVEZWZpbml0aW9uKCdteXNxbCcsIFsnPj0yLjAuMCA8MyddLCAobW9kdWxlRXhwb3J0cykgPT4ge1xuICAgICAgICAgICAgICAgIGlmICgoMCwgaW5zdHJ1bWVudGF0aW9uXzEuaXNXcmFwcGVkKShtb2R1bGVFeHBvcnRzLmNyZWF0ZUNvbm5lY3Rpb24pKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Vud3JhcChtb2R1bGVFeHBvcnRzLCAnY3JlYXRlQ29ubmVjdGlvbicpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLl93cmFwKG1vZHVsZUV4cG9ydHMsICdjcmVhdGVDb25uZWN0aW9uJywgdGhpcy5fcGF0Y2hDcmVhdGVDb25uZWN0aW9uKCkpO1xuICAgICAgICAgICAgICAgIGlmICgoMCwgaW5zdHJ1bWVudGF0aW9uXzEuaXNXcmFwcGVkKShtb2R1bGVFeHBvcnRzLmNyZWF0ZVBvb2wpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Vud3JhcChtb2R1bGVFeHBvcnRzLCAnY3JlYXRlUG9vbCcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLl93cmFwKG1vZHVsZUV4cG9ydHMsICdjcmVhdGVQb29sJywgdGhpcy5fcGF0Y2hDcmVhdGVQb29sKCkpO1xuICAgICAgICAgICAgICAgIGlmICgoMCwgaW5zdHJ1bWVudGF0aW9uXzEuaXNXcmFwcGVkKShtb2R1bGVFeHBvcnRzLmNyZWF0ZVBvb2xDbHVzdGVyKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl91bndyYXAobW9kdWxlRXhwb3J0cywgJ2NyZWF0ZVBvb2xDbHVzdGVyJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuX3dyYXAobW9kdWxlRXhwb3J0cywgJ2NyZWF0ZVBvb2xDbHVzdGVyJywgdGhpcy5fcGF0Y2hDcmVhdGVQb29sQ2x1c3RlcigpKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbW9kdWxlRXhwb3J0cztcbiAgICAgICAgICAgIH0sIChtb2R1bGVFeHBvcnRzKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG1vZHVsZUV4cG9ydHMgPT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIHRoaXMuX3Vud3JhcChtb2R1bGVFeHBvcnRzLCAnY3JlYXRlQ29ubmVjdGlvbicpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3Vud3JhcChtb2R1bGVFeHBvcnRzLCAnY3JlYXRlUG9vbCcpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3Vud3JhcChtb2R1bGVFeHBvcnRzLCAnY3JlYXRlUG9vbENsdXN0ZXInKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICBdO1xuICAgIH1cbiAgICAvLyBnbG9iYWwgZXhwb3J0IGZ1bmN0aW9uXG4gICAgX3BhdGNoQ3JlYXRlQ29ubmVjdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIChvcmlnaW5hbENyZWF0ZUNvbm5lY3Rpb24pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRoaXNQbHVnaW4gPSB0aGlzO1xuICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIGNyZWF0ZUNvbm5lY3Rpb24oX2Nvbm5lY3Rpb25VcmkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcmlnaW5hbFJlc3VsdCA9IG9yaWdpbmFsQ3JlYXRlQ29ubmVjdGlvbiguLi5hcmd1bWVudHMpO1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgdW53cmFwcGVkIG9uIG5leHQgY2FsbCBhZnRlciB1bnBhdGNoXG4gICAgICAgICAgICAgICAgdGhpc1BsdWdpbi5fd3JhcChvcmlnaW5hbFJlc3VsdCwgJ3F1ZXJ5JywgdGhpc1BsdWdpbi5fcGF0Y2hRdWVyeShvcmlnaW5hbFJlc3VsdCkpO1xuICAgICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbFJlc3VsdDtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH07XG4gICAgfVxuICAgIC8vIGdsb2JhbCBleHBvcnQgZnVuY3Rpb25cbiAgICBfcGF0Y2hDcmVhdGVQb29sKCkge1xuICAgICAgICByZXR1cm4gKG9yaWdpbmFsQ3JlYXRlUG9vbCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGhpc1BsdWdpbiA9IHRoaXM7XG4gICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gY3JlYXRlUG9vbChfY29uZmlnKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9vbCA9IG9yaWdpbmFsQ3JlYXRlUG9vbCguLi5hcmd1bWVudHMpO1xuICAgICAgICAgICAgICAgIHRoaXNQbHVnaW4uX3dyYXAocG9vbCwgJ3F1ZXJ5JywgdGhpc1BsdWdpbi5fcGF0Y2hRdWVyeShwb29sKSk7XG4gICAgICAgICAgICAgICAgdGhpc1BsdWdpbi5fd3JhcChwb29sLCAnZ2V0Q29ubmVjdGlvbicsIHRoaXNQbHVnaW4uX3BhdGNoR2V0Q29ubmVjdGlvbihwb29sKSk7XG4gICAgICAgICAgICAgICAgdGhpc1BsdWdpbi5fd3JhcChwb29sLCAnZW5kJywgdGhpc1BsdWdpbi5fcGF0Y2hQb29sRW5kKHBvb2wpKTtcbiAgICAgICAgICAgICAgICB0aGlzUGx1Z2luLl9zZXRQb29sQ2FsbGJhY2tzKHBvb2wsICcnKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcG9vbDtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH07XG4gICAgfVxuICAgIF9wYXRjaFBvb2xFbmQocG9vbCkge1xuICAgICAgICByZXR1cm4gKG9yaWdpbmFsUG9vbEVuZCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGhpc1BsdWdpbiA9IHRoaXM7XG4gICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gZW5kKGNhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbkFsbCA9IHBvb2wuX2FsbENvbm5lY3Rpb25zLmxlbmd0aDtcbiAgICAgICAgICAgICAgICBjb25zdCBuRnJlZSA9IHBvb2wuX2ZyZWVDb25uZWN0aW9ucy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgY29uc3QgblVzZWQgPSBuQWxsIC0gbkZyZWU7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9vbE5hbWVPbGQgPSAoMCwgdXRpbHNfMS5nZXRQb29sTmFtZU9sZCkocG9vbCk7XG4gICAgICAgICAgICAgICAgdGhpc1BsdWdpbi5fY29ubkNvdW50QWRkKC1uVXNlZCwgcG9vbE5hbWVPbGQsICd1c2VkJyk7XG4gICAgICAgICAgICAgICAgdGhpc1BsdWdpbi5fY29ubkNvdW50QWRkKC1uRnJlZSwgcG9vbE5hbWVPbGQsICdpZGxlJyk7XG4gICAgICAgICAgICAgICAgb3JpZ2luYWxQb29sRW5kLmFwcGx5KHBvb2wsIGFyZ3VtZW50cyk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9O1xuICAgIH1cbiAgICAvLyBnbG9iYWwgZXhwb3J0IGZ1bmN0aW9uXG4gICAgX3BhdGNoQ3JlYXRlUG9vbENsdXN0ZXIoKSB7XG4gICAgICAgIHJldHVybiAob3JpZ2luYWxDcmVhdGVQb29sQ2x1c3RlcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGhpc1BsdWdpbiA9IHRoaXM7XG4gICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gY3JlYXRlUG9vbChfY29uZmlnKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2x1c3RlciA9IG9yaWdpbmFsQ3JlYXRlUG9vbENsdXN0ZXIoLi4uYXJndW1lbnRzKTtcbiAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIHVud3JhcHBlZCBvbiBuZXh0IGNhbGwgYWZ0ZXIgdW5wYXRjaFxuICAgICAgICAgICAgICAgIHRoaXNQbHVnaW4uX3dyYXAoY2x1c3RlciwgJ2dldENvbm5lY3Rpb24nLCB0aGlzUGx1Z2luLl9wYXRjaEdldENvbm5lY3Rpb24oY2x1c3RlcikpO1xuICAgICAgICAgICAgICAgIHRoaXNQbHVnaW4uX3dyYXAoY2x1c3RlciwgJ2FkZCcsIHRoaXNQbHVnaW4uX3BhdGNoQWRkKGNsdXN0ZXIpKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gY2x1c3RlcjtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH07XG4gICAgfVxuICAgIF9wYXRjaEFkZChjbHVzdGVyKSB7XG4gICAgICAgIHJldHVybiAob3JpZ2luYWxBZGQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRoaXNQbHVnaW4gPSB0aGlzO1xuICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIGFkZChpZCwgY29uZmlnKSB7XG4gICAgICAgICAgICAgICAgLy8gVW53cmFwIGlmIHVucGF0Y2ggaGFzIGJlZW4gY2FsbGVkXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzUGx1Z2luWydfZW5hYmxlZCddKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXNQbHVnaW4uX3Vud3JhcChjbHVzdGVyLCAnYWRkJyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbEFkZC5hcHBseShjbHVzdGVyLCBhcmd1bWVudHMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBvcmlnaW5hbEFkZC5hcHBseShjbHVzdGVyLCBhcmd1bWVudHMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5vZGVzID0gY2x1c3RlclsnX25vZGVzJ107XG4gICAgICAgICAgICAgICAgaWYgKG5vZGVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5vZGVJZCA9IHR5cGVvZiBpZCA9PT0gJ29iamVjdCdcbiAgICAgICAgICAgICAgICAgICAgICAgID8gJ0NMVVNURVI6OicgKyBjbHVzdGVyLl9sYXN0SWRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogU3RyaW5nKGlkKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcG9vbCA9IG5vZGVzW25vZGVJZF0ucG9vbDtcbiAgICAgICAgICAgICAgICAgICAgdGhpc1BsdWdpbi5fc2V0UG9vbENhbGxiYWNrcyhwb29sLCBpZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgLy8gbWV0aG9kIG9uIGNsdXN0ZXIgb3IgcG9vbFxuICAgIF9wYXRjaEdldENvbm5lY3Rpb24ocG9vbCkge1xuICAgICAgICByZXR1cm4gKG9yaWdpbmFsR2V0Q29ubmVjdGlvbikgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGhpc1BsdWdpbiA9IHRoaXM7XG4gICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gZ2V0Q29ubmVjdGlvbihhcmcxLCBhcmcyLCBhcmczKSB7XG4gICAgICAgICAgICAgICAgLy8gVW53cmFwIGlmIHVucGF0Y2ggaGFzIGJlZW4gY2FsbGVkXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzUGx1Z2luWydfZW5hYmxlZCddKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXNQbHVnaW4uX3Vud3JhcChwb29sLCAnZ2V0Q29ubmVjdGlvbicpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxHZXRDb25uZWN0aW9uLmFwcGx5KHBvb2wsIGFyZ3VtZW50cyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxICYmIHR5cGVvZiBhcmcxID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGNoRm4gPSB0aGlzUGx1Z2luLl9nZXRDb25uZWN0aW9uQ2FsbGJhY2tQYXRjaEZuKGFyZzEpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxHZXRDb25uZWN0aW9uLmNhbGwocG9vbCwgcGF0Y2hGbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyICYmIHR5cGVvZiBhcmcyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGNoRm4gPSB0aGlzUGx1Z2luLl9nZXRDb25uZWN0aW9uQ2FsbGJhY2tQYXRjaEZuKGFyZzIpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxHZXRDb25uZWN0aW9uLmNhbGwocG9vbCwgYXJnMSwgcGF0Y2hGbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAzICYmIHR5cGVvZiBhcmczID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGNoRm4gPSB0aGlzUGx1Z2luLl9nZXRDb25uZWN0aW9uQ2FsbGJhY2tQYXRjaEZuKGFyZzMpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxHZXRDb25uZWN0aW9uLmNhbGwocG9vbCwgYXJnMSwgYXJnMiwgcGF0Y2hGbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbEdldENvbm5lY3Rpb24uYXBwbHkocG9vbCwgYXJndW1lbnRzKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH07XG4gICAgfVxuICAgIF9nZXRDb25uZWN0aW9uQ2FsbGJhY2tQYXRjaEZuKGNiKSB7XG4gICAgICAgIGNvbnN0IHRoaXNQbHVnaW4gPSB0aGlzO1xuICAgICAgICBjb25zdCBhY3RpdmVDb250ZXh0ID0gYXBpXzEuY29udGV4dC5hY3RpdmUoKTtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChlcnIsIGNvbm5lY3Rpb24pIHtcbiAgICAgICAgICAgIGlmIChjb25uZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgLy8gdGhpcyBpcyB0aGUgY2FsbGJhY2sgcGFzc2VkIGludG8gYSBxdWVyeVxuICAgICAgICAgICAgICAgIC8vIG5vIG5lZWQgdG8gdW53cmFwXG4gICAgICAgICAgICAgICAgaWYgKCEoMCwgaW5zdHJ1bWVudGF0aW9uXzEuaXNXcmFwcGVkKShjb25uZWN0aW9uLnF1ZXJ5KSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzUGx1Z2luLl93cmFwKGNvbm5lY3Rpb24sICdxdWVyeScsIHRoaXNQbHVnaW4uX3BhdGNoUXVlcnkoY29ubmVjdGlvbikpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0eXBlb2YgY2IgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICBhcGlfMS5jb250ZXh0LndpdGgoYWN0aXZlQ29udGV4dCwgY2IsIHRoaXMsIGVyciwgY29ubmVjdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuICAgIF9wYXRjaFF1ZXJ5KGNvbm5lY3Rpb24pIHtcbiAgICAgICAgcmV0dXJuIChvcmlnaW5hbFF1ZXJ5KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0aGlzUGx1Z2luID0gdGhpcztcbiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiBxdWVyeShxdWVyeSwgX3ZhbHVlc09yQ2FsbGJhY2ssIF9jYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIGlmICghdGhpc1BsdWdpblsnX2VuYWJsZWQnXSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzUGx1Z2luLl91bndyYXAoY29ubmVjdGlvbiwgJ3F1ZXJ5Jyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbFF1ZXJ5LmFwcGx5KGNvbm5lY3Rpb24sIGFyZ3VtZW50cyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSB7fTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGhvc3QsIHBvcnQsIGRhdGFiYXNlLCB1c2VyIH0gPSAoMCwgdXRpbHNfMS5nZXRDb25maWcpKGNvbm5lY3Rpb24uY29uZmlnKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwb3J0TnVtYmVyID0gcGFyc2VJbnQocG9ydCwgMTApO1xuICAgICAgICAgICAgICAgIGNvbnN0IGRiUXVlcnlUZXh0ID0gKDAsIHV0aWxzXzEuZ2V0RGJRdWVyeVRleHQpKHF1ZXJ5KTtcbiAgICAgICAgICAgICAgICBpZiAodGhpc1BsdWdpbi5fZGJTZW1jb252U3RhYmlsaXR5ICYgaW5zdHJ1bWVudGF0aW9uXzEuU2VtY29udlN0YWJpbGl0eS5PTEQpIHtcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlc1tzZW1jb252XzEuQVRUUl9EQl9TWVNURU1dID0gc2VtY29udl8xLkRCX1NZU1RFTV9WQUxVRV9NWVNRTDtcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlc1tzZW1jb252XzEuQVRUUl9EQl9DT05ORUNUSU9OX1NUUklOR10gPSAoMCwgdXRpbHNfMS5nZXRKREJDU3RyaW5nKShob3N0LCBwb3J0LCBkYXRhYmFzZSk7XG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXNbc2VtY29udl8xLkFUVFJfREJfTkFNRV0gPSBkYXRhYmFzZTtcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlc1tzZW1jb252XzEuQVRUUl9EQl9VU0VSXSA9IHVzZXI7XG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXNbc2VtY29udl8xLkFUVFJfREJfU1RBVEVNRU5UXSA9IGRiUXVlcnlUZXh0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpc1BsdWdpbi5fZGJTZW1jb252U3RhYmlsaXR5ICYgaW5zdHJ1bWVudGF0aW9uXzEuU2VtY29udlN0YWJpbGl0eS5TVEFCTEUpIHtcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlc1tzZW1hbnRpY19jb252ZW50aW9uc18xLkFUVFJfREJfU1lTVEVNX05BTUVdID0gc2VtYW50aWNfY29udmVudGlvbnNfMS5EQl9TWVNURU1fTkFNRV9WQUxVRV9NWVNRTDtcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlc1tzZW1hbnRpY19jb252ZW50aW9uc18xLkFUVFJfREJfTkFNRVNQQUNFXSA9IGRhdGFiYXNlO1xuICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzW3NlbWFudGljX2NvbnZlbnRpb25zXzEuQVRUUl9EQl9RVUVSWV9URVhUXSA9IGRiUXVlcnlUZXh0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpc1BsdWdpbi5fbmV0U2VtY29udlN0YWJpbGl0eSAmIGluc3RydW1lbnRhdGlvbl8xLlNlbWNvbnZTdGFiaWxpdHkuT0xEKSB7XG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXNbc2VtY29udl8xLkFUVFJfTkVUX1BFRVJfTkFNRV0gPSBob3N0O1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWlzTmFOKHBvcnROdW1iZXIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzW3NlbWNvbnZfMS5BVFRSX05FVF9QRUVSX1BPUlRdID0gcG9ydE51bWJlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpc1BsdWdpbi5fbmV0U2VtY29udlN0YWJpbGl0eSAmIGluc3RydW1lbnRhdGlvbl8xLlNlbWNvbnZTdGFiaWxpdHkuU1RBQkxFKSB7XG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXNbc2VtYW50aWNfY29udmVudGlvbnNfMS5BVFRSX1NFUlZFUl9BRERSRVNTXSA9IGhvc3Q7XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXNOYU4ocG9ydE51bWJlcikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXNbc2VtYW50aWNfY29udmVudGlvbnNfMS5BVFRSX1NFUlZFUl9QT1JUXSA9IHBvcnROdW1iZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3Qgc3BhbiA9IHRoaXNQbHVnaW4udHJhY2VyLnN0YXJ0U3BhbigoMCwgdXRpbHNfMS5nZXRTcGFuTmFtZSkocXVlcnkpLCB7XG4gICAgICAgICAgICAgICAgICAgIGtpbmQ6IGFwaV8xLlNwYW5LaW5kLkNMSUVOVCxcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlcyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAodGhpc1BsdWdpbi5nZXRDb25maWcoKS5lbmhhbmNlZERhdGFiYXNlUmVwb3J0aW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZXM7XG4gICAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KF92YWx1ZXNPckNhbGxiYWNrKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzID0gX3ZhbHVlc09yQ2FsbGJhY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoYXJndW1lbnRzWzJdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXMgPSBbX3ZhbHVlc09yQ2FsbGJhY2tdO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHNwYW4uc2V0QXR0cmlidXRlKEF0dHJpYnV0ZU5hbWVzXzEuQXR0cmlidXRlTmFtZXMuTVlTUUxfVkFMVUVTLCAoMCwgdXRpbHNfMS5nZXREYlZhbHVlcykocXVlcnksIHZhbHVlcykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBjYkluZGV4ID0gQXJyYXkuZnJvbShhcmd1bWVudHMpLmZpbmRJbmRleChhcmcgPT4gdHlwZW9mIGFyZyA9PT0gJ2Z1bmN0aW9uJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50Q29udGV4dCA9IGFwaV8xLmNvbnRleHQuYWN0aXZlKCk7XG4gICAgICAgICAgICAgICAgaWYgKGNiSW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cmVhbWFibGVRdWVyeSA9IGFwaV8xLmNvbnRleHQud2l0aChhcGlfMS50cmFjZS5zZXRTcGFuKGFwaV8xLmNvbnRleHQuYWN0aXZlKCksIHNwYW4pLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxRdWVyeS5hcHBseShjb25uZWN0aW9uLCBhcmd1bWVudHMpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgYXBpXzEuY29udGV4dC5iaW5kKHBhcmVudENvbnRleHQsIHN0cmVhbWFibGVRdWVyeSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzdHJlYW1hYmxlUXVlcnlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5vbignZXJyb3InLCBlcnIgPT4gc3Bhbi5zZXRTdGF0dXMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogYXBpXzEuU3BhblN0YXR1c0NvZGUuRVJST1IsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBlcnIubWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgICAgICAgICAgICAub24oJ2VuZCcsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4uZW5kKCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpc1BsdWdpbi5fd3JhcChhcmd1bWVudHMsIGNiSW5kZXgsIHRoaXNQbHVnaW4uX3BhdGNoQ2FsbGJhY2tRdWVyeShzcGFuLCBwYXJlbnRDb250ZXh0KSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhcGlfMS5jb250ZXh0LndpdGgoYXBpXzEudHJhY2Uuc2V0U3BhbihhcGlfMS5jb250ZXh0LmFjdGl2ZSgpLCBzcGFuKSwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsUXVlcnkuYXBwbHkoY29ubmVjdGlvbiwgYXJndW1lbnRzKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgX3BhdGNoQ2FsbGJhY2tRdWVyeShzcGFuLCBwYXJlbnRDb250ZXh0KSB7XG4gICAgICAgIHJldHVybiAob3JpZ2luYWxDYWxsYmFjaykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChlcnIsIHJlc3VsdHMsIGZpZWxkcykge1xuICAgICAgICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgc3Bhbi5zZXRTdGF0dXMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogYXBpXzEuU3BhblN0YXR1c0NvZGUuRVJST1IsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBlcnIubWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNwYW4uZW5kKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFwaV8xLmNvbnRleHQud2l0aChwYXJlbnRDb250ZXh0LCAoKSA9PiBvcmlnaW5hbENhbGxiYWNrKC4uLmFyZ3VtZW50cykpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgX3NldFBvb2xDYWxsYmFja3MocG9vbCwgaWQpIHtcbiAgICAgICAgY29uc3QgcG9vbE5hbWVPbGQgPSBpZCB8fCAoMCwgdXRpbHNfMS5nZXRQb29sTmFtZU9sZCkocG9vbCk7XG4gICAgICAgIHBvb2wub24oJ2Nvbm5lY3Rpb24nLCBfY29ubmVjdGlvbiA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jb25uQ291bnRBZGQoMSwgcG9vbE5hbWVPbGQsICdpZGxlJyk7XG4gICAgICAgIH0pO1xuICAgICAgICBwb29sLm9uKCdhY3F1aXJlJywgX2Nvbm5lY3Rpb24gPT4ge1xuICAgICAgICAgICAgdGhpcy5fY29ubkNvdW50QWRkKC0xLCBwb29sTmFtZU9sZCwgJ2lkbGUnKTtcbiAgICAgICAgICAgIHRoaXMuX2Nvbm5Db3VudEFkZCgxLCBwb29sTmFtZU9sZCwgJ3VzZWQnKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHBvb2wub24oJ3JlbGVhc2UnLCBfY29ubmVjdGlvbiA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jb25uQ291bnRBZGQoMSwgcG9vbE5hbWVPbGQsICdpZGxlJyk7XG4gICAgICAgICAgICB0aGlzLl9jb25uQ291bnRBZGQoLTEsIHBvb2xOYW1lT2xkLCAndXNlZCcpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnRzLk15U1FMSW5zdHJ1bWVudGF0aW9uID0gTXlTUUxJbnN0cnVtZW50YXRpb247XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbnN0cnVtZW50YXRpb24uanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/instrumentation.js\n"); /***/ }), /***/ "(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/semconv.js": /*!************************************************************************************************************************************************************************!*\ !*** ./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/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.METRIC_DB_CLIENT_CONNECTIONS_USAGE = exports.DB_SYSTEM_VALUE_MYSQL = exports.ATTR_NET_PEER_PORT = exports.ATTR_NET_PEER_NAME = exports.ATTR_DB_USER = exports.ATTR_DB_SYSTEM = exports.ATTR_DB_STATEMENT = exports.ATTR_DB_NAME = exports.ATTR_DB_CONNECTION_STRING = 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 `server.address`, `server.port` attributes instead.\n *\n * @example \"Server=(localdb)\\\\v11.0;Integrated Security=true;\"\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 `server.address` and `server.port`.\n */\nexports.ATTR_DB_CONNECTION_STRING = 'db.connection_string';\n/**\n * Deprecated, use `db.namespace` instead.\n *\n * @example customers\n * @example main\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 `db.namespace`.\n */\nexports.ATTR_DB_NAME = 'db.name';\n/**\n * The database statement being executed.\n *\n * @example SELECT * FROM wuser_table\n * @example SET mykey \"WuValue\"\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 `db.query.text`.\n */\nexports.ATTR_DB_STATEMENT = 'db.statement';\n/**\n * Deprecated, use `db.system.name` instead.\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 `db.system.name`.\n */\nexports.ATTR_DB_SYSTEM = 'db.system';\n/**\n * Deprecated, no replacement at this time.\n *\n * @example readonly_user\n * @example reporting_user\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n *\n * @deprecated Removed, no replacement at this time.\n */\nexports.ATTR_DB_USER = 'db.user';\n/**\n * Deprecated, use `server.address` on client spans and `client.address` on server spans.\n *\n * @example example.com\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 `server.address` on client spans and `client.address` on server spans.\n */\nexports.ATTR_NET_PEER_NAME = 'net.peer.name';\n/**\n * Deprecated, use `server.port` on client spans and `client.port` on server spans.\n *\n * @example 8080\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 `server.port` on client spans and `client.port` on server spans.\n */\nexports.ATTR_NET_PEER_PORT = 'net.peer.port';\n/**\n * Enum value \"mysql\" for attribute {@link ATTR_DB_SYSTEM}.\n *\n * MySQL\n *\n * @experimental This enum value is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexports.DB_SYSTEM_VALUE_MYSQL = 'mysql';\n/**\n * Deprecated, use `db.client.connection.count` instead.\n *\n * @experimental This metric is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n *\n * @deprecated Replaced by `db.client.connection.count`.\n */\nexports.METRIC_DB_CLIENT_CONNECTIONS_USAGE = 'db.client.connections.usage';\n//# sourceMappingURL=semconv.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLW15c3FsQDAuNjAuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMS45LjEvbm9kZV9tb2R1bGVzL0BvcGVudGVsZW1ldHJ5L2luc3RydW1lbnRhdGlvbi1teXNxbC9idWlsZC9zcmMvc2VtY29udi5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCwwQ0FBMEMsR0FBRyw2QkFBNkIsR0FBRywwQkFBMEIsR0FBRywwQkFBMEIsR0FBRyxvQkFBb0IsR0FBRyxzQkFBc0IsR0FBRyx5QkFBeUIsR0FBRyxvQkFBb0IsR0FBRyxpQ0FBaUM7QUFDM1E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQyx5QkFBeUI7QUFDOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0EscUNBQXFDLHFCQUFxQjtBQUMxRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDO0FBQzFDIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL0BvcGVudGVsZW1ldHJ5K2luc3RydW1lbnRhdGlvbi1teXNxbEAwLjYwLjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xL25vZGVfbW9kdWxlcy9Ab3BlbnRlbGVtZXRyeS9pbnN0cnVtZW50YXRpb24tbXlzcWwvYnVpbGQvc3JjL3NlbWNvbnYuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5NRVRSSUNfREJfQ0xJRU5UX0NPTk5FQ1RJT05TX1VTQUdFID0gZXhwb3J0cy5EQl9TWVNURU1fVkFMVUVfTVlTUUwgPSBleHBvcnRzLkFUVFJfTkVUX1BFRVJfUE9SVCA9IGV4cG9ydHMuQVRUUl9ORVRfUEVFUl9OQU1FID0gZXhwb3J0cy5BVFRSX0RCX1VTRVIgPSBleHBvcnRzLkFUVFJfREJfU1lTVEVNID0gZXhwb3J0cy5BVFRSX0RCX1NUQVRFTUVOVCA9IGV4cG9ydHMuQVRUUl9EQl9OQU1FID0gZXhwb3J0cy5BVFRSX0RCX0NPTk5FQ1RJT05fU1RSSU5HID0gdm9pZCAwO1xuLypcbiAqIFRoaXMgZmlsZSBjb250YWlucyBhIGNvcHkgb2YgdW5zdGFibGUgc2VtYW50aWMgY29udmVudGlvbiBkZWZpbml0aW9uc1xuICogdXNlZCBieSB0aGlzIHBhY2thZ2UuXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL3RyZWUvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucyN1bnN0YWJsZS1zZW1jb252XG4gKi9cbi8qKlxuICogRGVwcmVjYXRlZCwgdXNlIGBzZXJ2ZXIuYWRkcmVzc2AsIGBzZXJ2ZXIucG9ydGAgYXR0cmlidXRlcyBpbnN0ZWFkLlxuICpcbiAqIEBleGFtcGxlIFwiU2VydmVyPShsb2NhbGRiKVxcXFx2MTEuMDtJbnRlZ3JhdGVkIFNlY3VyaXR5PXRydWU7XCJcbiAqXG4gKiBAZXhwZXJpbWVudGFsIFRoaXMgYXR0cmlidXRlIGlzIGV4cGVyaW1lbnRhbCBhbmQgaXMgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIGluIG1pbm9yIHJlbGVhc2VzIG9mIGBAb3BlbnRlbGVtZXRyeS9zZW1hbnRpYy1jb252ZW50aW9uc2AuXG4gKlxuICogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgYnkgYHNlcnZlci5hZGRyZXNzYCBhbmQgYHNlcnZlci5wb3J0YC5cbiAqL1xuZXhwb3J0cy5BVFRSX0RCX0NPTk5FQ1RJT05fU1RSSU5HID0gJ2RiLmNvbm5lY3Rpb25fc3RyaW5nJztcbi8qKlxuICogRGVwcmVjYXRlZCwgdXNlIGBkYi5uYW1lc3BhY2VgIGluc3RlYWQuXG4gKlxuICogQGV4YW1wbGUgY3VzdG9tZXJzXG4gKiBAZXhhbXBsZSBtYWluXG4gKlxuICogQGV4cGVyaW1lbnRhbCBUaGlzIGF0dHJpYnV0ZSBpcyBleHBlcmltZW50YWwgYW5kIGlzIHN1YmplY3QgdG8gYnJlYWtpbmcgY2hhbmdlcyBpbiBtaW5vciByZWxlYXNlcyBvZiBgQG9wZW50ZWxlbWV0cnkvc2VtYW50aWMtY29udmVudGlvbnNgLlxuICpcbiAqIEBkZXByZWNhdGVkIFJlcGxhY2VkIGJ5IGBkYi5uYW1lc3BhY2VgLlxuICovXG5leHBvcnRzLkFUVFJfREJfTkFNRSA9ICdkYi5uYW1lJztcbi8qKlxuICogVGhlIGRhdGFiYXNlIHN0YXRlbWVudCBiZWluZyBleGVjdXRlZC5cbiAqXG4gKiBAZXhhbXBsZSBTRUxFQ1QgKiBGUk9NIHd1c2VyX3RhYmxlXG4gKiBAZXhhbXBsZSBTRVQgbXlrZXkgXCJXdVZhbHVlXCJcbiAqXG4gKiBAZXhwZXJpbWVudGFsIFRoaXMgYXR0cmlidXRlIGlzIGV4cGVyaW1lbnRhbCBhbmQgaXMgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIGluIG1pbm9yIHJlbGVhc2VzIG9mIGBAb3BlbnRlbGVtZXRyeS9zZW1hbnRpYy1jb252ZW50aW9uc2AuXG4gKlxuICogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgYnkgYGRiLnF1ZXJ5LnRleHRgLlxuICovXG5leHBvcnRzLkFUVFJfREJfU1RBVEVNRU5UID0gJ2RiLnN0YXRlbWVudCc7XG4vKipcbiAqIERlcHJlY2F0ZWQsIHVzZSBgZGIuc3lzdGVtLm5hbWVgIGluc3RlYWQuXG4gKlxuICogQGV4cGVyaW1lbnRhbCBUaGlzIGF0dHJpYnV0ZSBpcyBleHBlcmltZW50YWwgYW5kIGlzIHN1YmplY3QgdG8gYnJlYWtpbmcgY2hhbmdlcyBpbiBtaW5vciByZWxlYXNlcyBvZiBgQG9wZW50ZWxlbWV0cnkvc2VtYW50aWMtY29udmVudGlvbnNgLlxuICpcbiAqIEBkZXByZWNhdGVkIFJlcGxhY2VkIGJ5IGBkYi5zeXN0ZW0ubmFtZWAuXG4gKi9cbmV4cG9ydHMuQVRUUl9EQl9TWVNURU0gPSAnZGIuc3lzdGVtJztcbi8qKlxuICogRGVwcmVjYXRlZCwgbm8gcmVwbGFjZW1lbnQgYXQgdGhpcyB0aW1lLlxuICpcbiAqIEBleGFtcGxlIHJlYWRvbmx5X3VzZXJcbiAqIEBleGFtcGxlIHJlcG9ydGluZ191c2VyXG4gKlxuICogQGV4cGVyaW1lbnRhbCBUaGlzIGF0dHJpYnV0ZSBpcyBleHBlcmltZW50YWwgYW5kIGlzIHN1YmplY3QgdG8gYnJlYWtpbmcgY2hhbmdlcyBpbiBtaW5vciByZWxlYXNlcyBvZiBgQG9wZW50ZWxlbWV0cnkvc2VtYW50aWMtY29udmVudGlvbnNgLlxuICpcbiAqIEBkZXByZWNhdGVkIFJlbW92ZWQsIG5vIHJlcGxhY2VtZW50IGF0IHRoaXMgdGltZS5cbiAqL1xuZXhwb3J0cy5BVFRSX0RCX1VTRVIgPSAnZGIudXNlcic7XG4vKipcbiAqIERlcHJlY2F0ZWQsIHVzZSBgc2VydmVyLmFkZHJlc3NgIG9uIGNsaWVudCBzcGFucyBhbmQgYGNsaWVudC5hZGRyZXNzYCBvbiBzZXJ2ZXIgc3BhbnMuXG4gKlxuICogQGV4YW1wbGUgZXhhbXBsZS5jb21cbiAqXG4gKiBAZXhwZXJpbWVudGFsIFRoaXMgYXR0cmlidXRlIGlzIGV4cGVyaW1lbnRhbCBhbmQgaXMgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIGluIG1pbm9yIHJlbGVhc2VzIG9mIGBAb3BlbnRlbGVtZXRyeS9zZW1hbnRpYy1jb252ZW50aW9uc2AuXG4gKlxuICogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgYnkgYHNlcnZlci5hZGRyZXNzYCBvbiBjbGllbnQgc3BhbnMgYW5kIGBjbGllbnQuYWRkcmVzc2Agb24gc2VydmVyIHNwYW5zLlxuICovXG5leHBvcnRzLkFUVFJfTkVUX1BFRVJfTkFNRSA9ICduZXQucGVlci5uYW1lJztcbi8qKlxuICogRGVwcmVjYXRlZCwgdXNlIGBzZXJ2ZXIucG9ydGAgb24gY2xpZW50IHNwYW5zIGFuZCBgY2xpZW50LnBvcnRgIG9uIHNlcnZlciBzcGFucy5cbiAqXG4gKiBAZXhhbXBsZSA4MDgwXG4gKlxuICogQGV4cGVyaW1lbnRhbCBUaGlzIGF0dHJpYnV0ZSBpcyBleHBlcmltZW50YWwgYW5kIGlzIHN1YmplY3QgdG8gYnJlYWtpbmcgY2hhbmdlcyBpbiBtaW5vciByZWxlYXNlcyBvZiBgQG9wZW50ZWxlbWV0cnkvc2VtYW50aWMtY29udmVudGlvbnNgLlxuICpcbiAqIEBkZXByZWNhdGVkIFJlcGxhY2VkIGJ5IGBzZXJ2ZXIucG9ydGAgb24gY2xpZW50IHNwYW5zIGFuZCBgY2xpZW50LnBvcnRgIG9uIHNlcnZlciBzcGFucy5cbiAqL1xuZXhwb3J0cy5BVFRSX05FVF9QRUVSX1BPUlQgPSAnbmV0LnBlZXIucG9ydCc7XG4vKipcbiAqIEVudW0gdmFsdWUgXCJteXNxbFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfREJfU1lTVEVNfS5cbiAqXG4gKiBNeVNRTFxuICpcbiAqIEBleHBlcmltZW50YWwgVGhpcyBlbnVtIHZhbHVlIGlzIGV4cGVyaW1lbnRhbCBhbmQgaXMgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIGluIG1pbm9yIHJlbGVhc2VzIG9mIGBAb3BlbnRlbGVtZXRyeS9zZW1hbnRpYy1jb252ZW50aW9uc2AuXG4gKi9cbmV4cG9ydHMuREJfU1lTVEVNX1ZBTFVFX01ZU1FMID0gJ215c3FsJztcbi8qKlxuICogRGVwcmVjYXRlZCwgdXNlIGBkYi5jbGllbnQuY29ubmVjdGlvbi5jb3VudGAgaW5zdGVhZC5cbiAqXG4gKiBAZXhwZXJpbWVudGFsIFRoaXMgbWV0cmljIGlzIGV4cGVyaW1lbnRhbCBhbmQgaXMgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIGluIG1pbm9yIHJlbGVhc2VzIG9mIGBAb3BlbnRlbGVtZXRyeS9zZW1hbnRpYy1jb252ZW50aW9uc2AuXG4gKlxuICogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgYnkgYGRiLmNsaWVudC5jb25uZWN0aW9uLmNvdW50YC5cbiAqL1xuZXhwb3J0cy5NRVRSSUNfREJfQ0xJRU5UX0NPTk5FQ1RJT05TX1VTQUdFID0gJ2RiLmNsaWVudC5jb25uZWN0aW9ucy51c2FnZSc7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zZW1jb252LmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/semconv.js\n"); /***/ }), /***/ "(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/utils.js": /*!**********************************************************************************************************************************************************************!*\ !*** ./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/utils.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.getPoolNameOld = exports.arrayStringifyHelper = exports.getSpanName = exports.getDbValues = exports.getDbQueryText = exports.getJDBCString = exports.getConfig = void 0;\nfunction getConfig(config) {\n const { host, port, database, user } = (config && config.connectionConfig) || config || {};\n return { host, port, database, user };\n}\nexports.getConfig = getConfig;\nfunction getJDBCString(host, port, database) {\n let jdbcString = `jdbc:mysql://${host || 'localhost'}`;\n if (typeof port === 'number') {\n jdbcString += `:${port}`;\n }\n if (typeof database === 'string') {\n jdbcString += `/${database}`;\n }\n return jdbcString;\n}\nexports.getJDBCString = getJDBCString;\n/**\n * @returns the database query being executed.\n */\nfunction getDbQueryText(query) {\n if (typeof query === 'string') {\n return query;\n }\n else {\n return query.sql;\n }\n}\nexports.getDbQueryText = getDbQueryText;\nfunction getDbValues(query, values) {\n if (typeof query === 'string') {\n return arrayStringifyHelper(values);\n }\n else {\n // According to https://github.com/mysqljs/mysql#performing-queries\n // The values argument will override the values in the option object.\n return arrayStringifyHelper(values || query.values);\n }\n}\nexports.getDbValues = getDbValues;\n/**\n * The span name SHOULD be set to a low cardinality value\n * representing the statement executed on the database.\n *\n * TODO: revisit span name based on https://github.com/open-telemetry/semantic-conventions/blob/v1.33.0/docs/database/database-spans.md#name\n *\n * @returns SQL statement without variable arguments or SQL verb\n */\nfunction getSpanName(query) {\n const rawQuery = typeof query === 'object' ? query.sql : query;\n // Extract the SQL verb\n const firstSpace = rawQuery?.indexOf(' ');\n if (typeof firstSpace === 'number' && firstSpace !== -1) {\n return rawQuery?.substring(0, firstSpace);\n }\n return rawQuery;\n}\nexports.getSpanName = getSpanName;\nfunction arrayStringifyHelper(arr) {\n if (arr)\n return `[${arr.toString()}]`;\n return '';\n}\nexports.arrayStringifyHelper = arrayStringifyHelper;\nfunction getPoolNameOld(pool) {\n const c = pool.config.connectionConfig;\n let poolName = '';\n poolName += c.host ? `host: '${c.host}', ` : '';\n poolName += c.port ? `port: ${c.port}, ` : '';\n poolName += c.database ? `database: '${c.database}', ` : '';\n poolName += c.user ? `user: '${c.user}'` : '';\n if (!c.user) {\n poolName = poolName.substring(0, poolName.length - 2); //omit last comma\n }\n return poolName.trim();\n}\nexports.getPoolNameOld = getPoolNameOld;\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLW15c3FsQDAuNjAuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMS45LjEvbm9kZV9tb2R1bGVzL0BvcGVudGVsZW1ldHJ5L2luc3RydW1lbnRhdGlvbi1teXNxbC9idWlsZC9zcmMvdXRpbHMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsc0JBQXNCLEdBQUcsNEJBQTRCLEdBQUcsbUJBQW1CLEdBQUcsbUJBQW1CLEdBQUcsc0JBQXNCLEdBQUcscUJBQXFCLEdBQUcsaUJBQWlCO0FBQ3RLO0FBQ0EsWUFBWSw2QkFBNkI7QUFDekMsYUFBYTtBQUNiO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0EscUNBQXFDLG9CQUFvQjtBQUN6RDtBQUNBLDBCQUEwQixLQUFLO0FBQy9CO0FBQ0E7QUFDQSwwQkFBMEIsU0FBUztBQUNuQztBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQSxtQkFBbUIsZUFBZTtBQUNsQztBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQyxPQUFPO0FBQzFDLGtDQUFrQyxPQUFPO0FBQ3pDLDJDQUEyQyxXQUFXO0FBQ3RELG1DQUFtQyxPQUFPO0FBQzFDO0FBQ0EsK0RBQStEO0FBQy9EO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QiIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9Ab3BlbnRlbGVtZXRyeStpbnN0cnVtZW50YXRpb24tbXlzcWxAMC42MC4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMS9ub2RlX21vZHVsZXMvQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLW15c3FsL2J1aWxkL3NyYy91dGlscy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmdldFBvb2xOYW1lT2xkID0gZXhwb3J0cy5hcnJheVN0cmluZ2lmeUhlbHBlciA9IGV4cG9ydHMuZ2V0U3Bhbk5hbWUgPSBleHBvcnRzLmdldERiVmFsdWVzID0gZXhwb3J0cy5nZXREYlF1ZXJ5VGV4dCA9IGV4cG9ydHMuZ2V0SkRCQ1N0cmluZyA9IGV4cG9ydHMuZ2V0Q29uZmlnID0gdm9pZCAwO1xuZnVuY3Rpb24gZ2V0Q29uZmlnKGNvbmZpZykge1xuICAgIGNvbnN0IHsgaG9zdCwgcG9ydCwgZGF0YWJhc2UsIHVzZXIgfSA9IChjb25maWcgJiYgY29uZmlnLmNvbm5lY3Rpb25Db25maWcpIHx8IGNvbmZpZyB8fCB7fTtcbiAgICByZXR1cm4geyBob3N0LCBwb3J0LCBkYXRhYmFzZSwgdXNlciB9O1xufVxuZXhwb3J0cy5nZXRDb25maWcgPSBnZXRDb25maWc7XG5mdW5jdGlvbiBnZXRKREJDU3RyaW5nKGhvc3QsIHBvcnQsIGRhdGFiYXNlKSB7XG4gICAgbGV0IGpkYmNTdHJpbmcgPSBgamRiYzpteXNxbDovLyR7aG9zdCB8fCAnbG9jYWxob3N0J31gO1xuICAgIGlmICh0eXBlb2YgcG9ydCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgamRiY1N0cmluZyArPSBgOiR7cG9ydH1gO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGRhdGFiYXNlID09PSAnc3RyaW5nJykge1xuICAgICAgICBqZGJjU3RyaW5nICs9IGAvJHtkYXRhYmFzZX1gO1xuICAgIH1cbiAgICByZXR1cm4gamRiY1N0cmluZztcbn1cbmV4cG9ydHMuZ2V0SkRCQ1N0cmluZyA9IGdldEpEQkNTdHJpbmc7XG4vKipcbiAqIEByZXR1cm5zIHRoZSBkYXRhYmFzZSBxdWVyeSBiZWluZyBleGVjdXRlZC5cbiAqL1xuZnVuY3Rpb24gZ2V0RGJRdWVyeVRleHQocXVlcnkpIHtcbiAgICBpZiAodHlwZW9mIHF1ZXJ5ID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gcXVlcnk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gcXVlcnkuc3FsO1xuICAgIH1cbn1cbmV4cG9ydHMuZ2V0RGJRdWVyeVRleHQgPSBnZXREYlF1ZXJ5VGV4dDtcbmZ1bmN0aW9uIGdldERiVmFsdWVzKHF1ZXJ5LCB2YWx1ZXMpIHtcbiAgICBpZiAodHlwZW9mIHF1ZXJ5ID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gYXJyYXlTdHJpbmdpZnlIZWxwZXIodmFsdWVzKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIC8vIEFjY29yZGluZyB0byBodHRwczovL2dpdGh1Yi5jb20vbXlzcWxqcy9teXNxbCNwZXJmb3JtaW5nLXF1ZXJpZXNcbiAgICAgICAgLy8gVGhlIHZhbHVlcyBhcmd1bWVudCB3aWxsIG92ZXJyaWRlIHRoZSB2YWx1ZXMgaW4gdGhlIG9wdGlvbiBvYmplY3QuXG4gICAgICAgIHJldHVybiBhcnJheVN0cmluZ2lmeUhlbHBlcih2YWx1ZXMgfHwgcXVlcnkudmFsdWVzKTtcbiAgICB9XG59XG5leHBvcnRzLmdldERiVmFsdWVzID0gZ2V0RGJWYWx1ZXM7XG4vKipcbiAqIFRoZSBzcGFuIG5hbWUgU0hPVUxEIGJlIHNldCB0byBhIGxvdyBjYXJkaW5hbGl0eSB2YWx1ZVxuICogcmVwcmVzZW50aW5nIHRoZSBzdGF0ZW1lbnQgZXhlY3V0ZWQgb24gdGhlIGRhdGFiYXNlLlxuICpcbiAqIFRPRE86IHJldmlzaXQgc3BhbiBuYW1lIGJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9zZW1hbnRpYy1jb252ZW50aW9ucy9ibG9iL3YxLjMzLjAvZG9jcy9kYXRhYmFzZS9kYXRhYmFzZS1zcGFucy5tZCNuYW1lXG4gKlxuICogQHJldHVybnMgU1FMIHN0YXRlbWVudCB3aXRob3V0IHZhcmlhYmxlIGFyZ3VtZW50cyBvciBTUUwgdmVyYlxuICovXG5mdW5jdGlvbiBnZXRTcGFuTmFtZShxdWVyeSkge1xuICAgIGNvbnN0IHJhd1F1ZXJ5ID0gdHlwZW9mIHF1ZXJ5ID09PSAnb2JqZWN0JyA/IHF1ZXJ5LnNxbCA6IHF1ZXJ5O1xuICAgIC8vIEV4dHJhY3QgdGhlIFNRTCB2ZXJiXG4gICAgY29uc3QgZmlyc3RTcGFjZSA9IHJhd1F1ZXJ5Py5pbmRleE9mKCcgJyk7XG4gICAgaWYgKHR5cGVvZiBmaXJzdFNwYWNlID09PSAnbnVtYmVyJyAmJiBmaXJzdFNwYWNlICE9PSAtMSkge1xuICAgICAgICByZXR1cm4gcmF3UXVlcnk/LnN1YnN0cmluZygwLCBmaXJzdFNwYWNlKTtcbiAgICB9XG4gICAgcmV0dXJuIHJhd1F1ZXJ5O1xufVxuZXhwb3J0cy5nZXRTcGFuTmFtZSA9IGdldFNwYW5OYW1lO1xuZnVuY3Rpb24gYXJyYXlTdHJpbmdpZnlIZWxwZXIoYXJyKSB7XG4gICAgaWYgKGFycilcbiAgICAgICAgcmV0dXJuIGBbJHthcnIudG9TdHJpbmcoKX1dYDtcbiAgICByZXR1cm4gJyc7XG59XG5leHBvcnRzLmFycmF5U3RyaW5naWZ5SGVscGVyID0gYXJyYXlTdHJpbmdpZnlIZWxwZXI7XG5mdW5jdGlvbiBnZXRQb29sTmFtZU9sZChwb29sKSB7XG4gICAgY29uc3QgYyA9IHBvb2wuY29uZmlnLmNvbm5lY3Rpb25Db25maWc7XG4gICAgbGV0IHBvb2xOYW1lID0gJyc7XG4gICAgcG9vbE5hbWUgKz0gYy5ob3N0ID8gYGhvc3Q6ICcke2MuaG9zdH0nLCBgIDogJyc7XG4gICAgcG9vbE5hbWUgKz0gYy5wb3J0ID8gYHBvcnQ6ICR7Yy5wb3J0fSwgYCA6ICcnO1xuICAgIHBvb2xOYW1lICs9IGMuZGF0YWJhc2UgPyBgZGF0YWJhc2U6ICcke2MuZGF0YWJhc2V9JywgYCA6ICcnO1xuICAgIHBvb2xOYW1lICs9IGMudXNlciA/IGB1c2VyOiAnJHtjLnVzZXJ9J2AgOiAnJztcbiAgICBpZiAoIWMudXNlcikge1xuICAgICAgICBwb29sTmFtZSA9IHBvb2xOYW1lLnN1YnN0cmluZygwLCBwb29sTmFtZS5sZW5ndGggLSAyKTsgLy9vbWl0IGxhc3QgY29tbWFcbiAgICB9XG4gICAgcmV0dXJuIHBvb2xOYW1lLnRyaW0oKTtcbn1cbmV4cG9ydHMuZ2V0UG9vbE5hbWVPbGQgPSBnZXRQb29sTmFtZU9sZDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXV0aWxzLmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/utils.js\n"); /***/ }), /***/ "(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/version.js": /*!************************************************************************************************************************************************************************!*\ !*** ./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/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-mysql';\n//# sourceMappingURL=version.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvLnBucG0vQG9wZW50ZWxlbWV0cnkraW5zdHJ1bWVudGF0aW9uLW15c3FsQDAuNjAuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMS45LjEvbm9kZV9tb2R1bGVzL0BvcGVudGVsZW1ldHJ5L2luc3RydW1lbnRhdGlvbi1teXNxbC9idWlsZC9zcmMvdmVyc2lvbi5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxvQkFBb0IsR0FBRyx1QkFBdUI7QUFDOUM7QUFDQSx1QkFBdUI7QUFDdkIsb0JBQW9CO0FBQ3BCIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL0BvcGVudGVsZW1ldHJ5K2luc3RydW1lbnRhdGlvbi1teXNxbEAwLjYwLjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xL25vZGVfbW9kdWxlcy9Ab3BlbnRlbGVtZXRyeS9pbnN0cnVtZW50YXRpb24tbXlzcWwvYnVpbGQvc3JjL3ZlcnNpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5QQUNLQUdFX05BTUUgPSBleHBvcnRzLlBBQ0tBR0VfVkVSU0lPTiA9IHZvaWQgMDtcbi8vIHRoaXMgaXMgYXV0b2dlbmVyYXRlZCBmaWxlLCBzZWUgc2NyaXB0cy92ZXJzaW9uLXVwZGF0ZS5qc1xuZXhwb3J0cy5QQUNLQUdFX1ZFUlNJT04gPSAnMC42MC4wJztcbmV4cG9ydHMuUEFDS0FHRV9OQU1FID0gJ0BvcGVudGVsZW1ldHJ5L2luc3RydW1lbnRhdGlvbi1teXNxbCc7XG4vLyMgc291cmNlTWFwcGluZ1VSTD12ZXJzaW9uLmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/version.js\n"); /***/ }) }; ;